Создана система распознавания жестов для мобильных устройств

main image main image

Создана система распознавания жестов для мобильных устройств

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

В итоге исследователям удалось в эксперименте при помощи мобильного телефона распознать 21 точку зафиксированную на руке комбинацию (или нескольких руках одновременно) в рамках одного кадра и затем динамически отслеживать их изменения, считывая заранее определённые жесты в произвольной последовательности.

«Способность воспринимать форму и движение рук может стать жизненно важным компонентом для улучшения взаимодействия с пользователем в различных технологических областях и платформах», — пишут инженеры-исследователи Валентин Базаревский (Valentin Bazarevsky) и Фан Чжан (Fan Zhang) в своём блоге.

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

Распознать на изображении руки — это непростая задача.

BlazePalm вынужден решать её в условиях отсутствия функции, позволяющей отличать открытые и закрытые положения рук.

Чтобы решить эту задачу, команда обучила детектор обнаруживать ладони, а не сами руки, поскольку отличить небольшой ограниченный объект, такой как кулак, обычно легче, чем обнаружить руки или пальцы.

В качестве дополнительного преимущества BlazePalm также хорошо работает в граничных случаях, например, распознавая ладони при рукопожатии и генерируя ограничивающие рамки для дальнейшей работы алгоритма.

После обнаружения области, где находится ладонь человека, в дело вступает модель разметки, которая локализует 21 трёхмерную точку, позволяющих с высокой точностью определить положение каждого пальца руки.

Для обучения данной модели потребовалось 30 000 изображений ладони с помеченными вручную точками, а также создание синтетической модели руки, которую размещали на различном фоне.

Последний шаг в работе алгоритма — это система распознавания жестов, которая определяет состояние каждого пальца по углам, образованных суставами, и сопоставляет положение пальцев рук с предварительно определёнными вариантами жестов.

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

Только когда достоверность считывания жестов опускается ниже определенного порога, модель обнаружения ладони повторно применяется ко всему кадру.

Всё это позволяет оптимизировать производительность работы алгоритма.

В будущем Базаревский, Чжан и их коллеги планируют развивать данную технологию и сделать отслеживание ещё более надежным и стабильным, а также увеличить количество поддерживаемых жестов.