Похоже, недавний взлом Microsoft Kinect с последующей публикацией свободных драйверов для Linux начинает приносить свои плоды. Энтузиасты уже научились совмещать данные о глубине с видео — это даёт возможность частично восстановить трёхмерную сцену. Впрочем, это далеко не предел того, что можно достичь. Сам Xbox 360 кроме того, что «видит» окружающий ландшафт, ещё умеет отличать людей от прочих объектов и выстраивать трёхмерные скелеты. То есть сама приставка — это ещё далеко не всё, что нужно, чтобы делать игры и прочие приложения, использующие данные об объёме. Софт тоже очень важен.
Мэтт Каттс, глава подразделения Google по фильтрации веб-спама (известный, в основном, благодаря своему блогу), тоже заинтересовался взломанным «Кинектом» и предлагает энтузиастам ещё призы общей суммой на две тысячи долларов — из собственного кармана, естественно. Первую тысячу он отдаст автору самого впечатляющего демо, вторую — создателю (или создателям) технологии, которая бы упрощала работу с Kinect.
Заодно Каттс предлагает несколько своих идей, чтобы авторы проектов лучше понимали, в каком направлении двигаться.
Идея 1: Интерфейс в стиле «Особого мнения» — чтобы можно было открывать, двигать и закрывать окна при помощи движений.
Идея 2: Что если поставить Kinect на что-нибудь передвижное? У «Кинекта» есть акселерометр, дальномер и видеокамера. Этого может быть достаточно для того, чтобы распознавать положение. Заодно можно было бы выстраивать трёхмерную модель всего вокруг.
Идея 3: Дополненная реальность. Используя поток видео с информацией о глубине, можно сделать что-то вроде 2,5-мерного представления сцены со слоями. Это позволит добавлять новые вещи в видеопоток — скажем, мячик, скачущий между тобой и диваном или за диваном.
Идея 4: Построитель пространства. Всё как в прошлой идее, но вместо изучения 2,5-мерных слоёв сцены при помощи одной карты глубины, карта используется во времени. К примеру, представьте, что человек проходит за диваном. Когда его видно целиком, можно посчитать его размеры. Когда он заходит за диван, его размеры остаются прежними, так что можно предположить, что диван его загораживает, следовательно находится перед человеком. Наблюдая за передвижениями, можно со временем можно построить куда более точное представление сцены.
Идея 5: Трёхмерное преобразование Хафа. Обычное использует плоское изображение, ищет края в картинке и вычисляет линии изображения. Трёхмерное ищет плоскости в данных о расстоянии. Можно было бы восстанавливать информацию о плоскостях пола и стен.
Идея 6: Что если взять два «Кинекта» или даже больше? У нас были бы данные о глубине или расстоянии с точки зрения каждого, эти данные можно было бы сомещать или пересекать. Если подставить их под прямыми углами (или три-четыре «Кинекта», расставленные по комнате и направленные внутрь неё), можно было бы, наверное, восстановить объёмную сцену или трёхмерный объект.
Апдейт: Первую идею уже почти реализовали.