Изменения

Перейти к: навигация, поиск

Генерация изображения по тексту

104 байта добавлено, 23:08, 23 января 2021
Remove category "В разработке"
{{В разработке}}Автоматическое создание реалистичных высококачественных изображений из текстовых описаний был было бы интересен интересно и довольно полезенполезно, так как имеет множество практических применений, но современные системы искусственного интеллекта все еще далеки от этой цели, так как это является довольно сложной задачей в области компьютерного зрения. Однако в последние годы были разработаны универсальные и мощные рекуррентные архитектуры нейронных сетей для изучения различных представлений текстовых признаков. Между тем, глубокие сверточные [[Generative Adversarial Nets (GAN)| генеративные состязательные сети]] (англ. ''Generative Adversarial Nets, GANs'') начали генерировать весьма убедительные изображения определенных категорий, таких как лица, обложки альбомов и интерьеры комнат. Образцы, генерируемые существующими подходами "текст-изображение", могут приблизительно отражать смысл данных описаний, но они не содержат необходимых деталей и ярких частей объекта. В данной статье рассмотрены формулировка и глубокая архитектура GAN, а также объединены достижения в генерации изображений по тексту.
== Обзор генеративных моделей ==
| style = "text-align: center" | [[Известные наборы данных#Caltech-UCSD Birds 200 (CUB)|Caltech-UCSD]]
|-
| style = "text-align: center" | [[#Attribute2Image|Attribute2Image, 2015]]
| style = "text-align: center" | <tex>14.30 \pm 0.10</tex>
| style = "text-align: center" | {{---}}
| [[Файл:Attribute2Image-example.png|128px|thumb|center|Male, no eyewear, frowning, receding hairline, bushy eyebrow, eyes open, pointy nose, teeth not visible, rosy cheeks, flushed face.]]
|-
| style = "text-align: center" | [[#GAN-INT-CLS|GAN-INT-CLS, 2016]]
| style = "text-align: center" | <tex>7.88 \pm 0.07</tex>
| style = "text-align: center" | <tex>2.88 \pm 0.04</tex>
| [[Файл:GAN-INT-CLS-example.png|128px|thumb|center|This flower is white and pink in color, with petals that have veins.]]
|-
| style = "text-align: center" | [[#StackGAN|StackGAN, 2017]]
| style = "text-align: center" | <tex>8.45 \pm 0.03</tex>
| style = "text-align: center" | <tex>3.70 \pm 0.04</tex>
| [[Файл:StackGAN-example.png|128px|thumb|center|This flower has a lot of small purple petals in a dome-like configuration.]]
|-
| style = "text-align: center" | [[#FusedGAN|FusedGAN, 2018]]
| style = "text-align: center" | {{---}}
| style = "text-align: center" | <tex>3.00 \pm 0.03</tex>
| [[Файл:FusedGan_256x256_cub.png|128px|thumb|center|This bird has a bright yellow body, with brown on it's crown and wings.]]
|-
| style = "text-align: center" | [[#ChatPainter|ChatPainter, 2018]]
| style = "text-align: center" | <tex>9.74 \pm 0.02</tex>
| style = "text-align: center"| {{---}}
| [[Файл:ChatPainter_256x256_coco.png|128px|thumb|center|A person in yellow pants in on a snowboard.]]
|-
| style = "text-align: center" | [[#StackGAN++|StackGAN++, 2018]]
| style = "text-align: center" | <tex>8.30 \pm 0.10</tex>
| style = "text-align: center" | <tex>3.84 \pm 0.06</tex>
| [[Файл:StackGAN++-example.png|128px|thumb|center|A picture of a very clean living room.]]
|-
| style = "text-align: center" | [[#HTIS|HTIS, 2018]]
| style = "text-align: center" | <tex>11.46 \pm 0.09</tex>
| style = "text-align: center" | {{---}}
| [[Файл:HTIS-example.png|128px|thumb|center|A man is surfing in the ocean with a surfboard.]]
|-
| style = "text-align: center" | [[#AttnGAN | AttnGAN, 2018]]
| style = "text-align: center" | <tex>25.89 \pm 0.47</tex>
| style = "text-align: center" | <tex>4.36 \pm 0.03</tex>
| [[Файл:AttnGan_256x256_coco.png|128px|thumb|center|A photo a homemade swirly pasta with broccoli carrots and onions.]]
|-
| style = "text-align: center" | [[#CVAE&GAN|CVAE&GAN, 2018]]
| style = "text-align: center" | {{---}}
| style = "text-align: center" | {{---}}
| [[Файл:CVAE&GAN_256x256_cub.png|128px|thumb|center|This is a yellow and gray bird with a small beak.]]
|-
| style = "text-align: center" | [[#MMVR|MMVR, 2018]]
| style = "text-align: center" | <tex>8.30 \pm 0.78</tex>
| style = "text-align: center" | {{---}}
| [[Файл:MMVR_256x256_coco.png|128px|thumb|center|A boat on a beach near some water.]]
|-
| style = "text-align: center" | [[#MirrorGAN|MirrorGAN, 2019]]
| style = "text-align: center" | <tex>26.47 \pm 0.41</tex>
| style = "text-align: center" | <tex>4.56 \pm 0.05</tex>
| [[Файл:MirrorGANExample.png|128px|thumb|center|Boats at the dock with a city backdrop.]]
|-
| style = "text-align: center" | [[#Obj-GAN|Obj-GAN, 2019]]
| style = "text-align: center" | <tex>31.01 \pm 0.27</tex>
| style = "text-align: center" | {{---}}
| [[Файл:Obj-GANExample.png|128px|thumb|center|A hotel room with one bed and a blue chair.]]
|-
| style = "text-align: center" | [[#LayoutVAE|LayoutVAE, 2019]]
| style = "text-align: center" | {{---}}
| style = "text-align: center" | {{---}}
| [[Файл:LayoutVAEExample.png|128px|thumb|center|Person, sea, surfboard.]]
|-
| style = "text-align: center" | [[#MCA-GAN|MCA-GAN, 2019]]
| style = "text-align: center" | {{---}}
| style = "text-align: center" | {{---}}
<div class="oo-ui-panelLayout-scrollable" style="display: block; vertical-align:middle; height: auto; width: auto;">[[Файл:StackGAN++-1.png|thumb|alt=Архитектура StackGAN++|x350px|center|Рисунок 7.<ref name="StackGAN++"/> Архитектура StackGAN++.]]</div>
Несмотря на успех, GAN, как известно, сложно обучить. Тренировочный процесс обычно нестабилен и чувствителен к выбору [[Настройка гиперпараметров | гиперпараметров]]. При обучении GAN генерировать изображения с высоким разрешением (например, 256x256), вероятность того, что распределение изображений и распределение моделей будет совместно использовать один и тот же носитель в многомерном пространстве, очень мала. Более того, обычным явлением сбоя при обучении GAN является '''коллапс режима''' [[Generative_Adversarial_Nets_(GAN)#Mode_Collapse|схлопывание мод распределения]] (англ. ''mode collapse''), когда многие из сгенерированных выборок содержат одинаковый цвет или узор текстуры.
Предлагается продвинутая многоэтапная генеративно-состязательная сетевая архитектура StackGAN-v2 как для условных, так и для безусловных генеративных задач. StackGAN-v2 имеет несколько генераторов, которые разделяют между собой большинство своих параметров в древовидной структуре. Входные данные сети можно рассматривать как корень дерева, а изображения разного масштаба генерируются из разных ветвей дерева. Конечная цель генератора на самой глубокой ветви {{---}} создание фотореалистичных изображений с высоким разрешением. Генераторы в промежуточных ветвях имеют прогрессивную цель создания изображений от малых до больших для достижения конечной цели. Вся сеть совместно обучается аппроксимировать различные, но сильно взаимосвязанные распределения изображений в разных ветвях. Кроме того, используется '''регуляризация согласованности цвета''' (англ. ''color-consistency regularization''), чтобы генераторы могли генерировать более согласованные образцы для разных масштабов.
<div class="oo-ui-panelLayout-scrollable" style="display: block; vertical-align:middle; height: auto; width: auto;">[[Файл:Stacking_VAE&GAN.png|thumb|alt=Архитектура Stacking VAE and GAN|x350px|center|Рисунок 13.<ref name="CVAE&GAN"/> Архитектура Stacking VAE and GAN.]]</div>
[[Вариационный автокодировщик| VAE]] имеет более стабильный выход чем GAN без [[Generative Adversarial Nets Generative_Adversarial_Nets_(GAN)#Улучшение обучения GANMode_Collapse|схлопывания мод распределения]] (англ. ''mode collapse''), это можно использовать для достоверной подборки распределения и выявления разнообразия исходного изображения. Однако он не подходит для генерации изображений высокого качества, т. к. генерируемые VAE изображения легко размываются. Чтобы исправить данный недостаток архитектура включает два компонента (рис. 13):
*Контекстно-зависимый вариационный кодировщик (англ. ''conditional [[Вариационный автокодировщик| VAE]], CVAE'') используется для захвата основной компоновки и цвета, разделяя фон и передний план изображения.
*[[Generative Adversarial Nets (GAN)|GAN]] уточняет вывод CVAE с помощью состязательного обучения, которое восстанавливает потерянные детали и исправляет дефекты для создания реалистичного изображения.
Модели, используемые для создания макетов сцен из текстовых описаний по большей части игнорируют возможные визуальные вариации внутри структуры, описываемой самим текстом.
'''Макетный вариационный автокодировщик''' (англ. ''Layout variational autoencoder (, LayoutVAE)'') {{---}} фреймворк, базирующийся на [[Вариационный автокодировщик | вариационном автокодировщике]] для генерации стохастических макетов сцен (англ. ''stochastic scene layouts'') {{---}} это программная платформа моделирования, позволяющая генерировать либо полные макеты изображений с заданным набором меток, либо макеты меток для существующего изображения с новой заданной меткой.
Рассмотрим задачу генерации сцен с описанием набора меток. Этот набор всего лишь предоставляет множество меток, присутствующих в данном изображении (без дополнительного описания взаимосвязи), заставляя модель изучать пространственные и подсчитываемые отношения (англ. ''spatial and count relationships'') на основе визуальных данных.
=== MCA-GAN ===
Преобразование изображений перекрестным видом (англ. ''cross-view image translation'') проблематично, поскольку оно оперирует изображениями со значительно отличающимися ракурсами и тяжёлыми деформациями. В статье<ref name="MCA-GAN">[https://arxiv.org/pdf/1904.06807.pdf Multi-Channel Attention Selection GAN with Cascaded Semantic Guidancefor Cross-View Image Translation]</ref> о выборочной [[Generative Adversarial Nets (GAN) | генеративной состязательной сети]] с мультиканальным вниманием (англ. ''Multi-Channel Attention Selection GAN, MCA-GAN'') рассматривается подход, позволяющий делать возможным генерацию изображения, максимально приближенной к реальной, с произвольных ракурсах, основывающийся на семантическом отображении (англ. ''semantic mapping''). Работа сети происходит в два этапа:
# Изображение и целевое семантическое отображение (англ. ''target semantic map'') подаются на вход циклической семантически-управляемой генерационной генеративной сети (англ. ''cycled semantic-guided generation network'') для получения начальных результатов.
# Начальные результаты уточняются, используя механизм мультиканального выделения внимания (англ. ''multi-channel attention selection mechanism'').
Обширные эксперименты на наборах данных Dayton, CVUSA<ref>[http://mvrl.cs.uky.edu/datasets/cvusa/ Crossview USA (CVUSA)]</ref> и Ego2Top<ref>[https://www.crcv.ucf.edu/projects/ego2top/index.php Ego2Top: Matching Viewers in Egocentric and Top-view Videos (ECCV 2016)]</ref> показывают, что данная модель способна генерировать значительно более качественные результаты, чем другие современные методы.
135
правок

Навигация