Генерируем пиксель арт
Окей, для пиксель арта характерно две вещи:
Низкое разрешение (или имитация оного)
Ограниченная цветовая палитра
Что у нас может делать stable diffusion:
лучше всего генерирует на разрешении 512x512
с помощью моделей, лор и остального, можем попробовать стилизовать как "пиксель арт"
В таком случае, мы можем сгенерить стилизованную под пиксель арт картинку, а затем подправить размер и цвета, так? Так. Давайте делать, только прежде два понятия:
квантизация - процесс при котором мы уменьшаем количество цветов в изображении
дизеринг - попытка изобразить цвет которого нет в палитре, теми которые в ней есть - используется для теней и градиентов
А теперь давайте быстренько пройдемся по тому, что у нас есть:
PXL8: скрипт, который использует nQuantCpp. Можем уменьшить картинку, есть много методов квантизации, ограничение цветов, включение/отключение дизеринга. В общем ок, но во-первых это скрипт и допустим, чтобы мне просто обработать картинку, мне нужно закинуть ее в img2img, поставить нулевой денойзинг и ждать, пока вся цепочка отработает ничего не делая и только потом отработает скрипт - это долго. Во-вторых, нет других цветовых режимов (черно-белого, градации серого или возможность закинуть свою палитру)
pixel art: скрипт. Можем уменьшить картинку, выбрать метод квантизации и количество цветов, а дизеринг ставят за нас по умолчанию. Остальные недостатки те же, что и у предыдущего
pixelization: добавляется в extras. Использует три сетки, чтобы обработать картинку. Можно только повлиять на размер картинки
sd-pixel: добавляется в extras. Размер картинки, количество цветов и перевод в черно-белый - это все, что нам доступно. Ни выбора квантизации, ни выбора дизеринга
В целом все скрипты более менее с задачей справляются, но каждый по своему хорошо и по своему плохо, а иметь четыре расширения для решения одной задачи, как-то много. Ну, я человек простой. Написал свое расширение и засунул туда все, что захотел: sd-webui-pixelart
Выбор количества цветов, методов квантизации и дизеринга + при добавил функцию для лучшего выбора цветов при квантизации (эта которая в конце, "Enable k-means for color quantization")
Добавил несколько режимов: цветной, градаций серого, черно-белый и возможность закинуть свою палитру или просто фотографию и использовать цвета из нее
Функционал в двух вариантах: скрипт - чтобы обрабатывать сразу после генерации, секция в extras - чтобы можно было быстро обработать отдельные фотки
Как пример, картинка прогнанная через pixelization и мое расширение (из размера 512x768 в 128x192)
Так работают разные цветовые режимы (ограниченная палитра, градации серого, черно белая и цвета, взятые с картинки с полностью зеленой палитры)
Хорошо, теперь технически у нас все готово, пришло время найти хорошую модель и погенерить. Но тут, к сожалению, все совсем плохо. То ли я не нашел, то ли действительно нет нормальных моделей для пиксель арта да и геймдева в целом. Есть хорошие рпгшные модели для всяких концепт артов, может найдется парочка лор для генерации ассетов, но по большей части толкового очень мало. Поэтому в двух словах о том, что накопал
Для всяких зелий неплохо подходит связка pixhell + gag-rpg-potions-or-lora-21
Для простенького пиксель арта подойдет rev-animated + mpixel lora (и вообще, это наверное лучшая лора, из тех, что есть)
Прикольные анимешные портреты получаются если использовать anything-v3 + pixel-art-style lora
Простенькие пейзажи можно сделать с помощью pixel-landscapes
Нейронки интересная и непростая штука, поэтому если хотите лучше в них разобраться, подписывайтесь на канал, там рассказываю как работать со stable diffusion
Stable Diffusion
2.6K постов2K подписчиков
Правила сообщества
Придерживайтесь стандартных правил Пикабу.