Введение 3
Постановка задачи 5
Обзор литературы 6
Глава 1. Мониторинг современных технологий 8
1.1. Современные мобильные операционные системы 8
1.2. Роль технологий для людей с нарушениями зрения 10
Глава 2. Требования к продукту 13
2.1. Обзор имеющихся решений 13
2.2. Уточнение требований 17
Глава 3. Машинное обучение с использованием TensorFlow 18
3.1. Машинное обучение 18
3.2. Нейронные сети 19
3.3. Глубокое обучение 22
3.4. TensorFlow. Обзор и сравнение с другими библиотеками 24
Глава 4. Программная реализация 29
4.1. Средства разработки платформы Android 29
4.2. Архитектура приложения 30
4.3. Реализация классификатора 33
4.4. Описание функциональности 37
Выводы 39
Заключение 40
Список литературы 41
Приложение 43
Во всем мире насчитывается 285 миллионов человек, которые слепы или имеют нарушения зрения [1]. И каждый год это число увеличивается. Решение проблем, с которыми сталкиваются люди с ограниченными возможностями, в том числе и люди с нарушением зрения, является одной из наиболее важных и актуальных задач на сегодняшний день. Доступность компьютеров и мобильных устройств, без которых большинство людей в современном мире уже не могут обойтись, тем не менее порождает и новые трудности перед людьми с ограничениями здоровья. Согласно опросу «Яндекса», 66,5 процентов людей с нарушением зрения активно пользуются смартфонами [2]. Поэтому непосредственной задачей программистов является создание и усовершенствование такого программного обеспечения, которое могло бы упростить использование девайса или помочь в повседневной жизни.
Ранее единственным доступным для слепых средством ориентирования в пространстве было использование белых тростей или собак-поводырей. Однако с развитием инновационных технологий данный список может быть значительно расширен. Это, например, очки Assisted Vision Smart Glasses, с помощью которых пользователь может визуально определять информацию, устройство AI Glasses, которое также выглядит как обычные очки, но содержит в себе стереозвуковые и GPS датчики. Оба устройства в буквальном смысле снабжают слепого всеми необходимыми знаниями, вслух описывая окружающее пространство. Однако подобные гаджеты стоят немалых денег и доступны далеко не всем слабовидящим.
В рамках данной работы будет описано создание бюджетного мобильного приложения, которое сможет определять с помощью тыловой камеры, что находится перед ней, и голосовым сигналом сообщать об обнаруженном объекте, тем самым обеспечивая безопасное передвижение пользователя приложения. В базу объектов будут внесены слова определенной тематической группы, характеризующие городское пространство, такие как скамейка, урна, столб, дерево, также приложение сможет идентифицировать людей. В первую очередь разрабатываемое приложение должно быть удобно и доступно всем слабовидящим, независимо от материального положения.
Поднимая вопрос о социальной адаптации слабовидящих, важной частью которого является ориентировка и передвижение в пространстве, необходимо сказать об актуальности разработки программного продукта, соответствующего тематике данной проблемы и реализованного в соответствии с новейшими технологиями.
В рамках работы были выполнены следующие задачи:
1. Выбрана мобильная операционная система и подходящие под нее средства разработки.
2. Проведен анализ существующих приложений из сервиса «Google Play», соответствующих тематике.
3. Разработано приложение, подходящее нашим требованиям:
• Определение объекта;
• Голосовое озвучивание;
• Работа в режиме «реального времени»;
• Возможность работы офлайн;
• Простой интерфейс;
• Ценовая доступность.
4. Приложение было протестировано слабовидящими пользователями и показало свою работоспособность на реальных устройствах системы Android.
[1] Pascolini D., Mariotti S.P., Global estimates of visual impairment: 2010 // British Journal Ophthalmology, 2012. Vol. 96 P. 614-618.
[2] Как используют интернет и современные технологии люди с нарушением зрения. Исследование Яндекса. https: //habrahabr.ru/company/yandex/blog/270775/
[3] Smartphone OS. https://www.idc.com/promo/smartphone-market-share/os
[4] Android Dashboards. https://developer.android.com/about/dashboards
[5] Screen Reader User Survey #7 Results. https: //webaim.org/proj ects/screenreadersurvey7
[6] Number of Android applications. https://www.appbrain.com/stats/number-of- android-apps
[7] Arthur L. Samuel. Some Studies in Machine Learning Using the Game of Checkers // IMB Journal, July 1959. P. 210-229.
[8] Mitchell T.M. Machine Learning. McGraw-Hill, 1997.
[9] McCulloch W.S, Pitts W. A Logical Calculus of the Ideas Immanent in Nervous Activity // Bulletin of Mathematical Biophysics, 1943. V. 5, P. 115-133.
[10] Бенджио И., Гудфеллоу Я., Курвилль А. Глубокое обучение. М.: ДМК- Пресс, 2018
[11] Воронцов К. Математические методы обучения по прецедентам (теория обучения машин), 2018 http: //www.machinelearning.ru/wiki/index.php?title=Машинное_обучение_% 28курс_лекций%2C_К.В.Воронцов%29
[12] Deng L., Yu, D. Deep Learning: Methods and Applications // Foundations and Trends in Signal Processing, 2014. Vol. 7, No. 3-4, P. 197-387.
[13] Николенко C., Кадурин А., Архангельская Е. Глубокое обучение. Погружение в мир нейронных сетей. СПб.: Питер, 2018
[14] TensorFlow. https://www.tensorflow.org/
[15] convnet-benchmarks. https://github.com/soumith/convnet-benchmarks/blob/master/README.md
...