Адаптация видео к форме экрана с частотой 1000 кадров/с

7bbda51b819a477289b61b2a6a904233.jpg
Видео проецируется на движущийся лист бумаги (слева) и на деформирующуюся ткань майки

Все видели обычный цифровой проектор, который проецирует видео на плоскую белую поверхность — на экран. Желательно в темноте. Требования к экрану очень строгие: от его качества во многом зависит красота картинки. Но представьте, что проектор может проецировать видео не только на ровную поверхность, но на ткань любой формы, да ещё и движущуюся! Такую невероятную технологию разработали сотрудники лаборатории Исикава Ватанабе из Токийского университета.

По мнению японских инженеров, технологическое совершенствование проекторов замерло на месте. А ведь это важная технология, которая расширяет, дополняет реальный мир. Теоретически, проецируемые картинки и видеоролики могут быть очень полезны в разных сферах дополненной реальности: от индустрии развлечений до информационных цифровых помощников, которые отображают контекстную информацию в удобном месте, на стекле очков, шлеме или просто на шторе в комнате.

Большинство современных технологий проецирования изображений ограничены статичными поверхностями. Это значительно область их применения.

Инженеры из лаборатории Исикава Ватанабе решили снять это ограничение, сделав проекторы более приспособленными к динамичному окружающему миру, в котором реальность постоянно меняет форму и трансформируется. В дополненной реальности будущего виртуальные объекты и реальный мир сольются в единую органичную форму, отлично приспособленную для человеческого зрения. В идеале, мы не должны различать между собой надписи краской и цифровые проекции. В более отдалённом будущем и трёхмерные динамичные «живые» объекты не должны сильно отличаться от настоящих предметов реального физического мира.

Что нужно для того, чтобы воплотить эту идею в жизнь? В первую очередь, требуется высокоскоростной проектор с исключительно высоким показателем количества кадров в секунду и низкой задержкой. Именно с такими требованиями в уме был разработан проектор DynaFlash, который проецирует 8-битные изображения с частотой кадров 1000 кадров/с и задержкой всего 3 миллисекунды.

e82a0fbe3e864dac9d1ac907f15fe9f4.png
Цифровой проектор DynaFlash

Японцы не ищут лёгких путей. Они не остановились на создании высокоскоростного проектора, а пошли дальше — и придумали, как заставить его искажать изображение в соответствии с деформациями гибкой ткани практически в реальном времени. Зачем? Например, чтобы проектор мог проецировать видеоролики без искажений на движущиеся объекты. Например, на майку человека в движении.

Как несложно догадаться, высокоскоростное проецирование осуществляется через специальный трекинг, то есть отслеживание поверхности. Это тоже неординарная задача в области компьютерного зрения. Задача отслеживания мнущихся поверхностей осложняется тем, что поверхность может частично закрывать сама себя, не говоря уже о частичном закрытии посторонними объектами.

Разумеется, отслеживание поверхности должно происходить с той же высокой скоростью, с какой работает проектор. Поэтому у технологии Deformable Dot Cluster Marker такие же технические характеристики: 1000 кадров/с и задержка 3 миллисекунды.

Как отслеживать форму поверхности с такой точностью и скоростью? В принципе, тут тоже вариантов немного. Японцы сделали это через маркерную сетку, которая наносится на объект. Дизайн маркерной сетки показан на анимированной графике.

1d72b12480a640d08247d7629cb3a5d6.gifa2cc711b226f48789f54956e76a8ef6b.gif

Трекинг на высокой скорости происходит на сильно распаралеленной задаче во множестве независимых тредов. Тем не менее, даже на CPU достигается производительность 1000 кадров в секунду.

8e1ca50d71224422baacc420af2a399e.jpg
Конвейер распознавания маркерной сетки

После распознавания маркерной сетки программа быстро вычисляет необходимые векторы деформации кадров в видеоролике — и проецирует результат в реальном времени с помощью проектора DynaFlash.

28910bfa571745bca4268acb72a7adbb.png
Вычисление векторов в программе

В общем, по описанию система работает довольно логично и просто. Вопрос в технической реализации — как им удалось оптимизировать эту задачу машинного зрения для такой высокой производительности?

Ответ на этот вопрос можно узнать из статьи «Dynamic Projection Mapping onto Deforming Non-rigid Surface using Deformable Dot Cluster Marker», которую авторы опубликовали в журнале по машинному зрению IEEE Transactions on Visualization and Computer Graphics (doi: 10.1109/TVCG.2016.2592910). Там подробно описаны алгоритмы вычисления векторов для маркерной сетки, обновления позиций отслеженных точечных кластеров, выявления ложных срабатываний, интерполяции потерянных кластеров и т.д. Авторы пишут, что для параллелизации вычислений использовали пакет OpenMP. Распознавание программой маркерной сети и покадровое отслеживание требовали менее 2 мс и 1 мс, соответственно, в зависимости от формы искажений. В таблице результат сравнивается с другой системой DRDM, которую коллеги представили на симпозиуме IEEE в 2011 году.

8228a05bcbf14f4cb5b05c013d5d9cdd.png

Авторы уверены, что органичность дополненной реальности на объектах реального мира — важное условие для цельности впечатлений от синтетической реальности такого рода. Здесь не должно быть высокой задержки в проецировании видео и геометрических искажений.

Ребята из лаборатории Исикава Ватанабе давно известны своими необычными и интересными изобретениями. Например, в 2013 году они изобрели высокоскоростной проектор Lumipen, который проецирует видео на движущиеся объекты.

Такая технология может найти применение в играх дополненной реальности, где человек в реальности взаимодействует с виртуальными объектами, будь то покеболл или футбольный мяч.

Проецирование виртуальной реальности на объекты реального мира широко используется в парках аттракционов по всему миру. Его можно применять в компьютерных интерфейсах, прототипировании, в обучении с учителем (например, в обучении вождению автомобиля) и многих других областях.

© Geektimes