Я слышу голоса: общительный массив для дружелюбного робота
Самая главная формула успеха – умение общаться с людьми, любил повторять небезызвестный Теодор Рузвельт. В случае робота эта формула принимает критическое значение, ведь без способности к общению робот превращается в обычный, пусть и высокотехнологичный механизм. Что кроется за понятием общения для робота, рассказали инженеры компании «Промобот» Валерий Титов и Владислав Сазонов. И как выяснилось, пара «микрофон-динамик» здесь устарела ещё в прошлом веке, а найти подходящую «голову» практически невозможно.
Для людей слышать и понимать речь собеседника - обыденное дело. Человек слышит, человек отвечает. Но когда речь заходит о том, чтобы нас услышал и понял не человек, а робот, начинаются проблемы. Общение с роботом может проходить в сложных условиях: множество источников шума, несколько одновременно говорящих с разных сторон людей. Обычные микрофоны могут реагировать даже на речь самого робота.
В своей жизни человек даже не замечает, насколько сложен процесс общения с технической точки зрения. Чтобы научить роботов «Промобота» общаться, нам пришлось найти идеальные уши, рот и главное - научить их правильно работать.
«Хонда» для российского робота
Для идеального слуха роботу требуется две вещи: хорошие уши и надежная голова, способная понять, что же уловили уши. Решением вполне может стать аппаратно-программный комплекс на базе микрофонного массива.
С набором микрофонов всё просто: на корпусе робота их можно разместить там, где требуется. С программным обеспечением всё значительно сложнее. Дело в том, что работая с ушами, голова должна как минимум:
- вырезать в услышанном речь робота;
- очистить звук от шума;
- определить, есть ли в услышанном и очищенном речь;
- определить источник речи;
- сформировать луч (по английски эта процедура называется beamforming), чтобы усилить исходный звуковой сигнал от источника;
- распознать речь в звуковой дорожке после всех манипуляций.
Как правило, последний шаг выносится за пределы зоны ответственности микрофонного массива.
Готовых решений на мировом рынке оказалось не так много. Наиболее перспективной нам показалась совместная разработка Японского исследовательского института Хонды и Киотского университета под названием HARK (Honda research institute Japan Audition for Robots with Kyoto university).
HARK изначально проектировалась для роботов, работающих в антропоморфной среде, где требуется услышать и разобрать команды от человека. Это ПО с открытым кодом можно было связать с Robot Operating System (ROS), процесс обработки звука с микрофонов легко настраивался. Дополнительным преимуществом стала заявленная возможность одновременного определения нескольких источников звука. Казалось, это то, что нам нужно! Японцы настолько очаровали нас своей разработкой, что мы скоропостижно перестали искать альтернативу.
Смертельные миллиметры звука
Для первых тестов в 2014 году мы использовали микрофонный массив RASP LC на 8 микрофонах. Четыре располагались на центральной части груди корпуса робота, вокруг экрана; три - на верхней части груди, ближе к шее; и один - сзади по центру, у основания шеи. Уже после первого теста мы выявили две проблемы критического уровня: вибрация и сложность расчётов.
Дело в том, что робот сам по себе – это механизм с огромным количеством движущихся деталей. И каждое движение создавало так называемые наводки на микрофон – фоновый шум, требующий постоянного анализа.
Вторая проблема заключалась в обработке полученных аудиоданных. Разработчики HARK заложили два принципиально разных подхода аналитики аудиопотоков. Первый назван геометрическим и сводится к точному (до десятых долей миллиметра) описанию расположения микрофонов в пространстве с учетом их направлений. Второй, без специального названия, опирается на калибровочную модель. Её создают путем многократной записи через массив одной и той же записи с разных точек пространства вокруг массива.