Можно ли изобрести что-то новое в фотографии? Несомненно, ведь это буквально безграничная область для различного рода творческих и технологических экспериментов. Общая концепция инновационности остается неизменной: чем более смелую идею ты воплощаешь в жизнь, тем эффектнее будет результат. В этом посте речь пойдет об одном интересном фото-применении технологии Intel RealSense — фотографиях, оснащенных информацией о глубине, Depth Enabled Photography (DEP).

Как следует из названия, DEP представляет собой расширенный фото формат, в котором наряду с традиционной картинкой имеется информация о расстоянии от объектов в кадре до точки съемки. То есть каждой точке изображения, помимо координат в цветовом пространстве, сопоставляется еще одна величина или набор величин, так как камер может быть несколько, и каждая из них получает свои фото и карту глубин. Набор метаданных не ограничивается глубиной, это может быть и ориентация камеры в пространстве, координаты точки съемки и многие другие, вплоть до vendor-specific полей, заполняемых оборудованием. При этом обеспечивается совместимость в рамках выбранного контейнера, то есть, если ПО или устройство не умеет работать с DEP, оно покажет только видимое изображение в формате, скажем, JPEG.



Метаданные в DEP хранятся в формате eXtensible Device Metadata (XDM), разработанном Intel совместно с другими компаниями — лидерами фотоиндустрии для хранения дополнительной невизуальной информации, получаемой с помощью фотокамер. Получить карту глубины можно уже сейчас с помощью камеры Intel RealSense, и не только получить, но и обработать и, в том числе, поместить внутрь контейнера XDM, как говорится, Intel RealSense SDK вам в руки. Визуализация метаданных глубины приведена на фото ниже.





Вы уже, наверняка, почувствовали, как много новых возможностей может привнести RealSense в фотографию. Я всё-таки перечислю самые интересные.
  • Отделение фона от переднего плана. В этом деле RealSense преуспела уже давно, полноценное использование данной функции в фотографии наверняка позволит создать немало шедевров.
  • Послойное редактирование. Тоже ценнейший клад для мастеров постобработки.
  • Регулирование глубины резкости и точки фокуса. По сути, из одной фотографии можно будет сделать десяток новых и совершенно разных.
  • Измерения по фотографии. Фото может стать источником точных данных о взаимном расположении объектов для криминалистических, исторических и прочих исследований.

Осталось дождаться только поддержки DEP в графических редакторах. Ну и новых RealSense-камер, конечно, удобных для фотосъемки.

