507
0,2
2016-03-10
Нейросеть превращает каракули в художественные шедевры
Программа 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/