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