Исходный размер 1140x1600

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

Проект принимает участие в конкурсе

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

Предпосылки

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

big
Исходный размер 2880x1800

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

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

Концепция

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

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

Исходный размер 2480x1637

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

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

Исходный размер 2704x986

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

Исходный размер 2712x266
Исходный размер 2708x778

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

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

Исходный размер 2704x698

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

Исходный размер 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 параметра (наличие женской фигуры в белой одежде и с длинными волосами). Основная идея с загорождением лица вспышкой удалась не полностью, вероятно потому, что в понимании модели изначально все люди должны быть с лицами и это перевешивает идею мной собранного датасета. Однако вспышки появляются либо рядом, либо просто присутсвуют на генерации. Так же при некоторых итерациях лицо было закрыто, но не полностью или не вспышкой.

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

Исходный размер 1573x1573
0

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

Исходный размер 3123x1024
Исходный размер 3123x1549
Исходный размер 2142x1625
Исходный размер 3123x1549
обучение генеративной модели
Проект создан 23.03.2026
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше