stringtranslate.com

Нейронная передача стиля

Нейронный перенос стиля, примененный к Моне Лизе :

Нейронный перенос стиля ( NST ) относится к классу программных алгоритмов, которые обрабатывают цифровые изображения или видео, чтобы перенять внешний вид или визуальный стиль другого изображения. Алгоритмы NST характеризуются использованием глубоких нейронных сетей для преобразования изображений. Распространенным применением NST является создание искусственных произведений искусства из фотографий, например, путем переноса внешнего вида известных картин на предоставленные пользователем фотографии. Несколько известных мобильных приложений используют методы NST для этой цели, включая DeepArt и Prisma . Этот метод использовался художниками и дизайнерами по всему миру для разработки новых произведений искусства на основе существующих стилей.

История

NST — пример стилизации изображения, проблемы, которая изучалась более двух десятилетий в области нефотореалистичного рендеринга . Первыми двумя алгоритмами переноса стиля на основе примеров были аналогии изображений [1] и квилтинг изображений [2] . Оба эти метода основывались на алгоритмах синтеза текстур на основе патчей .

При наличии обучающей пары изображений — фотографии и художественного произведения, изображающего это фото, — можно было бы изучить преобразование и затем применить его для создания нового художественного произведения из новой фотографии по аналогии. Если бы обучающее фото не было доступно, его нужно было бы создать путем обработки входного художественного произведения; квилтинг изображений не требовал этого этапа обработки, хотя он был продемонстрирован только на одном стиле.

NST был впервые опубликован в статье «Нейронный алгоритм художественного стиля» Леона Гатиса и др., первоначально опубликованной на ArXiv 2015 [3] и впоследствии принятой на рецензируемой конференции CVPR в 2016 году [4]. В оригинальной статье использовалась архитектура VGG-19 [5] , которая была предварительно обучена для распознавания объектов с использованием набора данных ImageNet .

В 2017 году Google AI представил метод [6] , который позволяет одной глубокой сверточной сети переноса стилей изучать несколько стилей одновременно. Этот алгоритм позволяет интерполировать стили в реальном времени, даже если это делается на видеоносителях.

Математика

Сплошные линии показывают направление прямого распространения данных. Пунктирные линии показывают обратное распространение градиента потерь. [7]

Этот раздел тесно связан с оригинальной статьей. [4]

Обзор

Идея нейронного переноса стиля (NST) заключается в том, чтобы взять два изображения — изображение контента и изображение стиля — и создать третье изображение , которое минимизирует взвешенную комбинацию двух функций потерь: потери контента и потери стиля .

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

И потеря контента, и потеря стиля измеряют сходство двух изображений. Сходство контента — это взвешенная сумма квадратов разностей между нейронными активациями одной сверточной нейронной сети (CNN) на двух изображениях. Сходство стиля — это взвешенная сумма матриц Грама в каждом слое (подробности см. ниже).

В оригинальной статье использовалась сверточная нейронная сеть VGG-19 , но метод применим к любой сверточной нейронной сети.

Символы

Пусть будет изображением на входе CNN.

Пусть будет матрицей откликов фильтра в слое на изображение , где:

Входное изображение кодируется в каждом слое сверточной нейронной сети с помощью откликов фильтра на это изображение, при этом более высокие слои кодируют более глобальные характеристики, но теряют детали локальных характеристик.

Потеря контента

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

Потеря контента определяется как квадратичная ошибка между представлениями признаков сгенерированного изображения и изображением контента на выбранном слое CNN: где и — активации фильтра в позиции в слое для сгенерированных и изображений контента соответственно. Минимизация этой потери способствует тому, чтобы сгенерированное изображение имело схожее содержание с изображением контента, как это зафиксировано активациями признаков на выбранном слое.

Общая потеря контента представляет собой линейную сумму потерь контента каждого слоя: , где — положительные действительные числа, выбранные в качестве гиперпараметров.

Потеря стиля

Потеря стиля основана на матрицах Грама сгенерированных и стилевых изображений, которые фиксируют корреляции между различными ответами фильтров на разных уровнях CNN: где Здесь и являются записями матриц Грама для сгенерированных и стилевых изображений на уровне . Явно,

Минимизация этой потери способствует тому, чтобы сгенерированное изображение имело схожие характеристики стиля с изображением стиля, как это зафиксировано корреляциями между ответами признаков в каждом слое. Идея заключается в том, что корреляции паттернов активации между фильтрами в одном слое фиксируют «стиль» в порядке рецептивных полей в этом слое.

Как и в предыдущем случае, в качестве гиперпараметров выбраны положительные действительные числа.

Гиперпараметры

В оригинальной статье они использовали определенный набор гиперпараметров.

Потеря стиля вычисляется по для выходов слоев , , , , в сети VGG-19, и ноль в противном случае. Потеря контента вычисляется по для , и ноль в противном случае.conv1_1conv2_1conv3_1conv4_1conv5_1conv4_2

Соотношение .

Обучение

Изображение изначально аппроксимируется путем добавления небольшого количества белого шума к входному изображению и подачи его через CNN. Затем мы последовательно распространяем эту потерю обратно через сеть с фиксированными весами CNN, чтобы обновить пиксели . После нескольких тысяч эпох обучения (надеюсь) появляется то, что соответствует стилю и содержанию .

По состоянию на 2017 год при реализации на графическом процессоре для сходимости требуется несколько минут. [8]

Расширения

В некоторых практических реализациях отмечается, что полученное изображение имеет слишком много высокочастотных артефактов, которые можно подавить, добавив общую вариацию к общим потерям. [9]

