
Рубрикатор: 1. Вступление. 2. Поиск и подготовка изображений. 3. Написание кода. 4. Результаты. 5. Аномалия. 6. Ссылки.
1. Вступление.
Добрый день, меня зовут Баскаков Матвей и я учусь на дизайне игр. Я обожаю делать игры и я также очень люблю стилизованную графику. Так как я не очень хорошо моделирую и рисую, обычно мои проекты выполнены в, так называемом, стиле PSX, то есть первого поколения консолей. Этот стиль может простить плохие или неправильные текстуры и проблемы с моделью и её анимацией. Так как я не художник и не скульптор мне тяжело уловить какие-то детали в определённом жанре или стиле и поэтому я решил воспользоваться помощью нейросетей. Я собрал набор из 100 изображений Silent Hill, Resident evil, Half-Life, Metal gear и других игр с подобным визуалом что бы на их основе обучить нейросеть генерировать персонажей и игровое окружение.
2. Поиск и подготовка изображений.
Для того что бы скачать скриншоты из нужных мне игр и обрезать их в квадраты 512×512 я написал код на Python, который мне с этим помог. В конечном итоге у меня на рабочем столе появилась папка с хорошим материалом для обучения.
3. Написание кода.
Я открыл исходный код в colab и загрузил в отдельную папку скачанные ранее изображения. Сначала код загружает все необходимые библиотеки, например diffusers, для работы со Stable Diffusion. После указания папки где находятся картинки начинается процесс обучения нейросети. Он у меня занят примерно 48 минут, но в первый раз я сделал что-то не так и процесс занял у меня 3 с половиной часа. Свою модель я назвал PSX, ведь именно так называется необходимый мне стиль. Никакие дополнительные модели, методы улучшения или ГенИИ не использовались. Забегая вперёд скажу что результат меня порадовал.
4. Результаты.
Это первые 5 изображений по запросу «PSX, man, woods»
Должен сказать получилось весьма неплохо, присутствует характерный туман для данной графики и пикселизация (особенно хорошо заметна на руках персонажа на 3 картинке). Так же прекрасно видны углы «модели» по такой картинке легко можно создать персонажа в Blender. А ещё я заметил, что нейросеть очень любит розовую атмосферу, попробуем сгенерировать портреты.
Портреты получились на моё удивление достаточно хорошие, персонажа на 3 картинке легко можно представить главным героем resident evil.
Теперь попробуем что-то необычное, например солдат наполеоновской эпохи.
Так же заметна характерная пикселизация, шум на изображениях и туман. Особенно мне нравится как нейросеть показала лошадей.
5. Аномалия
Хотя нейросеть и была научена на скриншотах из, преимущественно, survival horror игр, на представленных выше изображениях нет никаких монстров или чего-то подобного, у меня даже не получилось сгенерировать призраков, может нейросеть сделала их невидимыми специально?
Но когда я попытался сгенерировать космонавтов, получились очень странные изображения.
Получился космический хоррор, сюжет напрашивается сам собой: «Это последнее изображение отправленное на землю спутником перед тем как сигнал исчез». Интересно сколько ещё таких необычных результатов можно получить. P.S мне нравится что нейросеть решила нужным изобразить снег в космосе, но это придаёт ещё больше жути, ведь именно так на объективах фото и видеокамер выглядит радиация.




6. Ссылки.
Все исходники находятся на google drive: ссылка на гугл диск