Хабрахабр

[Из песочницы] Необычный объектив для обычной камеры или как перестать думать о фокусе

Почти два века существования фотоаппарата, не должны, казалось бы, оставить инженерам шанса добавить «что-то еще». Современные камеры снимают высококачественное видео, выгружают фотографии в облако и привязывают гео-метки. Мы можем снимать панорамы и 360°, следить за звездами и замедлять время. Но прогресс не стоит на месте, а мчится в будущее, подогреваемый пытливыми умами.

image test

Технология, о которой пойдет речь в сегодня, не является новой по своей сути. Но способ, которым она реализована, определенно заслуживает внимания. Речь пойдет об интересном light-field объективе, который можно будет использовать с любой DSLR камерой.

Что такое Ligh-field и с чем его едят?

Сам термин light-field (Световое поле) был предложен советским ученым-физиком Гершуном еще в 1936 году в его работе по радиометрическим свойствам света.

image Луч света (а точнее его направление) для данной точки пространства может быть описан пятью параметрами (так называемая 5D-пленоптическая функция): координатами x, y, z и двумя углами θ и ϕ. Световое поле — это векторная функция описывающая свет, проходящий в любом направлении через точку пространства. А имея полное описание световых лучей в пространстве, мы можем точно определить, например, как выглядит объект с любой точки зрения. Путем интегрирования векторов поля, полученных с различных точек зрения, мы получаем величину полной освещенности.

Одно из наиболее интересных направлений — фотокамеры светового поля (light-field camera). Каково же практическое применение теории светового поля? Другими словами, мы захватываем «отдельные» лучи света, исходящие от объекта. В отличие от классических камер, фиксирующих интенсивность света в точках объекта, камера светового поля также учитывает направление лучей, исходящих и этих точек. А это, в свою очередь, позволяет получать физические координаты объектов в пространстве и карту глубин (depth map).

Как устроены камеры светового поля?

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

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

image

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

Один из самых известных примеров таких камер — продукт компании Lytro — камера Lytro Illum (проект, кажется, заморожен) Однако, данная схема имеет ряд недостатков, таких как дороговизна изготовления, сложность калибровки, управления апертурой и другими параметрами системы.

А можно сделать проще?

Можно. Объектив, о котором я хочу рассказать в данной статье, не содержит массива микро-линз. Вместо этого используется система, представляющая собой зеркальный «канал» c прямоугольным сечением (mirror box), где, благодаря многократному отражению, происходит формирование так называемого калейдоскопического изображения, которое фиксируется сенсором камеры обычным способом.

image

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

Примерно так выглядят изображения, полученные системой:

image

Элементы здесь зеркально отражены. Такая необычная калейдоскопическая картинка — следствие отражения лучей в «зеркальном канале».

А так выглядит абсолютная разность пары восстановленных элементов (яркие пиксели означают бóльшую разность значений):

image

А точнее, стерео-девятку (3х3 элементов). Другими словами, мы имеем не что иное, как стерео-пару. Изменяя геометрические параметры канала, мы можем получить 5х5 и даже большие размерности, что, однако, в реальной жизни смысла не имеет и даже вредит.

Что же дальше? Итак, мы имеем набор картинок, формирующих калейдоскопическое изображение.

Здесь заканчивается теплое аналоговое оптическое hardware, и начинается холодный цифровой soft.

Калибровка

Вне зависимости от приложения, изображения необходимо восстановить (нужно откалибровать всю оптическую систему, а полученные данные калибровки применить к картинкам). Процесс довольно нудный, но важный, так как различные элементы калейдоскопического изображения обязательно должны быть «согласованы» друг с другом (даже незначительные /несколько пикселей/ расхождения элементов, могут сильно испортить результат и впечатление). Существует множество работ на тему калибровки, так что раскрывать детали нет смысла. Нужно лишь запомнить, что калибровка очень важна для любых стерео-приложений.

Карта глубин

Получив «ровные» картинки, мы можем строить карту глубин (depth map).
Это, пожалуй, самая важная и сложная часть в пайплайне. Качество конечного приложения зависит от качества карты глубин. А качество карты глубин, в свою очередь, зависит от качества калибровки, выбранного алгоритма и «сложности» сцены.

Величина расстояния и будет являться обратной значения глубины для данного пикселя. Но вне зависимости от алгоритма, задача всегда одна — найти соответствующие точки изображений Левого и Правого (а в нашем случае + еще 7 изображений) и посчитать расстояние (несоответствие, disparity) между ними.

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

Среди классических проблем таких алгоритмов:

  • Монотонные, одноцветные поверхности без текстуры — алгоритму просто не за что «зацепиться» в процессе поиска соответствий
  • Перекрывающиеся объекты (видимые с одного угла и невидимые с другого)
  • Тени и отражения на зеркальных или глянцевых поверхностях
  • Регулярные структуры, такие как клетки и полоски создают проблемы, так как не всегда понятно, какая именно клетка изображения А соответствует клетке изображения B.
  • Границы изображений — проблема схожая с проблемой перекрывающихся объектов. На границах изображений неизбежно теряется информация с какого-нибудь угла зрения.

Существует множество качественных и не очень алгоритмов для построения карты глубин. Наиболее перспективные разработки идут сейчас в области гибридных подходов с использованием классических методов и различных техник машинного обучения (CNN, DNN). Как всегда, выбор алгоритма — это компромисс между скоростью и качеством. К счастью, в фотографии мы можем позволить себе отступить от real-time и получить более качественную карту глубин.

Для нашего же примера карта глубин выглядит как-то так:

image

Пост-фокусировка

Карту глубин мы получили, что теперь с ней делать? Информация об удаленности предметов часто бывает полезной. Одно из популярных приложений – пост-фокусировка.

Вы заметили, что на оригинальном изображении вся сцена была в фокусе? Попадание мимо фокуса — одна из проблем фотографов. Так выглядит пост-фокусировка, основанная на карте глубин:

image

Это позволяет, к примеру, алгоритмически создавать изображение с несколькими фокусами. Следует отметить, что с данным подходом мы фактически отвязываемся от физических свойств оптической системы. Или программно менять глубину резко изображаемого пространства (Depth of Field).

Другие приложения

Пост-фокусировка является хоть и основным, но все же не единственным приложением. Вообще данный объектив можно рассматривать как массив виртуальных камер (9 шт). Соответственно, он применим ко всем тем приложениям, которые вы можете представить для массива камер, например:

  • Поляризационные фильтры – каждый из 9 элементов изображения имеет свой собственный фильтр поляризации с заданным направлением. Это позволяет одним снимком получить 9 изображений с различной поляризаций и даже создавать видео-ряд плавной смены направления поляризации
  • HDR (High-Dynamic-Range) – тот же принцип: 9 различных светофильтров + алгоритм для оптимального «сочетания» яркостей
  • Изменение угла зрения (perspective change)
  • Depth-based editing – позволяет применять различные фильтры к различным глубинам. Например, сделать фон черно-белым, выделив передний план.
  • Сегментация – выделение объектов находящихся на определенном расстоянии
  • Измерение расстояния – линейка для картинок. Особенно хорошо работает для «неглубоких» сцен, для которых disparity вычисляется проще.
  • Приложения для промышленности — различные способы оценки качества производства и мониторинга

Заключение

Вопрос о конечной стоимости этого объектива пока остается открытым, но некоторые физические параметры уже определены. Известно, что длина не должна превышать 20 см, а масса – 800 гр. Заявлено, что данное устройство будет в первую очередь совместимо с камерами Sony, Canon и Nikon.

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

Благодарю за внимание!

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть