Ученые из Кореи разработали генеративную нейросеть, которая способна выполнять междоменное преобразование нескольких объектов на изображении (image-to-image translation) без искажения фона. Нейросеть InstaGAN превосходит методы, такие как CycleGAN и подобные, и показывает высокие результаты в задачах преобразования объектов на фото: замены овец на жирафов, брюк на юбки и др. Результаты далеко не идеальные, но намного превосходят современные методы.
Метод
Авторы статьи первыми предложили метод для image-to-image преобразования объектов в сложных условиях:
- замена нескольких объектов на изображении;
- замена объектов, которые сильно отличаются по размеру и форме.
Задача — подменять объекты на изображении без изменения фона.
Разработчики используют маски сегментации объектов (группы пикселей, которые принадлежат одному и тому же объекту) для получения информации об объекте. Это позволяет заменять объект более точно, потому что маски содержат только информацию о границах и игнорируют несущественную, например, цвет.
Основной вклад исследователей — расширенная архитектура, которая преобразует объекты по-очереди и использует context loss и новый метод последовательного mini-batch вывода, который позволяет обрабатывать большее количество атрибутов с небольшой памятью графического процессора.
InstaGAN объединяет маски сегментации и атрибуты объектов и заменяет каждый объект отдельно, стремясь сохранить фоновый контекст.
Результаты
Исследователи предоставили InstaGAN два класса из различных наборов данных, включая MHP, MS COCO и CCP. InstaGAN показал лучшие результаты по сравнению с CycleGAN в создании новых форм целевых объектов при сохранении исходного контекста. InstaGAN не искажает фон и сохраняет форму целевого объекта.
В тестах InstaGAN заменил жирафов на овец, а чашки на бутылки. В других примерах брюки на модели были заменены на юбки — алгоритм успешно сгенерировал изображение обнаженных человеческих ног.
Результаты опубликованы в работе InstaGAN: Instance-Aware Image-to-Image Translation. Код доступен на GitHub. Разработчики отмечают, что их метод может использоваться в других междоменных задачах генерации, где доступна структурированная дополнительная информация, таких как машинный перевод или генерация видео.