Как сделать бота, который превращает фото в комикс: пошаговая инструкция для чайников

Часть первая

8

А зачем нужно тренировать сеть которая преобразует комикс в реальное фото?

1
Ответить

Спасибо за интересный вопрос! 
В этом состоит основное отличие архитектуры CycleGAN. 

При обучении обычных моделей (без обучаемого критика) или GAN на наборах данных с парными изображениями используются пары "исходное изображение"-"конечное изображение", которые мы подготовили сами - взяли "исходное изображение", перерисовали его в комикс самостоятельно (например, с помощью экшенов в фотошопе) и получили парное "конечное изображение". 
В таком случае функция потери (loss function) легко сравнит "предсказанное" (сгенерированное моделью) изображение с "конечным" (ground truth), потому что они парные, на них присутствуют одни и те же элементы и образы. 

В нашем случае у нас нет парных изображений.

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

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

Надеюсь, стало понятнее =)

1
Ответить