Original size 1140x1600

обучение генеративной модели

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

Цель проекта — обучить нейросеть Stable Diffusion стилю генерации персонажа без лица.

Предпосылки

Идея возникла на поле заигрывания с деанонимизацией, на которую вдохновил проекта Зака Бласа «Facial Weaponization Suite», 2011–14. Это проект, борющийся с деанонимизацией, в ходе которого была создана маска, чтобы технологии тех времен, распознающие лица, не смогли проидентифицировать человека.

big
Original size 2880x1800

Zach Blas, «Facial Weaponization Suite», 2011–14

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

Концепция

Обучить нейросеть генерировать персонажа без лица (с чем у LoRA проблемы)
это может быть полезно для стокового использования картинок, которые подразумевают намеренную скрытность и анонимность, ведь люди привыкли к идентификации друг друга и в технологиях по лицу. За основу обработки взята не так давно популярная дримкор эстетика.

За основу была взята собственноручно произведённая съёмка, задающая рамки для персонажа.

Original size 2480x1637

Пошаговое написание кода

Сначала в локальную директорию гугл коллаба были загружены изображения для дальнейшего обучения.

Original size 2704x986

Была подключена учётная запись на Hugging Face, создан триггер и токен для каждого из изображений для дальнейшего на них обучения

Original size 2712x266
Original size 2708x778

На обучение модели ушло около часа с параметрами разрешения 512×512, размер батча 2, градиент накоп 3 и максимальным количеством шагов 400 с чекпоинтом на середине

ГенИИ в проекте помимо обученной нейросети не использовался

Original size 2704x698

В конце для удобства модель сохранена на учетную запись Hugging Face, чтобы оптимизировать процесс использования и не потерять прогресс сеанса гугл коллаб

Original size 2704x1018

Затруднения и решения

при первом запуске этапа обучения модели, я столкнулась с ошибкой вызванной нахождением файла «metadata.jsonl» в папке с датасет изображениями, и при обработке он пытался обработать этот файл как другие изображения, из-за чего возникала ошибка

PIL.UnidentifiedImageError: cannot identify image file '/content/character_data/metadata.jsonl'

поэтому перед этим, я вынесла файл «metadata.jsonl» из папки «haracter_data» в папку «content» с помощью этого кода:


! mv /content/character_data/metadata.jsonl /content/metadata.jsonl #переместила ! ls /content/character_data #проверила, что остались только картикни


из-за нетипичного запроса на «отсутствие лица у персонажа», после оптимизирующей ячейки из исходного кода


vae = AutoencoderKL.from_pretrained («madebyollin/sdxl-vae-fp16-fix», torch_dtype=torch.float16) pipe = DiffusionPipeline.from_pretrained ( «stabilityai/stable-diffusion-xl-base-1.0», vae=vae, torch_dtype=torch.float16, variant="fp16», use_safetensors=True ) pipe.load_lora_weights («cyalpa/dreamcore_tok_girl_LoRA») pipe.fuse_lora (lora_scale=0.5) _ = pipe.to («cuda»)



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

Итоги

Модель уловила общие черты стиля, а именно: она соблюдает как минимум 3 параметра (наличие женской фигуры в белой одежде и с длинными волосами). Основная идея с загорождением лица вспышкой удалась не полностью, вероятно потому, что в понимании модели изначально все люди должны быть с лицами и это перевешивает идею мной собранного датасета. Однако вспышки появляются либо рядом, либо просто присутсвуют на генерации. Так же при некоторых итерациях лицо было закрыто, но не полностью или не вспышкой.

Самые удачные генерации

Original size 1573x1573
0

Не полностью соответствующие

Original size 3123x1024
Original size 3123x1549
Original size 2142x1625
Original size 3123x1549
обучение генеративной модели
Project created at 23.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