Original size 537x743

Обучение генеративной нейросети под стиль картин художника Клода Моне

PROTECT STATUS: not protected

КОНЦЕПЦИЯ

Клод Моне — великий художник с выразительным видением прекрасного. В своих работах он часто отражает тонкую натуру природы через просторные луга с полевыми цветами и водоемами, наполненными фигурными кувшинками.

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

big
Original size 900x468

«Кот, спящий на кровати»/ Клод Моне / ок. 1865–1870

Цель данного проекта — обучить нейросеть генерировать изображения в стилистике картин Клода Моне, на которых присутствует знаменитый сердитый кот, который получил популярность среди интернет-пользователей.

«grumpy cat» — кот породы сноу-шу, ставший одним из главных мемов 2013 года.

Процесс обучения генеративной модели Stable Diffusion XL был выполнен в облачной среде Kaggle с использованием графического процессора GPUp100 для ускорения обучения, а так же методы Dream Booth для обучения модели по новой концепции и LoRA для эффективного обучения модели и экономии вычислительных ресурсов.

Вот несколько примеров из подобранного датасета с картинами художника:

«Водяные лилии», 1919 г.

«Кувшинки», 1917 г.

«Водяные лилии и японский мост», 1899 г.

«Мост Ватерлоо», 1905 г.

«Парламент», 1905 г.

«Парламент», 1905 г.

«Парк Монсо», 1878 г.

«Пейзаж близ Монте-Карло», 1883 г.

«Завтрак на траве», 1866 г.

«Женщины в саду», 1866 г.

СГЕНЕРИРОВАННЫЕ ИЗОБРАЖЕНИЯ

prompt = " photo collage in Monet style, a grumpy cat photoshopped into Monet’s 'Luncheon on the Grass', glaring at the people for having fun "

prompt = " photo collage in Monet style, a grumpy cat in Monet’s painting 'Fields of tulips in Holland' with a mill in the background "

prompt = " photo collage in Monet style, a grumpy cat superimposed onto Monet’s bridge at Argenteuil "

prompt = " photo collage in Monet style, a grumpy cat floating on a lily pad in Monet’s pond, radiating negativity "

prompt = " photo collage in Monet style, a grumpy cat replacing the sun in Monet’s 'Impression, Sunrise', adding extra gloom "

Серия изображений, сгенерированных нейросетью, получилась в заданной стилистике картин Клода Моне и с точно отраженным grumpy cat. Нейросети удалось сохранить элемент мазка кистью маслом, внедрить сердитого кота в композицию картин, минимально изменив их детали.

ПРОЦЕСС ОБУЧЕНИЯ

Используя исходный код, был запущен процесс до-обучения нейросети, установив графический процессор GPU, а так же библиотеки bitsandbytes и diffusers.

- Импорт датасета —

Затем следует загрузка датасета с исходными изображениями картин художника, размером 512×512 пикс.

Original size 1160x333
Original size 1158x453

- Процесс caption —

Создаётся локальная директория со списком изображений, путь к ним с помощью imgs_and_paths и файл с подписями к этим изображениям.

Original size 1143x175
Original size 1149x246

- Запуск команды accelerate —

Команда accelerate позволяет запустить обучение модели stable-diffusion-xl и здесь указываются все необходимые данные. Было применено 500 шагов для генерации изображений с разрешением 512×512 пикс. и через каждые 250 шагов модель сбрасывает текущее состояние на диск.

Original size 1148x540

Далее запускаю код для сохранения модели на huggingface_hub и приступаю к генерации изображениям на основе существующего датасета и генерирую промты.

Original size 1147x335

Пример готового промта:

Original size 1145x133
Обучение генеративной нейросети под стиль картин художника Клода Моне