Разработчики из Google адаптировали приложения видеосвязи для глухих людей. Они создали программу, которая обнаруживает, когда кто-нибудь из собеседников начинает говорить на жестовом языке, и заставляет программу показывать его как активного собеседника. Авторы подробно описали разработку в статье, представленной на конференции SLRTP 2020, создали сайт с демо-версией программы и опубликовали исходный код в двух репозиториях на GitHub (1, 2).
Видеосвязь позволяет не только получать информацию о человека, как в случае с текстом, но и видеть его мимику и слышать голос. Это позволяет эффективнее общаться, особенно когда в разговоре участвуют сразу несколько человек, к примеру, коллеги из одной компании. Из-за карантинных мер во время пандемии нового коронавируса многие организации частично или полностью перешли на удаленную работу, а часть из них, в том числе и крупные IT-компании, планируют сделать удаленный режим работы вариантом нормы даже когда карантинные меры будут отменены. Однако глухие люди не могут в полной мере пользоваться программами видеосвязи. Например, когда в звонке участвует сразу несколько собеседников, обычно программа по уровню громкости определяет говорящего и показывает видео с его камеры остальным. При разговоре на жестовом языке этот метод бесполезен.
Срини Нараянан (Srini Narayanan) и его коллеги из Google создали программу, которая работает с популярными приложениями видеосвязи и позволяет акцентировать внимание на человеке, говорящем жестами. Программу условно можно разбить на две части: первая анализирует разговор на языке жестов, а вторая связывается с приложением для видеосвязи.
Программа выполнена в виде веб-приложения, написанного на TensorFlow.js. Оно снимает пользователя и сначала составляет схематическую модель его тела при помощи алгоритма PoseNet. На каждом кадре модель нормализуется по размеру, чтобы работа алгоритма не зависела от того, как далеко от камеры или под каким углом сидит человек. Затем по соседним кадрам (состояниям модели) алгоритм рассчитывает оптический поток и тем самым определяет, что человек активно двигает руками.
Когда алгоритм определил, что человек говорит, в дело вступает его вторая часть, которая отвечает за связь с приложением, к примеру, Zoom или Google Meet. Разработчики применили простой и в то же время изобретательный прием: к обычной записи с микрофона он подмешивает ультразвук с частотой 20 килогерц, который обычно не слышат люди. Алгоритм передает эти данные в приложение через виртуальный кабель, а приложение распознает ультразвук как громкий шум и переключает внимание на этого собеседника, думая что он громко говорит.
Разработчики обучили алгоритм определения речи на датасете немецкого жестового языка с роликами, на которых размечены фрагменты с речью. Алгоритм построен по архитектуре долгой краткосрочной памяти (LSTM) и учитывает десятки предыдущих кадров при определении активности. После обучения он показал точность работы 91,5 процента и скорость обработки одного кадра равную 3,5 миллисекунды.
Авторы признают, что в текущем виде у алгоритма есть явные недостатки. Например, он определяет активность человека в целом по движению его тела и рук и поэтому не различает жестовую речь и обычные движения руками. Кроме того, поскольку звук подается через виртуальный кабель, программа работает только с Windows и Mac (скоро появится поддержка Linux) и в обозримом будущем не сможет работать на смартфонах. Тем не менее даже в таком виде алгоритм может быть полезным и работать с популярными приложениями.
В 2018 году американский программист создал приложение для ноутбука, которое делает умные колонки доступными для глухих. Оно распознает жесты и воспроизводит через динамики голосовую команду, а затем распознает ответ колонки и выводит его на свой экран в текстовом виде.
Григорий Копиев