Камеры глубины. Обзор устройств.

PHYGITALISM
Dec 12, 2019 · 10 min read

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

Часть 1 \ Часть 2

Есть отрасли, где геометрия объекта и понимание того, насколько далеко объекты расположены от зрителя и относительно друг друга, играет ключевую роль: протезирование, инженерия, связанные с проектированием деталей задачи, беспилотные автомобили и даже криминалистика — сканирование места преступлений. Для маркетинга и мультимедиа представление объектов в 3D расширяет границы возможностей — пример тому набравшие популярность 3D туры по музеям, оцифровка экспонатов и достопримечательностей.

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

Описание задачи

— иметь возможность зайти в помещение и быстро, не более чем за пару минут, получить 3D модель комнаты;

— осуществить доступ к полученной 3D модели для редактирования и отображения каких-либо данных, связанных с объектами внутри комнаты.

Задача не новая, но для нас был особенно важен следующий ее аспект — как добиться цели, не приобретая дорогой производственный 3D cканер, с наилучшим соотношением цены и качества?

Для того, чтобы построить 3D модель, нам необходимо как-то получить карту глубины. То есть помимо цветной картинки с обычной камеры, нам понадобится камера глубины, благодаря которой каждому пикселю изображения будет ставиться в соответствие число — расстояние до этого пикселя.

Чтобы получить 3D модель, необходимо провести множество сканирований с разных сторон, а затем привести результаты к общей системе координат (сделать выравнивание).

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

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

Направления развития depth камер

Очевидно, что RGB-D камеры становятся важной частью современного рынка устройств. Есть даже приложение в Google Play для 3D сканирования.

Structured Light камеры

Примеры устройств:

  • Компания Apple внедрила RGB-D камеру во фронтальную камеру iPhone и iPad Pro и назвала их TrueDepth. Камера обладает небольшим разрешением, и использовать её для полноценного сканирования пока нельзя, но уже можно применять в некоторых других задачах.
Демонстрация работы сканирования лица через TrueDepth камеру
  • Модель Huawei Mate 20 Pro обладает похожей системой, как iPhone. Камера также используется для распознавания лиц и не подходит для полноценного сканирования помещений, но может быть использована для сканирования небольших объектов.
Сканирование объектов с помощью Huawei Mate 20 Pro
Сканирование объектов с помощью Huawei Mate 20 Pro

Time of Flight камеры (ToF)

Примеры устройств:

  • Huawei P30 Pro.
Демонстрация работы Huawei P30 Pro для сканирования помещений
  • Honor View 20.
Пример использования Honor View 20 для игровых приложений
  • Samsung Galaxy Note 10+.
3D сканирования небольших объектов с помощью Samsung Galaxy Note 10+
Azure Kinect

Depth from Stereo камеры

  • ZED и ZED mini от Stereolabs работают на основе стереопары.
Cканирование пространства вне помещения
  • Смартфоны с двойной (тройной, четверной и т.д.) камерой сейчас производит практически каждый бренд.
Смартфоны с двойной камерой

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

  • Камеры Intel RealSence оснащены инфракрасной стереокамерой и RGB камерой.

Light Field камеры

Обзорная таблица рассмотренных устройств

В таблицу входят некоторые устройства, которые не удалось протестировать или узнать достаточно характеристик, чтобы включить в обзор: Matterport Pro2 3D Cammera, Leica Geosystems BLK360, THE DPI-8S HANDHELD 3D SCANNER. “Нет информации” в ячейках означает, что в открытых источниках информация по этому пункту недостаточно полная.

Далее мы рассмотрим каждое устройство более подробно.

Обзор камер глубины

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

  • Стоимость
  • Возможности SDK (получение облака точек, готовые реализации сканирования)
  • Ограничение по дальности сканирования
  • Максимальное разрешение depth сенсора
  • Наличие ИК передатчика-приёмника (наличие камер чувствительных к инфракрасному свету и инфракрасный излучатель), чувствительность к освещению
  • Возможность модификации используемых в SDK алгоритмов

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

Хотелось бы обратить внимание на то, что выбор 3D редактора, алгоритмов постобработки и анализа сцены (например, для автоматической расстановки меток с дополнительной информацией или для выделения плоскостей стен и пола) — это тоже отдельная и важная задача, которую мы не затрагиваем в этой статье.

