1632
правки
Изменения
м
На вход Рассмотрим модель<ref name="scene_graph_gen">[https://arxiv.org/pdf/1804.01622.pdf Image Generation from Scene Graphs, Justin Johnson, Agrim Gupta, Li Fei-Fei2018]</ref> генерации объектов по тексту. На вход она получает граф сцены (англ. scene graph), полученный с помощью [[:Графовые_нейронные_сети|графовой сверточной сети]] (англ. Graph convolutional network, сокращенно GCN). Граф сцены определяет объекты и отношения между ними, по нему строятся [[:Векторное_представление_слов|векторные представления ]] (англ. embedding vector) для каждого объекта. Векторные представления используются для предсказания баундинг боксов (англ. bounding box) и [[:Сегментация_изображений|масок сегментации ]] (англ. segmentation mask), которые объединяются для формирования макета сцены (англ. scene layout). Каскадная сеть уточнения (англ. cascaded refinement network, сокращенно CRN) преобразует макет сцены в изображение. Модель обучается на состязательной основе против пары дискриминаторных сетей.
На вход Рассмотрим модель<ref name="layoutgan"/> , которая получает набор случайно расположенных графических объектов со случайными вероятностями классов, кодировщик передает векторные представления объектов в модуль составных отношений (англ. stacked relation module), который уточняет векторные представления, учитывая пространственные и семантические отношения между всеми элементами. После этого декодер возвращает обратно вероятности классов и геометрические параметры.
МодельРассмотрим модель<ref name="layout_trans">[https://arxiv.org/pdf/2006.14615.pdf Layout Generation and Completion with Self-attention, Kamal Gupta, Alessandro Achille, Justin Lazarow, Larry Davis, Vijay Mahadevan, Abhinav Shrivastava2020]</ref> , которая получает на вход последовательность элементов макета, которые преобразуются в векторные представления и поступают на вход модуля внимания, предсказывающего новую последовательность элементов макета.
На рисунке 18 представлен график, по которому видно, что макеты, построенные данной моделью, состоят из объектов, которые принадлежат семантически близким категориям.
[[Файл:Layout_trans_coco.png|600px|thumb|center|Рис. 18 График семантических близких классов набора данных MS COCO, полученный с помощью модели LayoutTransformer<ref name="layout_trans"/>]]
rollbackEdits.php mass rollback
{{В разработке}}Расположение объектов на изображении {{---}} область компьютерного зрения, в которую входят такие задачи, как замена или добавление объекта на изображение, также к этой области относят задачи расположения объектов на изображении по их текстовому описаниюи [[:Генерация_изображения_по_тексту|генерации изображений по тексту]].
== Основные технологии ==
Для решения задач данной области в основном используются разновидности [[:Generative_Adversarial_Nets_(GAN)|порождающих состязательных сетей]] (англ. Generative adversarial network, GAN), такие как ST-GAN<ref name="stgan">[https://openaccess.thecvf.com/content_cvpr_2018/papers/Lin_ST-GAN_Spatial_Transformer_CVPR_2018_paper.pdf ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing, Chen-Hsuan Lin, Ersin Yumer, Oliver Wang, Eli Shechtman, Simon Lucey2018]</ref>, LayoutGAN<ref name="layoutgan">[https://arxiv.org/pdf/1901.06767.pdf LayoutGAN: Generating Graphic Layouts With Wireframe Discriminators, Jianan Li, Jimei Yang, Aaron Hertzmann, Jianming Zhang, Tingfa Xu2019]</ref>, GCC-GAN<ref name="gccgan">[https://openaccess.thecvf.com/content_CVPR_2019/papers/Chen_Toward_Realistic_Image_Compositing_With_Adversarial_Learning_CVPR_2019_paper.pdf Toward Realistic Image Compositing with Adversarial Learning, Bor-Chun Chen, Andrew Kae2019]</ref>.Также широко используются [[:Сверточные_нейронные_сети|сверточные нейронные сети]] (англ. Convolutional neural network, сокращенно CNN).Для обучения моделей в основном используются наборы данных [[:Известные_наборы_данных#Visual_Genome|Visual Genome]]<ref name="visual_genome">[https://arxiv.org/pdf/1602.07332.pdf Visual Genome Connecting Language and Vision Using Crowdsourced Dense Image Annotations, Ranjay Krishna, Yuke Zhu, Oliver Groth, Justin Johnson, Kenji Hata, Joshua Kravitz, Stephanie Chen, Yannis Kalantidis, Li-Jia Li, David A. Shamma, Michael S. Bernstein, Li Fei-Fei2016]</ref> и [[:Известные_наборы_данных#COCO|MS COCO]]<ref name="coco">[https://arxiv.org/pdf/1405.0312.pdf Microsoft COCO: Common Objects in Context, Tsung-Yi Lin, Michael Maire, Serge Belongie, Lubomir Bourdev, Ross Girshick, James Hays, Pietro Perona, Deva Ramanan, C. Lawrence Zitnick, Piotr Dollar2015]</ref>.
== Генерация объектов на изображении по тексту ==
[[Файл:Scene_graph_gen_model.png|600px|thumb|center|Рис. 1 Архитектура модели<ref name="scene_graph_gen"/>]]
Для получения макета объекта векторные представления каждого объекта подаются в сеть макетов объектов (англ. object layout network). Сеть макетов объектов состоит из двух сетей: первая (mask regression network) предсказывает маску объекта и состоит из нескольких транспонированных сверточных слоев с сигмоидой, вторая (box regression network) предсказывает баундинг бокс и представляет из себя многослойный нейрон. Векторное представление объекта умножается на маску, в результате чего получается маскированное представление объекта (англ. masked embedding), которое затем вписывается в предсказанный баундинг бокс с помощью билинейной интерполяции. Суммируя все макеты объектов, получаем макет сцены. Схема получения макета сцены представлена на рисунке 2.Также для получения макета сцены можно использовать модель [[:Генерация_изображения_по_тексту#LayoutVAE|LayoutVAE]].
[[Файл:Scene_layout_gen.png|600px|thumb|center|Рис. 2 Схема работы генератора макета сцены]]
Примеры работы модели представлены на рисунке 3, первые 4 изображения получены на наборе данных Visual Genome<ref name="visual_genome/>, а последние 4 изображения были получена на наборе данных MS COCO<ref name="coco"/>.
[[Файл:Scene_graph_gen_example.png|600px|thumb|center|Рис. 3 Примеры работы модели<ref name="scene_graph_gen"/>]]
== Компоновка изображений ==
[[:Блендинг_изображений|Компоновка изображений ]] {{---}} это метод, используемый для создания реалистичных, но поддельных изображений, путем замены содержимого одного изображения на другое.На вход моделиРассмотрим модель<ref name="composition">[https://arxiv.org/pdf/1706.01021.pdf Where and Who? Automatic Semantic-Aware Person Composition, Fuwen Tan, Crispin Bernier, Benjamin Cohen, Vicente Ordonez, Connelly Barnes2017]</ref> компоновки изображений. На вход подается исходное изображение и его макет, модель предсказывает расположение баундинг бокса для вставки объекта, ищет сегмент, подходящий по контексту, на других изображениях и вставляет его на исходное изображение.
[[Файл:Images_compositing_model.png|600px|thumb|center|Рис. 4 Обзор модели<ref name="composition"/>]]
Предсказание расположения баундинг бокса (Рис. 5) состоит из двух ветвей: первая предсказывает местоположение, а вторая {{---}} размер. Сначала изображение и его макет проходят через общие слои (англ. shared layers) {{---}} это слой свертки, слой пулинга и еще три слоя свертки. Выход общих слоев (англ. shared feature map) проходит через две ветви. Первая (location branch) нужна для предсказания местоположения баундинг бокса, она состоит из двух слоев свертки, а вторая (size branch) нужна для определения размера, она состоит из слоя пулинга, слоя свертки и двух полносвязных слоев.
[[Файл:Bounding_box_prediction.png|600px|thumb|center|Рис. 5 Предсказание баундинг бокса]]
Пример работы модели представлен на рисунке 6.
Изображение для вставки можно генерировать, а не вырезать с других изображений.
[[Файл:Object_generation.png|600px|thumb|center|Рис. 7 Генерация объекта и вставка на изображение]]
Для генерации используется модель<ref name="object_gen">[https://openaccess.thecvf.com/content_CVPR_2020/papers/Weng_MISC_Multi-Condition_Injection_and_Spatially-Adaptive_Compositing_for_Conditional_Person_Image_CVPR_2020_paper.pdf MISC: Multi-condition Injection and Spatially-adaptive Compositing for Conditional Person Image Synthesis, Shuchen Weng, Wenbo Li, Dawei Li, Hongxia Jin, Boxin Shi2020]</ref>, которая получает на вход три условия: шаблон (вектор шумов), цвет (цвета объектов) и геометрию (маска частей тела) и выдает сгенерированный по этим условиям объект. Схема работы подели представлена на рисунке 8.
[[Файл:MISC.png|600px|thumb|center|Рис. 8 Модель MISC<ref name="object_gen"/>]]
Чтобы при компоновке получить реалистичное изображение, необходимо учитывать не только цветовую, но и геометрическую целостность полученного изображения.Для этого используют такие порождающие состязательные сети, как GCC-GAN<ref name="gccgan"/> и ST-GAN<ref name="stgan"/>.
=== GCC-GAN ===
Дискриминатор в свою очередь пытается определить настоящее или нет изображение, поступившее ему на вход, а сегментационная сеть пытается отделить вставленный объект от фона.
Схема работы модели и примеры представлены на рисунках 9 и 10 соответсвенно.
[[Файл:GCC_GAN.png|600px|thumb|center|Рис. 9 Модель GCC_GANGCC-GAN<ref name="gccgan"/>]][[Файл:GCCGAN_example.png|600px|thumb|center|Рис. 10 Пример работы GCC_GANGCC-GAN<ref name="gccgan"/>]]
=== ST-GAN ===
В качестве генератора (рис. 11) в данной архитектуре используются сети с пространственными трансформаторами (англ. Spatial Transformer Networks, сокращенно STN). В данной модели используется стратегия последовательного обучения, которая показывает лучшее результаты по сравнению с наивным обучением одного генератора.
Схема работы модели и примеры представлены на рисунках 12 и 13 соответсвенно.
[[Файл:STGAN_generator.png|600px|thumb|center|Рис. 11 Генератор модели ST_GANST-GAN<ref name="stgan"/>]][[Файл:STGAN.png|600px|thumb|center|Рис. 12 Модель ST_GANST-GAN<ref name="stgan"/>]][[Файл:STGAN_example.png|600px|thumb|center|Рис. 13 Пример работы ST_GANST-GAN<ref name="stgan"/>]]
== Генерация макета ==
=== LayoutGAN ===
Получившийся макет визуализируется и подается на вход дискриминатору, представляющему из себя сверточную нейронную сеть.
Архитектура модели и примеры работы с различными способами визуализации представлены на рисунках 14 и 15 соответсвенно.
=== LayoutTransformer ===
Схема работы модели и примеры представлены на рисунках 16 и 17 соответсвенно.
[[Файл:Layout_trans.png|600px|thumb|center|Рис. 16 Модель LayoutTransformer<ref name="layout_trans"/>]]
[[Файл:Layout_trans_example.png|600px|thumb|center|Рис. 17 Пример работы LayoutTransformer<ref name="layout_trans"/>]]
== См. также ==
== Источники информации ==
* [https://www.youtube.com/watch?v=gDi67WzzqXo&t=449s Условная генерация изображений, Валерия Ефимова]
* [https://openaccess.thecvf.com/content_cvpr_2017/papers/Sun_Seeing_What_Is_CVPR_2017_paper.pdf Seeing What Is Not There: Learning Context to Determine Where Objects Are Missing, Jin Sun, David W. Jacobs2017]* [https://arxiv.org/pdf/1606.03798.pdf Deep Image Homography Estimation, Daniel DeTone, Tomasz Malisiewicz, Andrew Rabinovich2016]