Viggle-Animate : remplacement de personnage H3, une frame repeinte
Viggle-Animate est un finetune 33,1B de MiniMax H3 ref2va avec distillation DMD qui remplace les personnages vidéo depuis une frame repeinte, 3 passes, 26 secondes par clip.
Teaser de la carte modèle : le personnage peint prend le contrôle de la Vidéo motrice tandis que le mouvement, la Caméra et le timing restent intacts.
Comment ça marche
La plupart des pipelines de remplacement de personnage sont construits sur des représentations intermédiaires : squelettes de pose, masques de segmentation, plaques Arrière-plan, recadrages faciaux. Chaque extracteur est un autre modèle à exécuter et un autre endroit où perdre de l'information. Viggle-Animate n'utilise aucun d'eux. Parce que la référence est l'une des frames du clip, sa pose, sa Caméra, son cadrage et son éclairage sont déjà cohérents avec les images, donc rien en aval n'a besoin de les aligner à nouveau. Le modèle ne reçoit jamais ce qu'est le nouveau personnage : aucune classe, aucun encodeur d'identité, aucun texte Utilisateur.
Deux Entrées entrent dans l'étape Vidéo : le clip moteur et une frame repeinte. L'encodeur de texte n'est jamais chargé. Le conditionnement est un embedding figé livré avec les poids, identique pour chaque rendu.
La vitesse vient doublement. Une fois la frame repeinte existante, il n'y a rien d'autre à exécuter, et l'Échantillonneur lui-même est distillé : une distillation conjointe sur deux enseignants répartis par niveau de bruit, où le finetune supervise l'extrémité à haut bruit qui décide du remplacement et le MiniMax H3 original supervise l'extrémité à faible bruit qui décide du détail et de la texture. Les valeurs par défaut sont --steps 4 --flow-shift 3, ce qui nomme quatre frontières sigma et donc trois passes avant. L'Équipe note que quatre étapes est le point de fonctionnement, pas un raccourci : le modèle distillé rend plus nettement que son enseignant, et plus d'étapes basculent vers un excès de netteté.
Comparaison avec Wan2.2-Animate
Dans une comparaison appariée sur la même B200, mêmes vidéos sources, même Résolution et nombre de frames :
| Viggle-Animate | Wan2.2-Animate-14B | |
|---|---|---|
| Entrées | Vidéo motrice + une frame repeinte | Vidéo motrice + image de personnage, plus un passage de prétraitement produisant des PISTES de pose, visage, masque et Arrière-plan |
| Rendu, après chargement des poids | 26 s | 160 s |
| Passes avant | 3 | 40 (20 étapes x 2 chunks) |
| Paramètres | 33,1 B | 17,3 B |
Cela fait 6,1x plus rapide par rendu et 10,3x sur l'échantillonnage seul, avec le passage de prétraitement de Wan non compté dans ses 160 s. Les clips de comparaison publiés montrent l'écart le plus large sous mouvement rapide, où Wan floute et Viggle-Animate positionne la pose sur la bonne frame. Un Espace de démo et viggle.ai/h3 sont en ligne si vous voulez juger la Sortie directement.
Généralisation au-delà des humains
Parce que rien dans la boucle ne suppose que le personnage est une personne, ce qu'il peut animer est limité par ce que vous pouvez peindre. La carte modèle montre des animaux avec oreilles et palmes se déplaçant sur des membres que le clip moteur n'a pas, une figure en Argile tenant sa limite de style, et un avion dont les ailes peintes restent liées aux bras de l'acteur pour tout le clip.
Référence peinte et Sortie : le dessin place l'anatomie, le rendu l'anime comme s'il avait toujours été là.
Limites connues de la carte modèle : la synchronisation labiale est faible en gros plan, les scènes multi-personnages et les plans coupés baissent en qualité, et le modèle hérite de l'édition d'image, donc là où le dessin et la Vidéo sont en désaccord, la Vidéo gagne. Un modèle substantiellement meilleur visant ces trois cas est déjà en entraînement.
Disponibilité
- Poids : Viggle/Viggle-Animate sur Hugging Face, sous la Licence Communauté MiniMax H3. Livré avec le finetune bf16 de 33,1B (14 shards) plus un LoRA distillé DMD2 rank-128 de 2,5 Go ; VAE, audio VAE et planificateurs chargent depuis votre propre copie du Modèle de base.
- Inférence : basé sur diffusers,
inference/sample.pydans le repo, pas de fork ou correctif du pipeline d'origine nécessaire. Une carte 80 Go ne suffit pas en bf16 (un rendu 480x832 / 124 frames atteint 80,1 GiB) : utilisez une carte 96 Go+ ou--offload. - Pas encore de support natif ComfyUI : utilisez le chemin d'Inférence Python officiel. Le LoRA est une delta sur le transformateur finetuné, donc le Chargement sur les poids H3 ref2va d'origine produit des résultats aberrants.
- Démo : Espace Viggle/viggle-animate et viggle.ai/h3.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.