Идея проекта
Основная цель проекта — обучение модели Stable Diffusion XL генерации изображений в уникальном стиле моих детских рисунков.В детстве рисунок не требовал объяснения. Пропорции могли быть неправильными, цвета — неожиданными, а предметы — совершенно не похожими на свои реальные прототипы. Не было необходимости следовать правилам композиции, добиваться реалистичности или придерживаться определённого стиля.В этом проекте я обращаюсь к архиву собственных детских рисунков. Мне интересно, смогу ли я не просто повторить старые рисунки, а продолжить их.
С помощью генеративной нейросети Stable Diffusion и инструментов DreamBooth и LoRA я хочу научить модель воспроизводить ту самую эстетику: штрихи карандаша, неоднородные мазки краски, случайные наложения ярких цветов, нарушенные пропорции и свободные контуры. В результате будет создана серия несуществующих детских рисунков — изображений, которых я никогда не рисовала, но которые вполне могли бы появиться в моём альбоме много лет назад.
Ниже я подробно расскажу обо всех этапах работы: от сбора датасета до генерации финальной серии.
[1] Сбор и подготовка датасета
Для обучения необходимо было собрать от 10
до 200 квадратных изображений (соотношение сторон 1:1) хорошего качества. В моём случае это 28 сканов собственных детских рисунков, включающих портреты, пейзажи, рисунки животных и растений.






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

Все изображения для обучения
[2] Настройка среды в Google Colab и подготовка данных
Я использую предоставленный код, адаптируя его под свою тему. Все действия выполняются в Google Colab (среда с GPU). Первым делом проверяем доступность GPU и устанавливаем необходимые библиотеки. Сканы рисунков я предварительно обработала: убрала тени от рук и телефона, выровняла фон и привела изображения к квадратному формату 512 × 512 пикселей, сохранила их на диск в папку «nastyadraw» и затем подгрузила в Google Colab.
Для проверки датасета я вывела изображения в общую сетку, чтобы убедиться, что все файлы корректно загружены.
[3] Обучение модели DreamBooth LoRA для Stable Diffusion XL
Для каждого изображения мы генерируем описание и дописываем в начало ключевую фразу «nastyadrawstyle». Чтобы автоматизировать этот процесс, я использовала модель BLIP — нейросеть, которая анализирует изображение и генерирует описание его содержания.
Эта фраза станет идентификатором стиля — именно по ней нейросеть будет узнавать, что нужно рисовать в нашем особом настроении. Все пары «имя файла → текст» были сохранены в файл metadata.jsonl, который использовался при обучении. После этого удаляем BLIP из памяти, чтобы освободить ресурсы.
Для доступа к моделям и возможности сохранить обученную LoRA на Hub вводим токен авторизации.Поскольку Stable Diffusion XL оказалась слишком тяжёлой для бесплатного Colab, мы переходим на более лёгкую, но не менее качественную модель — Stable Diffusion 1.5 , которая позволяет обучать сравнительно небольшое количество дополнительных параметров вместо всех весов исходной модели. Для неё нужен скрипт train_text_to_image_lora.py. Он позволяет обучать LoRA на собственном датасете с индивидуальными подписями.Затем запускаем обучение LoRA!
[4] Загрузка обученной LoRA и настройка пайплайна
В результате обучения были получены дополнительные веса LoRA, сохранённые в папке nastyadraw_lora_sd15. После завершения обучения я загрузила базовую Stable Diffusion 1.5 и подключила к ней полученные веса LoRA.
Примеры промтов:«а child’s drawing of girl playing near a river, happy atmosphere, big sun»«а child’s drawing of a fairy tale castle on a hill, soft clouds»«а child’s drawing of a garden with sunflowers, a bird and butterflies are fluing»«а child’s drawing of a hedgehog on the grass carrying an apple on its back, large apples are flying in the sky»«а child’s drawing of a smiling blue whale swimming with tiny colorful fish»
Итоговая серия генераций


промт 1: «а child’s drawing of a field of flowers and clouds in the blue sky» промт 2: «а child’s drawing of a fairy tale castle on a hill, soft clouds»


промт 1: «а child’s drawing of a big birthday cake, balloons» промт 2: «а child’s drawing of a hedgehog on the grass carrying an apple on its back, large apples are flying in the sky»


промт 1: «а child’s drawing of a snowman» промт 2: «а child’s drawing of a summer beach with a big yellow sun, palm trees and colorful umbrellas»
Как мы видим, нейросеть смогла передать характерные особенности моих детских рисунков: яркие, насыщенные цвета, неровные контуры, свободную штриховку и нарочито простые формы. Изображения сохранили непосредственность и наивность, свойственные детскому творчеству.Особенно интересно, как модель интерпретирует новые сюжеты: привычные предметы приобретают необычные пропорции, цвета выходят за контуры, а композиция выглядят хаотичной.


промт 1: «а child’s drawing of an orange hot air balloon flying over the green mountains» промт 2: «а child’s drawing of children playing on the field, the sky is blue»








