Задача трансляции изображений
Определение: |
Задача трансляции изображения (англ. Image-to-image translation) — это область задач компьютерного зрения, цель которой состоит в том, чтобы научиться строить соответствия между входным и выходным изображениями, используя тренировочные данные. |
Другими словами, задача состоит в том, чтобы научиться преобразовывать изображение из одной области в другую, получая в итоге изображение со стилем (характеристиками) последней.
Содержание
Описание задачи
Задача разделяется на два вида в зависимости от тренировочных данных.
Различие заключается в том, что в одном случае, у нас есть четкое представление результата, который должен получиться, в то время как в другом случае, у нас есть только множество, определяющее стиль желаемого результата, но четкого результата нет.
Обучение на парах изображений
Трансляция изображений, обученная на парах изображений — это сопряженная трансляция одного изображения в другое, где тренировочные данные состоят из такого множества изображений, где каждому входному изображению соответствует выходное изображение, содержащее первое с другим стилем.
Примерами приложения являются следующие трансляции изображений:
- черно-белое изображение — цветное
- сегментация изображения (англ. segmentation map) — реальная картинка
- линии-края (англ. edges) — фотография
- генерация разных поз и одежды на человеке
- описывающий изображение текст — фотография
Обучение на независимых множествах
Трансляция изображения, обученная на двух независимых множествах — это такая трансляция изображений, тренировочные данные которой состоят из двух независимых групп, каждая описывающая свой стиль, а цель которой является научиться отображать эти две группы так, чтобы содержание изображений (общее) сохранялось, а стиль (уникальные элементы изображений) переносился.
Пример:
- тренировочные данные — два множества:
{реальные фотографии}, {картины К.Моне}
- приложение — взяли любую фотографию, например, поле с цветами; получили поле с цветами в стиле К.Моне.
Pix2Pix
Pix2Pix — это попытка решения задачи трансляции изображений с помощью глубоких сверточных нейронных сетей.
Архитектура
Pix2Pix реализует архитектуру условных порождающих состязательных сетей (англ. CGAN), где для генератора взята U-Net[3]-основанная архитектура, а для дискриминатора используется сверточный классификатор PatchGAN[4], который штрафует структуру только в масштабе участков изображения.
Генератор CGAN'a работает следующим образом: на вход подается one-hot вектор класса x и вектор шума z, в результате прохода через условный генератор выдается сгенерированное изображение этого класса,
В генератор Pix2Pix работает похожим образом, но вместо вектора класса подается изображение, а вектор шума и вовсе убирается, потому что он не вносит значительной случайности для результата работы генератора.
Генератор обучается с целью, чтобы его выходящие изображения максимально правдоподобными, дискриминатор же учится как можно лучше отличать фальшивые изображения от реальных.
Дискриминатор
Для дискриминатора данной сети используется сверточный дискриминатор PatchGAN.
PatchGAN дискриминатор — это тип дискриминатора для генеративных состязательных сетей, который штрафует структуру на уровне локальных фрагментов (патчей).
Дискриминатор PatchGAN пытается определить, является ли каждый фрагмент размера изображения настоящим или поддельным. Этот дискриминатор сверточно запускается по изображению, усредняя все ответы, чтобы посчитать окончательный результат .
Проще говоря, для каждого фрагмента определяется матрица классификаций, где все значения находятся в промежутке , где — подделка. Проходясь сверткой, в итоге получаем конечную матрицу классификаций. Таким образом, для поддельного изображения от генератора PatchGan должен попытаться вывести матрицу всех нулей.
Интересно также, что может быть намного меньше полного размера изображения и при этом давать результаты высокого качества. Это выгодно, потому что меньший PatchGAN имеет меньше параметров, работает быстрее и может применяться к изображениям произвольно большого размера.
Такой дискриминатор эффективно моделирует изображение как Марковское случайное поле[5], предполагая независимость между пикселями, разделенных диаметром более одного фрагмента.
Генератор
Примеры
Pix2PixHD
См. также
- Компьютерное зрение
- Generative Adversarial Nets (GAN)
- Сверточные нейронные сети
- Сегментация изображений
Примечания
Источники информации
- 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