Вы можете использовать этот сайт для стилизации изображения с помощью нескольких методов передачи neural style .
Этот проект реализован в основном в Keras 2.1.3 (некоторая часть — Tensorflow)
Демо-видео
Быстрый neural style
нейронный стиль " style="max-width: 100%;">
Смена стиля
Стиль маски
Быстрый neural style
Реализация быстрого neural style основана на keras fast-neural-style-keras от misgod. Мы внесли в нее некоторые изменения, и этот метод основан на Perceptual Loses для передачи стиля в реальном времени и Super-Resolution Джонсона и др.
В текущей версии мы заменяем часть слоя Conv2D на разделимые по глубине свертки в сети преобразования изображений. Подробности процедур обучения будут добавлены в ближайшее время.
Смена стиля
Слой подкачки стилей взят из WCT-TF от eridgd, оригинальная статья — «Быстрая передача произвольного стиля на основе патчей», автор: Chen et al.
Стиль маски
Мы используем Mask R-CNN, который реализован Matterport, оригинальная статья Mask R-CNN — это Mask R-CNN, написанная He et al.
Python >= 3,5 (Анаконда)
CUDA >=8.0 (для поддержки графического процессора при использовании более новой версии необходимо проверить совместимость с версией tensorflow-gpu)
Cudnn >=6,0 (для поддержки графического процессора)
Колба 0.12.2
Керас 2.1.3
тензорный поток-GPU 1.4
сципи 1.0.0
scikit-изображение
пикокотул
изображение
пил
цитон
Вам также необходимо соответствовать требованиям Маска R-CNN.
Загрузите дистиллированные предварительно обученные модели и разархивируйте модели в models/fast_style_transfer/pretrained
, затем измените MODELS_PATH в models/file_path.py
и с помощью консоли переместите в корневую папку проекта и введите
python app.py
и откройте браузер, перейдите на локальный хост: 5000
Сначала вам необходимо загрузить набор данных COCO, мы используем обучающий набор 2014 года (83 тыс. изображений).
Быстрый neural style Оригинал
Вам нужно заполнить строку пути в функции loss_net
в models/src/nets.py
к вашей предварительно обученной модели vgg16. Обратите внимание, что ваши тренировочные изображения следует помещать в такую папку, как cocotrain/0/xxx.jpg
поскольку мы используем ImageDataGenerator для загрузки изображений, предполагается, что разные классы изображений хранятся в разных папках.
Подготовьте изображение стиля и поместите его в static/img/styles/
.
Введите команду ниже, чтобы обучить модель. Это пример, показывающий, что если мои обучающие изображения хранятся в корневой папке проекта и, скажем, я хочу обучить стиль с именем мозаика.
python train_fast_model.py -p ./cocotrain -s mosaic
Вы также можете настроить вес контента и стиля, введите -h, чтобы увидеть все аргументы.
python train_fast_model.py -h
Быстрый neural style Дистиллированный
Вам нужны оригинальные предварительно обученные модели neural style , вот ссылка на оригинальные предварительно обученные модели.
Запустите generate_image.py
. Вам также необходимо указать путь к набору данных COCO, используя -p
.
python generate_image.py -p ./cocotrain
train_distillated_model.py
, необходим путь к набору данных COCO и имя стиля. Ниже приведен пример. python train_distillated_model.py -p ./cocotrain -s mosaic
Модель смены стилей
Вам понадобится не только набор данных COCO, но и множество изображений стилей. Как и в случае с бумагой, мы используем Painter by Numbers. Обратите внимание, что ваши тренировочные изображения и изображения стилей следует помещать в такие папки, как cocotrain/0/xxx.jpg
и styleimages/0/xxx.jpg
.
train_style_swap_model.py
, необходим путь к набору данных COCO и изображения стилей. Ниже приведен пример. python train_style_swap_model.py -p ./cocotrain -s ./styleimages