Всем привет! Меня зовут Капитанов Александр, я отвечаю за направление компьютерного зрения в SberDevices. В этой статье я расскажу о том, как моя команда Vision RnD разработала серию моделей SignFlow, обеспечивающих перевод жестового языка на русский и американский английский в реальном времени. На основе этих моделей был реализован прототип общения с генеративной языковой моделью GigaChat, что является первым в мире решением задачи общения с искусственным интеллектом при помощи русского жестового языка. Далее я расскажу о разработке модели и интеграции с GigaChat.
Постановка задачи
Задачу распознавания русского жестового языка можно отнести к подвиду задач распознавания движения или Action Recognition, решение которой заключается в анализе ключевых объектов в кадре и определении их пространственных и временных зависимостей. В нашем случае анализируемый объект всего один — человек, а влияние таких факторов, как сцена, на предсказание нужно минимизировать.
Более того, жестовые языки обладают своими фонетическими системами. Фонемы, или же компоненты жеста, делятся на пять типов: форма руки, ориентация ладони, место артикуляции, движение, и немануальный компонент — выражение лица. Каждый из них необходимо учитывать при предсказании, в то время как вся остальная информация в кадре должна быть проигнорирована.
Данные
Модель была обучена на самом крупном в мире открытом наборе данных русского жестового языка — Slovo. Он состоит из 20 000 видео, каждое из которых относится к одному из 1 000 классов наиболее популярных жестов (+1 функциональный класс no_event как отсутствие жеста). Подробнее о создании набора данных и его характеристиках мы ранее писали в статье «Slovo и русский жестовый язык».
Семейство моделей SignFlow
На данный момент в открытом доступе семейство моделей SignFlow содержит 2 модели — SignFlow-R для распознавания РЖЯ и SignFlow-A для распознавания американского жестового языка. В основе каждой из них лежит видео-трансформер mVITv2-S. Данная архитектура и базовый протокол обучения, представленный авторами модели, позволяют решать большое количество задач компьютерного зрения. Однако распознавание жестового языка является более сложной и специфичной задачей, и требует уникального подхода.
Мы учли все тонкости работы с жестовым языком и обучили нейросети SignFlow обращать внимание только на 5 типов компонентов РЖЯ (форма руки, ориентация ладони, движение, место артикуляции, немануальный компонент). На тепловых картах внимания видно, что модель анализирует исключительно компоненты жестового языка.
Модели обладают высокой обобщающей способностью благодаря использованию предварительно обученных весов с помощью self-supervised подхода, реализованного в MaskFeat. Модель обучалась восстанавливать замаскированные фрагменты видео, что улучшило её способность понимать контекст и глубокие зависимости.
Обучение
Обучение проводилось на 4 GPU Tesla V100 c 32 ГБ оперативной памяти. Размер батча 6 на каждой видеокарте при базовом значении параметра скорости обучения learning rate = 0.0036 показали лучшие показатели сходимости как по времени, так и по метрике качества. Модель вышла на плато к 93 эпохе, а для поддержания падения лосса последовательно использовались два типа шедулера — линейный с 1-й по 20-ую эпоху и косинусный с 20-й и до конца обучения. Графики loss-функции и метрики Mean Accuracy для процесса обучения лучшей модели представлены ниже.
Результаты
SignFlow-R
Модель распознавания русского жестового языка была внедрена в GigaChat для преодоления коммуникационных барьеров. На видео ниже можно увидеть прототип совместной работы модели распознавания РЖЯ во время настройки. Наш сотрудник Пётр Суровцев показывает жесты РЖЯ, а модель переводит их в текст. Далее под капотом работает текстовый декодер, который выравнивает контекст и отправляет через API предложения в GigaChat.
Для реальной демонстрации работы системы распознавания РЖЯ в связке с искусственным интеллектом GigaChat, мы пригласили в офис Антонину Шихову, преподавателя РЖЯ в Центре Образования и Исследования Жестового Языка и в Московском Государственном лингвистическом университете (МГЛУ), и попросили пообщаться с GigaChat на бытовые темы. Антонина — глухая и носитель РЖЯ, а самое главное — нисколько не комплексует по этому поводу и с радостью пообщалась не только с генеративной моделью, но и с нашими экспертами, которые занимаются разработкой системы перевода с РЖЯ.
Но и это не всё. На коротком видео ниже Денис Филиппов, CEO SberDevices в рамках Международной Конференции по искусственному интеллекту AI Journey 2023 лично тестирует распознавание русского жестового языка (РЖЯ) на демо-стедне от команды Vision RnD. В этом стенде использовалась самая последняя модель, показывающая качество предсказания жестов РЖЯ на уровне более 80% по метрике средней точности. Денис с первого раза сумел показать самую важную фразу того дня: "Я здесь директор".
SignFlow-A
Модель SignFlow-A стала лидером в распознавании американского жестового языка. Для оценки качества работы модели мы использовали бенчмарк, основанный на датасете WLASL-2000. Датасет представляет собой набор видео, на каждом из которых представлен человека, демонстрирующий один из двух тысяч жестов американского жестового языка. Значение метрики Top-1 Accuracy равное 63.3% позволило нам занять лидирующую позицию. В настоящее время это наилучшее решение для данной задачи в мире.
OpenSource
Набор данных Slovo и обученные с помощью него модели выложены в открытый доступ и могут использоваться в рамках исследований, позволяющих развивать сервисы для пользователей с ограниченными возможностями. Например, для создания доступной среды в многофункциональных центрах (МФЦ), в транспортной отрасли (аэропорты, вокзалы, метро), в больницах для общения пациента и врача, в банковских сервисах и адаптации онлайн и оффлайн-образования.
Минутка интеграции. Приглашаю вас в Telegram-канал Salute AI, в котором мы с коллегами начали делиться наработками в области машинного обучения и другими рабочими моментами, а в чатике Salute AI Community можно напрямую поспрашивать про технологии.
vborshch
Осталось реализовать исполнение на ПЛИСах xD