Технология портретного освещения на основе машинного обучения в телефонах Google Pixel

В своем блоге об искусственном интеллекте компания Google опубликовала подробный обзор о разработке технологии создания портретного освещения, используемой в её новых смартфонах Pixel 5. При помоши 64 фотокамер «Light Stage» с углом обзора 360° компании удалось собрать и проанализировать данные для улучшенного режима портретного освещения на мобильных телефонах нового поколения.
Технология машинного обучения и искусственного интеллекта для портретного освещения в телефонах Google Pixel
Хотя весь процесс выполняется на устройстве с помощью машинного обучения, не все в этом процессе искусственно. Google объясняет, как на реальных примерах создал два алгоритма машинного обучения, которые «помогают воссоздать привлекательное освещение в любой момент для каждого портретного фотоснимка – и все это на вашем мобильном устройстве».

Технология автоматического размещения источника света

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

Для воплощения данной технологии Google заявляет, что сначала «оценивается профиль всенаправленного освещения с широким динамическим диапазоном для сцены на основе входного портрета» с использованием технологии, которую исследователи Google подробно описали в официальном документе ранее в этом году. В результате получается сфера, которая «определяет направление, относительную интенсивность и цвет всех источников света в сцене, исходящих со всех направлений, рассматривая лицо как световой датчик». Google также оценивает положение головы объекта с помощью MediaPipe Face Mesh, инструмент на основе нейронной сети, который отслеживает положение лица в режиме реального времени с использованием 468 трехмерных «ориентиров».

Google использует эту информацию, чтобы определить, где должен располагаться искусственный свет на реальных примерах студийного портрета. В частности, Google заявляет, что пытается воссоздать «классическую портретную фотографию, усиливая любое ранее существовавшее освещение в сцене, при этом стремясь к сбалансированному и тонкому соотношению между основным и заполняющим светом в пропорции около 2:1».

Технология дополнительного освещения портрета

Используя все данные, проанализированные Portrait Light, Google затем использует второй инструмент, Data-Driven Portrait Relighting (дополнительное освещение портрета на основе полученных данных), чтобы «добавить освещение от направленного источника света к исходной фотографии».

Чтобы освещение выглядело как можно более реалистично, Google тренировал модель машинного обучения, используя «миллионы пар портретов как с дополнительным освещением, так и без него». Для создания этого набора данных Google использовал вычислительную систему освещения Light Stage, изображенную ниже, где «сферическая осветительная установка включает 64 фотокамеры с различными точками обзора и 331 индивидуально программируемый светодиодный источник света».

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

Мы сфотографировали каждого отдельного человека, освещенного одним источником света за раз (one-light-at-a-time – OLAT), который генерирует отражения в отдельных частях сферического пространства. Поле отражения кодирует уникальный цвет и свойства отражения света кожи, волос и одежды человека – насколько блестящим или тусклым выглядит каждый материал. Благодаря принципу суперпозиции для света, эти OLAT-изображения можно затем линейно сложить вместе для рендеринга реалистичных фотографий объекта, как они выглядели бы в любой среде освещения на основе изображений, с правильно представленными сложными явлениями переноса света.

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

Чтобы гарантировать, что процесс применения эффектов освещения к фотоснимкам будет максимально эффективным и действенным, команда обучила модель повторного освещения выводить частное изображение с низким разрешением. Это позволяет сделать процесс менее ресурсоемким и «показывает только низкочастотные изменения освещения, не влияя на высокочастотные детали изображения».
Оценка освещения в портрете при помощи искусственного интеллекта и машинного обучения
Учитывая входной портрет, мы оцениваем попиксельные нормали поверхности, которые затем используем для вычисления карты видимости света. Модель обучена создавать частное изображение с низким разрешением, которое при повышении дискретизации и применении в качестве множителя к исходной фотографии дает исходный портрет с дополнительным источником света, добавленным в сцену синтетически.

Вся эта информация сама по себе не учитывает то, что различные части лица человека находятся ближе или дальше от синтетического источника света. Чтобы сделать искусственное освещение максимально реалистичным, Google применяет закон Ламберта к входному фотоизображению для создания «карты видимости света» и желаемого направления синтетического освещения, в результате чего конечный продукт более точно симулирует студийное освещение.

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