
Идея
Во время выполнения домашних заданий по курсу, пока устанавливались пакеты и обучались модели, я часто делала наброски на черновиках, чтобы занять себя. Со временем заметила повторяющийся мотив — звёзды со штриховкой, построенные поверх кругов. Мне стало интересно проверить, сможет ли нейросеть научиться воспроизводить этот почерк.
Цель проекта
Обучить лёгкий адаптер LoRA на основе Stable Diffusion XL, способный передавать характер моих ручных рисунков звёзд, выполненных синей шариковой ручкой на белой бумаге. Проект демонстрирует, как при помощи небольшой выборки авторских изображений можно передать выразительность и «живость» линии, сохранив узнаваемость формы и характер штрихов.
Концепция
Задача состояла не в копировании конкретных изображений, а в обучении модели улавливать пластичность линии, рукописный контур и лёгкий дрожащий след ручки, характерный для моих оригинальных рисунков. Таким образом, нейросеть должна уметь порождать новые композиции звёзд, при этом сохранять ощущение, что они созданы человеком от руки, а не сгенерированы алгоритмом.
Использованные данные
Для обучения использовались собственные рисунки звёздочек, выполненные синей шариковой ручкой. Все изображения были отсканированы, приведены к квадратному формату 512 × 512 px и разделены на две группы: single_512 — по одному элементу на изображение — 70 экземпляров, group_512 — композиции из нескольких звёзд — 14 экземпляров. Ниже приведены примеры исходных изображений, использованных для обучения модели:

Процесс обучения
Устанавливаю зависимости для обучения:
Копирую данные из датасета my-stars:
Готовлю accelerate и скрипт обучения:
Обучение LoRA:
Удаляю тяжелые пакеты после обучения, чтобы хватило места для предиктов, и устанавливаю необходимые:
Далее модель для удобства была загружена на Hugging Face, при генерации изображений будем обращаться к ней.
Инициализирую пайплайн SDXL + LoRA:
Примеры работы модели
promt 1: many stars in MY-STARS style, thick lines, paper background, elegant symmetry promt 2: a constellation of MY-STARS style stars over watercolor background, dreamy atmosphere, light ink bleed
promt 3: a star in MY-STARS style, glowing lines, black background, elegant symmetry promt 4: MY-STARS style border pattern of hand-drawn stars, repeating motif, minimal watercolor background, clean negative space, stationery
promt 5: constellation in shape of a running fox, MY-STARS style, fine ink strokes, delicate watercolor glow, dreamy night sketch
Результаты
Что именно модель научилась передавать (элементы стиля): 1. Пластика линии и «дрожащий» рукописный контур. 2. Множественные полупрозрачные обводы, небольшие разрывы штрихов, рваные окончания линий. 3. Конструктивная геометрия. Пятиугольная основа, вытянутые вершины, «круг-подложка» вокруг звезды (следы построения). 4. Штриховка. Внутри формы часто появляется лёгкая сетка штрихов, как в оригиналах. 5. Материал/носитель. Стабильный синий цвет как у шариковой ручки и ощущение бумаги (чистая или слегка тонированная).
Как результаты соответствуют первоначальной идее: Исходная цель — передать почерк (не копировать конкретные картинки). В сгенерированных примерах видно, что модель: 1. сохраняет узнаваемость звезды и характер штрихов, 2. уместно варьирует масштаб, поворот, плотность, 3. может переносить стиль на новые композиции и даже на другой объект (пример с лисой) без потери рукописного ощущения. Это соответствует задуманному: генерации выглядят как «новые страницы блокнота», а не механически повторённые исходники.
Для генерации промптов к модели и редактирования подписей в блокноте/отчёте использовался ChatGPT