Изменения

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

Расположение объектов на изображении

16 050 байт добавлено, 18:24, 20 января 2021
Новая страница: «Расположение объектов на изображении {{---}} область компьютерного зрения, в которую входя…»
Расположение объектов на изображении {{---}} область компьютерного зрения, в которую входят такие задачи, как замена или добавление объекта на изображение, также к этой области относят задачи расположения объектов на изображении по их текстовому описанию.

== Основные технологии ==
Для решения задач данной области в основном используются разновидности [[: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>.
Также широко используются [[:Сверточные_нейронные_сети|сверточные нейронные сети]] (англ. 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>.

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

На вход модель<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"/>]]
Для получения макета объекта векторные представления каждого объекта подаются в сеть макетов объектов (англ. object layout network). Суммируя все макеты объектов, получаем макет сцены. Схема получения макета сцены представлена на рисунке 2.
[[Файл: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 Barnes]</ref> подается исходное изображение и его макет, модель предсказывает расположение баундинг бокса для вставки объекта, ищет сегмент, подходящий по контексту, на других изображениях и вставляет его на исходное изображение.
[[Файл:Images_compositing_model.png|600px|thumb|center|Рис. 4 Обзор модели<ref name="composition"/>]]
Предсказание расположения баундинг бокса состоит из двух ветвей: первая предсказывает местоположение, а вторая {{---}} размер. Сначала изображение и его макет проходят через общие слои {{---}} это слой свертки, слой пулинга и еще три слоя свертки. Выход общих слоев проходит через две ветви. Первая нужна для предсказания местоположения баундинг бокса, она состоит из двух слоев свертки, а вторая нужна для определения размера, она состоит из слоя пулинга, слоя свертки и двух полносвязных слоев.
[[Файл:Bounding_box_prediction.png|600px|thumb|center|Рис. 5 Предсказание баундинг бокса]]
Пример работы модели представлен на рисунке 6.
[[Файл:Image_composting_example.png|600px|thumb|center|Рис. 6 Примеры работы модели<ref name="composition"/>]]

----
Изображение для вставки можно генерировать, а не вырезать с других изображений.
[[Файл: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.
[[Файл: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_GAN<ref name="gccgan"/>]]
[[Файл:GCCGAN_example.png|600px|thumb|center|Рис. 10 Пример работы GCC_GAN<ref name="gccgan"/>]]
=== ST-GAN ===
В качестве генератора (рис. 11) в данной архитектуре используются сети с пространственными трансформаторами (англ. Spatial Transformer Networks, сокращенно STN). В данной модели используется стратегия последовательного обучения, которая показывает лучшее результаты по сравнению с наивным обучением одного генератора.
Схема работы модели и примеры представлены на рисунках 12 и 13 соответсвенно.
[[Файл:STGAN_generator.png|600px|thumb|center|Рис. 11 Генератор модели 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"/>]]

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

=== LayoutGAN ===
На вход модель<ref name="layoutgan"/> получает набор случайно расположенных графических объектов со случайными вероятностями классов, кодировщик передает векторные представления объектов в модуль составных отношений (англ. stacked relation module), который уточняет векторные представления, учитывая пространственные и семантические отношения между всеми элементами. После этого декодер возвращает обратно вероятности классов и геометрические параметры.
Получившийся макет визуализируется и подается на вход дискриминатору, представляющему из себя сверточную нейронную сеть.
Архитектура модели и примеры работы с различными способами визуализации представлены на рисунках 14 и 15 соответсвенно.
[[Файл:LayoutGAN.png|600px|thumb|center|Рис. 14 Модель LayoutGAN<ref name="layoutgan"/>]]
[[Файл:LayoutGAN_example.png|600px|thumb|center|Рис. 15 Пример работы LayoutGAN<ref name="layoutgan"/>]]

=== 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> получает на вход последовательность элементов макета, которые преобразуются в векторные представления и поступают на вход модуля внимания, предсказывающего новую последовательность элементов макета.
Схема работы модели и примеры представлены на рисунках 16 и 17 соответсвенно.
На рисунке 18 представлен график, по которому видно, что макеты, построенные данной моделью, состоят из объектов, которые принадлежат семантически близким категориям.
[[Файл: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_coco.png|600px|thumb|center|Рис. 18 График семантических близких классов набора данных MS COCO, полученный с помощью модели LayoutTransformer<ref name="layout_trans"/>]]

== См. также ==
*[[Задача нахождения объектов на изображении]]
*[[Сверточные нейронные сети]]
*[[Глубокое обучение]]
*[[Generative Adversarial Nets (GAN)]]
*[[Компьютерное зрение]]
*[[Графовые нейронные сети]]
== Примечания ==
<references/>

== Источники информации ==
* [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://arxiv.org/pdf/1606.03798.pdf Deep Image Homography Estimation, Daniel DeTone, Tomasz Malisiewicz, Andrew Rabinovich]
22
правки

Навигация