По сравнению с VGGNet, AlexNet не очень хорошо подходит для переноса нейронного стиля. [10]

NST также был распространен на видео. [11]

Последующая работа улучшила скорость NST для изображений с помощью специальных нормализаций . [12] [8]

В статье Фей-Фей Ли и др. принята другая регуляризованная метрика потерь и ускоренный метод обучения для получения результатов в реальном времени (на три порядка быстрее, чем у Гейтиса). [13] Их идея заключалась в том, чтобы использовать не пиксельную потерю, определенную выше, а «перцепционную потерю», измеряющую различия между слоями более высокого уровня в CNN. Они использовали симметричную сверточную-деконволюционную CNN. Обучение использует функцию потерь, аналогичную базовому методу NST, но также регуляризует вывод для гладкости, используя потерю полной вариации (TV). После обучения сеть может использоваться для преобразования изображения в стиль, используемый во время обучения, с использованием одного прямого прохода сети. Однако сеть ограничена единственным стилем, в котором она была обучена. [13]

В работе Чэнь Дундонга и др. они исследовали слияние информации оптического потока в сетях прямой связи с целью улучшения временной когерентности выходных данных. [14]

Совсем недавно были исследованы методы NST на основе преобразования признаков для быстрой стилизации, которые не привязаны к одному конкретному стилю и позволяют пользователю управлять смешиванием стилей, например, преобразование отбеливания и окрашивания (WCT). [15]

Ссылки

  1. ^ Hertzmann, Aaron; Jacobs, Charles E.; Oliver, Nuria; Curless, Brian; Salesin, David H. (август 2001 г.). «Аналогии изображений». Труды 28-й ежегодной конференции по компьютерной графике и интерактивным технологиям . ACM. стр. 327–340. doi :10.1145/383259.383295. ISBN 978-1-58113-374-5.
  2. ^ Эфрос, Алексей А.; Фримен, Уильям Т. (август 2001 г.). «Сшивание изображений для синтеза и переноса текстур». Труды 28-й ежегодной конференции по компьютерной графике и интерактивным технологиям . ACM. стр. 341–346. doi :10.1145/383259.383296. ISBN 978-1-58113-374-5.
  3. ^ Гатис, Леон А.; Экер, Александр С.; Бетге, Маттиас (26 августа 2015 г.). «Нейронный алгоритм художественного стиля». arXiv : 1508.06576 [cs.CV].
  4. ^ ab Gatys, Leon A.; Ecker, Alexander S.; Bethge, Matthias (2016). Передача стиля изображения с использованием сверточных нейронных сетей. Конференция IEEE по компьютерному зрению и распознаванию образов (CVPR). стр. 2414–2423.
  5. ^ "Очень глубокая CNNS для крупномасштабного визуального распознавания". Robots.ox.ac.uk . 2014 . Получено 13 февраля 2019 .
  6. ^ Дюмулен, Винсент; Шленс, Джонатан С.; Кудлур, Манджунат (9 февраля 2017 г.). «Изученное представление художественного стиля». arXiv : 1610.07629 [cs.CV].
  7. ^ Чжан, Астон; Липтон, Закари; Ли, Му; Смола, Александр Дж. (2024). "14.12. Neural Style Transfer". Погружение в глубокое обучение . Кембридж, Нью-Йорк, Порт Мельбурн, Нью-Дели, Сингапур: Cambridge University Press. ISBN 978-1-009-38943-3.
  8. ^ ab Хуан, Сюнь; Белонжи, Серж (2017). «Произвольная передача стиля в реальном времени с адаптивной нормализацией экземпляра»: 1501–1510. arXiv : 1703.06868 . {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  9. ^ Цзин, Юнчэн; Ян, Ечжоу; Фэн, Цзунлей; Йе, Цзинвэнь; Ю, Ичжоу; Сун, Мингли (01 ноября 2020 г.). «Передача нейронного стиля: обзор». Транзакции IEEE по визуализации и компьютерной графике . 26 (11): 3365–3385. arXiv : 1705.04058 . дои : 10.1109/TVCG.2019.2921336. ISSN  1077-2626. ПМИД  31180860.
  10. ^ "Передача нейронного стиля с помощью глубокого обучения | Блог Даварса". dawars.me . Получено 2024-09-23 .
  11. ^ Рудер, Мануэль; Досовицкий, Алексей; Брокс, Томас (2016). «Передача художественного стиля для видео». Распознавание образов . Конспект лекций по информатике. Том 9796. С. 26–36. arXiv : 1604.08610 . doi :10.1007/978-3-319-45886-1_3. ISBN 978-3-319-45885-4. S2CID  47476652.
  12. ^ Ульянов, Дмитрий; Ведальди, Андреа; Лемпицкий, Виктор (2017-11-06). «Нормализация экземпляров: недостающий ингредиент для быстрой стилизации». arXiv : 1607.08022 [cs.CV].
  13. ^ ab Джонсон, Джастин; Алахи, Александр; Ли, Фей-Фей (2016). «Потери восприятия при передаче стиля в реальном времени и сверхразрешении». arXiv : 1603.08155 [cs.CV].
  14. ^ Чен, Дундун; Ляо, Цзин; Юань, Лу; Ю, Нэнхай; Хуа, Банда (2017). «Последовательная передача стилей онлайн-видео». arXiv : 1703.09211 [cs.CV].
  15. ^ Ли, Ицзюнь; Фанг, Чен; Ян, Джимей; Ван, Чжаовэнь; Лу, Синь; Ян, Мин-Сюань (2017). «Передача универсального стиля посредством преобразования функций». arXiv : 1705.08086 [cs.CV].