26.04.2024
Подписывайтесь на Telegram-канал по ссылке

Нейросеть научилась переносить портреты на новый фон, учитывая распределение источников света

Learning to Relight Portraits for Background Replacement

Разработчики из 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), с которыми авторы проводили сравнение.