Все чаще мы видим в смартфонах так называемые 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 использует технологию структурированной подсветки, на ней мы остановимся подробнее как-нибудь в следующий раз.
2. AR
Большинство производителей заявляют, что именно более качественный и точный режим дополненной реальности является главной задачей 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-камерах прямо нет. Так что это видимо чуть больше маркетинг.