Генерируем пиксель арт

Окей, для пиксель арта характерно две вещи:

  • Низкое разрешение (или имитация оного)

  • Ограниченная цветовая палитра

Что у нас может делать stable diffusion:

  • лучше всего генерирует на разрешении 512x512

  • с помощью моделей, лор и остального, можем попробовать стилизовать как "пиксель арт"

В таком случае, мы можем сгенерить стилизованную под пиксель арт картинку, а затем подправить размер и цвета, так? Так. Давайте делать, только прежде два понятия:

  • квантизация - процесс при котором мы уменьшаем количество цветов в изображении

  • дизеринг - попытка изобразить цвет которого нет в палитре, теми которые в ней есть - используется для теней и градиентов

Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост
Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост

А теперь давайте быстренько пройдемся по тому, что у нас есть:

  • PXL8: скрипт, который использует nQuantCpp. Можем уменьшить картинку, есть много методов квантизации, ограничение цветов, включение/отключение дизеринга. В общем ок, но во-первых это скрипт и допустим, чтобы мне просто обработать картинку, мне нужно закинуть ее в img2img, поставить нулевой денойзинг и ждать, пока вся цепочка отработает ничего не делая и только потом отработает скрипт - это долго. Во-вторых, нет других цветовых режимов (черно-белого, градации серого или возможность закинуть свою палитру)

  • pixel art: скрипт. Можем уменьшить картинку, выбрать метод квантизации и количество цветов, а дизеринг ставят за нас по умолчанию. Остальные недостатки те же, что и у предыдущего

  • pixelization: добавляется в extras. Использует три сетки, чтобы обработать картинку. Можно только повлиять на размер картинки

  • sd-pixel: добавляется в extras. Размер картинки, количество цветов и перевод в черно-белый - это все, что нам доступно. Ни выбора квантизации, ни выбора дизеринга

В целом все скрипты более менее с задачей справляются, но каждый по своему хорошо и по своему плохо, а иметь четыре расширения для решения одной задачи, как-то много. Ну, я человек простой. Написал свое расширение и засунул туда все, что захотел: sd-webui-pixelart

Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост
  • Выбор количества цветов, методов квантизации и дизеринга + при добавил функцию для лучшего выбора цветов при квантизации (эта которая в конце, "Enable k-means for color quantization")

  • Добавил несколько режимов: цветной, градаций серого, черно-белый и возможность закинуть свою палитру или просто фотографию и использовать цвета из нее

  • Функционал в двух вариантах: скрипт - чтобы обрабатывать сразу после генерации, секция в extras - чтобы можно было быстро обработать отдельные фотки

Как пример, картинка прогнанная через pixelization и мое расширение (из размера 512x768 в 128x192)

Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост

Так работают разные цветовые режимы (ограниченная палитра, градации серого, черно белая и цвета, взятые с картинки с полностью зеленой палитры)

Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост

Хорошо, теперь технически у нас все готово, пришло время найти хорошую модель и погенерить. Но тут, к сожалению, все совсем плохо. То ли я не нашел, то ли действительно нет нормальных моделей для пиксель арта да и геймдева в целом. Есть хорошие рпгшные модели для всяких концепт артов, может найдется парочка лор для генерации ассетов, но по большей части толкового очень мало. Поэтому в двух словах о том, что накопал

Для всяких зелий неплохо подходит связка pixhell + gag-rpg-potions-or-lora-21

Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост

Для простенького пиксель арта подойдет rev-animated + mpixel lora (и вообще, это наверное лучшая лора, из тех, что есть)

Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост

Прикольные анимешные портреты получаются если использовать anything-v3 + pixel-art-style lora

Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост

Простенькие пейзажи можно сделать с помощью pixel-landscapes

Генерируем пиксель арт Нейронные сети, Stable Diffusion, Pixel Art, Длиннопост

Нейронки интересная и непростая штука, поэтому если хотите лучше в них разобраться, подписывайтесь на канал, там рассказываю как работать со stable diffusion

Stable Diffusion

2.6K постов2K подписчиков

Добавить пост

Правила сообщества

Придерживайтесь стандартных правил Пикабу.