ComfyUI-VOSR2: одношаговый апскейлер VOSR 2.0 для ComfyUI

ComfyUI Wikinews

Узлы для VOSR 2.0: одношаговая модель суперразрешения на 1.4B с VAE Qwen-Image и DINOv2, автоматической загрузкой весов и плиточным увеличением в 4 раза.

ComfyUI-VOSR2 оборачивает VOSR 2.0 в два узла ComfyUI. VOSR: генеративная модель суперразрешения, работающая только с изображениями, из статьи CVPR 2026 VOSR, а её версия 2.0 представляет собой одношаговую модель на 1.4B параметров. Пакет узлов является отдельным проектом сообщества и не входит в основной репозиторий.

Что такое VOSR 2.0

VOSR 2.0: одношаговая модель суперразрешения, собранная из трёх фиксированных компонентов: backbone LightningDiT, Qwen-Image 2D VAE в качестве латентного пространства и энкодер изображений DINOv2-L для условия. Это генеративная модель, а не классический проход «изменить размер и повысить резкость», поэтому она способна восстанавливать структуры, которых буквально нет во входном изображении низкого разрешения: глифы текста, черты лиц и края зданий.

Сравнение VOSR 2.0 на примерах структур и текста

Сравнение из карточки модели на примерах тонких структур и мелкого текста, где, согласно статье, VOSR 2.0 показывает лучшие результаты.

Поскольку все компоненты относятся к одному обученному набору, пакет узлов рассматривает их как bundle: DiT работает только с тем Qwen 2D VAE, на котором он обучался, и энкодер изображений подбирается так же. Отдельных входов для VAE или энкодера, которые можно было бы заменить, нет.

Два узла

Оба узла находятся в image/upscaling/VOSR2:

УзелКлассНазначение
VOSR 2.0 Model LoaderVOSR2ModelLoaderЗагружает папку bundle и возвращает VOSR2_MODEL, чтобы изображения в очереди не пересобирали веса заново
VOSR 2.0 UpscaleVOSR2UpscaleВыполняет одношаговое суперразрешение для пакета изображений

Узел увеличения разрешения принимает множитель upscale (по умолчанию 4, без верхнего предела), seed для латентного шума, где элемент пакета i использует seed + i, режим color_alignment (wavelet, adain или none), который выполняет постобработку относительно бикубической цели, и отдельные элементы управления плиточной обработкой для DiT и VAE.

После 512px плиточная обработка обязательна

Вот что стоит прочитать перед тем, как ставить задачу в очередь: VOSR 2.0 изначально обучался на изображениях размером до 512 px, поэтому если результат увеличения превышает 512x512, необходимо задать tile_size (в документации указано значение 512), иначе качество ухудшится. Для выходов, заметно превышающих 1024 px, также следует задать vae_tile_size, около 1024, иначе декодирование VAE всего изображения, скорее всего, исчерпает память.

Вход низкого разрешенияВыход VOSR 2.0
Вход низкого разрешения с мелким текстомВыход VOSR 2.0

Загрузчик сверяет args.json с фиксированной архитектурой VOSR 2.0, прежде чем что-либо собирать, поэтому несовместимый checkpoint завершается понятной ошибкой вместо частичной загрузки. Любая папка bundle с args.json, помещённая в models/vosr2/, появляется в выпадающем списке моделей, но автоматически скачивается только VOSR2.

Рабочий процесс

Пример рабочего процесса VOSR 2.0 в ComfyUI

Пример рабочего процесса: две пары «загрузчик и увеличение разрешения», благодаря чему загруженный bundle не участвует в обработке каждого изображения.

Доступность

Клонируйте ylchen333/ComfyUI-VOSR2 в ComfyUI/custom_nodes и перезапустите. Требуется ComfyUI с недавней версией PyTorch; пакет проверяет это заранее, поэтому старая среда выдаёт одну понятную ошибку вместо исчезновения из списка узлов.

При первом запуске загрузчик скачивает все отсутствующие компоненты из закреплённого репозитория CSWRY/VOSR в bundle models/vosr2/VOSR2/ и в дальнейшем пропускает загрузку. Файл DINOv2-L в этом репозитории представляет собой сырой PyTorch pickle; загрузчик автоматически конвертирует его в safetensors, а в README описана ручная конвертация для офлайн-установки.

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…
ComfyUI-VOSR2: одношаговый апскейлер VOSR 2.0 для ComfyUI | ComfyUI Wiki