Комментарии (18)


  1. Mrrl
    03.12.2015 15:36

    Осталось дождаться только поддержки DEP в графических редакторах. Ну и новых RealSense-камер, конечно, удобных для фотосъемки

    Вроде бы, Lytro умеет делать фотографии с картами глубины уже несколько лет. И для съёмки их камеры достаточно удобны. Осталось дождаться экспорта из их студии в DEP, если с этим форматом хоть кто-нибудь будет работать.


    1. UncleAndy
      03.12.2015 15:42

      Это абсолютно другое. Вообще.


      1. Mrrl
        03.12.2015 15:47

        В чём же оно другое? Что карта глубины получается другими методами и имеет меньшее пространственное разрешение? Так это мешает только последнему пункту (про «точные данные о взаимном расположении объектов»). Для точных данных нужен хороший сканер, желательно не триангуляционный.


        1. UncleAndy
          03.12.2015 15:57

          Lytro делает просто несколько снимков с разной фокусировкой, грубо говоря. А здесь имеется ввиду точная карта глубин для каждого пикселя. Неужели не видите разницы?


          1. Mrrl
            03.12.2015 16:05
            +1

            Lytro делает один снимок, и извлекает фокусировку из мозаики микролинз. Но это не так важно, ведь здесь речь не про технологию, а про формат.
            Насколько нужна для заявленных целей точная карта глубин — не вижу. Чтобы отделить объект от фона, точно не нужна. И как они будут «менять глубину резкости и точку фокуса»? То, что на исходном снимке было не резко, в фокус уже не загонишь. У Lytro с этим проблем нет — всё, что попало в исходный диапазон f/16, можно как вывести в фокус, так и убрать из него.


            1. UncleAndy
              03.12.2015 16:12

              Суть этой технологии вообще не в этом. Глубина резкости для нее второстепенна. Я так понимаю, что изначально предполагается что глубина резкости на снимке максимальна, т.к. получать ее для боке нет никакого смысла. Соответственно, предполагается что «глубина резкости» будет меняться на основе идеально резкого снимка.


          1. 0serg
            03.12.2015 16:54

            Разница в технологии получения depth map для изображения, но статья-то не про технологию а про контейнер для этой depth map в изображении и о том какие преимущества наличие depth map может давать. Lytro вполне эффективно делает depth map-ы.

            Кроме того, вообще говоря на улице, насколько я могу судить, интеловский RealSense реконструирует глубину по схожим с Lytro принципам и вполне может давать худшее качество


  1. UncleAndy
    03.12.2015 15:42

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


  1. Mrrl
    03.12.2015 16:21

    Интересно, что за «Point Cloud» предполагается хранить в этом формате, какого он размера — сотни точек, сотни тысяч или десятки миллионов. В документе тема не раскрыта.


  1. CAJAX
    03.12.2015 16:35

    Если говрить о функционале в целом, а не о конкретной реализации, то такое уже сделано гуглом в стандартной камере под Android. Depthmap встроен в изображение, но не мешает обычным просмотрщикам открывать файл как обычный JPEG.

    Вот пример: depthy.me, там можно посмотреть depth map для фотографии.


  1. Mrrl
    03.12.2015 16:47

    В формате упоминается некая «Brown distortion model». Кто-нибудь разобрался, что это такое? Как её применять к fish-eye камере, угол зрения которой больше 180 гр, и которая видит точки, не попадающие в поле зрения pinhole камеры, направленной в ту же сторону?


  1. rPman
    03.12.2015 20:15
    +1

    Жаль что пока не все так заоблочно. Я играюсь с камерой Intel Realsence F200.

    Первое огромное для меня неудобство — железо физически отказывается работать с не-Intel оборудованием, но это похоже может быть поправлено с помощью драйверов в будущем, по крайней мере есть упоминания о работе последних версий SDK на AMD машинах (правда недостаточно качественно, с глюками)

    Второе — странные требования к USB3 контроллеру, так же intel, и прямое подключение без хаба (кажется даже удлинитель не рекомендован). В моей материнке стоит Etron и это так же не нравится камере (не видно даже в linux, хотя в интернете есть проект по анализу depth карты напрямую из под linux), из-за чего не удается использовать камеру даже просто как обычную камеру (в списке устройств есть только стерео микрофон).

    И самое главное — depth карта шумит, координаты колбасит +-5мм, и это при том что камера F200 предназначена для близкой работы (полтора метра) и более точная чем ее R200 сосед, работающий на 5м.
    Из-за помех приходится программно их уменьшать, что накладывает дополнительные требования на железо (у меня есть mitx платка с целероном, и ее уже маловато для починки в реальном времени, сканер например тормозит очень сильно, хоть и работает).

    p.s. В качестве интересного бонуса, в камере доступен поток инфракрасной камеры до 640x480 и 300fps,… сенсор шумит (полагаю именно его используют для уточнения координат, получаемых от главного сенсора, работающего на основе задержки отражения света от объектов, но уже с ошибкой в 10см, надеюсь я ничего не путаю).
    жаль пока не удалось поиграть с этим потоком данных.


    1. MariannaSvetlosanova
      09.12.2015 19:32
      +1

      Спасибо за фидбэк) да, камера не идеальна, но нас ждет много интересного в ближайшем будущем. А пока…
      Важно – вы обновляли прошивку камеры? Версию прошивки можно проверить утилитой sdk_info. 5 мидиметров шумов может быть только на старой прошивке.
      ВСЬ кстати обновляется довольно часто (последнее было в начале декабря), а с ним и возможности.

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

      Кстати, помехи существенно корректируется параметром MotionRangeTradeoff, Он задокументирован. Будут вопросы – пишите!


      1. rPman
        09.12.2015 23:40

        Спасибо за совет, обязательно обновлю прошивку (правда сейчас камера лежит мертвым грузом, временно нет intel-оборудования).

        p.s. Вы можете дать совет, с каким чипом мне лучше приобрести usb3-контроллер, чтобы я смог хотя бы попытаться поработать с камерой на архитектуре amd
        Драйвера не устанавливаются, пишут что необходимы драйвера usb3 и дают ссылку на Intel_USB_3.0_eXtensible_Host_Controller_Driver.zip кторый не считает Etron совместимым контроллером.


        1. MariannaSvetlosanova
          10.12.2015 11:51

          честно говоря не знаю… опыта использование камер с не интеловскими usb у нас нет…
          единственное, что приходит на ум — может поискать ответа (или спросить) на форуме? здесь разработчики со всего мира и вполне могли столкнуться с подобной проблемой и уже решить ее software.intel.com/realsense/community (https://software.intel.com/en-us/forums/realsense/)

          какой продукт вы разрабатывает?* камера после хакатонов или приобретали для личных целей? напишите мне детали на appslab собака интел.ком посмотрим, вдруг сможем как то помочь…


          1. rPman
            10.12.2015 18:30

            Личные цели.
            Изначально хотел сделать сканер, 'полупортативный' , но на mitx плате с целероном работает медленно (завтра приедет матплата, продолжу играться),… если получится, могут появиться цели чуть менее личные.
            Вроде есть информация что пилится драйвер для android, вдруг там что то интересное можно будет сделать.

            Так же в списке задач 'на поиграться', инфракрасная камера — сделать слежение за положением головы и направлением взгляда (псевдо-3D на обычном мониторе), но поигравшись с примерами понял что точности пока не достаточно… надеюсь обновление прошивки улучшит ситуацию, но тут похоже вина лежит на плохой RGB камере.

            Думал посмотреть на управление компьютером жестами, но полтора метра это всетаки мало, на близком расстоянии достаточно клавиатуры/мыши.


  1. XanderBass
    05.12.2015 22:10

    Интересно. Вот если доработать получится псевдо-3D?


  1. MariannaSvetlosanova
    09.12.2015 19:33
    +2

    маленькое уточнение — F200 работает не на основе задержки отражения света, а на структурированном свете, это важно понимать тому, кто пытается разобраться в деталях и проблемах