Что такое датчик глубины на смартфоне
Датчик глубины резкости в смартфоне — что это и зачем нужно?
Особенности и использование сенсора глубины резкости в телефоне.
Датчик глубины резкости — это сенсор, который во время съемки на камеру определяет глубину и дальность расположения объектов относительно смартфона и друг друга. Обычно датчик является отдельным модулем в блоке камер телефона, но в более современных моделях его встраивают в другие типы объективов, например, в широкоугольные или телеобъективы.
Зачем нужен датчик глубины резкости в телефоне?
Единственная функция датчика глубины резкости заключается в преобразовании области, которая попадает в объектив камеры, в трехмерную карту. Предавая объектам размер и форму, датчик автоматически определяет их местоположение. Он понимает, какие предметы находятся ближе, а какие дальше. Таким образом сенсор может правильно определить глубину резкости, чтобы получился качественный снимок.
Отделяя объекты заднего плана от объектов переднего, датчик может создать эффект малой глубины резкости. Это означает, что большая часть изображения будет отнесена к заднему плану и размыта. В фокусе останется только небольшой объект в центре фотографии: человек, предмет на столе и т.д. Этот эффект дает ощущение, будто изображение было сделано на профессиональную камеру или тщательно обработано редактором фотографий.
На практике, датчик глубины резкости часто некачественно выполняет свою работу. У трехмерного объекта в фокусе зачастую размыты границы, потому что его глубина на границе будет отличаться от той, что в самом центре фокусировки. Также размытие может казаться неестественным, так как на смартфонах обычно применяется равномерное размытие, а не усиливающееся в зависимости от расстояния до точки фокуса.
Кроме того, что датчик глубины резкости определяет положение объектов и обеспечивает эффектное размытие на фотографиях, он необходим для следующих функций:
Датчик используется не только для определения глубины резкости во время съемки — его возможности намного шире. Определяя расположение предметов, он поддерживает технологию виртуальной реальности для мобильных пользователей. И если сейчас сенсор работает неидеально, в будущем датчик глубины на телефоне может стать таким же эффективным, как и VR-очки.
Рекомендуем прочитать материал с советами, которые помогут делать красивые снимки на камеру смартфона.
Что делают 3D-сенсоры в смартфонах? РАЗБОР
Все чаще мы видим в смартфонах так называемые 3D-сенсоры, или сенсоры глубины. Большинство из них также называют ToF-сенсорами аналогично одноименной технологии. По слухам, такой сенсор будет установлен и в новом iPhone (там он называется LiDAR, подробнее мы об этом рассказывали в другом материале). Эти сенсоры довольно дорого стоят, но зачем они нужны понятно не всем. Производители уверяют, что сенсоры позволяют делать лучше фото и портреты или добавляют фишки в дополненную реальность. Но так ли это на самом деле?
Сегодня обсудим, зачем нужны 3D-сенсоры в смартфонах, как это работает, ну и конечно, проведем несколько тестов и проверим заявления производителей.
Что такое 3D сенсор (сенсор глубины)
Для начала, давайте разберемся, а что такое 3D-сенсор? Фотокамеры захватывают проекцию окружающего мира на плоскость. По одной лишь фотографии не понять реальный размер объекта — размером ли он с бутылку или с Пизанскую башню. И расстояние до него тоже не понять.
Для того, чтобы понимать реальные размеры объектов на фото, масштабы съемки, отличать, что ближе к камере, а что дальше, и нужны 3D-сенсоры. Они уже давно и активно применяются в робототехнике, автономном транспорте, играх, медицине и много где еще. Более того, наши глаза — это тоже 3D сенсор. При этом, в отличие от LiDAR’а и ToF-сенсоров в смартфонах, глаза — пассивный 3D-сенсор. То есть не излучающий никакого света, а работающий только на основе поступающего света. Только благодаря этому мы можем хоть как-то перемещаться в пространстве и взаимодействовать с окружающими объектами. Теперь 3D-сенсоры появились и в смартфонах.
Как работает ToF?
LiDAR в iPad’е, а также все 3D-сенсоры в Android-смартфонах — это time-of-flight или сокращенно ToF-сенсоры. Они определяют расстояния до объектов вокруг, напрямую измеряя сколько времени понадобится свету, чтобы долететь от камеры до объекта и вернуться обратно. Это очень похоже на эхо в пещере, оно тоже после отражения от стенок возвращается к нам с запаздыванием. Чтобы пролететь 1 метр свету нужно 3 наносекунды, для 1 см — 30 пикосекунд. Вроде бы все понятно. Но есть проблема.
Это очень маленькие промежутки времени. Как камера может такое замерить? Не будет же она делать миллиард кадров в секунду, а потом их сравнивать? Есть 2 основных подхода для решения этой проблемы: dToF (direct ToF) и iToF (indirect ToF). И чтобы вас заинтриговать еще сильнее: абсолютное большинство Android-смартфонов используют как раз iToF сенсоры, тогда как LiDAR в Apple iPad и скорее всего в грядущих iPhone — это редкий представитель семейства dToF сенсоров. Так чем же они отличаются?
iToF — indirect ToF
Начнем с iToF. В таких сенсорах излучатель отправляет высокочастотный модулированный свет, то есть этот свет постоянно включается и выключается с частотой десятки миллионов раз в секунду. За счет того, что свету нужно время для полета до объекта и обратно, фаза, то есть вот это состояние где-то между включенностью и выключенностью, света, вернувшегося в камеру, немного отличается от фазы света в момент отправки. На сенсоре исходный и отраженный обратно от объекта сигналы накладываются друг на друга, и за счет этого определяется сдвиг фаз, который и позволяет понять расстояние до каждой точки объекта.
dToF — direct ToF
dToF работает немного иначе. В таких сенсорах напрямую измеряется разница во времени между отправкой света и детектированием его отражения на сенсоре. Для этого используются так называемые SPAD: single photon avalanche diodes. Они могут детектировать крайне маленькие импульсы света, фактически даже ловить единичные фотоны. Такие SPAD расположены в каждом пикселе сенсора. А в качестве излучателя в таких сенсорах используются как правило так называемые VCSEL — Vertical Cavity, Surface Emitting Laser. Это лазерный излучатель, подобный тем, что используются в лазерных мышках и много где еще. dToF сенсор в LiDAR разработан совместно с Sony и является первым массовым коммерческим dToF сенсором.
Можно лишь гадать, почему в iPad используется dToF сенсор, но давайте отметим преимущества такого сенсора. Во-первых, в отличие от iToF сенсора излучатель испускает не сплошную стену света, а лишь светит в отдельных направлениях, что позволяет экономить батарейку. Во-вторых, dToF сенсор меньше подвержен ошибкам в измерении глубины из-за так называемой multipath interference. Это типичная проблема iToF сенсоров. Она возникает из-за переотражения света между объектами перед попаданием обратно в сенсор и искажает измерения сенсора.
Как это работает, разобрались, давайте теперь посмотрим, а зачем вообще 3D-сенсоры используются в смартфонах.
Зачем это нужно в смартфонах
1. Безопасность
Первым массовым внедрением 3D-сенсоров в смартфонах мы обязаны Apple и технологии Face ID. Распознавание лиц при использовании трёхмерных данных намного точнее и надежнее классического распознавания лиц по фото. Для Face ID Apple использует технологию структурированной подсветки, на ней мы остановимся подробнее как-нибудь в следующий раз.
Большинство производителей заявляют, что именно более качественный и точный режим дополненной реальности является главной задачей 3D-сенсоров. Более того, это также поддерживается непосредственно компанией Google. Буквально недавно они представили грядущее обновление своей библиотеки дополненной реальности ARCore, позволяющее более реалистично размещать виртуальные объекты в реальности и взаимодействовать с реальными объектами.
Для этой же задачи Apple встроили LiDAR в iPad Pro. Такое можно делать и без 3D-сенсора, но с ним все работает точнее и надежнее, плюс задача становится вычислительно сильно проще и разгружает процессор. 3D-сенсор выводит AR на другой уровень.
3. Улучшение фотографий
Ряд производителей, например, Samsung и HUAWEI заявляют, что 3D-сенсор используется в первую очередь для более качественного размытия фона и более точного автофокуса при съемке видео. Другими словами, он позволяет увеличить качество обычных фото и видео.
4. Прочее
Доступ к данным сенсоров у некоторых смартфонов открыт, поэтому появляется все больше приложений, предлагающих новые применения. Так, например, с помощью внешних приложений 3D-сенсор можно использовать для измерения объектов, трехмерного сканирования и motion tracking’а. Есть даже приложение, позволяющее сделать из своего смартфона прибор ночного видения.
Тесты
С тем как это работает в теории разобрались, давайте теперь посмотрим, как это работает на практике, и есть ли какой-то толк от этих дорогущих 3D-сенсоров в флагманах. Для тестов мы взяли Redmi Note 9S, у него есть ToF-сенсор и мы сделали несколько снимков в портретном режиме, но во втором случае просто закрыли 3D-камеру пальцем. И вот что получилось.
Всё просто — размытие действительно больше и лучше, если ToF работает.
И для частоты эксперимента мы взяли Samsung Galaxy S20 Ultra, который также получил ToF-камеру.
И найдите хотя бы одно отличие?
Что получается? Дело в том, что в зависимости от производителя ToF-камера используется по-разному и в разной степени.
Можно сказать, что часть производителей смартфонов располагает ToF-датчики в своих смартфонов не для маркетинга, чтобы добавить ещё одну камеру, а скорее на всякий случай. А дальше уже алгоритмы решают — использовать эту камеру или нет?
При этом на сегодняшний момент необходимости в LiDAR или ToF-камерах прямо нет. Так что это видимо чуть больше маркетинг.
Камеры глубины. Обзор устройств.
В этой заметке мы разберемся, какие устройства для 3D сканирования доступны рядовому пользователю, и на что способны мобильные камеры глубины. Обзор инструментов, подходящих для сканирования помещений.
Есть отрасли, где геометрия объекта и понимание того, насколько далеко объекты расположены от зрителя и относительно друг друга, играет ключевую роль: протезирование, инженерия, связанные с проектированием деталей задачи, беспилотные автомобили и даже криминалистика — сканирование места преступлений. Для маркетинга и мультимедиа представление объектов в 3D расширяет границы возможностей — пример тому набравшие популярность 3D туры по музеям, оцифровка экспонатов и достопримечательностей.
При сканировании, модель и сцены создаются не художником или конструктором, а берутся из реального окружения. С помощью устройства, снабженного различными камерами и датчиками, физические свойства объекта или пространства (форма, цвет) переносятся в цифровую среду. Отсканированные модели можно использовать как основу для дальнейшей доработки или другого анализа, в том числе семантического. Такой подход будет экономить время и деньги, а силы специалистов в результате можно будет направить на решение более творческих задач — все это ведет к автоматизации, к которой мы все так стремимся.
Описание задачи
Перед нами стояла задача — быстрое и качественное сканирование помещений. Необходимо:
— иметь возможность зайти в помещение и быстро, не более чем за пару минут, получить 3D модель комнаты;
— осуществить доступ к полученной 3D модели для редактирования и отображения каких-либо данных, связанных с объектами внутри комнаты.
Задача не новая, но для нас был особенно важен следующий ее аспект — как добиться цели, не приобретая дорогой производственный 3D cканер, с наилучшим соотношением цены и качества?
Для того, чтобы построить 3D модель, нам необходимо как-то получить карту глубины. То есть помимо цветной картинки с обычной камеры, нам понадобится камера глубины, благодаря которой каждому пикселю изображения будет ставиться в соответствие число — расстояние до этого пикселя.
Чтобы получить 3D модель, необходимо провести множество сканирований с разных сторон, а затем привести результаты к общей системе координат (сделать выравнивание).
Подробно про получение данных с камер, механизм сопоставления кадров, совмещение значений цвета и глубины, а также про другие нюансы при построении непосредственно 3D модели, вы сможете прочитать во второй части статьи.
А сейчас разберемся с тем, откуда брать глубину, какие технологии и устройства доступны сейчас на рынке.
Направления развития depth камер
Основные направления развития камер глубины, с обзором принципа их работы и современного применения, хорошо описаны тут. Поэтому не будем повторяться, лишь перечислим устройства, использующие наиболее активно развивающиеся технологии датчиков глубины.
Очевидно, что RGB-D камеры становятся важной частью современного рынка устройств. Есть даже приложение в Google Play для 3D сканирования.
Structured Light камеры
Structured Light камеры основаны на сканировании структурированным светом — с помощью проектора (обычно инфракрасного) формируется проекция световой сетки на объекте, и с помощью камеры фиксируются искажения сетки.
Time of Flight камеры (ToF)
ToF основаны на измерении времени отклика лучей от поверхности объекта.
Depth from Stereo камеры
Depth from Stereo камеры схожи с принципом работы стереоскопического зрения человека — на основании различия в снимках двух камер, направленных в одном направлении, определяется расстояние до каждой точки изображения.
Примеры устройств:
С помощью стереоскопии на смартфоне не удастся сканировать помещения, но можно заметно увеличивать качество фотографий и менять глубину резкости, благодаря возможности выделения объектов на переднем плане.
Light Field камеры
С помощью массива микролинз, расположенных перед сенсором камеры, в каждой точке фиксируется двумерный массив световых лучей, в результате чего получается четырехмерный кадр. Подробнее можно прочитать здесь. Мы не будем останавливаться на этой технологии, так как на данный момент из мобильных устройств она применяется только в Google Pixel 2, для выделения объектов на переднем плане и получения стереофото.
Обзорная таблица рассмотренных устройств
Мы сделали таблицу по рассмотренным камерам глубины, которая заполнялась в ходе экспериментов и изучения технических спецификаций устройств.
В таблицу входят некоторые устройства, которые не удалось протестировать или узнать достаточно характеристик, чтобы включить в обзор: Matterport Pro2 3D Cammera, Leica Geosystems BLK360, THE DPI-8S HANDHELD 3D SCANNER. “Нет информации” в ячейках означает, что в открытых источниках информация по этому пункту недостаточно полная.
Далее мы рассмотрим каждое устройство более подробно.
Обзор камер глубины
В наш обзор войдут устройства, оснащенные камерой для получения цвета, и камерой глубины, которые будут давать возможность в риал-тайм получать облако точек (point cloud) или полигональную модель с расстояния 1–4 метра в движении.
Для дальнейшей работы нам так же необходимо выбрать SDK или приложение для выгрузки полученной модели. На основании этих требований для ряда устройств, рассмотрим следующие характеристики:
Мы отдельно обращаем внимание на наличие инфракрасного передатчика-приемника —качество построения облака точек на устройствах без этого датчика сильно зависит от качества освещения сканируемого помещения.
Хотелось бы обратить внимание на то, что выбор 3D редактора, алгоритмов постобработки и анализа сцены (например, для автоматической расстановки меток с дополнительной информацией или для выделения плоскостей стен и пола) — это тоже отдельная и важная задача, которую мы не затрагиваем в этой статье.
Внимание! Указанные цены и сравнение результатов сканирования актуальны на момент написания статьи.
Structure Sensor by Occipital
От 399$. Цена зависит от комплектации.
Сам сенсор не имеет встроенной RGB камеры. Он использует камеру устройства.
Canvas by occipital — продуктовое решение от Оccipital, позволяет сканировать помещения и получать меш без текстур (получение облака точек не предусмотрено).
Occipital SDK доступно при покупке structure sensor. Дает доступ к высокоуровневому SLAM алгоритму, который строит 3D сцену.
Intel RealSense D435
Согласно характеристикам сенсора:
В RealSense SDK 2.0 есть возможности для работы с RGB и depth кадрами. SDK открыто.
ZED mini
ZED SDK от Stereolabs дает доступ к широким возможностям по работе как с самими камерами, так и с различными алгоритмами обработки. В частности, реализован алгоритм построения 3D сцены, предусмотрены методы для получения облака точек и текстурированного меша.
Мы тестировали SDK, используя имеющуюся камеру ZED mini и тестовое приложение для 3D сканирования, написанное разработчиками SDK для С++. Результаты сканирования получились неудовлетворительными:
Такие результаты, по всей видимости, связаны с отсутствием ИК модуля на самом устройстве — информация о глубине со стереокамер выходит весьма условной. Такое решение подойдет скорее для сканирования относительно простых сред, например, фасадов домов.
Устройство сканирует медленнее, чем решения от Occipital, иногда теряет сцену, после чего уже довольно сложно продолжать сканирование. При резких движениях можно потерять позицию. Размер сканируемого пространства ограничен объёмом оперативной памяти устройства.
Нет доступа к исходным кодам SDK.
Lenovo Phab2 Pro (project Tango)
RTAB-Map — SDK и автономное приложение, которое можно использовать в построении 3D скана помещения. Полностью открытый код. Можно выбирать SLAM алгоритмы, множество настроек.
Приложение возможно использовать на устройствах project Tango. Тестировали RTAB-Map Tango на Lenovo Phab 2 Pro.
На Lenovo Phab 2 Pro удалось просканировать довольно большое помещение (
150 м²). Так же существует возможность склеить отсканированные на мобильном устройстве части помещения через RTAB-Map на компьютере, но требуется соблюдать предложенные рекомендации по сканированию.
К сожалению, в нашем распоряжении не было всех устройств, заслуживающих внимания. Выше мы описали результаты сканирования на основе наших собственных тестов, с имеющихся в распоряжении камер. Ниже перечислим ещё несколько устройств, потенциально пригодных для решения нашей задачи, исходя из примеров с сайтов производителей, технической спецификации и документации.
Structure Sensor Mark II
От 419$ (для iPad Pro)
Улучшенная версия Structure Sensor.
Используются те же SDK, что и для Structure Sensor.
Azure Kinect
Microsoft прекратил производство Kinect for Windows v2, на смену которому пришел Azure Kinect DK.
Неизвестно, будет ли в Azure Kinect Sensor SDK решение для сканирования помещений. Согласно описанию, есть возможность использовать инструменты Azure. Примеры отсутствуют, но в SDK есть функционал получения облака точек каждого кадра. Исходный код открыт.
Заключение
Из обзора можно сделать вывод, что при использовании дешевых открытых решений, качество сканирования в основном оставляет желать лучшего — для его проведения требуется соблюдение особых условий (объем сканирования, условия освещения) или доработка алгоритмов. Например, доработав алгоритм позиционирования с помощью RTAB-Map в Occipital SDK, теоретически можно добиться такого же качества, что и в закрытом решении Сanvas для того же устройства. Нам показалось, что этот вариант даст наилучший результат.
Если вы не хотите тратить время и силы на переписывание исходных кодов под свои задачи, и в приоритете использование готового решения, то Lenovo Phab 2 Pro + RTAB-Map — приемлемый вариант. Хоть Project Tango это уже давно закрытый проект, качество скана в процессе тестирования у нас получилось лучше, чем во многих других современных решениях из нашего обзора. А если сделать связку с какой-либо современной моделью телефона и RTAB-Map, качество может получиться еще лучше, но будет необходим разбор вопроса с интеграцией RTAB-Map.
В заключении хотелось бы еще раз отметить, что помимо сканирования объектов и помещений, камеры глубины активно используются в AR, распознавании жестов, распознавании лица, построении скелетной анимации. Если вам интересно почитать про другие кейсы использования устройств—ознакомьтесь с нашей статьей о создании 2.5D видео (ссылка будет добавлена немного позже).
Надеемся, что наш материал помог вам справиться с поставленной задачей! Будем рады получить фидбек или вопросы по проведенным вами экспериментами 🙂
Исследователи: смартфоны можно использовать для поиска скрытых камер
Команда инженеров предложила использовать датчики глубины в камерах смартфонов для обнаружения скрытого наблюдения.
Инженеры Национального университета Сингапура и Университета Енсе представили концепцию, которая позволит пользователям современных смартфонов искать источники скрытого видеонаблюдения. Для этого необходимы датчики глубины (time-of-flight) камеры устройства.
ToF-датчики устроены по принципу сонара, где главное отличие ― ориентир на свет, а не на звук. Так, камера глубины выпускает излучение инфракрасного спектра и фиксирует временной промежуток, за который свет отразится от направленного объекта.
Датчики состоят из диода и светочувствительной матрицы, благодаря которым они способны определять расстояние до объектов и их форму.
Такие смартфоны, как iPhone 12/13 Pro и Samsung Galaxy S20+, оборудованы ToF-датчиками производства Sony, которые используют в устройствах для приложений дополненной реальности и дополнительной глубины на снимках.
Для обнаружения скрытых камер исследователи предложили технологию, состоящую из поиска малозаметных объективов при помощи поиска чрезмерно интенсивных отражений в процессе сканирования камерой глубины. Система получила название Laser-Assisted Photography Detection (LAPD).
По словам исследователей, мелкие скрытые камеры составляют огромную угрозу личной безопасности людей. Люди по всему миру становятся жертвами скрытого наблюдения в таких укромных местах, как примерочные, уборные и гостиничные номера.
Несмотря на существование подобных технологий ― исследователи приводят в пример противошпионские детекторы CC308 + и K18, предназначенную для обнаружения скрытых камер, ― и их сравнительную доступность, простые пользователи остаются без возможности защитить себя от вторжения в личное пространство более простым путем.
Инженеры отмечают, что эффективность LAPD, согласно результатам исследований, достигает 88,9% по сравнению с поисками невооруженным взглядом. Известно, что в ходе эксперимента испытуемые без дополнительной техники смогли обнаружить лишь 46% установленных камер.
Также исследователи сравнили ToF-датчики смартфонов со специализированными устройствами. Оказалось, что детектор K18 обнаруживал скрытые камеры в 62,3% и 57,7% испытаний в непрерывном и мигающем режиме соответственно.
Кроме этого, в ходе экспериментов инженеры отметили низкий уровень ложных срабатываний запатентованной ими системы: 16,67% против 26,9% и 35,2% для различных режимов детектора K18 и 54,9% ― для поисков невооруженным взглядом.
По словам исследователей, в ближайшем будущем исходный код LAPD окажется в открытом доступе.