
Идея проекта
Идея проекта заключалась в до-обучении нейросети на собственном стиле рисования.
Особенности стиля: использование аэрографа и лассо, стилизованные волосы и складки, «рендер» поверхностей с отчетливым контуром после лассо и аэрографа, следы «карандашного» контура.
Часть работ — крупные портреты, сделанные по фото или кадрам из фильмов. Часть работ — стадики скульптур двух скульпторов с отличительными чертами стиля: Бет Кавенер (животные) и Choi Xooang (люди).
Итоговая цель: получить серию с людьми и животными в похожих локациях и цветовой гамме, с узнаваемым почерком.
Исходные изображения для обучения
Для до-обучения нейросети изображения были уменьшены и кадрированы до размера 512×512 пикселей. В блоке приводятся изображения в своем исходном размере. Всего в датасете было 12 изображений.






Процесс обучения
Обучение было выполнено со следующими настройками: -resolution=512 -max_train_steps=1000 -checkpointing_steps=250
В остальном соответствовало базовому обучению с курса.
Обучение длилось полтора часа, после чего модель была выгружена на Hugging face.
Для удобства в ноутбук был добавлен код для множественной генерации (в одной ячейке несколько промтов), а так же возможность сохранять получившиеся изображения в папку outputs. Изображения сохранялись со временем генерации + промтом, по которому были сгенерированы.
Так же была добавлена возможность упаковать папку в zip, чтобы в последующем скачать за одно действие.
Данные изменения были осуществленны с помощью Chat GPT.
Первые иттерации
Первые генерации были выполнены со 100% влиянием дообучения. Хотя часть стилевых черт удалось ухватить, картинки все еще были не такого высокого качества.
Здесь видно, как нейросетью был ухвачен стиль волос и челки, сделанный лассо.
Лиса уже имеет черты фактурной шерсти, как в примерах, пусть и идет в комплекте с некоторой размытостью и артефактами.
С добавлением окружения картинка стала чуть лучше, все еще сохраняется текстура волос.
На этом изображении хорошо переданы мазки лассо на лице: видны явные контуры. В целом наиболее удачная картинка в контексте похожести. *Ни одной из картин не удалось сохранить карандашного подслоя, возможно это не было так явно выражено в датасете.
Итоговая серия изображений
Генерации были выполнены со следующими настройками: pipe.load_lora_weights («rybkakon_style_LoRA/checkpoint-500») pipe.fuse_lora (lora_scale=0.8)
С помощью Chat GPT были созданы промты для генерации. Они содержали следующее:
- Главный персонаж: девушка, парень, животное. - Локация: улица города, поле с цветами, снежный лес, дождливая улица, ночной город, темный лес. - Цвета: серый, синий, желтый, салатовый, белый, рыжий. - Животные: лиса, волк, олень, фенек, собака, кот, фенек, заяц.
Люди
Из-за того, что в датасете в основном были темноволосые и азиаты, они получались у нейросети ближе всего. В данной выборке отлично видно, как рыжие люди становятся более реалистичными, чем стилизованными. *То же самое с людьми на темном фоне. Появились яркие блики и более агрессивный рендер. На части картинок у персонажей отстутствуют зрачки.
Животные
Хотя нейросеть была обучена всего лишь на трех животных (волк, красный волк и олень), хорошо получались и другие. Например, кошка и собака. При этом мазки оставались считываемыми.
Описание применения генеративной модели
Для до-обучения и создания изображений была использована модель генеративной нейросети Stable Diffusion.
Для написания промтов по заданым параметрам, а так же для добавления блока с сохранением изображений в zip в kaggle была использована текстовая генеративная нейросеть Chat GPT.