Алгоритм, созданный специалистами исследовательского департамента Microsoft в Кембридже и команды Xbox Incubation, основан на анализе изображений, сделанных видеокамерой устройства.
Сначала программа Kinect изучает, насколько определённые свойства присущи тому или иному пикселу (например, его приблизительное местоположение), после чего с помощью разветвлённого дерева решений классифицирует его. Инфракрасные сенсоры позволяют определить глубину точек. В итоге каждый пиксел на изображении связывается с соответствующим «кусочком» реального тела. После того как пиксельный силуэт сформирован, определяется расположение суставов и «собирается» 3D-скелет.
Разработчики научили систему идентифицировать всевозможные движения и жесты путём сравнения с базой из 500 тыс. силуэтов, учитывающих телосложение, одежду, причёску и т. п. Впоследствии эту базу сократили в пять раз, оставив одно изображение из нескольких практически идентичных (тех, на которых положение тела разнится в пределах 5 см).
Kinect запускает этот алгоритм 200 раз в секунду — в 10 раз чаще, чем у аналогов, — что позволяет синхронизировать действия пользователей и виртуальных персонажей.
Статья о том, как технология работает, будет опубликована в июньском номере издания Proceedings / CVPR. Следующей целью разработчиков станет увеличение точности трёхмерного «скелетостроения» путём более тщательного определения положения суставов. Kinect 2 на горизонте?
Подготовлено по материалам NewScientist.