Изменения

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

Neural Style Transfer

32 005 байт добавлено, 17:42, 19 апреля 2020
Нет описания правки
{{в разработке}}
 
== Описание алгоритма NST==
===Обзор предыдущих методов===
До появления NST исследования расширились вокруг области, называемой '''нефотореалистичным рендерингом''' (''non-photorealistic rendering, NPR''). В настоящее время это твердо установленная область в сообществе компьютерной графики. Однако большинство алгоритмов NPR стилизации обычно сильно зависят от конкретных художественных стилей (например, масляные картины, анимация), которые они имитируют, и эти . Эти алгоритмы не могут быть легко расширены для получения стилизованных результатов для других художественных стилей.
В отличие от NST, алгоритмы NPR не используют нейронные сети. Рассмотрим некоторые NPR-алгоритмы без [[Сверточные_нейронные_сети|CNN]], a именно NPR-алгоритмы художественного рендеринга 2D-изображений, который называется '''художественным рендерингом на основе изображений''' (''image-based artistic rendering, IB-AR''):
[[Файл:Image sbr.jpg|400px|thumb|right|[https://web.cs.ucdavis.edu/~ma/SIGGRAPH02/course23/notes/S02c23_3.pdf Рис. 2. SBR в действии.]]]
''Рендеринг на основе штрихов (SBR)'' относится к процессу размещения виртуальных штрихов (например, мазков кистью, фрагментов, штрихов) на цифровом холсте для визуализации фотографии с определенным стилем. Процесс SBR, как правило, начинается с исходной фотографии, поэтапно комбинируя мазки для соответствия фотографии в соответствии с фотографией и, наконец, создает нефотореалистичные изображения, которые выглядят как фотография, но с художественным стилем (Рис. 2).
SBR обычно эффективен при моделировании определенных типов стилей (например, масляной живописи, акварели, эскизов). Однако каждый алгоритм SBR тщательно спроектирован только для одного конкретного стиля и не способен моделировать произвольный стиль, который не является гибким.
====Region-Based Techniques====
[[Файл:Image region.jpg|200px|thumb|right|[https://2ch.hk/td/res/57804.html Рис. 3. Рендеринг на основе регионов]]]
''Рендеринг на основе регионов (RBT)'' должен включать включает сегментацию регионов, чтобы обеспечить адаптацию рендеринга на основе контента в регионах. Алгоритмы RBT используют форму регионов для определения расположения штрихов. Таким образом, различные образцы штрихов могут быть созданы в разных семантических областях изображения (Рис. 3).
Учет регионов при рендеринге позволяет осуществлять локальный контроль над уровнем детализации. Однако проблема SBR сохраняется: RBT не способен имитировать произвольный стиль.
====Example-Based Rendering====
''Рендеринга на основе примеров (EBR)'' изучает соответствия между образцовой парой, то есть соответствия между исходными и целевыми стилизованными изображениями под наблюдением. Обучающий набор содержит пары не стилизованных исходных изображений и соответствующие стилизованные изображения с определенным стилем. Затем ''Алгоритм алгоритм аналогии'' изображений затем изучает аналогичное преобразование из примерных обучающих пар и создает аналогичные стилизованные результаты при получении тестовой входной фотографии.
В целом, аналогии аналогия с изображениями эффективны эффективна для различных художественных стилей. Однако пары тренировочных данных обычно недоступны. К тому же аналогии аналогия изображений используют использует низкоуровневые функции, которые не позволяют эффективно захватывать контент и стиль, что ограничивает производительность.
===Происхождение NST===
Несмотря на то, что некоторые [[Neural_Style_transfer#Обзор предыдущих методов | алгоритмы IB-AR ]] без [[Сверточные_нейронные_сети|CNN]] способны точно отображать определенные предписанные стили, они обычно имеют ограничения в гибкости, разнообразии стилей и эффективном извлечении структуры изображения. Следовательно, существует потребность в новых алгоритмах для устранения этих ограничений, что порождает '''область NST'''.
Леон Гатис первый, кто изучил, как использовать CNN для воспроизведения известных стилей рисования на естественных изображениях. Он предложили смоделировать контент фотографии в качестве ответа функции от предварительно обученного CNN, а затем смоделировать стиль художественного произведения в качестве сводной статистики функции. Его эксперименты показали, что CNN способен извлекать информацию о содержании из произвольной фотографии и информацию о стиле из произведения искусства. На основании этого открытия Гатис впервые предложил использовать активацию функции CNN для рекомбинации содержания контента данной фотографии и стиля известных произведений искусства. Основная идея его алгоритма состоит в том, чтобы итеративно оптимизировать изображение с целью сопоставления желаемых распределений функций CNN, которые включают в себя как информацию о содержании фотографии, так и информацию о стиле произведения искусства.
== Принцип работы алгоритма NST==
====Parametric Texture Modelling with Summary Statistics====
Одним из путей к моделированию текстуры является сбор статистики изображения из образца текстуры и использование сводных статистических свойств для моделирования текстуры. Создается представление на основе Грам Грама для текстур модели, которое представляет собой корреляцию между откликами фильтра в различных слоях предварительно обученной классификационной сети (сеть VGG). Основанное Представление на Грамах основе Грама кодирует статистику второго порядка набора ответов фильтра CNN.
Предположим, что карта объектов образца изображения текстуры <math>I_{s}</math> на слое <math>l</math> предварительно обученной модели:
 <math>\mathcal{F}^l(I_{s}) \in \mathbb{R} ^ {C \times H \times W}</math>,  где <math>С</math> {{---}} количество каналов, <math>H</math> и <math>W</math> {{---}} высота и ширина карты объектов <math>\mathcal{F}^l(I_{s})</math>.
Тогда представление на основе Грама может быть получено путем вычисления матрицы Грама <math>G(\mathcal{F}^l(I_{s})^\prime) \in \mathbb{R} ^ {C \times C}</math> на карте объектов <math>\mathcal{F}^l(I_{s})^\prime \in \mathbb{R} ^ {C \times HW}</math> :
====Non-parametric Texture Modelling with Markov Random Fields (MRFs)====
Другой известной методологией моделирования текстур является использование непараметрического ресемплирования. Различные непараметрические методы основаны на '''модели MRF''', которая предполагает, что в текстурном изображении каждый пиксель полностью характеризуется своей пространственной окрестностью. Предлагается синтезировать каждый пиксель один за другим путем поиска похожих окрестностей в исходном текстурном изображении и назначения соответствующего пикселя. Ускорить процесс сопоставления окрестностей можно всегда используя фиксированную окрестность.
===Image Reconstruction techniques===
====Model-Optimisation-Based Offline Image Reconstruction====
''Реконструкция автономных изображений на основе оптимизации моделей'' (MOB-IR). Для решения проблемы эффективности, было предложено заранее обучить сеть прямой связи (англ. ''feed-forward network'') и поставить вычислительную нагрузку на этапе обучения. На этапе тестирования обратный процесс может быть просто выполнен с помощью прямого прохода по сети. Это значительно ускоряет процесс восстановления изображения.
==Классификация методов NST==
===Image-Optimisation-Based Online Neural Methods===
Основная идея алгоритмов IOB-NST состоит в том, чтобы сначала смоделировать и извлечь информацию о стиле и содержимом контенте из соответствующих изображений стиля и содержимогоконтента, объединить их в качестве целевого представления, а затем итеративно восстановить стилизованный результат, который соответствует целевому представлению. В целом, разные  Разные алгоритмы IOB-NST используют одну и ту же технику IOB-IR, но отличаются тем, как они [[Neural_Style_Transfer#Visual Style Modelling | моделируют визуальный стиль]], который основан на категориях [[Neural_Style_Transfer#Visual Texture Modelling | методов визуального моделирования текстур]].
Общим ограничением алгоритмов IOB-NST является то, что они являются дорогостоящими в вычислительном отношении, из-за итеративной процедуры оптимизации изображения.
=====Алгоритм Гатиса=====
Согласно тому, что глубокая CNN способна извлекать содержимое контент изображения из произвольной фотографии и некоторую информацию о внешнем виде из картины, создается компонент контента вновь стилизованного изображения, штрафуя разницу в представлениях высокого уровня, полученных из контента и стилизованных изображений, и дополнительно формируется компонент стиля путем сопоставления сводной статистики стилей и стилизованных изображений на основе Грам Грама из [[Neural_Style_Transfer#Visual Texture Modelling | метода моделирования текстур]].
Для заданного изображения контента <math>I_{C}</math> и стиля изображения <math>I_{S}</math> алгоритм пытается найти стилизованное изображение <math>I</math>, которое минимизирует '''цель''':
<math>I^* = \arg \min_{I} \mathcal{L}_{total}(I_{C}, I_{S}, I) = \arg \min_{I} \alpha \mathcal{L}_{C}(I_{C}, I) + \beta \mathcal{L}_{S}(I_{S}, I)</math>,
где <math>\mathcal{L}_{C}</math> {{---}} потеря контента, сравнивает представление контента данного изображения и контента с изображением стилизованного изображения, а <math>\mathcal{L}_{S}</math> {{---}} потеря стиля, сравнивает представление стиля на основе Грамы, полученной из изображения стиля, Грама с стилизованным изображением стилизованного изображения. <math>\alpha</math> и <math>\beta</math> используются для баланса компонента контента и компонента стиля в стилизованном результате.
<math>\mathcal{L}_{C}</math> и <math>\mathcal{L}_{S}</math> дифференцируемы. Таким образом, при случайном шуме в качестве начального <math>I</math>, это уравнение можно минимизировать, используя градиентный спуск с обратным распространением в пространстве изображения с обратным распространением.
=====Возможные варианты решения проблем алгоритма Гатиса=====
'''Алгоритм Гатиса''' не имеет явных ограничений на тип стилевых изображений, в отличие от предыдущих алгоритмов [[Neural_Style_Transfer#Обзор предыдущих методов | IB-AR без CNN]]. Однако алгоритм неэффективно сохраняет согласованность тонких структур и деталей во время стилизации, так как функции CNN неизбежно теряют некоторую информацию низкого уровня. Кроме того, он обычно не подходит для фотореалистичного синтеза из-за ограничений представления стилей на основе ГрамГрама. Также он не учитывает изменения мазков кисти, информацию о семантике и глубине, содержащуюся в изображении контента, которые являются важными факторами при оценке качества изображения.
Одним из ограничений алгоритма на основе Грама является его нестабильность во время оптимизаций и ручная настройка параметров. Райзером было обнаружено, что активация функций с совершенно разными средствами средними и дисперсиями может иметь одну и ту же матрицу Грама, что является основной причиной нестабильности. Поэтому была введена '''дополнительная потеря гистограммы, которая направляет оптимизацию для соответствия всей гистограмме активаций функции'''. Также было представлено предварительное решение для автоматической настройки параметров, которое заключается в явном предотвращении градиентов с экстремальными значениями посредством экстремальной нормализации градиента.Путем И путем дополнительного сопоставления гистограммы активаций признаков '''алгоритм Райзера''' обеспечивает более стабильную передачу стилей с меньшим количеством итераций и усилий по настройке параметров. Однако его преимущество достигается за счет высокой вычислительной сложности. Кроме того, Но вышеупомянутые недостатки алгоритма Гатиса все еще существуют, например, недостаток рассмотрения в глубину и согласованность деталей.
Так как функции CNN неизбежно теряют некоторую информацию низкого уровня, содержащуюся в изображении, в стилизованных результатах изображениях обычно присутствуют некоторые непривлекательные искаженные структуры и нерегулярные артефакты. Чтобы сохранить согласованность тонких структур во время стилизации, Ли предлагает включить дополнительные ограничения на низкоуровневые элементы в пиксельном пространстве. Он вводит дополнительную потерю Лапласа, которая определяется как квадрат евклидова расстояния между ответами фильтра Лапласа на контентное изображение и стилизованным результатом. '''Алгоритм Ли''' имеет хорошую производительность при сохранении тонких структур и деталей во время стилизации. Но ему все еще не хватает соображений имеются проблемы в семантике, глубине, вариациях мазков и т. д.
====Nonparametric Texture Modelling with MRFs====
где <math>\Psi_{i} (\mathcal{F}^{l}(I))</math> {{---}} набор всех локальных накладок из карт объектов <math>\mathcal{F}^{l}(I)</math>.
<math>\Psi_{i}</math> обозначает <math>i</math>-ую локальную накладку и <math>\Psi_{NN_{(i)}}</math> является наиболее похожим патчем стиля с <math>i</math>-тым локальным патчем в стилизованном изображении <math>I</math>. Наилучшее соответствие <math>\Psi_{NN_{(i)}}</math> получается путем вычисления нормализованной взаимной корреляции по всем патчам стиля в изображении стиля <math>I_{S}</math>, <math>m</math> {{---}} общее количество локальных патчей.
=====Преимущества и недостатки алгоритма Ли и Ванда=====
===Model-Optimisation-Based Offline Neural Methods===
 
MOB-NST решает проблему скорости и вычислительных затрат [[Neural_Style_Transfer#Image-Optimisation-Based Online Neural Methods | IOB-NST]] путем использования [[Neural_Style_Transfer#Model-Optimisation-Based Offline Image Reconstruction | MOB-IR]] для восстановления стилизованного результата, то есть сеть <math>g</math> с прямой связью оптимизируется через большой набор изображений <math>I_{C}</math> для одного или нескольких изображений стиля <math>I_{S}</math>:
 
<math>\theta ^* = \arg \min \mathcal{L}_{total} (I_{C}, I_{S}, g_{\theta *}(I_{C})), I^* = g_{\theta *}(I_{C}) </math>
 
MOB-NST делится на методы [[Neural_Style_Transfer#Per-Style-Per-Model Neural Methods | PerStyle-Per-Model (PSPM) MOB-NST]],
[[Neural_Style_Transfer#Multiple-Style-Per-Model Neural Methods | Multiple StylePer-Model (MSPM) MOB-NST]] и [[Neural_Style_Transfer#Arbitrary-Style-Per-Model Neural Methods | Arbitrary-StylePer-Model (ASPM) MOB-NST]].
 
====Per-Style-Per-Model Neural Methods====
 
=====Parametric PSPM with Summary Statistics=====
 
[[Файл:IOB PSPM-MOB.JPG|600px|thumb|right|[https://arxiv.org/pdf/1705.04058.pdf Рис. 5. Примеры результатов IOB-NST и PSPM-MOB-NST]]]
Первые два алгоритма MOB-NST предложены Джонсоном и Ульяновым соответственно. Они имеют схожую идею, заключающуюся в том, чтобы предварительно обучить сеть, ориентированную на стиль прямой связи, и получить стилизованный результат с одним прямым проходом на этапе тестирования. Они отличаются только сетевой архитектурой, для которой дизайн Джонсона примерно соответствует сети, предложенной Рэдвордом, но с остаточными блоками и с извилистыми частями, а Ульянов использовал многомасштабную архитектуру в качестве сети генератора.
[[Neural_Style_Transfer#Алгоритм Гатиса | Целевая функция аналогична алгоритму Гатиса]], который указывает, что эти алгоритмы также являются ''параметрическими методами со сводной статистикой''.
 
'''Алгоритмы Джонсона и Ульянова''' добились передачи стиля в реальном времени. Тем не менее, конструкция алгоритма в основном следует алгоритму Гатиса, что приводит к аналогичным проблем, что и у Гатиса (например, отсутствие рассмотрения в согласованность деталей и глубины информации).
 
После Ульянов обнаружил, что простое применение нормализации к каждому отдельному изображению, а не к '''пакетной нормализации''' (англ. ''batch normalization, BN'') приводит к значительному улучшению качества стилизации. Нормализация одиночного изображения называется '''нормализацией экземпляра''' (англ. ''instance normalisation, IN''), что эквивалентно нормализации пакета, когда размер пакета = 1. Показано, что сеть передачи стиля с IN сходится быстрее, чем BN, а также обеспечивает визуально лучшие результаты. Одно из объяснений состоит в том, что IN может напрямую нормализовать стиль каждого изображения контента до желаемого стиля. Следовательно, цель легче минимизировать, так как остальная часть сети должна заботиться только о потере контента.
 
=====Non-parametric PSPM with MRFs=====
 
[[Файл:MSPM MOB.JPG|600px|thumb|right|[https://arxiv.org/pdf/1705.04058.pdf Рис. 6. Примеры результатов ASPM-MOB-NST]]]
'''Алгоритм Ли и Ванда''' решает проблему эффективности, обучая марковскую прямую сеть (англ. ''Markovian feed-forward network''), используя состязательное обучение (англ. ''adversarial training''). Он представляет собой непараметрический метод на основе патчей с MRF. Показано, что этот метод превосходит алгоритмы Джонсона и Ульянова в сохранении связных текстур в сложных изображениях, благодаря патч-дизайну. Однако их алгоритм имеет менее удовлетворительную производительность с неструктурными стилями (например, изображениями лица), поскольку он не учитывает семантику. Другие недостатки их алгоритма включают в себя отсутствие учета глубины информации и вариаций мазков кисти, которые являются важными визуальными факторами.
 
====Multiple-Style-Per-Model Neural Methods====
 
Хотя вышеупомянутые подходы PSPM могут создавать стилизованные изображения на два порядка быстрее, чем предыдущие методы IOB-NST, отдельные генеративные сети (англ. ''generative networks'') должны быть обучены для каждого конкретного изображения стиля. Но многие картины (например, картины импрессионистов) имеют одинаковые мазки и отличаются только своей цветовой палитрой и для каждой из них необходимо обучать отдельную сеть. Поэтому предлагается MSPM, который повышает гибкость PSPM путем дальнейшего объединения нескольких стилей в одну модель. Это можно сделать двумя способами:
 
=====Привязка только небольшого количества параметров к каждому стилю=====
 
'''Алгоритм Дюмулена'''. Дюмулен обнаружил, что для моделирования различных стилей достаточно использовать одни и те же сверточные параметры масштабирования и сдвига в слоях [[Neural_Style_Transfer#Parametric PSPM with Summary Statistics | IN]]. Поэтому он предлагает алгоритм обучения условной мульти-стилевой сети (англ. ''multi-style transfer network'') передачи на основе '''нормализации условного экземпляра''' (CIN):
 
<math>CIN(\mathcal{F}(I_{C}), s) = \gamma ^s \left ( \frac{\mathcal{F}(I_{C}) - \mu (\mathcal {F}(I_{C}))}{\sigma (\mathcal {F}(I_{C}))} \right ) + \beta ^s</math>
 
где <math>\mathcal{F}</math> {{---}} активация функции ввода, а <math>s</math> {{---}} индекс желаемого стиля из набора изображений стилей.
Каждый стиль <math>I_{S}</math> может быть достигнут путем настройки параметров аффинного преобразования. Нормализация статистики объектов с различными аффинными параметрами может нормализовать входное изображение контента для разных стилей. Кроме того, алгоритм Дюмулена также может быть расширен для объединения нескольких стилей в одном стилизованном результате путем объединения аффинных параметров различных стилей.
 
'''Алгоритм Чена''' явно отделяет стиль и контент, то есть использует отдельные сетевые компоненты для изучения соответствующего контента и информации о стиле. Недостатком этого алгоритма является то, что он не учитывает общие ограничения алгоритмов NST, например, отсутствие деталей, семантики, глубины и вариаций мазков кисти.
 
=====Объединение стиля и контента в качестве входных данных=====
 
Одним из недостатков привязки только небольшого количества параметров к каждому стилю является то, что размер модели, как правило, увеличивается с увеличением количества изученных стилей. Этот способ MSPM устраняет это ограничение, полностью исследуя возможности одной единственной сети и комбинируя контент и стиль в сети для идентификации стиля.
 
Учитывая <math>N</math> целевых стилей, '''алгоритм Ли''' проектирует единицу выбора для стиля, которая представляет собой N-мерный однократный вектор. Каждый бит в блоке выбора представляет определенный стиль в наборе целевых стилей. Для каждого бита в единице выбора сначала выбирают соответствующую шумовую карту <math>f(I_{S})</math> из равномерного распределения, а затем подают <math>f(I_{S})</math> в подсеть стиля, чтобы получить кодированные признаки соответствующего стиля <math>\mathcal{F} (f(I_{S}))</math>. Путем подачи конкатенации функций <math>\mathcal{F} (f(I_{S}))</math>, закодированных в стиле, и функций <math>Enc(I_{C})</math>, закодированных в контенте, в часть декодера NST можно получить желаемый стилизованный результат:
 
<math>I = Dec(\mathcal{F} (f(I_{S})) \odot Enc(I_{C}))</math>
 
Другой '''алгоритм Чжана и Дана''' сначала направляет каждое изображение стиля в стиле, установленном через предварительно обученную сеть VGG, и получает многомасштабные активации функций <math>\mathcal{F} (I_{S})</math> в разных слоях VGG. Затем многомасштабные <math>\mathcal{F} (I_{S})</math> объединяются с многомасштабными кодированными функциями <math>Enc(I_{C})</math> из разных уровней в кодере через их предлагаемые слои инспирации, которые предназначены для изменения формы <math>\mathcal{F} (I_{S})</math> в соответствии с требуемым измерением, а также имеют обучаемую матрицу весов для настройки карт объектов, чтобы помочь минимизировать целевую функцию.
 
Масштабируемость стилей этого типа MSPM намного меньше, поскольку для нескольких стилей используется только одна сеть. Но при этом алгоритм все еще ограничен в сохранении когерентности тонких структур и информации о глубине.
 
====Arbitrary-Style-Per-Model Neural Methods====
 
[[Файл:ASPM-MOB.JPG|600px|thumb|right|[https://arxiv.org/pdf/1705.04058.pdf Рис. 7. Примеры результатов ASPM-MOB-NST]]]
ASPM-MOB-NST, направлена ​​на единую модель для всех, то есть на единую обучаемую модель для передачи произвольных художественных стилей. Существует также два типа ASPM:
 
=====Parametric Texture Modelling with Summary Statistics=====
 
Самый простой подход для передачи произвольного стиля состоит в обучении отдельной сети предсказания параметров <math>P</math> [[Neural_Style_Transfer#Привязка только небольшого количества параметров к каждому стилю | для предсказания <math>\gamma^S</math> и <math>\gamma^S</math> в уравнении CIN]] с несколькими стилями обучения. При заданном тестовом стиле изображения <math>I_{S}</math> слои <math>CIN</math> в NST принимают аффинные параметры <math>\gamma^S</math> и <math>\gamma^S</math> от <math>P (I_{S})</math> и нормализует входное изображение контента до желаемого стиля с помощью прямого прохода.
 
Другой аналогичный подход, '''алгоритм Хуана и Белонги''', предлагает вместо обучения сети прогнозирования параметров модифицировать CIN в для '''адаптивной нормализации экземпляров''':
 
<math>AdaIN(\mathcal{F} (I_{C}), \mathcal{F} (I_{S})) = \sigma (\mathcal{F} (I_{S}))\left ( \frac{\mathcal{F} (I_{C}) - \mu(\mathcal{F} (I_{C}))}{\sigma(\mathcal{F} (I_{C}))} \right ) + \mu(\mathcal{F} (I_{S}))</math>
 
AdaIN передает статистику по среднему значению канала и по функции отклонения между активациями контента и стиля. Кодер в сети передачи стилей является фиксированным и содержит первые несколько уровней в предварительно обученной сети VGG. Следовательно, <math>\mathcal{F}</math> {{---}} это активация функции из предварительно обученной сети VGG. Часть декодера должна быть обучена с большим набором стилей и изображений контента для декодирования результирующих активаций функций после AdaIN до стилизованного результата:
 
<math>I = Dec(AdaIN(\mathcal{F} (I_{C}), \mathcal{F} (I_{S})))</math>
 
Алгоритм алгоритм Хуана и Белонги - первый алгоритм ASPM, который достигает стилизации в реальном времени. Но он основан на данных и ограничен в обобщении на невидимые алгоритмом стили.
 
В '''алгоритме Ли''' предпринята попытка использовать ряд трансформаций функций для передачи произвольного художественного стиля в свободной от стиля манере обучения. Аналогично, алгоритм Ли использует первые несколько слоев предварительно обученного VGG в качестве кодера и обучает соответствующий декодер. Но он заменяет слой AdaIN между кодером и декодером парой '''преобразований отбеливания и окрашивания''' (англ '' whitening and colouring transformations''):
 
<math>(WCT): I = Dec(WCT(\mathcal{F} (I_{C})),\mathcal{F} (I_{S}))</math>
 
'''Преобразование отбеливания''' (англ. ''whitening transformation'') может удалить информацию, связанную со стилем, и сохранить структуру контента. Следовательно, принимая активации контента <math>\mathcal{F} (I_{C})</math> от кодера, преобразование отбеливания может отфильтровывать исходный стиль из входного изображения контента и вернуть отфильтрованное представление только с информацией контента. Затем, применяя '''преобразование окраски''' (англ. '' colouring transformation''), шаблоны стилей, содержащиеся в <math>\mathcal{F} (I_{S})</math>, включаются в представление отфильтрованного содержимого, и стилизованный результат <math>I</math> можно получить путем декодирования преобразованных признаков.
 
Алгоритм Ли является первым алгоритмом ASPM для передачи художественных стилей без обучения. Но он все еще не эффективен для получения резких деталей и мелких штрихов.
 
=====Non-parametric Texture Modelling with MRFs=====
 
'''Алгоритм Чена и Шмидта''': сначала извлекается набор патчей активации из активаций контента и функций стиля, рассчитанных в предварительно обученной сети VGG. Затем каждый патч контента сопоставляется с наиболее похожим патчем стиля, они меняются местами ('''обмен стилями'''). Стилизованный результат можно получить, воссоздав получившуюся карту активации после замены стиля с использованием методов [[Neural_Network_Style#Image Reconstruction techniques | IOB-IR или MOB-IR]].
 
Алгоритм Чена и Шмидта является более гибким, чем предыдущие подходы, из-за его характеристики «одна модель для всех». Но стилизованные результаты менее привлекательны, так как патчи контента обычно меняются на патчи стилей, которые не представляют желаемый стиль. В результате контент хорошо сохраняется, в то время как стиль, как правило, плохо отражается.
== Функция потерь ==
В уравнении выше, чтобы получить общую потерю <math>L_{total}</math> нужно рассчитать потерю содержимого <math>L_{content}</math> и потерю стиля <math>L_{style}</math>, а также <math>\alpha</math> и <math>\beta</math> {{---}} гиперпараметры, которые используются для определения весов для каждого типа потерь, то есть эти параметры можно представить просто как "рычаги" для управления тем, сколько контента / стиля мы хотим наследовать в сгенерированном изображении.
[[Файл:Image6.jpeg|500px|thumb|right|[https://towardsdatascience.com/neural-style-transfer-tutorial-part-1-f5cd3315fa7f Рис. 58. Различные представления, используемые для изображений контента, стиля и сгенерированного изображения]]]
Во время каждой итерации все три изображения, передаются через модель VGG16. Значения функции активации нейронов, которые кодируют представление признаков данного изображения на определенных слоях, принимаются как входные данные для этих двух функций потерь. Также стоит добавить: изначально мы случайным образом инициализируем сгенерированное изображение, например, матрицей случайного шума такого же разрешения, как и изображение контента. С каждой итерацией мы изменяем сгенерированное изображение, чтобы минимизировать общую потерю '''L'''.
<math>L_{style}(S, G) = \sum\limits_{l=0}^L w_l * L_{GM}(S, G, l)</math>
 
==Расширения алгоритмов NST==
 
[[Neural_Style_Transfer#Классификация методов NST | Вышеупомянутые методы NST]] предназначены для общих неподвижных изображений. Они могут не подходить для специализированных типов изображений и видео (например, рисунков, портретов на голове и видеокадров), поэтому были созданы расширения алгоритма NST на эти конкретные типы.
 
===Semantic Style Transfer===
 
При наличии пары стиля и изображений контента, которые похожи по содержанию, цель передачи семантического стиля состоит в создании семантического соответствия между стилем и контентом, который отображает каждую область стиля в соответствующую семантически подобную область контента.
 
===Instance Style Transfer===
 
Передача стиля экземпляра основана на сегментации экземпляра и предназначена для стилизации только одного указанного пользователем объекта в изображении. Основная проблема заключается в переходе между стилизованным объектом и нестилизованным фоном. Эту проблему можно решить путем добавления дополнительных потерь на основе MRF к сглаживающим граничным пикселям.
 
===Doodle Style Transfer===
Передача стиля каракулей заключается в использовании NST для преобразования черновых набросков в произведения искусства. Метод просто отбрасывает термин потери содержимого и использует рисунки в качестве карты сегментации для передачи семантического стиля.
 
===Portrait Style Transfer===
 
Современные алгоритмы передачи стилей обычно не оптимизированы для головных портретов. Поскольку они не накладывают пространственных ограничений, непосредственное применение этих существующих алгоритмов к портретам головы приведет к деформации структур лица. Решить эту проблему можно использованием карт усиления для ограничения пространственных конфигураций, которые могут сохранить структуры лица при передаче текстуры стиля изображения.
 
===Video Style Transfer===
 
В отличие от передачи стиля неподвижного изображения, при разработке алгоритма передачи стиля видео необходимо учитывать плавный переход между соседними видеокадрами.
 
====Image-Optimisation-Based Online Video Style Transfer====
 
Передача онлайн-стилей видео на основе оптимизации изображений: вводится временная потерю согласованности, основанная на оптическом потоке, чтобы штрафовать отклонения вдоль точечных траекторий. Оптический поток рассчитывается с использованием новых алгоритмов оценки оптического потока. В результате алгоритм устраняет временные артефакты и создает плавные стилизованные видеоролики. Однако при таком способе требуется несколько минут для обработки одного кадра.
 
====Model-Optimisation-Based Offline Video Style Transfer====
 
Оффлайн-стиль передачи видео на основе оптимизации моделей: для стилизации видео в режиме реального времени Хуан предлагает увеличить временную потерю согласованности при использовании текущего алгоритма PSPM. Для двух последовательных кадров потеря временной согласованности напрямую рассчитывается с использованием двух соответствующих выходных данных NST для поощрения согласованности по пикселям. Для вычисления потери временной согласованности вводится соответствующая двухкадровая стратегия синергетического обучения.
 
===Character Style Transfer===
 
Целью передачи стиля символа является применение идеи NST для создания новых шрифтов и текстовых эффектов. Янг предложил охарактеризовать элементы стиля и использовать извлеченные характеристики, чтобы направлять генерацию текстовых эффектов.
 
===Photorealistic Style Transfer===
 
Фотореалистичная передача стиля (также известная как передача стиля цвета) направлена ​​на передачу стиля распределения цвета. Общая идея состоит в том, чтобы основываться на текущей передаче семантического стиля, но исключить искажения и сохранить первоначальную структуру изображения контента.
 
====Image-Optimisation-Based Photorealistic Style Transfer====
 
Передача фотореалистичного стиля на основе оптимизации изображений. '''Алгоритм Луана''' предлагает двухэтапную процедуру оптимизации, которая состоит в том, чтобы инициализировать оптимизацию путем стилизации данной фотографии с помощью [[Neural_Style_Trasfer#Semantic Style Transfer | Image-Optimisation-Based Semantic Style Transfer], а затем штрафовать искажения изображения, добавляя регуляризацию фотореализма. Но поскольку алгоритм Луана основан на методе передачи семантического стиля на основе оптимизации изображений, он требует больших вычислительных затрат.
 
'''Алгоритм Мехреза''' также использует двухэтапную процедуру оптимизации. Он предлагает уточнить нефотореалистичный стилизованный результат путем сопоставления градиентов на выходном изображении с градиентами на фотографии содержимого. Этот алгоритм достигает более быстрой скорости фотореалистичной стилизации.
 
====Model-Optimisation-Based Photorealistic Style Transfer====
 
Передача фотореалистичного стиля на основе оптимизации моделей: Ли решил проблему эффективности, обрабатывая эту проблему в два этапа: этап стилизации и этап сглаживания. Шаг стилизации состоит в том, чтобы заменить слои с повышенной дискретизацией на неиспользуемые слои, чтобы получить стилизованный результат с меньшим количеством искажений. Затем этап сглаживания дополнительно устраняет структурные артефакты.
 
===Attribute Style Transfer===
 
Атрибуты изображения обычно относятся к цветам изображения, текстурам и т.д. Ранее передача атрибутов изображения осуществлялась по [[Neural_Style_Transfer#Example-Based Rendering | аналогии с изображением]]. '''Алгоритм Ляо''' предлагает глубокую аналогию изображения для изучения аналогии изображения в области CNN. Он основан на методе сопоставления патчей и реализует аналогию изображений со слабым контролем, то есть этому алгоритму требуется только одна пара исходных и целевых изображений вместо большого обучающего набора.
 
===Fashion Style Transfer===
 
Передача модного стиля получает образ модного стиля в качестве цели и генерирует изображения одежды с желаемыми модными стилями. Задача этой передачи заключается в том, чтобы сохранить схожий дизайн с базовой одеждой при смешивании желаемых стилей.
Эта задача решается введением пары генератора модного стиля и дискриминатора.
 
===Audio Style Transfer===
 
Аудио Стиль передачи . В дополнение к передаче стилей изображения, [90], [91] расширяют область стиля изображения до стиля звука и синтезируют новые звуки, передавая нужный стиль из целевого аудио. Исследование передачи стиля звука также следует пути передачи стиля изображения, то есть передачи аудио стиля онлайн на основе оптимизации звука (Audio-Optimisation-Based Online Audio Style Transfer), а затем передачи стиля аудио в автономном режиме на основе оптимизации модели (Model-Optimisation-Based Offline Audio Style Transfer). На основании алгоритма [[Neural_Stule_Transfer#Image-Optimisation-Based Online Neural Methods | IOB-NST]], был создан '''алгоритм Верма и Смита''' передачи аудио стиля на основе аудиооптимизации, основанный на оптимизации аудио онлайн. Алгоритм начинает с шумового сигнала и итеративно оптимизируют его, используя обратное распространение.
== Пример кода на Python ==
* [https://towardsdatascience.com/neural-style-transfer-series-part-2-91baad306b24 TensorFlow and pyTorch Implementation of Neural Style Transfer]
* [https://pytorch.org/tutorials/advanced/neural_style_tutorial.html Neural Style Transfer using PyTorch]
* [https://arxiv.org/pdf/1705.04058.pdf Neural Style Transfer: A Review]
[[Категория: Машинное обучение]]
[[Категория: Нейронные сети]]
[[Категория: Сверточные нейронные сети]]
74
правки

Навигация