Изменения

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

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

108 байт добавлено, 19:22, 4 сентября 2022
м
rollbackEdits.php mass rollback
{{В разработке}}Автоматическое создание реалистичных высококачественных изображений из текстовых описаний был было бы интересен интересно и довольно полезенполезно, так как имеет множество практических применений, но современные системы искусственного интеллекта все еще далеки от этой цели, так как это является довольно сложной задачей в области компьютерного зрения. Однако в последние годы были разработаны универсальные и мощные рекуррентные архитектуры нейронных сетей для изучения различных представлений текстовых признаков. Между тем, глубокие сверточные [[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>
| style = "text-align: center" | {{---}}
| style = "text-align: center" | <tex>256 64 \times 25664</tex>
| style = "text-align: center" | нет
| Генерация изображения в два этапа, на первом задаются признаки стиля, на втором генерируется изображение.
| [[Файл: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" | {{---}}
заданному описанию или нет. Модель должна неявно разделять два источника ошибок: нереалистичные образы (для любого текста) и реалистичные образы неправильного класса, которые не соответствуют текстовым признакам. Алгоритм обучения GAN был модифицирован таким образом, чтобы разделять эти источники ошибок. В дополнение к реальным/поддельным входным данным в дискриминатор во время обучения был добавлен третий тип входных данных, состоящий из реальных изображений с несовпадающим текстовым описанием, на которых дискриминатор должен обучиться оценивать поддельные изображения.
<gallery mode="slideshow" packed heights=400px caption="Рисунок 2. Пример результата работы GAN-CLS, GAN-INT и GAN-INT-CLS.">
Файл:DCGAN-2.png|Сгенерированные изображения птиц<ref name="DCGAN"/>.|alt=Сгенерированные изображения птиц
Файл:DCGAN-3.png|Сгенерированные изображения цветов<ref name="DCGAN"/>.|alt=Сгенерированные изображения цветов
Для проверки метода были проведены обширные количественные и качественные оценки. Результаты работы модели сравниваются с двумя современными методами синтеза текста в изображение {{---}} [[#GAN-INT-CLS|GAN-INT-CLS]] и [[#GAN-INT-CLS|GAWWN]] (рис. 6).
<gallery mode="slideshow" packed heights=350px caption="Рисунок 6. Пример результата работы StackGAN.">
Файл:StackGAN-2.png|Сгенерированные изображения птиц<ref name="StackGAN/>.|alt=Сгенерированные изображения птиц
Файл:StackGAN-3.png|Сгенерированные изображения цветов<ref name="StackGAN/>.|alt=Сгенерированные изображения цветов
<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 с помощью состязательного обучения, которое восстанавливает потерянные детали и исправляет дефекты для создания реалистичного изображения.
! Модель !! Inception Score ([[Известные наборы данных#Caltech-UCSD Birds 200 (CUB)|Caltech-UCSD]]) !! Inception Score ([[Известные наборы данных#COCO|COCO]])
|-
| style = "text-align: right" | [[#GAN-INT-CLS|GAN-INT-CLS]] GAN-INT-CLS || style = "text-align: center" | <tex>2.88 \pm 0.04</tex> || style = "text-align: center" | <tex>7.88 \pm 0.07</tex>
|-
| style = "text-align: right" | [[#GAN-INT-CLS|GAWWN]] || style = "text-align: center" | <tex>3.70 \pm 0.04</tex> || style = "text-align: center" | <tex>-</tex>
Модели, используемые для создания макетов сцен из текстовых описаний по большей части игнорируют возможные визуальные вариации внутри структуры, описываемой самим текстом.
'''Макетный вариационный автокодировщик''' (англ. ''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> показывают, что данная модель способна генерировать значительно более качественные результаты, чем другие современные методы.
1632
правки

Навигация