Viggle-Animate: Reemplazo de Personajes H3 con un Frame Repintado
Viggle-Animate es un finetune de 33.1B de MiniMax H3 ref2va con DMD que cambia personajes de vídeo desde un frame repintado, 3 pasadas, 26 segundos por clip.
Teaser de la tarjeta del modelo: el personaje pintado toma el control del vídeo conductor mientras el movimiento, la cámara y el tiempo permanecen intactos.
Cómo funciona
La mayoría de los pipelines de reemplazo de personajes se basan en representaciones intermedias: esqueletos de pose, máscaras de segmentación, placas de fondo, recortes faciales. Cada extractor es otro modelo para ejecutar y otro lugar donde perder información. Viggle-Animate no usa ninguno de ellos. Como la referencia es uno de los propios frames del clip, su pose, cámara, encuadre e iluminación ya coinciden con las imágenes, por lo que nada aguas abajo tiene que alinearlos nuevamente. El modelo nunca se le dice cuál es el nuevo personaje: ninguna clase, ningún codificador de identidad, ningún prompt de texto.
Dos entradas entran en la etapa de vídeo: el clip conductor y un frame repintado. El codificador de texto nunca se carga. El acondicionamiento es un embedding congelado enviado con los pesos, idéntico para cada renderizado.
La velocidad viene doblemente. Una vez que existe el frame repintado no hay nada más que ejecutar, y el propio muestreador está destilado: una destilación conjunta entre dos maestros divididos por nivel de ruido, donde el finetune supervisa el extremo de alto ruido que decide el reemplazo y el original MiniMax H3 supervisa el extremo de bajo ruido que decide el detalle y la textura. Los valores predeterminados son --steps 4 --flow-shift 3, que nombran cuatro límites sigma y por lo tanto tres pasadas hacia adelante. El equipo nota que cuatro pasos es el punto de operación, no un atajo: el modelo destilado renderiza más nítido que su maestro, y más pasos se inclinan hacia el sobre-nitidez.
Cómo se compara con Wan2.2-Animate
En una comparación coincidente en la misma B200, mismos vídeos fuente, misma resolución y conteo de frames:
| Viggle-Animate | Wan2.2-Animate-14B | |
|---|---|---|
| Entradas | vídeo conductor + un frame repintado | vídeo conductor + imagen de personaje, más un paso de preprocesamiento que produce pose, cara, máscara y pistas de fondo |
| Renderizado, después de cargar los pesos | 26 s | 160 s |
| Pasadas hacia adelante | 3 | 40 (20 steps x 2 chunks) |
| Parámetros | 33.1 B | 17.3 B |
Eso es 6.1x más rápido por renderizado y 10.3x solo en muestreo, con el paso de preprocesamiento de Wan ni siquiera contando en sus 160 s. Los clips de comparación liberados muestran la brecha más amplia bajo movimiento rápido, donde Wan se difumina y Viggle-Animate aterriza la pose en el frame correcto. Un demo Space y viggle.ai/h3 están activos si desea juzgar la salida directamente.
Generaliza más allá de humanos
Como nada en el ciclo asume que el personaje es una persona, lo que puede animar está acotado por lo que puedes pintar. La tarjeta del modelo muestra animales con orejas y aletas moviéndose en extremidades que el clip conductor no tiene, una figura de arcilla manteniendo su límite de estilo, y un avión comercial cuyas alas pintadas permanecen unidas a los brazos del actor durante todo el clip.
Referencia pintada y salida: la pintura coloca la anatomía, el renderizado la anima como si siempre hubiera estado allí.
Límites conocidos de la tarjeta del modelo: sincronización labial débil en primeros planos, escenas de múltiples personajes y tomas que cortan caen en calidad, y el modelo hereda la edición de imagen, por lo que donde la pintura y el vídeo discrepan el vídeo gana. Un modelo sustancialmente mejor dirigido a estos tres casos ya está en entrenamiento.
Disponibilidad
- Pesos: Viggle/Viggle-Animate en Hugging Face, bajo la Licencia de Comunidad MiniMax H3. Envía el finetune 33.1B bf16 (14 shards) más un LoRA destilado DMD2 rank-128 de 2.5GB; VAE, audio VAE y programadores cargan desde tu propia copia del modelo base.
- Inferencia: basado en diffusers,
inference/sample.pyen el repositorio, no se necesita fork o parche del pipeline upstream. Una tarjeta de 80GB no es suficiente en bf16 (un renderizado de 480x832 / 124-frame alcanza picos de 80.1 GiB): usa una tarjeta de 96GB+ o--offload. - Sin soporte nativo de ComfyUI aún: usa la ruta de inferencia oficial de Python. El LoRA es un delta sobre el transformador afinado, por lo que cargarlo sobre los pesos stock H3 ref2va produce basura.
- Demo: Viggle/viggle-animate Space y viggle.ai/h3.
Comentarios
Inicia sesión con GitHub para unirte a la conversación.