Original size 1140x1600

Кибер-Караваджо // Обучение генеративной нейросети

PROTECT STATUS: not protected
5

Что станет с караваджовским светом, когда источник освещения — не Бог, а LED-матрица?

«Кибер-Караваджо» — визуальное исследование столкновения барочного света и цифровой эпохи. Через обучение нейросети стилю Караваджо проект воссоздаёт сцены современной технологической действительности — от экранного свечения до механических тел — в духе библейской драмы и плотской экспрессии итальянского барокко.

Изображения-результаты

Для начала работы были выбраны герои-архетипы, через образы которых можно показать «слияние» киберпагк-эстетики (отчасти вдохновленной фильмом «Бегущим по лезвию»* игрой «Cyberpunk 2077»**). Ими стали: инженер, доктор (алхимик), ангел (здесь важнее религиозность работ Караваджо), хакер (он же «кибер-плут», хотя влияние киберпанк-эстетики тут больше, в противовес предыдущему персонажу), музыкант, воин (рыцарь, образ для типичных выбранной эстетике «уличных боев»), охранник ночного клуба (киберпанк вновь превалирует, слияние гвардии и роботов, «хрома» и металлических лат), гонщик (наездник). Отдельно стоит отметить человек/андроид — общий образ, впрочем, центральный как для противостояния живого и искусственного в указанных мной фильме и игре, так и для поиска граней «человечности» Караваджо.

*Хэмптон Фэнчер и Дэвид Пиплз, 1982 год ** CD Projekt Red, 2020 год

Инженер

0

Общее начало промпта: «painting in CYBER-CARAVAGGIO style, male engineer with glowing cybernetic implants,» Развитие изображений в слайдере — следствие усложнения промпта

Доктор (= алхимик)

Промпты имеют общее начало: «painting in CYBER-CARAVAGGIO style, cyber doctor in baroque-inspired robe…», «игра» с окружением и деталями

Ангел

Original size 1024x1024

Промпт: «painting in CYBER-CARAVAGGIO style, android angel with bright glowing blue face and eyes,»

Хакер

Изначальный промпт: «painting in CYBER-CARAVAGGIO style, hacker wearing baroque-style cloak, face replaced by glowing screen,», не удалось добиться точного исполнения требований. Требуется развитие

Развитие благодаря усложнению промпта: «face fully replaced by bright glowing blue screen, edges of face glowing strongly,»

Частичное изменение промпта (слишком сложная задача): «multiple monitors and holographic panels with flickering neon reflections, thick neon cables crawling over desk and floor,»

Музыкант

Original size 1024x1024

Упоминание точных предметов, а не перекладывание на нейросеть ответственность за киберпанк-эстетику дает свои плоды: «painting in CYBER-CARAVAGGIO style, android musician… electric guitar,»

Воин (= рыцарь), уличная потасовка (= дуэль)

Промпты: 1. «curly-haired young man in ornate baroque armor with subtle glowing neon patterns,» 2. «two cyber knights with glowing neon swords crossing in combat,»

Охранники ночного клуба (= доспехи)

Original size 1024x1024

Промпт: «painting in CYBER-CARAVAGGIO style, group of cyber enforcer robots with baroque armor elements,»

Гонщик (= наездник)

Разные генерации по одному промпту («painting in CYBER-CARAVAGGIO style, cyber street racer in baroque-inspired outfit posing on a black horse,»), «вольность» нейросети

Человек и андроид

Original size 1024x1024

Промпт: «painting in CYBER-CARAVAGGIO style, human and humanoid robot wearing baroque clothing,»

По итогу получившихся генераций можно смело сообщить, что генеративная нейросеть научилась достаточного правдоподобно подражать особенностям как всей барочной живописи, так и приемам самого Караваджо. Впрочем, не обошлось без трудностей: в следствие отсутствия отдельного датасета с изображениями в киберпанк-эстетике (в самом начале было принято решение отказаться от него, т. к. не было уверенности в безопасности использования изображений из-за авторских прав) мне приходилось детально (все промпты сохранены в Google Colab, в подписях под иллюстрациями обозначены ключевые строки) описывать окружение и технику, по несколько раз изменять уточняющие промпты так, чтобы добиться необходимого результата. Основной сложностью я бы назвала самостоятельный поиск баланса между подробностью и сравнительной характеристикой описания и слишком общей характеристикой, понятной генеративной нейросети, но не выдающей необходимого изображения.

Работа с кодом

Общее описание процесса работы над кодом:

Сначала проверяется доступность GPU и устанавливаются необходимые библиотеки для работы с моделями, LoRA и Diffusers. Затем распаковывается архив с изображениями и создаются папки для сырых и подготовленных данных. Все изображения приводятся к квадратной форме и изменяются до размера 512×512, после чего сохраняются в подготовленную папку. Для наглядности создается коллаж из первых пяти обработанных изображений. С помощью модели BLIP генерируются текстовые подписи для каждого изображения, добавляется префикс «painting in CYBER-CARAVAGGIO style» и сохраняются в metadata.jsonl. Далее освобождается память GPU, удаляются модели BLIP перед началом обучения LoRA. Настраивается соединение с Hugging Face и производится вход в аккаунт для дальнейшей загрузки модели. Подготавливаются изображения для обучения и запускается скрипт DreamBooth LoRA на базе SDXL с указанными параметрами обучения. После завершения обучения создается модельная карточка, а LoRA загружается на Hugging Face с игнорированием временных файлов. Для проверки создается пайплайн DiffusionPipeline с предобученным VAE, загружаются веса LoRA и переводится на GPU для генерации изображений.

Весь код поделен на логические обозначенные логические блоки.

0
Кибер-Караваджо // Обучение генеративной нейросети
5
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more