Задача трансляции изображений — различия между версиями
Spovar (обсуждение | вклад) м (→Pix2Pix) |
Spovar (обсуждение | вклад) (→Pix2Pix) |
||
| Строка 45: | Строка 45: | ||
=== Архитектура === | === Архитектура === | ||
| − | Pix2Pix | + | Pix2Pix реализует архитектуру условных порождающих состязательных сетей (англ. CGAN), где для генератора взята U-Net<ref>[https://sci-hub.do/10.1007/978-3-319-24574-4_28 U-Net: Convolutional Networks for Biomedical Image Segmentation]</ref>-основанная архитектура, а для дискриминатора используется сверточный классификатор PatchGAN<ref>[https://sci-hub.do/10.1007/978-3-319-46487-9_43 Precomputed Real-Time Texture Synthesis with Markovian Generative Adversarial Networks]</ref>, который штрафует структуру только в масштабе участков изображения. |
| − | [[File:Training_CGAN_pix2pix.png|700px|center|thumb|Пример обучения.]] | + | Генератор CGAN'a работает следующим образом: на вход подается one-hot вектор класса x и вектор шума z, в результате прохода через условный генератор выдается сгенерированное изображение этого класса, <tex>G: \{x,z\} \to y</tex>. <br> |
| + | В генератор Pix2Pix работает похожим образом, но вместо вектора класса подается изображение, а вектор шума и вовсе убирается, потому что он не вносит значительной случайности для результата работы генератора. | ||
| + | |||
| + | Генератор обучается с целью, чтобы его выходящие изображения максимально правдоподобными, дискриминатор же учится как можно лучше отличать фальшивые изображения от реальных. | ||
| + | |||
| + | [[File:Training_CGAN_pix2pix.png|700px|center|thumb|Пример процесса обучения генератора и дискриминатора для Pix2Pix.]] | ||
=== Примеры === | === Примеры === | ||
Версия 19:29, 9 января 2021
| Определение: |
| Задача трансляции изображения (англ. Image-to-image translation) — это область задач компьютерного зрения, цель которой состоит в том, чтобы научиться строить соответствия между входным и выходным изображениями, используя тренировочные данные. |
Другими словами, задача состоит в том, чтобы научиться преобразовывать изображение из одной области в другую, получая в итоге изображение со стилем (характеристиками) последней.
Содержание
Описание задачи
Задача разделяется на два вида в зависимости от тренировочных данных.
Различие заключается в том, что в одном случае, у нас есть четкое представление результата, который должен получиться, в то время как в другом случае, у нас есть только множество, определяющее стиль желаемого результата, но четкого результата нет.
Обучение на парах изображений
Трансляция изображений, обученная на парах изображений — это сопряженная трансляция одного изображения в другое, где тренировочные данные состоят из такого множества изображений, где каждому входному изображению соответствует выходное изображение, содержащее первое с другим стилем.
Примерами приложения являются следующие трансляции изображений:
- черно-белое изображение — цветное
- сегментация изображения (англ. segmentation map) — реальная картинка
- линии-края (англ. edges) — фотография
- генерация разных поз и одежды на человеке
- описывающий изображение текст — фотография
Обучение на независимых множествах
Трансляция изображения, обученная на двух независимых множествах — это такая трансляция изображений, тренировочные данные которой состоят из двух независимых групп, каждая описывающая свой стиль, а цель которой является научиться отображать эти две группы так, чтобы содержание изображений (общее) сохранялось, а стиль (уникальные элементы изображений) переносился.
Пример:
- тренировочные данные — два множества:
{реальные фотографии}, {картины К.Моне} - приложение — взяли любую фотографию, например, поле с цветами; получили поле с цветами в стиле К.Моне.
Pix2Pix
Pix2Pix — это попытка решения задачи трансляции изображений с помощью глубоких сверточных нейронных сетей.
Архитектура
Pix2Pix реализует архитектуру условных порождающих состязательных сетей (англ. CGAN), где для генератора взята U-Net[3]-основанная архитектура, а для дискриминатора используется сверточный классификатор PatchGAN[4], который штрафует структуру только в масштабе участков изображения.
Генератор CGAN'a работает следующим образом: на вход подается one-hot вектор класса x и вектор шума z, в результате прохода через условный генератор выдается сгенерированное изображение этого класса, .
В генератор Pix2Pix работает похожим образом, но вместо вектора класса подается изображение, а вектор шума и вовсе убирается, потому что он не вносит значительной случайности для результата работы генератора.
Генератор обучается с целью, чтобы его выходящие изображения максимально правдоподобными, дискриминатор же учится как можно лучше отличать фальшивые изображения от реальных.
Примеры
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