Исследователи из Брауновского университета, США, разработали методику трёхмерного сканирования, которая допускает использование бытовых камер. Созданный ими алгоритм снижает стоимость оборудования для 3D-сканирования объектов и позволяет применять для этих целей даже встроенные камеры современных смартфонов без какой-либо доработки.
«Одна из задач, на которых была сфокусирована работа моей лаборатории, — захват трёхмерного изображения с использованием относительно недорогих компонентов, — рассказывает Габриэль Таубин (Gabriel Taubin), профессор Инженерной школы при Брауновском университете. — Представленные на рынке 3D-сканеры либо слишком дороги, либо же не способны захватывать изображение с высоким разрешением и потому не могут использоваться в задачах, где важна хорошая детализация».
Большая часть высококачественных 3D-сканеров используют для захвата изображения методику, известную как структурированное освещение. Проектор испускает на сканируемый объект последовательность быстро меняющихся световых узоров (паттернов), в то время как камера фиксирует получающиеся изображения объекта. Характер искажения узоров на объекте и вокруг него может быть проанализирован алгоритмами и использован для рендеринга итогового 3D-изображения. Однако для того, чтобы технология работала, проектор паттернов и камера должны быть точно синхронизированы, что требует специализированного и дорогостоящего оборудования.
Однако алгоритм, разработанный группой Таубина, позволяет реализовать технологию структурированного освещения без синхронизации между проектором и камерой. Это означает, что камера сразу после покупки может быть использована вместе с несинхронизированным источником структурированного света. Она должна лишь иметь возможность захватывать несжатые изображения в режиме скоростной съёмки. Достаточно несколько успешных кадров в секунду, что вполне по силам многим зеркальным и компактным фотоаппаратам и даже смартфонам.
Проблема при захвате 3D-изображения в отсутствие синхронизации заключается в том, что проектор может переключиться с одного паттерна на следующий прямо во время экспозиции кадра. В результате захваченные изображения окажутся смесью двух или даже большего числа паттернов. Ещё одну проблему для разработчиков алгоритма создал используемый в значительной части современных цифровых камер механизм строко́вого фотозатвора: изображение считывается с КМОП-матрицы по строкам, и в результате может получиться часть кадра с одним паттерном, а часть с другим.
Созданный учёными университета алгоритм решает эти задачи и исключает «неправильные» кадры из дальнейшей работы. После того, как камера сделает серию снимков, алгоритм изучает информацию, заложенную в шаблоны проектируемых паттернов. После прохода по сделанным изображениям и отсева кадров со смешанными паттернами он собирает новую последовательность снимков, каждый из которых содержит только изображение с единственным паттерном. После этого используется стандартная методика 3D-реконструкции, применяемая для синхронизированных изображений.