Google рассказывает, как был улучшен портретный режим на Pixel 4
Портретный режим на телефонах Pixel - это функция камеры, которая позволяет любому человеку делать снимки профессионального качества с небольшой глубиной резкости, привлекая внимание зрителя к объекту на размытом фоне. Важным компонентом этого процесса является знание того, насколько далеко объект находится от камеры, то есть глубина, чтобы определить в какой области нужно сохранять резкость, а что размывать. Впервые представленный на Pixel 2, а затем улучшенный на Pixel 3, где для оценки глубины добавилось машинное обучение, портретный режим продолжает своё развитие.
21.12.2019
Краткая предыстория
Pixel 2 и 3 с одной камерой использовали двухпиксельную систему автофокусировки для оценки глубины. Работа системы заключается в разделении каждого пикселя пополам, так что каждая половина пикселя видит разную часть диафрагмы объектива. Считывание каждого из этих полупиксельных изображений по отдельности, позволяет получить две разные точки обзора снимаемой сцены. Такой подход также создаёт иллюзию того, что сцена снимается двумя камерами, расположенными по обе стороны от диафрагмы объектива. Чередование между этими точками обзора сохраняет основной объект съёмки на своём месте, в то время как задний фон перемещается вертикально.
Это движение называется параллаксом, и его величина зависит от глубины. Можно оценить параллакс и, следовательно, глубину, вычисляя пиксели, соответствующие каждой из точек обзора. Поскольку параллакс уменьшается с увеличением расстояния до объекта, глубину легче оценить для объектов, расположенных на близких дистанциях, например таких, как лампа. Параллакс также зависит от длины базовой стерео линии, то есть расстояния между камерами (или виртуальными камерами в случае двух пикселей). В системе двух пикселей длина базовой линии составляет менее 1 мм, поэтому оценить глубину удаленных сцен намного сложнее. Например, изображения с двух разных точек обзора, полученные при съёмке человека, выглядят почти одинаково.
Две камеры дополняют систему двойных пикселей
Широкоугольный и телеобъектив в Pixel 4 расположены на расстоянии 13 мм друг от друга, значительно превышая размер базовой стерео линии в случае двух пикселей, поэтому параллакс здесь более выражен, что облегчает оценку глубины удаленных объектов. На изображениях ниже параллакс по системе двойных пикселей едва различим, в то время как он более очевиден в случае использования двух отдельных камер.
Но даже с двумя камерами информация, собранная с помощью системы двух пикселей, по-прежнему полезна. Чем больше базовая линия, тем больше появляется недостающих пикселей необходимых для точной оценки глубины. Например, для некоторых пикселей на заднем фоне справа от человека, полученных от основной камеры, не достаёт соответствующих пикселей, полученных от вторичной камеры. Таким образом - это затрудняет более точное измерение параллакса при использовании только двух камер. Тем не менее, эти пиксели все еще можно обнаружить с помощью двухпиксельной системы, что позволяет лучше оценить глубину в этих областях.
Другой причиной использования двух этих подходов является проблема с апертурой, затрудняющая оценку глубины вертикальных линий, когда базовая стерео линия также вертикальна (или когда обе горизонтальны). На Pixel 4 базовые линии системы двух пикселей и двух камер перпендикулярны, что позволяет оценивать глубину для линий любой ориентации. Наличие дополнительной информации позволяет практически безошибочно определять глубину удаленных объектов для любых сцен.
Применение искусственного интеллекта
Машинное обучение стало следующим этапом в развитии портретного режима. Впервые его использовали для оценки глубины на Pixel 3 в дополнение к системе двух пикселей. В Pixel 4 этот подход был расширен как для двух-пиксельной системы, так и для двух камер, используя платформу Tensorflow для обучения сверточной нейронной сети. Сначала сеть отдельно обрабатывает двух-пиксельные и двухкамерные вводные данные, применяя два разных кодировщика - тип нейронной сети, которая кодирует входные данные в промежуточный образ. Затем один декодер использует оба промежуточных образа для вычисления глубины.
Чтобы заставить модель использовать оба входных сигнала, был использован метод исключения, при котором один входной сигнал случайно устанавливается на ноль во время обучения. Это учит модели работать хорошо, если один из входных сигналов недоступен, что может произойти, например, если объект находится слишком близко для фокусировки вспомогательного телеобъектива.
Карты глубины. Сверху: два входа предоставляют информацию о глубине для линий в разных направлениях. Внизу: двойные пиксели обеспечивают большую глубину в областях, видимых только в одной камере, что подчеркивается на вставках. Двойные камеры обеспечивают лучшую глубину фона и земли. (Фото предоставлено Майком Милном)
Изображение фонаря выше показывает, как наличие обоих сигналов решает проблему диафрагмы. Наличие только одного входного сигнала позволяет точно прогнозировать глубину для линий в одном направлении (горизонтальное для двойных пикселей и вертикальное для двойных камер). С обоими сигналами появляется возможность восстановить глубину на линиях во всех направлениях.
С изображением человека двойные пиксели обеспечивают лучшую информацию о глубине в закрытых областях между рукой и туловищем, в то время как большие базовые двойные камеры обеспечивают лучшую информацию о глубине на заднем плане и на земле. Это наиболее заметно в верхнем левом и нижнем правом углу глубины от двух пикселей.
Боке, как на зеркальных фотокамерах
Фотографы зациклены на размытом фоне или на боке, которое проявляется на изображениях с малой глубиной резкости. Одной из самых заметных особенностей высококачественного боке, которое создаёт зеркальная камера – это то, что маленькие блики фона превращаются в яркие диски при расфокусировке. Расфокусировка распространяет свет от этих бликов внутри диска. Однако исходная подсветка настолько яркая, что даже когда ее свет распространяется на диск, диск остается на ярком конце тонального диапазона зеркальной камеры.
Чтобы воспроизвести подобный эффект боке, каждый пиксель исходного изображения был заменён полупрозрачным диском, размер которого зависит от глубины. В прошлом этот процесс размытия выполнялся после тонального преобразования (Tone Mapping), процесса, с помощью которого необработанные данные датчика преобразуются в изображение, видимое на экране телефона. Tone Mapping сжимает динамический диапазон данных, делая тени ярче по сравнению с бликами. К сожалению, это также приводит к потере информации о том, насколько яркие объекты на самом деле присутствуют на сцене, что затрудняет создание хороших высококонтрастных боке-дисков. Вместо этого, боке сливается с фоном и выглядит не так естественно, как у зеркальной камеры.
Решением этой проблемы является размытие объединенного необработанного изображения, полученного с помощью HDR + и затем применения тонального преобразования. В дополнение к более ярким и более очевидным боке-дискам фон насыщен так же, как и передний план.
Комментарии