6.6к
1
0
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
Назад

Как искусственный интеллект и нейросети помогли нам создать умного помощника для незрячих людей

Время чтения 2 минуты
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
6.6к
1
0
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники

Привет, меня зовут Александр Попов, я технический директор Лаборатории «Сенсор-Тех». Мы разработали умного помощника «Робин» для незрячих людей. Я расскажу об этом устройстве и о том, как проходила работа над ним.

Как искусственный интеллект и нейросети помогли нам создать умного помощника для незрячих людей

Что представляет собой «Робин»

Погружение в мир технологий для людей с инвалидностью началось со знакомства нашего директора Дениса Кулешова с Центром ресурсной поддержки глухих студентов в Бауманке, где он учился. Лабораторию «Сенсор-тех» в 2017 году помог учредить Фонд поддержки слепоглухих «Со-единение». Мы создаем разные гаджеты, программы, которые помогают слепым и глухим, проводим исследования в области социальных инноваций. «Робин» стал одним из первых гаджетов, над которым начала работать Лаборатория «Сенсор-Тех». Я присоединился к команде в августе 2017 года и сразу стал главным конструктором, приступив к реализации технической части устройства.

Умный помощник «Робин» помогает незрячему человеку ориентироваться в пространстве. С помощью встроенных камер он определяет предметы, объекты, сообщает расстояние до них и передает эту информацию пользователю через наушник. Гаджет также можно научить распознавать лица, сфотографировав на камеру знакомых людей и добавив их в библиотеку устройства. Каждой фотографии можно присвоить голосовую метку, и после этого устройство сможет назвать знакомый объект по имени. Всего «Робин» определяет 50 объектов и предметов. 

Устройство состоит из компьютера, платы питания и управления, платы кнопок, платы дальномера, а также из камер, дальномеров, разных датчиков ориентации и металлических радиаторов и пластикового корпуса. У «Робина» есть семь кнопок для управления.

Над разработкой умного устройства трудилась большая команда специалистов: главный конструктор, инженер-конструктор, схемотехник, программист нейронных сетей, программист встраиваемого и прикладного ПО, программист микроконтроллеров, монтажник и фрезеровщик-сборщик, технический писатель.

Работа над «Робином» шла с осени 2017 года по весну 2019 года в составе проекта «Нейрокоммуникатор» по разработке комплекса из пяти устройств. Кроме него, туда вошли:

  • модуль распознавания речи «Чарли»;
  • умный мяч для слепых Soundball;
  • конструкция, платы и ПО для проекта «Трогательная история»;
  • виброподсказчик для слепоглухих танцоров проекта «Прикасаемые» Фонда поддержки слепоглухих «Со-единение».

«Робин» прошел две итерации аппаратной версии и поступил в продажу.

Как работает умный помощник

Софт для устройства — ОC Linux, на которой выполняется открытое ПО и ПО собственной разработки, а программное обеспечение для работы служебных функций выполняется на микроконтроллерах. Нет предела совершенству, поэтому прибор мы постоянно дорабатываем.

В качестве стека технологий мы использовали TensorFlow, SSD, YOLOX, YOLO v.5, CUDA, OpenCV, Python, PyTorch, dlib.

Прибором с семью кнопками нужно как-то управлять, а также необходимо иметь возможность подключить его к Wi-Fi, Bluetooth, выполнить расширенную настройку. Поэтому мы разработали приложение, которое продолжаем совершенствовать вместе с устройством. Оно подключается по Bluetooth 4.2 и обеспечивает доступ ко всем настройкам устройства.

Распознавание объектов реализовано с помощью предобученной библиотеки машинного зрения на базе TensorFlow и одной из камер. Расстояния определяются с использованием стереопары: камеры и встроенного узконаправленного статичного лидара.

Определение произвольных препятствий происходит с помощью тактильной обратной связи (вибрация) благодаря двум работающим в паре дальномерам — ультразвукового и лидара. Чем препятствие ближе к одному из дальномеров, тем сильнее вибрация. Уровни диапазонов чувствительности можно настроить в приложении. Также в устройстве есть возможность обновления ПО компьютера, его основных функций и микроконтроллера через интернет «по воздуху».

Распознавание лиц людей основано на переработанных алгоритмах dlib и каскадах Хаара. Порядок работы для добавления лица:

  1. Детектирование всех лиц на изображении. 
    Для решения этой задачи мы использовали каскады Хаара (англ. Haar), алгоритм HOG (англ. Histogram of Oriented Gradients) и линейный SVM или граф — алгоритм обученной нейронной сети. Используя один из методов детектирования лиц, определим их положение.
  2. Преобразование изображения лица к фронтальному виду.
    Когда все лица на изображении найдены, необходимо идентифицировать человека вне зависимости от поворота его головы. Для решения этой задачи каждое изображение преобразуется таким образом, чтобы глаза и губы находились в конкретном месте, как будто лицо повернуто анфас. 
  3. Кодирование лица.
    Для распознавания конкретных людей нужно сравнить не сами изображения, а дескрипторы, описывающие лицо. Это может быть размер уха, расстояние между глазами или длина носа. Каждое лицо кодируется уникальным набором дескрипторов.
  4. Создание базы данных изображений лиц конкретных людей, которые требуется распознать.
    Чтобы найти конкретные лица на изображении, надо сделать от одной до трех цифровых фотографий. Затем фото, имена и звуковые файлы этих лиц загрузить в базу данных.
  5. Поиск имени человека.
    На последнем шаге нужно найти имя человека, наиболее похожего на изображение с видеокамеры или отдельно взятой картинки. Для этого надо последовательно сравнить дескрипторы опознаваемого лица с дескрипторами лиц, хранящимися в базе данных, которая была создана на предыдущем шаге. Если совпадение есть, устройство запускает аудиофайл с именем, записанный при добавлении фотографии.

Планы на будущее

Бета-режима (в понимании, что его можно как-то включить или получить) на устройстве сейчас нет. Есть устройства, на которых в данный момент ведется разработка и тестирование нового функционала и обновлений. Можно сказать, что такие устройства находятся в бета-режиме. Мы постоянно улучшаем продукт, постоянно тестируем новые функции и режимы. Например, недавно опубликованная функция распознавания текстов была протестирована и отлажена перед публикацией в подобном бета-устройстве.

На данный момент умного помощника «Робин» используют более 400 человек. Большинству достаточно 30-минутной демонстрации, продвинутые пользователи справляются самостоятельно, так как все настройки понятны и очевидны, все необходимые алгоритмы настроены и работоспособны «из коробки». Одного заряда хватает не менее чем на три часа работы без постоянного использования ИИ и на 1,5 часа — с постоянным поиском с ИИ.

«Робин» может не подойти только тем, кому размер и вес покажутся неудобными. Хотя пока еще никто на эти показатели не жаловался, так как мы делали разработку эргономичной.

Мы с командой Лаборатории «Сенсор-Тех» сейчас активно развиваем продукт и занимаемся проработкой и разработкой следующих поколений «Робина», а также планируем делать похожие гаджеты для людей с нарушенным зрением и для слепоглухих.

Комментарии0
Тоже интересно
Комментировать
Поделиться
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники