Original size 1710x2400

Обучение генеративной сети под собственный стиль

PROTECT STATUS: not protected

Введение

Идеей данной работы стало желание натренировать модель, способную генерировать интерьеры и локации, вдохновленные серией игр Silent Hill. Игра является достаточно культовой и обладает своим определенным стилем (в частности это относится к 1 и 2 части серии). Помимо определенного фильтра и стиля, была попытка разнообразить элементы, натренировав модель на основе заброшенных и полуразрушенных интерьеров.

Начало работы

Подготовим рабочую среду и загрузим необходимые материалы.

big
Original size 2740x852
big
Original size 2728x1346

Импортируем наши датасеты.

big
Original size 2728x1648

Подготовим наши изображения для первой модели и дадим ей prefix

Проделаем то же самое, но с другим датасетом.

Original size 2742x1270

Обучение модели

Original size 2754x1710

Запуск обучения второй модели.

Original size 2740x1692

Тестироваение модели

После того, как я научил модель, хочу протестировать то, насколько удачно она может передавать стиль Silent Hill. Поэтому начну с генерации кухни

Original size 1024x1024

Кухня — 1 тестовая генерация prompt = «room interior in style of SILENT HILL, kitchen»

Original size 1024x1024

Кухня — вторая тестовая генерация prompt = «room interior in style of SILENT HILL, kitchen»

Получается в целом приближенно к стилю игры, даже есть прорисовка каких-то маленьких объектов, однако пока слабое попадание в качественную светотень.

Original size 1024x1024

В случае с гаражом все намного лучше, больше объектов и лучше светотень. Также остается свойственный игре фильтр prompt = «style of SILENT HILL, garage»

prompt = «destroyed rusty interior in style of SILENT HILL, laundry room» / prompt = «style of SILENT HILL, laundry room»

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

Попробуем сгенерировать детскую комнату.

prompt = «destroyed interior in style of SILENT HILL, kids room» / prompt = «interior in style of SILENT HILL, kids room»

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

Original size 1024x1024

prompt = «interior in style of SILENT HILL, corridor»

Теперь загрузим вторую модель и протестируем ее работу.

Попробуем начать с спальни.

prompt = «ABANDONED bedroom» / prompt = «ABANDONED modern interior bedroom»

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

Original size 1024x1024

prompt = «ABANDONED club room»

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

Попробуем что-нибудь другое, например — кухню.

prompt = «ABANDONED kitchen room»

И снова отлично, кухня отчетливо передает ощущение разрухи и заброшенности, все соответствует желаемому запросу.

Original size 1024x1024

prompt = «ABANDONED kids room»

Снова небольшая проблема в генерации отдельных объектов, однако окружение работает отлично.

Теперь попробуем загрузить 2 модели и протестируем их

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

Original size 1024x1024

prompt = «SILENT HILL style, ABANDONED kids room»

Original size 1024x1024

prompt = «ABANDONED room, SILENT HILL style, kids room»

prompt = «ABANDONED style, SILENT HILL room, main room»

Начиная отсюда, после определенных изменений промпта, 2 модели начинают работать друг с другом лучше и прорисовывают детальную разруху в стиле игры.

prompt = «ABANDONED kitchen room, SILENT HILL style»

prompt = «ABANDONED attic room, SILENT HILL style»

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

Теперь попробуем добавить новых вводных в запрос и протестируем.

Original size 1024x1024

prompt = «insudtrial ABANDONED meat shop room, SILENT HILL style»

Original size 1024x1024

prompt = «insudtrial ABANDONED kebab store room, SILENT HILL style»

В первом случае модель поняла что речь про мясо от тега «meat», однако в случае с шаурмечной, тег «kebab» дал только справа вертиль и небольшую рабочую зону, что в целом неплохо, но не то, что ожидалось увидеть.

Original size 1024x1024

prompt = «insudtrial ABANDONED burger store room, SILENT HILL style»

Однако, в случае с бургерами, модели сработали лучше и добавили бардовые оттенки, как в случае с мясным магазином.

Теперь попробуем модель на ее работоспособность в других запросах, например животных.

Original size 1024x1024

prompt = «gopher, SILENT HILL style»

Суслик получился как всегда великолепным и соответствует стилю игры, но эта история больше похожа на комикс.

Попробуем другое животное, например — черепаху.

Original size 1024x1024

prompt = «turtle, SILENT HILL style»

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

Original size 1024x1024

prompt = «realism big butterfly, ABANDONED street, SILENT HILL style»

Бабочка также неописуемо красива, теперь ясно, что модель может как генерировать окружение, так и качественно включать какие-либо объекты по запросу внутрь этих пространств.

Попробуем еще раз сгенерировать окружение, несколько упростив запрос.

Original size 1024x1024

prompt = «ABANDONED office room, SILENT HILL style»

Original size 1024x1024

prompt = «ABANDONED mall interior, SILENT HILL style»

Original size 1024x1024

prompt = «ABANDONED swimming pool interior, SILENT HILL style»

Теперь точно то, что нужно, осталось попробовать добавить неожиданный объект в виде черепахи

Original size 1024x1024

prompt = «big angry turtle and big butterfly fighth, ABANDONED office room, SILENT HILL style»

Заключение

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

Неожиданным оказалось то, как модель может совмещать отдельные от темы запросы с тем, чему она обучилась. В частности бабочка с черепахой кажутся реальными персонажами в контексте этих изображений, что как мне кажется, можно считать дополнительным успехом.

Обучение генеративной сети под собственный стиль