Нейросеть превращает каракули в художественные шедевры





Программа 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".

Источник: geektimes.ru/post/272430/