Внимание! Указанные цены и сравнение результатов сканирования актуальны на момент написания статьи.

Structure Sensor by Occipital

Пример результата сканирования Occipital + Room Capture Mesh

Пример результата сканирования Occipital + Canvas

Согласно характеристикам сенсора:

  • Рекомендуемый диапазон сканирования - не ближе 40 см, не дальше 3.5 метра (см. спецификацию).
  • Максимальное разрешение 640x480.
  • Есть ИК передатчик-приёмник, получает хорошие depth кадры при плохом освещении. Structure Sensor не предназначен для сканирования в уличных условиях.
  • Есть возможность модифицировать алгоритмы, доступные в исходных кодах Occipital SDK. Нет доступа к исходным кодам Canvas (продуктовое решение).

Сам сенсор не имеет встроенной RGB камеры. Он использует камеру устройства.

Программное обеспечение

Canvas by occipital — продуктовое решение от Оccipital, позволяет сканировать помещения и получать меш без текстур (получение облака точек не предусмотрено).

  • Модель можно отправить по почте в формате obj. Для получения текстурированной модели предлагается постобработка на внешних серверах.
  • Качество меша — наилучшее среди рассматриваемых решений.
  • Хорошее качество трекинга, сканирует быстро.
  • Возможности сканирования ограничены оперативной памятью устройства.
  • По большей части подходит для сканирования небольших помещений.
  • Само приложение бесплатное. Есть внутренние платные предложения по обработке скана и его оптимизации.

Occipital SDK доступно при покупке structure sensor. Дает доступ к высокоуровневому SLAM алгоритму, который строит 3D сцену.

  • В самом SDK нет готовых функций или достаточно простого способа получить облако точек — это нужно реализовывать самостоятельно.
  • На наш взгляд, качество сканирования хуже, чем у Сanvas, хотя сенсор один и тот же.
  • Достаточно хорошее качество трекинга, сканирует быстро.
  • Есть ограничение пространства при использовании дефолтных настроек (нативно 10m x 6m x 10m) на тестовом приложении из SDK Room Capture.

Intel RealSense D435

Пример результата сканирования RealSense D435 + RTAB-Map

Согласно характеристикам сенсора:

  • Для модели D435 рекомендуемый диапазон: не менее 10 см, не более 10 м (на практике лучше не более 4–5м).
  • Максимальное разрешение 1280x720.
  • Есть ИК передатчик-приёмник, получает хорошие depth кадры при плохом освещении.
  • Есть возможность модифицировать алгоритмы, доступные в исходных кодах Realsence SDK 2.0.

Программное обеспечение

В RealSense SDK 2.0 есть возможности для работы с RGB и depth кадрами. SDK открыто.

  • Есть возможность получения облака точек с текущего depth кадра, но готовое решение для сканирования помещений в SDK не предусмотрено.
  • Размер сканируемого пространства ограничен объёмом оперативной памяти устройства.

ZED mini

Пример результата сканирования ZED mini + ZED SDK

Согласно характеристикам сенсора:

  • Рекомендуемый диапазон: минимальный 15 см, максимально заявленный 12м (на практике — лучше до 4–5 метров).
  • Максимальное разрешение 2K.
  • Нет ИК передатчика-приёмника. При использовании в плохо освещенном помещении качество падает. Хорошо подходит для сканирования в уличных условиях.
  • Есть встроенный гироскоп и акселерометр.
  • Нет возможности модифицировать используемые в ZED SDK алгоритмы.

Программное обеспечение

ZED SDK от Stereolabs дает доступ к широким возможностям по работе как с самими камерами, так и с различными алгоритмами обработки. В частности, реализован алгоритм построения 3D сцены, предусмотрены методы для получения облака точек и текстурированного меша.

Мы тестировали SDK, используя имеющуюся камеру ZED mini и тестовое приложение для 3D сканирования, написанное разработчиками SDK для С++. Результаты сканирования получились неудовлетворительными:

  • Меш и облако точек получаются довольно бесформенными при сканировании сложного окружения.
  • Заметны геометрические искажения.
  • В меше присутствуют дырки, а облако точек получается слишком разрезанным, даже с настройкой для высокой плотности.

Такие результаты, по всей видимости, связаны с отсутствием ИК модуля на самом устройстве — информация о глубине со стереокамер выходит весьма условной. Такое решение подойдет скорее для сканирования относительно простых сред, например, фасадов домов.

