Разработка модуля распознавания препятствий для мобильного приложения навигации для слабовидящих с использованием компьютерного зрения
Идея проекта заключается в создании программного решения, которое, используя стандартную камеру смартфона и технологии искусственного интеллекта, позволяет слабовидящим людям самостоятельно и безопасно ориентироваться в пространстве в реальном времени. В отличие от существующих аналогов, модуль работает полностью локально на устройстве, не требует подключения к интернету и дорогостоящей инфраструктуры, обеспечивая своевременное обнаружение, классификацию и голосовое оповещение о препятствиях. Ключевая ценность состоит в повышении мобильности, независимости и социальной интеграции людей с инвалидностью по зрению.
- Повышение безопасности навигации: Предоставление пользователю информации о препятствиях на пути, включая их класс, положение в пространстве (слева/справа/прямо) и расстояние до них. Это важно для предотвращения столкновений с динамическими объектами (люди, транспорт) и статическими препятствиями.
- Обеспечение автономности: Создание решения, не зависящего от наличия интернет-соединения и внешних серверов, что гарантирует его работоспособность в любых условиях (подземные переходы, отдаленные районы) и защищает личные данные пользователя.
- Снижение психологического барьера слабовидящих: Разработка удобного и доступного интерфейса с голосовым управлением, который позволяет пользователям чувствовать себя увереннее в незнакомых маршрутах, совершать прогулки и походы в магазины без постоянной помощи сопровождающего.
- Решение проблемы задержки: Замена облачных сервисов с высокой задержкой и волонтерской помощи, которая не всегда доступна, на мгновенную локальную обработку видеопотока, что обеспечивает реакцию на препятствия в режиме реального времени.
- Обеспечение инклюзивности технологии: Доступность навигационного помощника для социально незащищённых слоёв населения за счёт отсутствия затрат на инфраструктуру и платные облачные сервисы.
Для оповещения пользователей о препятствиях модуль реализует следующие функциональные возможности:
- Распознавание 80 классов объектов: Модуль детектирует широкий спектр препятствий, включая людей, различные виды транспорта, животных, предметы мебели и инфраструктуры (светофоры, знаки). Работает в реальном времени на видеопотоке с тыловой камеры.
- Оценка пространственного положения: Для каждого обнаруженного объекта определяется его горизонтальное положение (слева, прямо, справа) и, при необходимости, вертикальное (сверху, снизу) относительно пользователя.
- Вычисление расстояния: Реализован алгоритм монокулярной оценки расстояния на основе геометрических соотношений с использованием знаний об угле обзора камеры и реальном размере объекта. Дистанция отображается в метрах с точностью до 0.1 м и сантиметрах при расстоянии менее 1 м.
- Оценка степени опасности препятствия: Автоматическое ранжирование обнаруженных объектов по уровню угрозы на основе расстояния до объекта и его класса, например, транспортные средства на близкой дистанции классифицируются как критически опасные. Степень опасности (критическая, высокая, средняя, низкая) визуализируется цветовым индикатором в интерфейсе и учитывается при приоритизации голосовых оповещений.
- Интеллектуальная голосовая навигация: Наиболее значимое препятствие автоматически озвучивается через синтезатор речи по шаблону: "препятствие + положение + расстояние". Реализована фильтрация дублирующихся сообщений, чтобы не перегружать пользователя повторяющейся информацией.
- Фильтрация детекций: Алгоритм немаксимального подавления и фильтр по размеру объекта отсеивают ложные срабатывания и дублирующиеся рамки, гарантируя стабильную работу в динамичной сцене.
Мобильная ОС Android, язык программирования Kotlin, фреймворк Jetpack Compose для создания пользовательского интерфейса, нейросетевая модель EfficientDet-Lite0 с TensorFlow Lite для детекции объектов, Android TextToSpeech для синтеза речи.
Проект имеет широкие перспективы для развития как в техническом, так и в социальном аспектах:
- Интеграция с картографическими сервисами для построения маршрутов с учетом обнаруженных препятствий.
- Добавление новых объектов для обнаружения с помощью дообучения модели или использования более специализированных моделей.
- Внедрение системы анализа движения для прогнозирования траектории динамических объектов.
- Интеграция с системой голосового управления.
- Разработка тактильной обратной связи, например, вибрации при встрече критически опасного препятствия.
- Добавление настраиваемых профилей для разных условий (город, помещение, ночное время)
- Выбор метода оценки расстояния в зависимости от аппаратных возможностей устройства (нейросетевые методы, стереозрение) для повышения точности.
- Перевод интерфейса на другие языки для распространения проекта на международном уровне.
- Создание сообщества пользователей для сбора обратной связи и совместного улучшения продукта.
- Интеграция с государственными или волонтерскими программами поддержки людей с инвалидностью.
Все функциональные и нефункциональные требования, описанные в техническом задании, выполнены в полном объеме. Цели достигнуты.
Проект обладает высокой актуальностью и значительной социальной полезностью. По данным ВОЗ, более 2,2 миллиарда человек в мире имеют нарушения зрения. Обеспечение их безопасной и независимой мобильности является одной из приоритетных социальных задач современного общества. Модуль позволяет незрячим и слабовидящим людям самостоятельно передвигаться, не полагаясь на случайных прохожих, волонтеров или собак-поводырей. Это дает им свободу передвижения в городе, в общественном транспорте, в незнакомых местах. Возможность безопасно выходить из дома, ходить в магазины, парки и другие общественные места способствует интеграции людей с инвалидностью в общество, улучшает их психоэмоциональное состояние и качество жизни. Решение работает на стандартном смартфоне, не требует покупки дорогостоящего специализированного оборудования или оплаты подписок, что делает его доступным для широких слоев населения, включая социально незащищенные группы. Своевременное предупреждение о препятствии, особенно об автомобилях или других движущихся объектах, может предотвратить травмы и несчастные случаи, спасая здоровье и жизнь пользователей. Что касается экономической эффективности, проект демонстрирует, как современные IT-решения могут эффективно и с минимальными затратами решать сложные социальные проблемы, снижая нагрузку на систему социального обеспечения.
Разработанное ПО адаптировано под мобильные устройства с операционной системой Android. В ближайшем будущем планируется адаптировать модуль под iOS, а по мере развития расширяться под менее популярные ОС.
Все принятые в проекте решения строго обоснованы и направлены на создание быстрого, надежного и доступного навигационного инструмента. Выбор архитектуры нейросети EfficientDet-Lite0 обоснован необходимостью работы на мобильных устройствах с ограниченными ресурсами. Эта модель обеспечивает наилучший баланс между точностью распознавания 80 классов объектов и минимальным размером (<10 Мб), что позволяет ей работать настолько быстро, чтобы задержки были не более чем минимальное время человеческой реакции (100 мс) на большинстве современных смартфонов. Выбор алгоритма оценки расстояния: Метод на основе подобия треугольников выбран из-за его минимальной вычислительной сложности и отсутствия требований к дополнительному оборудованию (вторая камера, LiDAR). Альтернативные методы (стереозрение, нейросетевые) были отклонены из-за невозможности применения на обычных смартфонах или излишней требовательности к ресурсам. Использование системного TTS-движка обосновано стремлением к максимальной автономности и нулевой задержке. Это делает приложение надежным и доступным в любых условиях, в отличие от облачных TTS-сервисов. Применение крупных контрастных элементов управления в сочетании с голосовым дублированием всех ключевых действий обосновано спецификой целевой аудитории.
Новизна проекта заключается в интеграции и оптимизации существующих технологий для решения конкретной, острой социальной задачи с акцентом на автономность и скорость.
Полных аналогов по функционалу не существует, но есть приложения, предназначенные для помощи слабовидящим. Далее приведены ключевые отличия:
- Полная автономность в отличие от "Be My Eyes", которое требует помощи волонтера и интернета.
- Работа в реальном времени со скоростью <0.1 секунды. Приложения типа "Seeing AI" предоставляют описание статичной сцены, но не способны отслеживать препятствия на ходу. Данное решение создано специально для активного передвижения.
- Отсутствие необходимости в предварительной установке инфраструктуры. В отличие от систем вроде "NavCog", требующих установки Bluetooth-маячков, разработанное решение работает в любом месте, где есть смартфон.
- Комплексный подход: Модуль решает три задачи одновременно: детекция, оценка расстояния и голосовое оповещение, при этом все процессы оптимизированы для комфортной и безопасной навигации. Аналоги, как правило, фокусируются на чем-то одном, например, только на описании сцены или только на построении маршрута.
- Инклюзивный дизайн: Интерфейс и логика работы разработаны с нуля с учетом особенностей восприятия незрячих и слабовидящих пользователей, что не является стандартной практикой для большинства приложений массового рынка.
Интерфейс полностью адаптирован под возможности и ограничения целевой аудитории - людей с полной или частичной потерей зрения. Принципы на которых построен дизайн включают высокий контраст элементов, крупные кнопки и шрифты, минималистичный интерфейс: только камера и панель управления, состоящая из единой крупной кнопки запуска/остановки