Идея проекта
Цель моего исследования — изучить потенциал генеративного искусственного интеллекта для обогащения визуального языка авторского короткометражного метра.
Для этого я обучила персонализированную версию нейросети Stable Diffusion на материале собственного короткометражного метра . Основная задача заключалась в создании новых изображений, продолжающих эстетику и концепцию кадров, но выводящих их в область сюрреализма и абсурда, невозможного в реальной съёмке.
Датасет для обучения
Я переживала, что мне не хватит бесплатного времени процессора GPU на обучение по сюрреалистичному датасету и решила разбить обучение на 2 этапа, чтобы посмотреть после 1-го этапа, что получится.
Первоначально я выбрала 10 ключевых кадров из отснятого материала, отражающих стилистику американского ретро-интерьера 60-х годов и влияние режиссёра Уэса Андерсона. На этих кадрах персонажи и предметы размещены по центру, а дизайн выполнен в ярких цветах и минималистичном стиле.
Затем обрезала все кадры в квадратный формат (1:1) и задала разрешение 2160х2160 пикселей, чтобы нейросети было проще работать с композицией.
Из этих изображений получился первоначальный датасет Shock Advertising для обучения нейросети Stable Diffusion.
Кадры для обучения
Обучение модели
Описание модели с hugging face:
These are shock_output_LoRA LoRA adaption weights for stabilityai/stable-diffusion-xl-base-1.0. The weights were trained using DreamBooth. LoRA for the text encoder was enabled: False. Special VAE used for training: madebyollin/sdxl-vae-fp16-fix.
prompt: «collage of SHOCKADVERT style, a retro dress»
Код (промты)
В качестве trigger words для промптов генерации изображений я использовала «collage of SHOCKADVERT style, ...»
Например, мои промпты выглядели следующим образом: "collage of SHOCKADVERT style, a fish floating in a bowl of milk", "collage of SHOCKADVERT style, a rabbit sitting on a vinyl record", "collage of SHOCKADVERT style, a man on a TV screen".
prompt: «collage of SHOCKADVERT style, a tiger with a plate on its head»
Полученную модель с весами сохранила на hugging face, чтобы иметь возможность дообучить ее.
prompt: «collage of SHOCKADVERT style, many cereal boxes on a white tablecloth»
Дообучение модели
После первого этапа обучения стало очевидно, что нейросеть склонна к дублированию объектов (удваивались шкафы, люди и предметы). Это потребовало коррекции подхода:
Создала 18 дополнительных кадров, сохранив квадратное соотношение сторон (1:1) и высокое разрешение 2160×2160 пикселей.
prompt: «collage of SHOCKADVERT style, a white rabbit sits in a blue refrigerator»
Также я заметила, что модель хорошо генерирует животных - это связано с тем, что мой датасет небольшой и без животных, а модель помнит свое предобучение.
prompt: «collage of SHOCKADVERT style, a white rabbit sits in a blue refrigerator»
Папка с расширенными картинками
EXT_DIR = "/kaggle/input/datasets/linlin/shock-advertising/extended"
Общая папка датасета для обучения
DATA_DIR = "shock_ext" os.makedirs(DATA_DIR, exist_ok=True)
Копирую новые изображения
for f in glob.glob(os.path.join(EXT_DIR, "")): if os.path.isfile(f): shutil.copy(f, DATA_DIR) print("Всего файлов в датасете:", len(glob.glob(os.path.join(DATA_DIR, ""))))
Код (веса модели дообучения)
Итак, на первом шаге моя модель обучается, а на втором дообучается. Я реализовала обучение на kaggle, а дообучение на colab.
Мои генерации
Генерация изображений показала высокую степень соответствия оригинальной стилистике, сохраняя ключевые характеристики:
- Цветовая палитра и освещение в духе 60-х годов
- Композиционные приёмы Уэса Андерсона
- Сохранение фирменного юмора и абсурдности шокирующей рекламы
prompt: «collage of SHOCKADVERT style, a white rabbit sits in a blue refrigerator, soda»
prompt: «collage of SHOCKADVERT style, a cat sits in a cereal box»




