Расположение объектов на изображении — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
 
{{В разработке}}
 
{{В разработке}}
Расположение объектов на изображении {{---}} область компьютерного зрения, в которую входят такие задачи, как замена или добавление объекта на изображение, также к этой области относят задачи расположения объектов на изображении по их текстовому описанию.
+
Расположение объектов на изображении {{---}} область компьютерного зрения, в которую входят такие задачи, как замена или добавление объекта на изображение, также к этой области относят задачи расположения объектов на изображении по их текстовому описанию и [[:Генерация_изображения_по_тексту|генерации изображений по тексту]].
  
 
== Основные технологии ==
 
== Основные технологии ==
Для решения задач данной области в основном используются разновидности [[: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 Lucey]</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 Xu]</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 Kae]</ref>.
+
Для решения задач данной области в основном используются разновидности [[: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 Lucey 2018]</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 Xu 2019]</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 Kae 2019]</ref>.
Также широко используются [[:Сверточные_нейронные_сети|сверточные нейронные сети]] (англ. Convolutional neural network, сокращенно CNN).
+
Также широко используются [[:Сверточные_нейронные_сети|сверточные нейронные сети]] (англ. Convolutional neural network, CNN).
Для обучения моделей в основном используются наборы данных 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-Fei]</ref> и 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 Dollar]</ref>.
+
Для обучения моделей в основном используются наборы данных [[:Известные_наборы_данных#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-Fei 2016]</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 Dollar 2015]</ref>.
  
 
== Генерация объектов на изображении по тексту ==
 
== Генерация объектов на изображении по тексту ==
 
+
Рассмотрим модель<ref name="scene_graph_gen">[https://arxiv.org/pdf/1804.01622.pdf Image Generation from Scene Graphs, Justin Johnson, Agrim Gupta, Li Fei-Fei 2018]</ref> генерации объектов по тексту. На вход она получает граф сцены (англ. scene graph), полученный с помощью [[:Графовые_нейронные_сети|графовой сверточной сети]] (англ. Graph convolutional network, сокращенно GCN). Граф сцены определяет объекты и отношения между ними, по нему строятся [[:Векторное_представление_слов|векторные представления]] (англ. embedding vector) для каждого объекта. Векторные представления используются для предсказания баундинг боксов (англ. bounding box) и [[:Сегментация_изображений|масок сегментации]] (англ. segmentation mask), которые объединяются для формирования макета сцены (англ. scene layout). Каскадная сеть уточнения (англ. cascaded refinement network, сокращенно CRN) преобразует макет сцены в изображение. Модель обучается на состязательной основе против пары дискриминаторных сетей.
На вход модель<ref name="scene_graph_gen">[https://arxiv.org/pdf/1804.01622.pdf Image Generation from Scene Graphs, Justin Johnson, Agrim Gupta, Li Fei-Fei]</ref> получает граф сцены (англ. scene graph), полученный с помощью [[:Графовые_нейронные_сети|графовой сверточной сети]] (англ. Graph convolutional network, сокращенно GCN). Граф сцены определяет объекты и отношения между ними, по нему строятся векторные представления (англ. embedding vector) для каждого объекта. Векторные представления используются для предсказания баундинг боксов (англ. bounding box) и масок сегментации (англ. segmentation mask), которые объединяются для формирования макета сцены (англ. scene layout). Каскадная сеть уточнения (англ. cascaded refinement network, сокращенно CRN) преобразует макет сцены в изображение. Модель обучается на состязательной основе против пары дискриминаторных сетей.
 
 
[[Файл:Scene_graph_gen_model.png|600px|thumb|center|Рис. 1 Архитектура модели<ref name="scene_graph_gen"/>]]
 
[[Файл:Scene_graph_gen_model.png|600px|thumb|center|Рис. 1 Архитектура модели<ref name="scene_graph_gen"/>]]
Для получения макета объекта векторные представления каждого объекта подаются в сеть макетов объектов (англ. object layout network). Суммируя все макеты объектов, получаем макет сцены. Схема получения макета сцены представлена на рисунке 2.
+
Для получения макета объекта векторные представления каждого объекта подаются в сеть макетов объектов (англ. object layout network). Сеть макетов объектов состоит из двух сетей: первая (mask regression network) предсказывает маску объекта и состоит из нескольких транспонированных сверточных слоев с сигмоидой, вторая (box regression network) предсказывает баундинг бокс и представляет из себя многослойный нейрон. Векторное представление объекта умножается на маску, в результате чего получается маскированное представление объекта (англ. masked embedding), которое затем вписывается в предсказанный баундинг бокс с помощью билинейной интерполяции. Суммируя все макеты объектов, получаем макет сцены. Схема получения макета сцены представлена на рисунке 2.
 +
Также для получения макета сцены можно использовать модель [[:Генерация_изображения_по_тексту#LayoutVAE|LayoutVAE]].
 
[[Файл:Scene_layout_gen.png|600px|thumb|center|Рис. 2 Схема работы генератора макета сцены]]
 
[[Файл:Scene_layout_gen.png|600px|thumb|center|Рис. 2 Схема работы генератора макета сцены]]
Примеры работы модели представлены на рисунке 3, первые 4 изображения получены на наборе данных Visual Genome<ref name="visual_genome/>, а последние 4 изображения были получена на наборе данных MS COCO<ref name="coco"/>.
+
Примеры работы модели представлены на рисунке 3, первые 4 изображения получены на наборе данных Visual Genome, а последние 4 изображения были получена на наборе данных MS COCO.
 
[[Файл:Scene_graph_gen_example.png|600px|thumb|center|Рис. 3 Примеры работы модели<ref name="scene_graph_gen"/>]]
 
[[Файл: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 Barnes]</ref> подается исходное изображение и его макет, модель предсказывает расположение баундинг бокса для вставки объекта, ищет сегмент, подходящий по контексту, на других изображениях и вставляет его на исходное изображение.
+
[[:Блендинг_изображений|Компоновка изображений]] {{---}} это метод, используемый для создания реалистичных, но поддельных изображений, путем замены содержимого одного изображения на другое.
 +
Рассмотрим модель<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 Barnes 2017]</ref> компоновки изображений. На вход подается исходное изображение и его макет, модель предсказывает расположение баундинг бокса для вставки объекта, ищет сегмент, подходящий по контексту, на других изображениях и вставляет его на исходное изображение.
 
[[Файл:Images_compositing_model.png|600px|thumb|center|Рис. 4 Обзор модели<ref name="composition"/>]]
 
[[Файл: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 Предсказание баундинг бокса]]
 
[[Файл:Bounding_box_prediction.png|600px|thumb|center|Рис. 5 Предсказание баундинг бокса]]
 
Пример работы модели представлен на рисунке 6.
 
Пример работы модели представлен на рисунке 6.
Строка 28: Строка 29:
 
Изображение для вставки можно генерировать, а не вырезать с других изображений.
 
Изображение для вставки можно генерировать, а не вырезать с других изображений.
 
[[Файл:Object_generation.png|600px|thumb|center|Рис. 7 Генерация объекта и вставка на изображение]]
 
[[Файл: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 Shi]</ref>, которая получает на вход три условия: шаблон (вектор шумов), цвет (цвета объектов) и геометрию (маска частей тела) и выдает сгенерированный по этим условиям объект. Схема работы подели представлена на рисунке 8.
+
Для генерации используется модель<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 Shi 2020]</ref>, которая получает на вход три условия: шаблон (вектор шумов), цвет (цвета объектов) и геометрию (маска частей тела) и выдает сгенерированный по этим условиям объект. Схема работы подели представлена на рисунке 8.
 
[[Файл:MISC.png|600px|thumb|center|Рис. 8 Модель MISC<ref name="object_gen"/>]]
 
[[Файл:MISC.png|600px|thumb|center|Рис. 8 Модель MISC<ref name="object_gen"/>]]
  
Чтобы при компоновке получить реалистичное изображение, необходимо учитывать не только цветовую, но и геометрическую целостность полученного изображения.Для этого используют такие порождающие состязательные сети, как GCC-GAN<ref name="gccgan"/> и ST-GAN<ref name="stgan"/>.
+
Чтобы при компоновке получить реалистичное изображение, необходимо учитывать не только цветовую, но и геометрическую целостность полученного изображения. Для этого используют такие порождающие состязательные сети, как GCC-GAN<ref name="gccgan"/> и ST-GAN<ref name="stgan"/>.
  
 
=== GCC-GAN ===
 
=== GCC-GAN ===
Строка 37: Строка 38:
 
Дискриминатор в свою очередь пытается определить настоящее или нет изображение, поступившее ему на вход, а сегментационная сеть пытается отделить вставленный объект от фона.
 
Дискриминатор в свою очередь пытается определить настоящее или нет изображение, поступившее ему на вход, а сегментационная сеть пытается отделить вставленный объект от фона.
 
Схема работы модели и примеры представлены на рисунках 9 и 10 соответсвенно.
 
Схема работы модели и примеры представлены на рисунках 9 и 10 соответсвенно.
[[Файл:GCC_GAN.png|600px|thumb|center|Рис. 9 Модель GCC_GAN<ref name="gccgan"/>]]
+
[[Файл:GCC_GAN.png|600px|thumb|center|Рис. 9 Модель GCC-GAN<ref name="gccgan"/>]]
[[Файл:GCCGAN_example.png|600px|thumb|center|Рис. 10 Пример работы GCC_GAN<ref name="gccgan"/>]]
+
[[Файл:GCCGAN_example.png|600px|thumb|center|Рис. 10 Пример работы GCC-GAN<ref name="gccgan"/>]]
 
=== ST-GAN ===
 
=== ST-GAN ===
 
В качестве генератора (рис. 11) в данной архитектуре используются сети с пространственными трансформаторами (англ. Spatial Transformer Networks, сокращенно STN). В данной модели используется стратегия последовательного обучения, которая показывает лучшее результаты по сравнению с наивным обучением одного генератора.
 
В качестве генератора (рис. 11) в данной архитектуре используются сети с пространственными трансформаторами (англ. Spatial Transformer Networks, сокращенно STN). В данной модели используется стратегия последовательного обучения, которая показывает лучшее результаты по сравнению с наивным обучением одного генератора.
 
Схема работы модели и примеры представлены на рисунках 12 и 13 соответсвенно.
 
Схема работы модели и примеры представлены на рисунках 12 и 13 соответсвенно.
[[Файл:STGAN_generator.png|600px|thumb|center|Рис. 11 Генератор модели ST_GAN<ref name="stgan"/>]]
+
[[Файл:STGAN_generator.png|600px|thumb|center|Рис. 11 Генератор модели ST-GAN<ref name="stgan"/>]]
[[Файл:STGAN.png|600px|thumb|center|Рис. 12 Модель ST_GAN<ref name="stgan"/>]]
+
[[Файл:STGAN.png|600px|thumb|center|Рис. 12 Модель ST-GAN<ref name="stgan"/>]]
[[Файл:STGAN_example.png|600px|thumb|center|Рис. 13 Пример работы ST_GAN<ref name="stgan"/>]]
+
[[Файл:STGAN_example.png|600px|thumb|center|Рис. 13 Пример работы ST-GAN<ref name="stgan"/>]]
  
 
== Генерация макета ==
 
== Генерация макета ==
Строка 51: Строка 52:
  
 
=== LayoutGAN ===
 
=== LayoutGAN ===
На вход модель<ref name="layoutgan"/> получает набор случайно расположенных графических объектов со случайными вероятностями классов, кодировщик передает векторные представления объектов в модуль составных отношений (англ. stacked relation module), который уточняет векторные представления, учитывая пространственные и семантические отношения между всеми элементами. После этого декодер возвращает обратно вероятности классов и геометрические параметры.
+
Рассмотрим модель<ref name="layoutgan"/>, которая получает набор случайно расположенных графических объектов со случайными вероятностями классов, кодировщик передает векторные представления объектов в модуль составных отношений (англ. stacked relation module), который уточняет векторные представления, учитывая пространственные и семантические отношения между всеми элементами. После этого декодер возвращает обратно вероятности классов и геометрические параметры.
 
Получившийся макет визуализируется и подается на вход дискриминатору, представляющему из себя сверточную нейронную сеть.
 
Получившийся макет визуализируется и подается на вход дискриминатору, представляющему из себя сверточную нейронную сеть.
 
Архитектура модели и примеры работы с различными способами визуализации представлены на рисунках 14 и 15 соответсвенно.
 
Архитектура модели и примеры работы с различными способами визуализации представлены на рисунках 14 и 15 соответсвенно.
Строка 58: Строка 59:
  
 
=== LayoutTransformer ===
 
=== LayoutTransformer ===
Модель<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 Shrivastava]</ref> получает на вход последовательность элементов макета, которые преобразуются в векторные представления и поступают на вход модуля внимания, предсказывающего новую последовательность элементов макета.
+
Рассмотрим модель<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 Shrivastava 2020]</ref>, которая получает на вход последовательность элементов макета, которые преобразуются в векторные представления и поступают на вход модуля внимания, предсказывающего новую последовательность элементов макета.
 
Схема работы модели и примеры представлены на рисунках 16 и 17 соответсвенно.
 
Схема работы модели и примеры представлены на рисунках 16 и 17 соответсвенно.
На рисунке 18 представлен график, по которому видно, что макеты, построенные данной моделью, состоят из объектов, которые принадлежат семантически близким категориям.
 
 
[[Файл:Layout_trans.png|600px|thumb|center|Рис. 16 Модель LayoutTransformer<ref name="layout_trans"/>]]
 
[[Файл: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"/>]]
 
[[Файл:Layout_trans_example.png|600px|thumb|center|Рис. 17 Пример работы LayoutTransformer<ref name="layout_trans"/>]]
[[Файл:Layout_trans_coco.png|600px|thumb|center|Рис. 18 График семантических близких классов набора данных MS COCO, полученный с помощью модели LayoutTransformer<ref name="layout_trans"/>]]
 
  
 
== См. также ==
 
== См. также ==
Строка 77: Строка 76:
 
== Источники информации ==
 
== Источники информации ==
 
* [https://www.youtube.com/watch?v=gDi67WzzqXo&t=449s Условная генерация изображений, Валерия Ефимова]
 
* [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. Jacobs]
+
* [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. Jacobs 2017]
* [https://arxiv.org/pdf/1606.03798.pdf Deep Image Homography Estimation, Daniel DeTone, Tomasz Malisiewicz, Andrew Rabinovich]
+
* [https://arxiv.org/pdf/1606.03798.pdf Deep Image Homography Estimation, Daniel DeTone, Tomasz Malisiewicz, Andrew Rabinovich 2016]

Текущая версия на 19:16, 4 сентября 2022

Эта статья находится в разработке!

Расположение объектов на изображении — область компьютерного зрения, в которую входят такие задачи, как замена или добавление объекта на изображение, также к этой области относят задачи расположения объектов на изображении по их текстовому описанию и генерации изображений по тексту.

Основные технологии

Для решения задач данной области в основном используются разновидности порождающих состязательных сетей (англ. Generative adversarial network, GAN), такие как ST-GAN[1], LayoutGAN[2], GCC-GAN[3]. Также широко используются сверточные нейронные сети (англ. Convolutional neural network, CNN). Для обучения моделей в основном используются наборы данных Visual Genome[4] и MS COCO[5].

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

Рассмотрим модель[6] генерации объектов по тексту. На вход она получает граф сцены (англ. scene graph), полученный с помощью графовой сверточной сети (англ. Graph convolutional network, сокращенно GCN). Граф сцены определяет объекты и отношения между ними, по нему строятся векторные представления (англ. embedding vector) для каждого объекта. Векторные представления используются для предсказания баундинг боксов (англ. bounding box) и масок сегментации (англ. segmentation mask), которые объединяются для формирования макета сцены (англ. scene layout). Каскадная сеть уточнения (англ. cascaded refinement network, сокращенно CRN) преобразует макет сцены в изображение. Модель обучается на состязательной основе против пары дискриминаторных сетей.

Рис. 1 Архитектура модели[6]

Для получения макета объекта векторные представления каждого объекта подаются в сеть макетов объектов (англ. object layout network). Сеть макетов объектов состоит из двух сетей: первая (mask regression network) предсказывает маску объекта и состоит из нескольких транспонированных сверточных слоев с сигмоидой, вторая (box regression network) предсказывает баундинг бокс и представляет из себя многослойный нейрон. Векторное представление объекта умножается на маску, в результате чего получается маскированное представление объекта (англ. masked embedding), которое затем вписывается в предсказанный баундинг бокс с помощью билинейной интерполяции. Суммируя все макеты объектов, получаем макет сцены. Схема получения макета сцены представлена на рисунке 2. Также для получения макета сцены можно использовать модель LayoutVAE.

Рис. 2 Схема работы генератора макета сцены

Примеры работы модели представлены на рисунке 3, первые 4 изображения получены на наборе данных Visual Genome, а последние 4 изображения были получена на наборе данных MS COCO.

Рис. 3 Примеры работы модели[6]

Компоновка изображений

Компоновка изображений — это метод, используемый для создания реалистичных, но поддельных изображений, путем замены содержимого одного изображения на другое. Рассмотрим модель[7] компоновки изображений. На вход подается исходное изображение и его макет, модель предсказывает расположение баундинг бокса для вставки объекта, ищет сегмент, подходящий по контексту, на других изображениях и вставляет его на исходное изображение.

Рис. 4 Обзор модели[7]

Предсказание расположения баундинг бокса (Рис. 5) состоит из двух ветвей: первая предсказывает местоположение, а вторая — размер. Сначала изображение и его макет проходят через общие слои (англ. shared layers) — это слой свертки, слой пулинга и еще три слоя свертки. Выход общих слоев (англ. shared feature map) проходит через две ветви. Первая (location branch) нужна для предсказания местоположения баундинг бокса, она состоит из двух слоев свертки, а вторая (size branch) нужна для определения размера, она состоит из слоя пулинга, слоя свертки и двух полносвязных слоев.

Рис. 5 Предсказание баундинг бокса

Пример работы модели представлен на рисунке 6.

Рис. 6 Примеры работы модели[7]

Изображение для вставки можно генерировать, а не вырезать с других изображений.

Рис. 7 Генерация объекта и вставка на изображение

Для генерации используется модель[8], которая получает на вход три условия: шаблон (вектор шумов), цвет (цвета объектов) и геометрию (маска частей тела) и выдает сгенерированный по этим условиям объект. Схема работы подели представлена на рисунке 8.

Рис. 8 Модель MISC[8]

Чтобы при компоновке получить реалистичное изображение, необходимо учитывать не только цветовую, но и геометрическую целостность полученного изображения. Для этого используют такие порождающие состязательные сети, как GCC-GAN[3] и ST-GAN[1].

GCC-GAN

Модель получает на вход фон, на который надо вставить объект, сам объект и его маску. Генератор, состоящий из сетей преобразования и уточнения, учится создавать композиционные изображения, чтобы обмануть дискриминатор и сегментационную сеть. Дискриминатор в свою очередь пытается определить настоящее или нет изображение, поступившее ему на вход, а сегментационная сеть пытается отделить вставленный объект от фона. Схема работы модели и примеры представлены на рисунках 9 и 10 соответсвенно.

Рис. 9 Модель GCC-GAN[3]
Рис. 10 Пример работы GCC-GAN[3]

ST-GAN

В качестве генератора (рис. 11) в данной архитектуре используются сети с пространственными трансформаторами (англ. Spatial Transformer Networks, сокращенно STN). В данной модели используется стратегия последовательного обучения, которая показывает лучшее результаты по сравнению с наивным обучением одного генератора. Схема работы модели и примеры представлены на рисунках 12 и 13 соответсвенно.

Рис. 11 Генератор модели ST-GAN[1]
Рис. 12 Модель ST-GAN[1]
Рис. 13 Пример работы ST-GAN[1]

Генерация макета

Создание макета – задача, решение которой применимо в таких областях, как изображения, документы, мобильные приложения. Макет — это набор графических элементов, принадлежащих к одной или нескольким категориям, размещенных вместе осмысленным образом. Для этой задачи используют модели на основе порождающих состязательных сетей или трансформеров (англ. transformer).

LayoutGAN

Рассмотрим модель[2], которая получает набор случайно расположенных графических объектов со случайными вероятностями классов, кодировщик передает векторные представления объектов в модуль составных отношений (англ. stacked relation module), который уточняет векторные представления, учитывая пространственные и семантические отношения между всеми элементами. После этого декодер возвращает обратно вероятности классов и геометрические параметры. Получившийся макет визуализируется и подается на вход дискриминатору, представляющему из себя сверточную нейронную сеть. Архитектура модели и примеры работы с различными способами визуализации представлены на рисунках 14 и 15 соответсвенно.

Рис. 14 Модель LayoutGAN[2]
Рис. 15 Пример работы LayoutGAN[2]

LayoutTransformer

Рассмотрим модель[9], которая получает на вход последовательность элементов макета, которые преобразуются в векторные представления и поступают на вход модуля внимания, предсказывающего новую последовательность элементов макета. Схема работы модели и примеры представлены на рисунках 16 и 17 соответсвенно.

Рис. 16 Модель LayoutTransformer[9]
Рис. 17 Пример работы LayoutTransformer[9]

См. также

Примечания

  1. 1,0 1,1 1,2 1,3 1,4 ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing, Chen-Hsuan Lin, Ersin Yumer, Oliver Wang, Eli Shechtman, Simon Lucey 2018
  2. 2,0 2,1 2,2 2,3 LayoutGAN: Generating Graphic Layouts With Wireframe Discriminators, Jianan Li, Jimei Yang, Aaron Hertzmann, Jianming Zhang, Tingfa Xu 2019
  3. 3,0 3,1 3,2 3,3 Toward Realistic Image Compositing with Adversarial Learning, Bor-Chun Chen, Andrew Kae 2019
  4. 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-Fei 2016
  5. 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 Dollar 2015
  6. 6,0 6,1 6,2 Image Generation from Scene Graphs, Justin Johnson, Agrim Gupta, Li Fei-Fei 2018
  7. 7,0 7,1 7,2 Where and Who? Automatic Semantic-Aware Person Composition, Fuwen Tan, Crispin Bernier, Benjamin Cohen, Vicente Ordonez, Connelly Barnes 2017
  8. 8,0 8,1 MISC: Multi-condition Injection and Spatially-adaptive Compositing for Conditional Person Image Synthesis, Shuchen Weng, Wenbo Li, Dawei Li, Hongxia Jin, Boxin Shi 2020
  9. 9,0 9,1 9,2 Layout Generation and Completion with Self-attention, Kamal Gupta, Alessandro Achille, Justin Lazarow, Larry Davis, Vijay Mahadevan, Abhinav Shrivastava 2020

Источники информации