Original size 879x1135

Обучение генеративной модели на основе 3D персонажа

PROTECT STATUS: not protected
The project is taking part in the competition

[1] Концепция

Основная идея проекта заключалась в обучении модели на собственном персонаже, чтобы в дальнейшем генерировать изображения, сохрающие его узнаваемость. В качестве референса я взяла персонажа, разработанного на 2-м курсе.

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

[2] Датабаза

big
Original size 905x443

В качестве датабазы я использовала собственную 3D-модель персонажа. Датасет включал рендеры с разных ракурсов: фронтального, бокового и в три четверти, а также более детализированные кадры с крупными планами.

big
Original size 905x292

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

[3] Обучение модели

Сначала я настроила рабочую среду в Google Colab: подключила GPU и установила нужные библиотеки (diffusers, transformers и др.).

Далее загрузила свои изображения в папку и проверила, что они корректно открываются. После этого с помощью модели BLIP сгенерировала подписи к каждому изображению и добавила к ним указание моего стиля. Все данные сохранила в файл metadata.jsonl.

Original size 905x404

Затем очистила память и настроила accelerate, а также вошла в Hugging Face, чтобы потом сохранить модель.

Обучение проводилось с использованием DreamBooth LoRA на базе Stable Diffusion XL. Я задала основные параметры (разрешение, шаги обучения и т. д.) и запустила тренировку.

После окончания обучения модель сохранилась, и я загрузила её на Hugging Face.

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

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

[4] Итоговая серия

Original size 907x903

prompt [3d render in FISKA style, a girl in a room with a painting on the wall]

Вначале возникла проблема с отростками. На плечах они часто генерировались в избыточном количестве. Это связано с тем, что модель использовала слово «deer» , из-за чего она воспринимала их как рога и добавляла слишком активно.

Original size 905x294

prompt [3d render cute girl in FISKA style]

Интересно, что модель способна генерировать новые позы и ракурсы, которых и близко не было в датасете. При этом сохранялось изначальное «киношное» освещение.

Original size 907x445

prompt [3d render in FISKA style, a woman in a room, painting on wall, cinematic lighting, stylized]

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

Original size 905x292

prompt [3d render in FISKA style, a woman in a green dress and brown boots]

Сильно зависит результат и от формулировки промпта. Например, использование слова «woman» давало более реалистичный и „серьёзный“ образ, тогда как „girl» делало персонажа более стилизованным, поэтому для большего попадания в референс вносились корректировки в промпт.

Original size 906x294

prompt [3d render in FISKA style, a woman in a green and brown outfit]

По итогу, для лучшего попадания в референс нужно было прописать несколько условий:

  1. «Girl», чтобы получить мягкие черты лица.
  2. «Green outfit», это сохраняло одежду и детали.
  3. «Cinematic light» и «In  a  room with a  painting on  the wall». Эти словосочетания делали картинку интереснее, и как раз благодаря ним вышли нестандартные позы и ракурсы, которые мне больше всего понравились.
Original size 906x258

prompt [3d render in FISKA style, same woman character, crying, red hair, green outfit, asymmetrical arms]

Вывод

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

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

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

Original size 904x922

Использованные ресурсы

Google Colab — использовался как основная среда для обучения модели и генерации изображений благодаря доступу к GPU https://colab.research.google.com

Gemini 3 — применялась для анализа, генерации идей и решения отдельных задач в процессе работы

Hugging Face — использовалась для размещения и публикации обученной LoRA-модели, а также для её последующего применения: https://huggingface.co

ChatGPT — задействовался в процессе разработки для отладки кода, настройки окружения и повышения эффективности обучения модели: https://chat.openai.com

Обучение генеративной модели на основе 3D персонажа
Project created at 24.03.2026
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more