Программа Neural Doodle, сделанная на основе свёрточной нейросети, представляет собой скрипт doodle.py
, который генерирует изображения, принимая три-четыре картинки в качестве входных параметров. В том числе на вход подаётся простенький набросок (то что авторы называют «каракулями») и образец стиля с его наброском. Например, в случае с примером выше образцом стиля является такая картина Ренуара.
Нейросеть извлекает характерные стилевые особенности — и переносит их на набросок.
Вот ещё один пример.
Образец стиля от Клода Моне.
Для запуска программы нужен Python 3.4+, установленные библиотеки numpy
и scipy
, а также python3-dev
. Для работы скрипта потребуется предварительно обученная нейросеть (VGG19, 80 МБ). Инструкции по установке локального окружения см. здесь.
Для рендеринга на GPU требуется хорошая карта Nvidia с поддержкой технологии CUDA и 2-4 ГБ памяти (для больших изображений — 8-12 ГБ). Рендеринг можно запустить и на CPU, в этом случае нужно примерно такое же количество оперативной памяти.
Конструкция нейросети описана в научной работе автора "Semantic Style Transfer and Turning Two-Bit Doodles into Fine Artworks", которую он подготовил для конференции nucl.ai Conference 2016.
Нейросеть использует алгоритм синтеза изображений, который предложен исследователями Чуан Ли (Chuan Li) и Майклом Вандом (Michael Wand) в научной работе "Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis".
Автор: alizar