
Идея проекта
Целью проекта стало обучение генеративной нейросети стилю известнейшего художника Клода Моне. Он был одним из основоположников импрессионизма, в его работах много зелени и пейзажных мотивов, которые как бы «рябят» перед глазами.
Мне показалось, что для нейросети будет интересной задачей передать живописность полотен Моне в лучших традициях импрессионизма. Кроме того, с этической точки зрения для меня было важно, что работы Клода Моне уже стали общественным достоянием.


Полотна Клода Моне из собранного датасета
Мной был отобран датасет из 16 самых известных работ Клода Моне, больше всего передающих стиль художника. Я старалась подбирать разнообразные картины: зеленые и городские пейзажи, с людьми и без.


Полотна Клода Моне из собранного датасета
Применение генеративной модели
Подгружаю датасет в Google Colab


Фрагменты кода
Далее я проверила выгрузку и сгенерировала к картинкам в датасете подписи
Фрагменты кода
Фрагменты кода
Далее был запущен код для экономии памяти, а также подготовка к обучению и вход на Hugging Face

А теперь наконец-то перехожу к самому обучению генеративной нейросети! Всего было 500 шагов с чекпоинтом на 250-м. Процесс обучения занял чуть более 40 минут
Сохранила полученную модель на Hugging face и приступила к генерации!
Фрагменты кода
Генерация изображений
Первые пробы генерации я решила сделать на похожую на оригинальные картины Моне тематику: пейзажи и гуляющие люди.


Промты: «photo collage in MONET style, landscape with cows and forest"//"photo collage in MONET style, lake with horses and butterflies»
На удивление, все было супер и сгенерированные картинки правда было сложно отличить от оригинальных полотен!
Промт: «photo collage in MONET style, two people walking with a dog and an elephant»
А вот с первой попыткой генерации людей были проблемы, но я решила что все дело в странном промте и пошла генерировать дальше
Промт: «photo collage in MONET style, portrait of a young girl with pink hair»
И следующая же генерация портрета удалась!
Промт: «photo collage in MONET style, portrait of a lovely kissing couple»
Попробовала сгенерировать людей в полный рост и все получилось! Теперь это моя любимая картинка из всех полученных
Начала пробовать чуть-чуть отходить от тематики картин Клода Моне, и результаты получились чуть хуже чем раньше


Промты: «photo collage in MONET style, dark and moody portrait of a sad old man"//"photo collage in MONET style, cat with a mouse in it’s mouth»
Если с проблемами кошек на правой картинке все понятно, то старик на левой мне показался недостаточно похожим на стиль Моне, хоть в коде я ничего и не меняла
Подумала что дело именно в стариках, но следующая генерация с ними стала отличной
Промт: «photo collage in MONET style, two old men playing poker in a dark room»
Дальше я начала пробовать отходить от Моне еще дальше, но первая же проба с чем-то современным не сильно отличалась от другой подобной из начала
Промты: «photo collage in MONET style, cyber punk city"//"photo collage in MONET style, busy city with a lot of people»
Попробовала сгенерировать чего-то совсем непохожее на Моне, все получилось!
Промт: «photo collage in MONET style, portrait of a bloody scary monster»
Ну и в конце попыталась сгенерировать человека с современным гаджетом, и тут тоже все было хорошо!
«photo collage in MONET style, young man with piercing using a phone»
Итоги
У нейросети прекрасно получилось обучиться стилю Клода Моне! Причем получается у нее максимально точно — все отличительные черты стиля переданы прекрасно. Конечно, сюжеты близкие к картинам художника генерируются лучше, но и современных вещей от нее можно добиться. Мне кажется, мой опыт обучения генеративной нейросети можно считать успешным!
Использовались: — Stable Diffusion — Google Colab
Ссылки: блокнот с кодом: https://colab.research.google.com/drive/1fFR6wxb2NIkgM0ZcwHHSFYCYXIauN9Ca?usp=sharing Hugging Face: https://huggingface.co/reppoly/monet_style_LoRA Датасет с изображениями: https://drive.google.com/drive/folders/1XmkAYALO2kk9F13rnJv6TM8w9d132bLD?usp=sharing