Comments 25
Полезный инструмент, спасибо!
Похоже, этот алгоритм слабее искажает картинку, чем нода Pixelize в Comfy.
Как аналитика, очень порадовали подходы к цветовой палитре 💪
@jenissimo можно ли сделать, чтобы можно было задать размер сетки вручную (и/или размер итоговой картинки)? Например, хочу итоговый PNG строго 64x64. Исходная картинка тоже квадратная, но может быть любого размера (например).
Размер сетки можно задать, если в свитке Advanced Settings снять галочку "Auto-detect pixel size" (UX однозначно можно улучшить).
Бонусом для сложных случаев когда картинка совсем далека от пиксельной (и нужно вручную задавать размер сетки) я добавил алгоритм Content-Adaptive Image Downscaling (https://johanneskopf.de/publications/downscaling/) в Advanced Settings в выпадающем списке Method в Downscaling Method. Он медленный в текущей реализации, но старается обычную картинку превратить в пиксель-арт.
Привет! Я попробовала этот инструмент и он мне очень понравился. Соблюдает ограничение по цветовой палитре, линии под углом делает в целом хорошо. Я использовала растровые изображения, подготовленные для пиксельного стиля, и настройки чтобы размер файла соответствовал исходнику. В ряде случаев при линиях толщиной в пиксель и расстоянием между линиями тоже в пиксель, мог объединить две соседние в линию толщиной 3 пикселя. В ярком изображении мог добавить артефакты в пределах цветовой палитры на границах цветов. При проверке на количество цветов в изображении всё оказывалось верно. Добавлю этот инструмент в закладки, давно хотела что-то такое. Спасибо! ( Это сподвигло меня завести здесь учётную запись).
Интересно, можно ли зайти с другого бока и доучить сам VAE декодер, чтобы он сам выполнял прибитие изображения к сетке и сжатие палитры.
Я подозреваю, что RetroDiffusion (сервис с закрытой дообученой версией Flux под капотом) примерно так и работает. Еще из интересного в ту же степь сервис PixelLab (он позволяет генерировать анимации и вращать еще), но там больше похоже на пост-обработку.
У меня была основная задача - получить возможность "чинить" арт от модели image-1 OpenAI которая встроена в ChatGPT. На мой вкус она работает казуальнее всего (подкинул пару рефов и вперед), но возможно я еще не познал всю современную ComfyUI магию :D
Сделал в итоге ноду под ComfyUI, конвертировав Квеном код из JS в Python и немного утрамбовав ногами, взяв вариант, в котором дескейлер всё-таки добавился в состав ноды и результат отдавался секунды за две, а не за минуту.
Что происходит под капотом и как произошла оптимизация - не понимаю, но вроде оно конвертирует картинку в пикселизованную меньшего масштаба.
Если включить мозг и подумать, то наверное можно сделать лучшую ноду, но мой уже расплавился от летней жары, вся надежда на нейронки и внешние исправления.
¯_(ツ)_/¯

Посмотрите на Flux Kontext и лоры c воркфлоу к нему, местами он будет явно получше чем gpt-4o.
Надо попробовать, пока такого уровня у меня в других генераторах не получалось (тут результат после даунскейла + я лишний хвост у дирижабля почистил + есть немного артефактов после аплоада)

ну первое то совсем легко, да и второе можно придумать как
Классная утилита, спасибо!
Я так понимаю, мне ещё и в геймдеве разочароваться придётся.
Типа до сих пор этого не произошло?
Конечно произошло, он не в курсе про бездарный "BOBR KURWA", там автор на всё забил, ни даунскейлить не стал ни квантовать палитру и таких игр думаю не мало (как минимум парочку ещё видел). Это не проблема всех этих инструментов, а проблема конкретных людей.
Сомневаюсь что он заметит где всё сделано качественно и по уму.
Ты с серьёзным лицом привёл в пример игру очевидно сделанную в шутку. Не знаю как для тебя, но для меня видеоигры — это искусство. А искусство — это когда человек вкладывает себя в произведение. Если ты даже не пытаешься сделать графику самому и не предоставляешь возможность это сделать человеку, что, как тебе кажется, способен передать твою идею, так ещё и добавит от себя что-нибудь, то ты мало того, что вор, потому что ИИ буквально берёт куски чужих творений и склеивает их в одно, так ты ещё и очень бездузовный человек, которому на искусство наплевать от слова совсем.
Это похоже какой-то толстый наброс, но возможно тут доля невежества, поэтому отвечу.
Большой пост так что под спойлером
Ты с серьёзным лицом привёл в пример игру очевидно сделанную в шутку
Даже треш игра в шутку (но тут чел скорее хотел похайпить на раскрутившемся меме и срубить баблишка нихера толком не делая, "и так сойдёт") должна придерживаться каких-то базовых рамок качества, смотреть на некачественный нейросблёв противно. Madskills в пейнте ещё простить можно, там хотя бы обычно что-то пытались, если не слишком плохо вышло, а вот такие генерации без обработки уже нельзя, это тотальное пренебрежение к базовым нормам и рак индустрии.
Возможно с точки зрения обычного игрока это не очень понятно, но не позаботиться о таких базовых вещах при создании ассетов это как для обычного человека сходить в туалет и не спустить за собой (или вообще не сходить в туалет, а "сходить" дома в бутылку или в мешок).
Художники например при потоковой работе нередко прибегают к практике коллаживания и фотобашинга из чужих фотографий (и сомневаюсь что многие из них они покупали) для экономии времени, это не референсы, это прям часть их арта и если не замазать у них швы, не поправить минимально освещение и т.п. это будет выглядеть позорно и бросаться в глаза (хотя не все игроки и этого заметят). Но здесь ещё хуже, т.к. поправить можно автоматически, добавив в конвейер пару инструментов и они уже были для этого, но автору этой игры наплевать.
для меня видеоигры — это искусство. А искусство — это когда человек вкладывает себя в произведение. Если ты даже не пытаешься сделать графику самому и не предоставляешь возможность это сделать человеку, что, как тебе кажется, способен передать твою идею, так ещё и добавит от себя что-нибудь
Выше ты оправдал игру "в шутку", если "в шутку" то это уже типа не исскуство?
Даже когда человек пишет текстовый промпт он уже вкладывает себя в произведение (читать с кавычками и без). Но на самом деле там всё сложнее и и существует огромное количество инструментов контроля, а ещё серьёзный паплайн тащит очень много бэкграунда "оператора нейросети", потому что нейросети сейчас уж точно не заменяют идейность, квалификацию и вкус. Даже инжиниринг этого паплайна уже не маленькая часть человека и там тоже хватает идей которые повлияют на результат.
Вдогонку, не мало художников уже давно прибегают к 3д редакторам (набрасывают болванки и получают большую часть халявного освещения, а где-то и чужой геометрии которую они обрисовывают). Эта автоматизация ещё исскуство или уже нет? где грань?
ты мало того, что вор, потому что ИИ буквально берёт куски чужих творений и склеивает их в одно, так ты ещё и очень бездузовный человек, которому на искусство наплевать от слова совсем
Ну тут ты окончательно сдал. Модель не берёт буквально куски чужих творений. Там не коллаживание или фотобашинг о котором я упоминал выше, тут машинное обучение на порядки круче устроено. Там максимально всё обобщается на базовые признаки, оттого признаки от много терабайт (не утрирую) картинок ужимаются в от нескольких до десятков гигабайт, с потерями естественно. Не зная оригинальных подсказок из датасетов ты никогда из этих моделей не получишь ничего похожего на оригиналы. Всё что я видел в сети на момент забастовки художников было подтасовкой img2img (потому что там борьба шла не за правду, а за рыночек халявы). Максимум один ушлый "учёный" залез в открытые датасеты чтоб подгадить открытым моделям (с закрытыми он естественно так не смог сделать) и показал что если взять ровно те же подсказки и параметры можно воссоздать оригинальное изображение в более худшем качестве (со всякими артефактами), но фактически этого изображения в модели нет, есть только сформированные инструкции как его воссоздать, потому что модель на них обучалась, это наверное как художника с фотографической памятью попросить по памяти нарисовать портрет знакомого натурщика.
Ещё у меня для тебя ещё есть плохая новость, во многих играх из игры в игру кочуют одни и те же текстурки и модельки, порой даже анимации, бывает и ворованные и даже нихрена не модифицированные, но многие игроки этого факта не замечают. Ассеты увы это дорого как по деньгам так и по времени, потому такое происходит, увы не хватает больших открытых баз данных ассетов.
Нейросетки тут как раз могут внести разнообразие и как раз избавить от всего этого однотипного заимствования и воровства. Хотя к сожалению часть из тех кто воровали ранее теперь воруют более искуссно — они берут чужие арты и делают с ними img2img чтобы скрыть факт воровства, т.е. они даже не стремятся что-то своё сделать с помощью этих моделей. Но как уже сказал виноват не инструмент, а человек который его использует.
Короче ты плохо знаешь поднаготную игровой индустрии со своими розовыми очками про "искусство" и не видишь кучу проблем которые существовали до эпохи этих нейросетей.
Многие игры использовали одни и те же текстуры из фотобанков, особенно старые, которые как раз были больше про искусство с душой чем сейчас, потому что тогда ещё были готовы рисковать и вкладывать необычные идеи, а теперь не хотят, схемы заработка уже отлажены, индустрия сформировалась как рынок. Поэтому реймеки, поэтому игры-гибриды старых успешных франшиз.
И кстати вот старое искусство сейчас успешно закапывают "искуссно" сделанными ремейками которые даже кто-то называет искусством.
Взять тот же СХ2 с обвилионом (у меня просто есть два неплохих видоса по теме под рукой):
https://www.youtube.com/watch?v=X6P6VMNwbCU
https://www.youtube.com/watch?v=-sBFzW17VaA
Да и в целом маркетологи корпоратов могут и на тему искусства заиграть с тобой подсунув тебе суррогат сыграв на твоих ожиданиях, а ты схаваешь.
Было бы интересно ещё почитать про то как анимировать сгенерированные спрайты. Известны ли вам такие нейросети, которые генерят кадры по запросу? Да так, чтобы анимация была бесшовной, ну то есть залупленной... На сколько мне известно там делают анимацию костей, а потом для каждого кадра генерируют спрайт на их основе
Делают сразу болванки (это могут быть просто цветные кости, могут быть серые модели без текстур с позами) в один кадр для согласованности, типа атлас, потому что от каждой разной генерации будет больше отклонений даже в рамках одного сида.
Но сейчас уже появились видеомодели они могут выдать анимацию без этих костылей, есть лоры или костыли для зациклирования, из минусов это что видеомодели работают явно дольше.
Была у меня подобная идея для видеопрохождений пиксельных игр. Т.е. восстанавливать видео до пережатия. Если кто-то не сделает это на основе вашей программы, то реализую сам когда-нибудь.
Спасибо за статью и инструмент! Давно хотел попробовать сделать что-то пиксельное, видимо, самое время
Спасибо. Теперь попробую в своих играх пиксельарт, хоть раньше и не пробовал
Как приручить AI-пиксель-арт