Концепция
Цель проекта — создать модель LoRA, чтобы генерировать пейзажи в художественном стиле Винсента Ван Гога. Работы Ван Гога обладают широкими мазками, яркими, часто контрастными цветами, завихрениями. Я использовал LoRA, поскольку это не требует большого объема данных и создания оригинальной модели. Такой подход экономит время, ускоряет обучение и даёт возможность легко переключаться между стилями, просто заменяя LoRA модель при генерации изображения.
Примеры изображений для обучения LoRA






Было взято 20 картин Винсента Ван Гога из свободных источников.
Все изображения были приведены к разрешению 512×512 пикселей. Для каждой из картин были составлены текстовые описания, например: «Van Gogh style, green grass, dirt road, city walls, sky, expressive landscape». Это позволит модели уловить визуальные и смысловые значения у введённых изображений.
Как основа была взята модель Stable Diffusion v1-5 от czl, которая хорошо подходит под текущую задачу и не создаёт проблем с авторскими правами.
Подготовка перед обучением модели




Результаты обучения


Van Gogh style, wheat field, swirling clouds, cypress tree, bold brushstrokes
Как мы можем увидеть, модель переняла стиль, но всё ещё создаёт артефакты при генерации. Это может быть объяснено малой выборкой исходных данных и устаревшей моделью Stable Diffusion.


Van Gogh style, field, clear sky, trees, bold brushstrokes
После проверки другого промпта, модель показала те же проблемы. Изначальные изображения обладали малым кол-вом разнообразия, поэтому она с трудом выходит за рамки.


Van Gogh style, green field, clear sky, red flowers, bold brushstrokes
После третьего промпта стало ясно что модель не поняла мелких деталей. Например, цветы появляются как пятна или просто влияют на основной цвет.
Процесс обучения
Перед началом работы необходимо сделать несколько действий: Обрезать исходные изображения до 512×512 пикселей и создать блокнот с описанием каждого из них.
Скриншот описания изображений
После этого необходимо создать папку «images» в Google Collab и загрузить в неё все изображения. Файл с текстовым описанием нужно назвать «captions» и загрузить в папку, где находится папка «images».
После подготовки файлов начинается подготовка компонентов для генерации и работы кода.
После этого создаётся непосредственно LoRA и настраивается DataSet из изображений.
После создания DataSet’а задаем параметры для обучения и запускаем сам процесс. Я использовал 100 итераций для обучения.
Когда процесс завершён, необходимо сохранить модель. После этого можно задавать промпт и генерировать изображения.
После короткого ожидания получаем изображение.
Выводы по работе
Мне удалось доказать возможность повторения художественного стиля с помощью метода LoRA. Полученные изображения сохраняют узнаваемые черты живописи Винсента Ван Гога, но требуют большего количества вводной информации, если требуется проецировать стиль на разные объекты.
Идея не является оригинальной, но факт повторения стиля всего при помощи 20 изображений является пугающим. Если иметь большее число исходных данных, то можно легко создавать пародии / копии или создавать Deep Fake изображения.
Ссылки




