Google научила нейросеть реалистично переносить портреты в новое окружение

Rohit Pandey et al. / SIGGRAPH 2021

Разработчики из Google создали алгоритм, способный реалистично вставлять портрет человека на новый фон. Во время переноса он учитывает распределение источников света в новом окружении и изменяет освещение на человеке соответствующим образом. Статья о разработке будет представлена на конференции SIGGRAPH 2021.

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

В последние годы появились алгоритмы, позволяющие имитировать различное освещение на фотографии. Например, в приложении Google Photo на Android пользователь может менять направление света. Рохит Пандей (Rohit Pandey), Серхио Ортс-Эсколано (Sergio Orts-Escolano) и Хлои Лежандр (Chloe LeGendre) из исследовательского подразделения Google, принимавшие участие в разработке этого алгоритма, создали новый алгоритм для замены фона, который умеет автоматически реалистично менять освещение человека на портрете, анализируя распределение источников света на новом фоне.


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

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

Параллельно с этим модуль переосвещения создает для выделенного фрагмента карты освещения. Для этого он получает вычисленную карту нормалей к поверхности и новое фоновое изображение, пропущенное через диффузный или зеркальный фильтр. В результате алгоритм формирует карты диффузного и зеркального освещения человека на фотографии, вычисленные в соответствии с освещенностью из нового фона. После этого происходит финальный этап, при котором алгоритм, используя эти карты освещения, исходное изображение и карту распределения диффузной отражательной способности, создает новый портрет, освещение на котором соответствует новому фону.

Для обучения алгоритма разработчики воспользовались стендом, созданным для другой работы по изменению освещения в 2019 году. Он представляет собой почти сферическую конструкцию, в центре которой стоит человек и на которой закреплены 331 блок освещения с цветными светодиодами, 42 обычные камеры и 16 камеры глубины. Это позволяет создавать практически любое освещение и захватывать изображение человека с разных ракурсов и с высокой точностью. Подробнее об устройстве стенда можно прочитать в нашей заметке, посвященной этой работе.

Чтобы собрать большой и генерализованный датасет, авторы воспользовались помощью 70 добровольцев разного пола, возраста и цвета кожи. Они по очереди стояли в стенде, будучи одетыми в разную одежду и выражая девять самых распространенных эмоций. Поскольку чаще всего люди на фотографиях стоят лицом к камере, только 10 процентов датасета было снято с использованием всех камер стенда, а остальные 90 процентов авторы сняли с шести фронтальных ракурсов. Помимо собственных портретных снимков разработчики воспользовались примерно 200 фоновыми изображениями, взятыми с сайта HDRIHaven. Используя их, авторы создали около восьми миллионов искусственных портретов, совмещая снятые в стенде портеты с фрагментами фоновых изображений.

Обучив алгоритм, исследователи сравнили его работу с аналогами как субъективно, так и используя количественные метрики. Для этого они воспользовались снятыми с разным освещением фотографиями добровольцев, не использованными во время обучения, и сравнивали их с переосвещенными алгоритмом снимками по абсолютному среднему отклонению, среднеквадратической ошибке, индексу структурного сходства и индексу воспринимаемого сходства LPIPS. По всем этим метрикам новый алгоритм превзошел два предыдущих (1, 2), с которыми авторы проводили сравнение.

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

Григорий Копиев


Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.