Инструменты7 августа 2026 г., 19:46 МСК🤖 Auto

ComfyUI-Latent-Tiled-PiD: Генерация 107 МП без швов на RTX 5090

Новый узел для ComfyUI решает проблему цветового коллапса при масштабировании изображений, используя нативное тайловое декодирование латентов PiD. Результат: бесшовные изображения до 107 МП за минуту.

Баннер новости 5323

Проблема: Цветовой коллапс при масштабировании

Стандартное декодирование через PiD (Pixel Diffusion Decoder) обучено на диапазоне 1024→4096 пикселей. Попытка пропустить через него латент большего размера (например, 2 МП) приводит к «схлопыванию» средних тонов: белые области приобретают розовый оттенок, а хрома-шум заполняет всё изображение. Это не баг модели, а выход за пределы её «контракта» обучения.

Существующие обходные пути (тайлинг уже декодированных пикселей с последующим обратным кодированием в латент) создают потерю качества из-за двойного преобразования. Новый узел ComfyUI-Latent-Tiled-PiD предлагает иной подход: он разрезает именно генерационный латент на перекрывающиеся тайлы, декодирует каждый как самостоятельное изображение в пределах обученного диапазона, а затем мягко смешивает (feather-blend) пиксели.

Решение: Нативное тайловое декодирование

Архитектура узла гарантирует глобальную когерентность за счет:

  • RoPE (Relative Positional Encoding): Так как позиционное кодирование относительно, обрезанный латент декодируется так же, как нативное изображение такого размера.
  • Sigma-gated LQ injection: Поддерживает согласованность между тайлами.
  • Raised-cosine feather blending: Весовые коэффициенты в зоне перекрытия суммируются ровно в 1.0. worst measured seam gradient ratio составляет 0.77–1.04, что статистически незаметно для глаза.

Производительность и метрики

Тестирование проводилось на NVIDIA RTX 5090 (32 GB) с использованием модели Krea 2 Turbo (qwen-family) и чекпоинта PiD pid_qwenimage_1024_to_4096_4step_bf16.safetensors. Масштабирование стоимости происходит линейно: примерно 1 МП готового вывода в секунду.

Размер латента Количество тайлов Разрешение выхода Мегапиксели Статус QA
~0.5 МП (1024x1024) 1 4096x4096 ≤ 16.8 Pass
~2 МП (1920x1088) 4 (2x2) 7680x4352 33.4 Pass
~3.7 МП (2560x1440) 6 (3x2) 10240x5760 59.0 Pass
~6.7 МП (3456x1944) 8 (4x2) 13824x7776 107.5 Warning*

* На разрешении 107 МП зафиксирован небольшой «зеленый сдвиг» в тенях (shadow green-bias delta +3.9), что чуть превышает порог нормы (±3), но визуально приемлемо. Все тесты до 59 МП проходят проверку чисто.

Как это работает в ComfyUI

Пользователю не нужно вручную рассчитывать размер тайлов. Узел Latent-Tiled PiD Size Picker содержит 53 пресета для 9 соотношений сторон. Пользователь выбирает целевое разрешение, и узел автоматически определяет количество тайлов и размер латента.

Ключевые параметры узла декодирования:

  • max_tile: 1024 (граница обученного диапазона). Снижение экономит VRAM, но не меняет выходное разрешение.
  • overlap: 64 пикселя (в латенте), что дает 256 пикселей перекрытия на выходе для плавного смешивания.
  • degrade_sigma: 0.0 для чистых латентов. Используется только для намеренно «шумных» (early-exit) латентов.

Установка и совместимость

Решение требует ComfyUI ≥ 0.28 (лучше 0.30.1) и чекпоинты PiD от NVIDIA (лицензия: некоммерческое исследование/оценка). Python-зависимостей нет, кроме базовых библиотек ComfyUI.

Установка:

cd ComfyUI/custom_nodes
git clone https://github.com/BennyDaBall930/ComfyUI-Latent-Tiled-PiD

Для валидации качества рекомендуется использовать встроенный узел Latent-Tiled PiD QA, который сравнивает результат с обычным VAE-декодированием и выдает метрику midtone chroma delta (норма 10–15, коллапс ~30, флаг >20).

Источник: Github ↗