Передача нейронного стиля ( NST ) относится к классу программных алгоритмов, которые манипулируют цифровыми изображениями или видео, чтобы перенять внешний вид или визуальный стиль другого изображения. Алгоритмы NST характеризуются использованием глубоких нейронных сетей для преобразования изображений. Обычно NST используется для создания искусственных произведений искусства из фотографий, например, путем переноса внешнего вида известных картин на фотографии, предоставленные пользователем. Некоторые известные мобильные приложения используют для этой цели методы NST, включая DeepArt и Prisma . Этот метод использовался художниками и дизайнерами по всему миру для разработки новых произведений искусства на основе существующих стилей.
Алгоритмы передачи более ранних стилей
NST - это пример стилизации изображения , проблема, изучаемая более двух десятилетий в области нефотореалистичного рендеринга . Первыми двумя примерами алгоритмов переноса стилей были « Аналогии с изображениями» [1] и «Квилтинг с изображениями». [2] Оба эти метода были основаны на алгоритмах синтеза текстуры на основе патчей .
Имея обучающую пару изображений - фотографию и иллюстрацию, изображающую эту фотографию - можно изучить преобразование, а затем применить его для создания нового изображения из новой фотографии по аналогии. Если бы обучающая фотография не была доступна, ее нужно было бы получить путем обработки входного изображения; Для квилтинга изображений этот этап обработки не требовался, хотя он был продемонстрирован только для одного стиля.
NST
NST был впервые опубликован в статье Леона Гэтиса и др. «Нейронный алгоритм художественного стиля», первоначально выпущенной для ArXiv 2015, [3] и впоследствии принятой экспертной оценкой Computer Vision and Pattern Recognition (CVPR) в 2016 году. [4]
NST основан на алгоритмах синтеза текстур на основе гистограмм , в частности на методе Портиллы и Симончелли. NST можно резюмировать как синтез текстур на основе гистограмм с функциями сверточной нейронной сети (CNN) для проблемы аналогий изображений. В исходной статье использовалась архитектура VGG-19 [5] , которая была предварительно обучена для распознавания объектов с использованием набора данных ImageNet .
В 2017 году Google AI представил метод [6], который позволяет одной сети передачи глубоких сверточных стилей изучать несколько стилей одновременно. Этот алгоритм позволяет выполнять интерполяцию стилей в реальном времени, даже если это делается на видеоматериалах.
Формулировка
Процесс NST предполагает входное изображение и пример стиля изображения .
Изображение подается через CNN, и сетевая активация дискретизируется на уровне поздней свертки архитектуры VGG-19. Позволять быть результирующим выходным образцом, называемым "содержанием" входных данных. .
Образ стиля затем передается через ту же CNN, и сетевая активация выбирается на раннем и среднем уровнях CNN. Эти активации кодируются в матричном представлении Грамиана , назовем его для обозначения «стиля» .
Цель NST - синтезировать выходное изображение. который демонстрирует содержание применяется со стилем , т.е. а также .
Итеративная оптимизация (обычно градиентный спуск ), затем постепенно обновляется чтобы минимизировать ошибку функции потерь:
,
где это расстояние L2 . Постоянная управляет уровнем эффекта стилизации.
Обучение
Изображение изначально аппроксимируется добавлением небольшого количества белого шума к входному изображению и подавая его через CNN. Затем мы последовательно распространяем эту потерю через сеть с фиксированными весами CNN, чтобы обновить пиксели. После нескольких тысяч эпох обучения (надеюсь), что соответствует стилю и содержание .
Алгоритмы обычно реализуются для графических процессоров , поэтому обучение занимает несколько минут. [ необходима цитата ]
Расширения
NST также был расширен на видео. [7]
Последующая работа улучшила скорость NST для изображений.
В статье Fei-Fei Li et al. применили другую регуляризованную метрику потерь и ускоренный метод обучения для получения результатов в режиме реального времени (в три раза быстрее, чем у Gatys). Их идея заключалась в использовании не потерь на основе пикселей, определенных выше, а, скорее, «потери восприятия», измеряющей различия между высокоуровневыми уровнями в CNN. Они использовали симметричный кодировщик-декодер CNN. При обучении используется функция потерь, аналогичная базовому методу NST, но также производится упорядочение выходных данных для обеспечения плавности с использованием потерь полной вариации (TV). После обучения сеть может использоваться для преобразования изображения в стиль, используемый во время обучения, с использованием одного прохода сети с прямой связью. Однако сеть ограничена одним стилем, в котором она обучалась. [8]
В работе Chen Dongdong et al. они исследовали объединение информации оптического потока в сети с прямой связью , чтобы улучшить временную когерентность выходных данных. [9]
Совсем недавно методы NST, основанные на преобразовании признаков , были исследованы для быстрой стилизации, которая не связана с одним конкретным стилем и обеспечивает управляемое пользователем смешивание стилей, например преобразование отбеливания и окраски (WCT). [10]
Рекомендации
- ^ «Аналогии с изображениями» (PDF) . Mrl.nyu.edu . 2001 . Проверено 13 февраля 2019 .
- ^ «Квилтинг с изображением» . graphics.cs.cmu.edu . 2001 . Проверено 4 февраля 2021 года .
- ^ Гэтис, Леон А .; Эккер, Александр С .; Бетге, Матиас (26 августа 2015 г.). «Нейроалгоритм художественного стиля». arXiv : 1508.06576 [ cs.CV ].
- ^ Бетге, Матиас; Эккер, Александр С .; Гэтис, Леон А. (2016). «Передача стиля изображения с помощью сверточных нейронных сетей» . Cv-foundation.org . С. 2414–2423 . Проверено 13 февраля 2019 .
- ^ «Очень глубокая CNNS для крупномасштабного визуального распознавания» . Robots.ox.ac.uk . 2014 . Проверено 13 февраля 2019 .
- ^ Дюмулен, Винсент; Шленс, Джонатон С .; Кудлур, Манджунатх (9 февраля 2017 г.). «Выученное представление художественного стиля». arXiv : 1610.07629 [ cs.CV ].
- ^ Рудер, Мануэль; Досовицкий, Алексей; Брокс, Томас (2016). «Передача художественного стиля для видео». arXiv : 1604.08610 [ cs.CV ].
- ^ Джонсон, Джастин; Алахи, Александр; Ли, Фэй-Фэй (2016). «Потери восприятия для передачи стиля в реальном времени и сверхвысокого разрешения». arXiv : 1603.08155 [ cs.CV ].
- ^ Чен, Дондон; Ляо, Цзин; Юань, Лу; Ю, Нэнхай; Хуа, Банда (2017). «Связная передача стилей онлайн-видео». arXiv : 1703.09211 [ cs.CV ].
- ^ Ли, Ицзюнь; Фанг, Чен; Ян, Джимей; Ван, Чжаовэнь; Лу, Синь; Ян, Мин-Сюань (2017). «Универсальный перенос стиля посредством преобразования функций». arXiv : 1705.08086 [ cs.CV ].