ReCaVSR: mise à l'échelle vidéo 4x en une étape dans ComfyUI

ComfyUI Wikinews

ReCaVSR met à l'échelle des clips 4x sur Wan2.2 en une étape de débruitage par bloc. Nœuds ComfyUI, fichier int8 de 6,3 Go et installation via ComfyUI Manager sont disponibles.

ReCaVSR est un modèle de super-résolution vidéo en une seule étape, développé par l'USTC et construit sur Wan2.2 TI2V-5B. Le portage ComfyUI publié le 10 novembre l'enveloppe dans deux nœuds natifs, s'installe depuis ComfyUI Manager et ajoute un fichier int8 de 6,3 Go qui permet à une passe 4x en 1440p de tourner sur une carte de 8 Go.

Le modèle met à l'échelle un clip par blocs de 21 images, puis de 8 images, avec une seule étape de débruitage par bloc, en reportant les latents du bloc précédent et un cache des clés et valeurs passées. Son propre décodeur en flux, FlashDecoder, convertit chaque bloc en images dès qu'il est terminé, de sorte qu'un clip plus long coûte du temps et du disque plutôt que de la mémoire.

Une rue sous la pluie en 4x, de 960×480 à 3840×1920, issue du jeu de démonstration du projet.

Rue en 4xPortrait en 4x
960×480 vers 3840×1920, entrée en haut360×360 vers 1440×1440, entrée à gauche

Vitesse

Deux clips, de 149 et 180 images, passés dans le nœud ReCaVSR Upscale Video sous Linux avec ComfyUI 0.44.0, sage attention et VRAM dynamique :

Rue sous la pluie, 960×480 vers 3840×1920RTX 3090RTX 4090VRAM max 4090
Transformeur bf16114 s59 s22,6 Go
ConvRot int867 s36 s21,2 Go

Le portrait, de 360×360 à 1440×1440, descend à 15 s sur une 4090 et 11,6 Go avec le fichier int8. Bridé sur une carte de 12 Go ou de 8 Go, le même portrait se termine encore en 23 s et 27 s.

Le fichier int8 pèse 6,27 Go contre 10,6 Go pour le bf16, et il reste à environ 48 dB de la sortie bf16 sur chaque image.

bf16 contre int8, recadrages 1:1

bf16 en haut, int8 en bas, recadrages 1:1 de la sortie.

Comment le lancer

  1. Installez les nœuds : recherchez ReCaVSR video super-resolution dans ComfyUI Manager, exécutez comfy node install comfyui-recavsr, ou clonez ComfyUI-ReCaVSR dans custom_nodes et installez ses exigences.
  2. Placez prompt.safetensors (4,2 Mo) et flashdecoder.safetensors (229 Mo) depuis kopper/ReCaVSR dans ComfyUI/models/recavsr, puis ajoutez au même dossier soit le transformer.safetensors bf16, soit le fichier ConvRot int8.
  3. Ouvrez Modèles → ComfyUI-ReCaVSR → recavsr_video_4x, chargez un clip, lancez la file d'attente. La chaîne est Charger une vidéo → ReCaVSR Upscale Video → Enregistrer la vidéo, et la sortie conserve l'audio et la fréquence d'images de l'entrée.

Paramètres à connaître

  • Échelle 4 correspond à ce pour quoi le modèle a été entraîné ; 2 et 1,5 sont documentés par le dépôt d'origine. Les tailles qui ne sont pas un multiple de 32 sont complétées par padding puis recadrées.
  • Décodeur : flashdecoder est celui du modèle et tourne 25 à 40 fois plus vite que le VAE de Wan 2.2. L'option vae produit une texture plus fine si vous avez le temps.
  • color_fix : none, adain ou wavelet, les corrections de type StableSR, si la mise à l'échelle décale les couleurs.
  • kv_offload déplace l'historique d'attention vers la RAM entre les blocs. Il est nécessaire pour du 3840×1920 sur une carte de 16 Go, et il coûte 7 à 16 % de vitesse en 1440p.
  • Sans Triton, les deux noyaux d'attention retombent sur PyTorch et deviennent beaucoup plus lents. Les installations Windows en arrivent souvent là.

Le chemin bf16 nécessite un GPU NVIDIA de capacité de calcul 7.5 ou supérieure pour le GEMM int8 ; en dessous, les poids sont déquantifiés au chargement.

Disponibilité

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…
ReCaVSR: mise à l'échelle vidéo 4x en une étape dans ComfyUI | ComfyUI Wiki