Два с половиной миллиона модулей Kinect для Xbox 360, купленных за первый месяц продаж контроллера, — это серьёзно. Достаточно серьёзно, чтобы уже считать Kinect значительным успехом Microsoft. Но куда важнее — популярность Kinect у энтузиастов, которые научились подключать его к компьютеру и нашли устройству множество применений, о которых его создатели и не думали.
Внутри Kinect умещается две камеры: обычная, выдающая картинку разрешением 640 на 480, и инфракрасная с разрешением 320 на 240 точек. Встроенный инфракрасный лазер проецирует на всё вокруг невидимые невооружённым глазом точки, помогающие определить расстояние до предмета. Также в Kinect есть решётка из четырёх направленных микрофонов, улавливающая объёмный звук, а мотор и акселерометр помогают контролировать наклон устройства.
Видеокамера в паре с дальномером дают некоторое подобие трёхмерной картинки: при объединении полученных от них данных получается что-то вроде барельефа. То есть скорее не три, а два с половиной измерения.
Чтобы игровая приставка сумела составить по этим данным представление об окружающем пространстве и движениях игроков, нужны сложные алгоритмы. Xbox 360 умеет выстраивать трёхмерные «скелеты» и распознавать лица людей. Распознавание лиц, к примеру, позволяет приставке моментально добавлять в игру нужного персонажа, когда его обладатель появляется перед камерой. Построение скелета — повторять движения человека даже в тех случаях, когда одна часть тела загораживает от камеры другую (к примеру, когда рука спрятана за спиной).
Старший исследователь Microsoft Research Билл Бакстон в интервью «Компьютерре» рассказал, что над алгоритмами для Kinect работали таланты мирового уровня в области машинного зрения. Однако стоило энтузиастам взломать Kinect и подключить его к компьютеру, как повалили сообщения о всё новых и новых трюках, которые можно реализовать при помощи контроллера, порой не уступающих, а иногда и превосходящих то, что сделали в Microsoft.
Всё началось с того, что компания Adafruit пообещала выплатить тысячу долларов автору опенсорсного драйвера для Kinect. В Microsoft не были этому рады и даже пригрозили судом. Adafruit это нисколько не смутило — наоборот, призовой фонд был немедленно удвоен, а затем утроен. Вскоре деньги нашли обладателя — один из энтузиастов предоставил исходный код драйвера и видео с демонстрацией его работы.
С той поры не проходит и дня без пары новых «хаков» для Kinect — необычных применений 3D-камеры Microsoft. Для чего только не используют Kinect: голографический чат, управление роботами, сканирование объектов и передачу тактильных данных, управление компьютерными интерфейсами в стиле фильма «Особое мнение»… С помощью Kinect играют в Quake 3, World of Warcraft, Super Mario и Guitar Hero — причём безо всякой гитары: достаточно просто изображать музицирование.
Вполне очевидная идея — использовать два контроллера Kinect, чтобы расширить поле зрения и получать больше информации об объёме. Энтузиастам даже удалось решить связанную с этим задачу: сделать так, чтобы инфракрасные точки одного «Кинекта» не мешали другому.
Отдельного упоминания заслуживает использование Kinect для передвижения по виртуальной реальности. Надев видеоочки, человек может управлять своим аватаром от первого лица, двигать руками и ногами, ходить и манипулировать предметами. Поскольку разработка японская, персонаж выбран соответствующий: кому же не хочется ненадолго вселиться в тело виртуальной поп-звезды Хацунэ Мику?
Kinect, как оказалось, идеально подходит в качестве зрительной системы для роботов: благодаря акселерометрам можно отследить движение, сервомоторы поворачивают Kinect в нужную сторону, а дальномер позволяет распознавать объекты и восстанавливать геометрию помещения. Сперва контроллер задействовали в паре с шасси iRobot, причём авторы проекта сразу подумали и о распознавании движений человека. Можно, к примеру, указать роботу рукой, и тот поедет в нужном направлении.
Для Kinect нашёлся и ещё более интересный носитель: в лаборатории Калифорнийского университета в Беркли модуль водрузили на квадрикоптер. Тот прекрасно выдерживает вес, кружит по помещению и облетает препятствия.
Мэтт Каттс, глава подразделения Google по фильтрации веб-спама, успел присоединиться к инициативе Adafruit и тоже предлагает денежные призы авторам лучших проектов с использованием Kinect (заодно Каттс поделился и своими идеями). Но, кажется, процесс уже не требует дополнительной поддержки — «Кинекты» покупают даже те, у кого нет Xbox 360, а слава хакерских поделок с лёгкостью затмила шумиху вокруг первых игр для Kinect, предлагаемых самой Microsoft.