Banner Top

С публикация в AI блога си – Google призова разработчиците да подкрепят проекта за осигуряване на онлайн превод на езика на жестовете в реално време за мобилни устройства.

Първото представяне на метода бе на CVPR 2019 през юни, импленемтиран в MediaPipe— платформа с отворен код, съвместима с различни операционни системи за конвейрно изпъление на команди (an open source cross platform framework for building pipelines) – за обработване на сетивни данни от различни модалности, като видео и аудио. Чрез този подход се осигурява прецизно проследяване на ръцете и пръстите чрез прилагане на машинно самообучение (machine learning (ML)) за идентифициране на 21 3D точки на ръката само от един кадър. До момента за разчитане на езика на жестовете се ползват мощни изчислителни машини, докато този метод е приложим за мобилни устройства и дори за повече ръце едновременно. От Google вярват, че отварянето на достъпа до метода за разработчиците ще ги ентусиазира да го доразвият.

Машинно самообучение с конвейрно изпълнение на команди за проследване на ръце и разчитане на жестове
An ML Pipeline for Hand Tracking and Gesture Recognition

За проследяване движението на ръцете, Google прилагат машинно самобучение с конвейтно изпълнение на команди, което се състои от няколко модела, работещи заедно:

  1. Модел за намиране на длан (наречен BlazePalm) – изследва целия кадър и връща отрязък, в който е идентифицирана ръката.
  2. Модел за разпознаване на ръката (A hand landmark model), който обработва отрязъка (кропнатото изображение) от модела за намиране на длан, и връща прецизно идентифицирани 3D точки.
  3. Модел за разпознаване на жестовете – класифицира конфигурацията от 3D точки в поредица жестове.

Тази архитектура е подобна на наскоро приложената за лицево разпознаване (в МL pipeline). Използването на прецизно кропнатото изображение на ръката за идентифициране на ключовите 3D точки драстично намалява нуждата от набавяне на още данни (за движение, завъртане и т.н.), и става възможно капацитетът на мрежата да бъде насочен към прецизността на превода.

BlazePalm: откриване на длан/ръка в реално време :

За първоначалното намиране къде в кадъра са ръцете, се използва модела: BlazePalm, който е оптимизиран за използване в реално време на мобилен телефон, подобно на BlazeFace (който също е достъпно в MediaPipe). Разпознавнето на ръцете е доста сложно: моделът трябва да работи с най-различни размери на ръце с голям мащаб (~х20), спрямо целия кадър, за да могат да бъдат откривани, дори когато са леко скрити. И ако при лицата има контрастни точки – например очи, устни, то при ръцете няма такива, и това затруднява разпозанването им в едно изображение. Разбира е, задачата е по-лесна, ако разпознаването е в контекста на цялото тяло. Успеваемостта е 95.7%.

Модел за разпознаване на ръката (Hand Landmark Model)

След като в цялото изображение бъде идентифицирана дланта, моделът за разпознаване на ръката локализира прецизно 21 3D точки. За разработването на този модел, са анализирани над 30 000 реални изорбажения на ръце с различни жестове.

Тъй като събраните данни са доста общи, схемата на обучение е от смесен тип.

Разпозанване на жестовете

Алгоритъмът не е сложен. Първо се анализира дали всеки пръст е сгънат или не, според ъглите между точките. А след това положението на пръстите се мапва към предварително дефинирани жестове. Това се отанся за основните жестове, използвани по масово в различните култури: например “Thumb up”, “OK”, “Rock”, и “Spiderman”.

Внедряване чрез Media Pipe

Чрез MediaPipe, конвейрното изпълнение на командите може да се реализира като “насочен граф” (directed graph) от модуларни компоненти, наречени Калкулатори. Mediapipe е оборудван с набор Калкултори, който може да бъде разширяван, за да се решават задачи като – достигане до изводите от горе-коментираните модели, алгоритми за обработка на медийно съдържание, трансформиране на данни през различни устроства и платформи. Индивидуални изчисления, като – cropping, rendering и изчисления за невронни мрежи – могат да се изпълняват само на GPU.

Как работи MediaPipe графът за проследяване на ръка се вижда на изображението по-долу. Съдържа два подграфа – един за разпознаване на дланта в изображението, и друг за намирането на 21-те 3D точки. Тръсенето на длан не работи постоянно, а само при необходимост, и това пести от калкулации. Това е възможно, защото веднъж открита, дланта може да се прослява в следващите кадри по 21-те 3D точки.

1 Comment

Leave a Comment

Категории

Social

How to…

Видеа

Избрано

Умен дом