Первая версия Kinect, сенсорного игрового контроллера от Microsoft, заняла второе место в рейтинге «10 самых инновационных технических продуктов 2011 года» по версии международного журнала Популярная Механика. К февралю 2013 года количество проданных устройств достигло 24 миллионов. При этом первые 8 миллионов были проданы в течение 60 дней с момента поступления устройства в продажу, что сделало Kinect «самым быстро продаваемым пользовательским устройством» в Книге Рекордов Гиннесса.
Но время проходит, и не за горами выход новой версии Kinect. Мне понравилась свежая статья на TechCrunch (в оригинале «How Microsoft built the cameras in the upcoming Kinect») об улучшениях нового Kinect. Текст написан человеком, который специально посетил кампус Microsoft в Mountain View для ознакомления с новым сенсором, а также поговорил с инженерами, которые его разработали.
По катом 6 аргументов, почему новая версия Kinect имеет все шансы повторить успех текущей версии...
Рисунок 1. Режимы просмотра нового Kinect.
Мысль 1: Новый сенсор Kinect оказался круче, чем ожидалось, сильно опережая предшественника в техническом плане. Он имеет бОльшую обзорность, бОльшее суммарное количество пикселей, и бОльшее разрешение, что, со слов Microsoft, позволяет отслеживать движения запястья ребенка на расстоянии 3.5 метра.
Мысль 2: Новый сенсор Kinect также имеет несколько новых режимов просмотра. Несмотря на то, что эти режимы будут недоступны обычным пользователям, они могут оказаться чрезвычайно полезными для разработчиков приложений для Kinect, — в случае, если приложение захочет отслеживать движения человеческого тела более точно и с меньшей погрешностью.
Например, можно использовать Режим Инфракрасного Зрения и новые инструменты по моделированию человеческого тела для отслеживания движений мышц и ориентации частей тела человека относительно друг друга.
Или Режим Глубокого изображения, действующий как радар, где каждый из 220 тысяч пикселей, которые поддерживает сенсор Kinect, записывает данные независимо. В результате мы видим удивительно точное отображение комнаты, в которой находимся.
Мысль 3: Новый Kinect также включает настройки камеры, инвариантные свету (остающиеся неизменными при изменениях света). При таких настройках Kinect работает одинаково вне зависимости, есть в комнате свет или нет. На практике это означает, что вы можете использовать Kinect в темноте, и световые «шумы», скажем, два прожектора, направленных прямо на датчик, не будут влиять на производительность устройства. Автор статьи тут же решил это протестировать, и согласно его заключению, этот механизм действительно работает, как обещает производитель.
Рисунок 2. Настройки нового Kinect, инвариантные свету, позволяют использовать его в темноте.
Таким образом, теперь разработчики могут воспринимать данные от Kinect, не волнуясь, хорошо или плохо освещен пользователь. Данные не будут искажены из-за того, что кто-то, например, включил верхний свет в комнате. Последний Kinect также распознает больше суставов человеческого тела, — это может быть особенно полезно, когда вам, например, нужно лучше отслеживать движения рук пользователя.
Мысль 4: Размер самого маленького объекта, который мог отследить первый Kinect, был около 7.5 см. Новый Kinect одновременно с тем, что имеет на 60% больше обзорность, может также видеть предметы размером всего 2.5 см. Он также может отслеживать до шести человек в комнате в сравнении с двумя в предыдущей версии.
Мысль 5: Первый Kinect стал самым быстро-распродаваемым пользовательским устройством в истории. Его существование помогло сохранить Xbox 360, даже когда консоль уже немного устарела. Microsoft выпускает новый сенсор Kinect вместе с новым Xbox One. Оба будут доступны для покупки в США с середины ноября этого года, что нацелено на конкуренцию с готовящимся к выпуску PlayStation 4 от Sony.
Возникшие проблемы
Главная мысль – это то, что Microsoft хотел внедрить камеру, работающую на основании «времени полета», то есть времени, необходимого для того, чтобы свет прошел путь от его источника до объекта, отразился и вернулся обратно. Учитывая, что это происходит довольно быстро, новый Kinect ориентирован на поглощение огромного количества данных в реальном времени, и, конечно, у инженеров возникли некоторые трудности. Представители израильского отделения Microsoft и центрального офиса в силиконовой долине, объединились для того, чтобы реализовать академическую идею «времени полета» в коммерческий продукт.
Рисунок 3. Идея «времени полета» легла в основу работы камеры нового Kinect.
Неудивительно, что объединив свои лучшие умы, Microsoft удалось решить поставленную задачу, однако возникли другие вопросы, связанные с переполнением данных и размытием.
Если коротко, требовалось выполнение одновременно двух условий:
- Обработка около 6.5 миллионов пикселей каждую секунду;
- Низкая нагрузка на Xbox One для сохранения его высокой производительности;
Изначально группа разработчиков была далека от того, что требовалось. Ребята разработали алгоритмы, оптимизированные для уменьшения нагрузки на процессор и выполняющие «очистку» данных «краев» изображения так, чтобы дальние объекты не сливались и не размывались при движении. Как рассказывают инженеры, выполнение этих программных задач стало возможным благодаря предварительной настройке аппаратуры камеры. Если не выполнять предварительную настройку аппаратной части, алгоритмы учились бы из несовершенных или некорректных данных. Хочется, чтобы эти алгоритмы учились на финальных данных, а не на данных с «шумом» или бета-данных.
Оборудование нового Kinnect является мульти-компонентным, включая агрегирующую часть, которая собирает данные сенсора от Kinect и объединяет их (Microsoft не вдается в подробности, однако есть предположение, что это отдельный чип). Также Microsoft отказался вдаваться в подробности о том, где выполняется процесс «очистки» данных. Есть опять же предположение, что из-за требования низкой нагрузки для входящих данных, этот процесс, по крайней мере, частично происходит на самой консоли.
Конечным результатом всего описанного выше являются мульти-потоковые данные от Kinnect для использования разработчиками для любых вещей, которые им хочется реализовать на базе Xbox или PC.
В России новая консоль будет доступна не раньше следующего года.
Полезные статьи
- Оригинал статьи (на английском)
Автор: vMaria