
Идея
Анри де Тулуз-Лотрек — французский художник-постимпрессионист. В своих произведениях он передавал атмосферу Парижа конца XIX века. Отличительная черта его картин — это характерные стилизованные лица людей и работа с цветом. Живописец, работая с цветом, сочетал пастельные цвета с яркими и чистыми, из-за чего на его полотнах присутствуют приятные контрасты в то же время много воздуха и ощущение туманного окружения. Идея данного проекта это обучение модели Stable Diffusion для создания генераций в стиле произведений Анри де Тулуза-Лотрека.


Датасет
Для выполнения поставленной задачи был создан датасет, в который вошли 50 разнообразных произведений Анри де Тулуз-Лотрека. Тем не менее, на каждом изображении можно выделить черты, благодаря которым стиль художника стал узнаваемым. Благодаря такому стилистическому насыщению в собранном датасете, модель Stable Diffusion сможет воспроизвести в генерациях выбранный стиль.
Серия полученных генераций


Самые первые генерации получались не совсем похожие, модель использовала бледные однотонные оттенки. Полученные изображения были похожи на старые снимки или карандашные наброски, что не было характерным для стиля Анри де Тулуз-Лотрека.
Поэтому для следующих генераций в промт были добавлены такие словосочетания как: более яркие, чистые цвета, светлые оттенки.


После изменения промта полученный результат стал соответствовать поставленной задаче.


В основном живописец вдохновлялся танцовщицами и балеринами в тогда привычной для них обстановке, например бары, танцевальные залы, гримерки. Фон на картинах Тулуз-Лотрека как бы сливался и представлял собой нечто общее, размытое, но дополняющее и выделяющее образ прекрасных дам.


Нежные и воздушные платья, характерные лица — вот то, что хотелось увидеть на итоговых генерациях, и нейросеть смогла это воспроизвести.


Также, еще одной особенностью стиля французского художника были наброски, которые выглядели нежными и завершенными за счет правильно выделенных частей и таких важных контрастов. Для того, чтобы модель создала сгенерировала набросок, в промт был добавлен запрос: набросок девушки в платье в полный рост.


Далее промт незначительно менялся, использовались такие запросы как: портрет женщины в платье, крупный план, наброски, две женщины-балерины. В каждом полученном изображении чувствовался стиль Анри де Тулуз-Лотрека.




Более того, модель начала выдавать изображения с одной и той же девушкой в разной одежде и словно в разные эпохи ее жизни, хотя изначальной такой цели не было.




Следующим шагом было добавление в промт: танцующая девушка в платье, поэтому модель начала выдавать девушек в динамике, с развивающимися платьями.








В заключении можно сказать, что модель справилась с задачей и использовала те же приемы и стилистические решения, что и Анри де Тулуз-Лотрек в своих произведениях.
Обучение модели
Процесс обучения происходил в среде Google Colab — облачный сервис для программирования на Python.
Первым шагом было переключение среды выполнения с CPU на GPU, так как GPU позволяет выполнять задачи гораздо быстрее.
Далее нужно было установить важные составляющие и библиотеки с GitHub.
Далее в коде происходила работа с датасетом. Его нужно было добавить в виде заготовленных файлов и дать ему название.
Чтобы убедиться, что все файлы из датасета успешно подкреплены, часть из них нужно было вывести на экран.
В этом фрагменте кода выполняется подготовка датасета для того, чтобы обучать нейросеть. Были созданы JSONL-файлы с подписями к картинкам.
В этой части кода осуществляется установка параметров и само обучение модели Stable Diffusion.
После конца обучения, полученные данные были загружены на платформу Hugging Face. Там они будут использоваться для собственных генераций.
Последний шаг — генерация изображений по запросу. Промт можно было менять и дополнять, готовые изображения выводились на экран.
Источники изображений https://gallerix.ru/storeroom/1109489640/
Использованные нейросети https://huggingface.co/docs/transformers/en/model_doc/blip — BLIP для генерации текстовых описаний к изображениям https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0 — Stable Diffusion XL base 1.0 для генерации изображений