Устройство сканирует медленнее, чем решения от Occipital, иногда теряет сцену, после чего уже довольно сложно продолжать сканирование. При резких движениях можно потерять позицию. Размер сканируемого пространства ограничен объёмом оперативной памяти устройства.

Нет доступа к исходным кодам SDK.

Lenovo Phab2 Pro (project Tango)

Пример результата сканирования Lenovo Phab2 Pro + RTAB-Map

Пример результата сканирования Lenovo Phab2 Pro + RTAB-Map

Согласно характеристикам сенсора:

  • Есть ИК передатчик-приёмник.
  • Есть возможность модифицировать алгоритмы, доступные в исходных кодах SDK.

Программное обеспечение

RTAB-Map — SDK и автономное приложение, которое можно использовать в построении 3D скана помещения. Полностью открытый код. Можно выбирать SLAM алгоритмы, множество настроек.

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

Приложение возможно использовать на устройствах project Tango. Тестировали RTAB-Map Tango на Lenovo Phab 2 Pro.

  • Качество сканирования и трекинга хорошее, так как используются датчики с устройства, работает плавно, позиция не теряется.
  • Размер сканируемого пространства ограничен объёмом оперативной памяти устройства.

На Lenovo Phab 2 Pro удалось просканировать довольно большое помещение (~150 м²). Так же существует возможность склеить отсканированные на мобильном устройстве части помещения через RTAB-Map на компьютере, но требуется соблюдать предложенные рекомендации по сканированию.

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

Structure Sensor Mark II

Улучшенная версия Structure Sensor.

Согласно характеристикам сенсора:

  • Рекомендуемый диапазон: не ближе 30 см, не дальше 5 метра. (см. спецификацию).
  • Максимальное разрешение 1280x960
  • Есть ИК передатчик-приёмник, получает хорошие depth кадры при плохом освещении. Согласно официальной спецификации, Structure Sensor Mark II можно использовать на улице.
  • Есть встроенный гироскоп и акселерометр.
  • Есть возможность модифицировать алгоритмы, доступные в исходных кодах Occipital SDK. Нет доступа к исходным кодам Canvas (продуктовое решение).

Программное обеспечение

Используются те же SDK, что и для Structure Sensor.

Azure Kinect

Microsoft прекратил производство Kinect for Windows v2, на смену которому пришел Azure Kinect DK.

Согласно характеристикам сенсора:

  • 0.25–5 м. Ограничения по расстоянию разные, и зависят от режима работы.
  • Максимальное разрешение 1024x1024.
  • Есть ИК передатчик-приёмник.
  • Имеется акселерометр, гироскоп, микрофон.
  • Базовая часть SDK доступна для модификации. Некоторые дополнения распространяются в виде скомпилированных файлов.

Программное обеспечение

Неизвестно, будет ли в Azure Kinect Sensor SDK решение для сканирования помещений. Согласно описанию, есть возможность использовать инструменты Azure. Примеры отсутствуют, но в SDK есть функционал получения облака точек каждого кадра. Исходный код открыт.

Заключение

Если вы не хотите тратить время и силы на переписывание исходных кодов под свои задачи, и в приоритете использование готового решения, то Lenovo Phab 2 Pro + RTAB-Map — приемлемый вариант. Хоть Project Tango это уже давно закрытый проект, качество скана в процессе тестирования у нас получилось лучше, чем во многих других современных решениях из нашего обзора. А если сделать связку с какой-либо современной моделью телефона и RTAB-Map, качество может получиться еще лучше, но будет необходим разбор вопроса с интеграцией RTAB-Map.

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

Надеемся, что наш материал помог вам справиться с поставленной задачей! Будем рады получить фидбек или вопросы по проведенным вами экспериментами :)

следующая часть >

Автор

Александра Якименко

pokushala@phygitalism.com

PHYGITALISM

Создаем проекты на стыке XR, ML и других интерактивных…

PHYGITALISM

Создаем проекты на стыке XR, ML и других интерактивных технологий

PHYGITALISM

Written by

Мы - команда PHYGITALISM, реализуем фиджитал-проекты и много экспериментируем с XR, интерактивными технологиями и машинным обучением.

PHYGITALISM

Создаем проекты на стыке XR, ML и других интерактивных технологий