22
правки
Изменения
Нет описания правки
{{В разработке}}
Расположение объектов на изображении {{---}} область компьютерного зрения, в которую входят такие задачи, как замена или добавление объекта на изображение, также к этой области относят задачи расположения объектов на изображении по их текстовому описаниюи [[:Генерация_изображения_по_тексту|генерации изображений по тексту]].
== Основные технологии ==
Для решения задач данной области в основном используются разновидности [[: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>.
== Генерация объектов на изображении по тексту ==
Рассмотрим модель<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) преобразует макет сцены в изображение. Модель обучается на состязательной основе против пары дискриминаторных сетей.
[[Файл: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, а последние 4 изображения были получена на наборе данных MS COCO.
[[:Блендинг_изображений|Компоновка изображений]] {{---}} это метод, используемый для создания реалистичных, но поддельных изображений, путем замены содержимого одного изображения на другое.
[[Файл: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"/>]]
=== LayoutGAN ===
Получившийся макет визуализируется и подается на вход дискриминатору, представляющему из себя сверточную нейронную сеть.
Архитектура модели и примеры работы с различными способами визуализации представлены на рисунках 14 и 15 соответсвенно.
=== LayoutTransformer ===
Схема работы модели и примеры представлены на рисунках 16 и 17 соответсвенно.
[[Файл:Layout_trans.png|600px|thumb|center|Рис. 16 Модель 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]