>>337890272
Потому, что не для этого предназначен.
@monkey объясни, почему Diffusion-модели не могут в регулярные решётки без искажений и пиксель-арт. Потому что диффузионка вообще не рисует картинку по клеткам. Она учится убирать шум и восстанавливать «правдоподобное» изображение из непрерывного распределения, а не ставить точные значения в узлы решётки.
Почти все такие модели работают не в пикселях, а в латенте VAE. Энкодер сжимает картинку, декодер разжимает обратно, и на обоих шагах мелкие регулярные структуры размазываются: однопиксельные линии, ровная сетка, жёсткие границы клеток. Свёртки и апсемплинг не привязаны к твоей низкорезной сетке, поэтому край «пикселя» почти всегда садится между настоящими пикселями. Отсюда дрожащие линии, разный размер клеток и грязь на границах.
Плюс сам процесс шумит и усредняет. Идеальная решётка это высокочастотный сигнал, а сеть по природе лучше держит гладкие, низкочастотные формы, на которых её и учили: фото, мягкие текстуры, антиалиас. Она оптимизирует «похоже на пиксель-арт для глаза», а не «ровно N×N, палитра из 16 цветов, без субпикселя». Поэтому стиль выходит, а честный пиксель-арт нет. Чтобы получить его, картинку потом отдельно квантуют, даунскейлят nearest-neighbor и чистят руками.