Задача трансляции изображений
Определение: |
Задача трансляции изображения (англ. Image-to-image translation) — это область задач компьютерного зрения, цель которой состоит в том, чтобы научиться строить соответствия между входным и выходным изображениями, используя тренировочные данные. |
Другими словами, задача состоит в том, чтобы научиться преобразовывать изображение из одной области в другую, получая в итоге изображение со стилем (характеристиками) последней.
Описание задачи
Задача разделяется на два вида в зависимости от тренировочных данных.
Различие заключается в том, что в одном случае, у нас есть четкое представление результата, который должен получиться, в то время как в другом случае, у нас есть только множество, определяющее стиль желаемого результата, но четкого результата нет.
Обучение на парах изображений
Трансляция изображений, обученная на парах изображений — это сопряженная трансляция одного изображения в другое, где тренировочные данные состоят из такого множества изображений, где каждому входному изображению соответствует выходное изображение, содержащее первое с другим стилем.
Примерами приложения являются следующие трансляции изображений:
- черно-белое изображение — цветное
- сегментация изображения (англ. segmentation map) — реальная картинка
- линии-края (англ. edges) — фотография
- генерация разных поз и одежды на человеке
- описывающий изображение текст — фотография
Обучение на независимых множествах
Трансляция изображения, обученная на двух независимых множествах — это такая трансляция изображений, тренировочные данные которой состоят из двух независимых групп, каждая описывающая свой стиль, а цель которой является научиться отображать эти две группы так, чтобы содержание изображений (общее) сохранялось, а стиль (уникальные элементы изображений) переносился.
Пример:
- тренировочные данные — два множества:
{реальные фотографии}, {картины К.Моне}
- приложение — взяли любую фотографию, например, поле с цветами; получили поле с цветами в стиле К.Моне.
Pix2Pix
Pix2Pix — это попытка решения задачи трансляции изображений с помощью глубоких сверточных нейронных сетей.
Архитектура
Pix2Pix реализует архитектуру условных порождающих состязательных сетей (англ. CGAN), где для генератора взята U-Net[3]-основанная архитектура, а для дискриминатора используется сверточный классификатор PatchGAN[4], который штрафует структуру только в масштабе участков изображения.
Генератор CGAN'a работает следующим образом: на вход подается one-hot вектор класса x и вектор шума z, в результате прохода через условный генератор выдается сгенерированное изображение этого класса,
В генератор Pix2Pix работает похожим образом, но вместо вектора класса подается изображение, а вектор шума и вовсе убирается, потому что он не вносит значительной случайности для результата работы генератора.
Генератор обучается с целью, чтобы его выходящие изображения максимально правдоподобными, дискриминатор же учится как можно лучше отличать фальшивые изображения от реальных.
Примеры
Pix2PixHD
См. также
Примечания
Источники информации
- Image-to-Image Translation with Conditional Adversarial Networks
- High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs
- Learning image-to-image translation using paired and unpaired training samples
- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
- Apply Generative Adversarial Networks (GANs) — Coursera