1. Résumé
HY-Motion 1.0 est une série de modèles texte-en mouvement développés par Tencent Hunyuan, basés sur le Transformateur de diffusion (DiT) et l’adaptation de flux, afin de générer des séquences d’animation 3D de personnages pilotées par squelettes, basées sur des descriptions en langage naturel, qui peuvent être ensuite connectées à des pipelines d’animation DCC/moteurs courants pour la redirection et l’assetation. Le projet fournit à la fois des versions standard (environ 1,0 milliard de paramètres) et légères (environ 0,46 milliard de paramètres), et utilise un lien complet de « réglage fin pré-entraîné → de haute qualité → apprentissage par renforcement » pour l’entraînement afin d’améliorer l’alignement sémantique et la naturalité physique.
2. Caractéristiques principales
1. DiT à l’échelle d’un milliard + correspondance de flux : Étend le cadre de génération de correspondance de flux de type DiT à 1 milliard de paramètres, visant une meilleure compréhension de l’instruction et une meilleure qualité d’action.
2. Entraînement en boucle fermée à toutes les étapes : la pré-formation à grande échelle apprend les priors généraux des actions, puis affine les détails et la fluidité avec des données de haute qualité, et enfin aligne davantage la sémantique du texte et la naturalité de l’action grâce à l’apprentissage par renforcement lié à la rétroaction humaine et aux modèles de récompense.
3. Couverture riche des catégories : Après nettoyage et annotation du pipeline de données, il couvre 6 catégories et 200+ catégories d’actions, facilitant la construction d’une bibliothèque d’actions plus « utilisable ».
4. Raisonnement technique et amélioration optionnelle des prompts : Fournir des scripts de raisonnement par lots locaux et une interface Gradio ; Il prend également en charge le module optionnel « Prédiction de durée et réécriture des prompts » (s’il n’est pas activé, les paramètres concernés doivent être explicitement désactivés).
3. Installation
- Installer PyTorch (choisir la version CUDA/CPU selon les directives officielles).
2. Extraire du code et installer les dépendances : Après avoir git clone le dépôt, exécuter le pip install -r requirements.txt dans le répertoire.
3. Poids de téléchargement : Placez les poids des modèles dans le répertoire spécifié (version standard ou version Lite) selon les instructions du dépôt ckpts/README.md.
4. Exécuter l’inférence : utiliser local_infer.py pour la génération locale de lots (pointer vers le répertoire de poids correspondant via --model_path).
5. Démarrer la visualisation : Exécutez gradio_app.py pour ouvrir l’interface web locale afin d’un aperçu interactif et des tests.
4. Cas d’usage typiques
- Préfabrication de jeux et d’animations : Utilisez le langage naturel pour générer rapidement des brouillons d’actions afin de raccourcir le cycle d’itérations du storyboard à la bibliothèque d’actions.
- Bibliothèque d’actions d’ancrage numériques humaines/virtuelles : Générer les matériaux par lots selon le style, le rythme et les commandes émotionnelles, puis effectuer la redirection et le nettoyage des os de manière unifiée.
- Accès au pipeline DCC/Engine : Importez les actions squelettes générées dans Blender/Maya ou Unity/Unreal, et implémentez-les comme des assets réutilisables avec IK, redirection et édition de courbes.
- Amélioration et assistance à la récupération des données : En tant que générateur d’actions, il est utilisé pour étendre la couverture des descriptions d’actions à longue traîne, ou pour construire un processus de récupération et d’annotation pour l’alignement « texte-action » (une inspection aléatoire manuelle est requise).
5. Écologie et produits concurrents
- Localisation écologique : HY-Motion 1.0 est orienté vers le lien « texte → mouvement humain 3D » et peut être combiné avec des représentations humaines liées à SMPL/SMPLH, des chaînes d’outils DCC et des modules d’ingénierie prompt pour former un processus d’actifs d’action « productible ».
- Références concurrentes open source : MDM (Human Motion Diffusion Model), T2M-GPT, ainsi que les premières bases texte-mouvement ainsi que les données/benchmarks HumanML3D sont largement utilisés dans la communauté. Les principales différences de HY-Motion 1.0 sont l’échelle 1B et une boucle fermée d’entraînement plus complète. Il est toujours recommandé de comparer et d’évaluer les avantages et inconvénients réels en fonction de votre distribution de prompts, de votre squelette de caractère et de votre pipeline d’atterrissage.
6. Limitations et précautions
- Puissance de calcul et latence : l’inférence à 1 milliard de paramètres a des exigences plus élevées en mémoire vidéo et en débit, et les scénarios limités en ressources peuvent donner la priorité à la version Lite.
- Différences entre squelette et personnage : Ce qui est généré est une action pilotée par le squelette, et atterrir sur un personnage spécifique nécessite généralement une redirection, une adaptation de la longueur des os, une correction par pas glissé de la seule et une correction entrecoupée.
- Réécriture de prompts/dépendance à la prédiction de durée : Si le module concerné est activé, vous devez configurer l’adresse de service disponible ou le modèle local. Sinon, les paramètres correspondants doivent être désactivés pour éviter les erreurs.
- Biais de catégorie et de données : la couverture de 200+ classes ne signifie pas que « toute description est stable », et des scénarios tels que des interactions complexes, des props et plusieurs personnes peuvent nécessiter des contraintes supplémentaires ou un post-traitement.
- Licences et conformité : Les poids et codes sont autorisés par des communautés spécifiques, et les conditions doivent être soigneusement vérifiées avant la commercialisation/distribution, et des examens de droits d’auteur et de sécurité doivent être effectués sur le contenu généré.
7. Adresse du projet
https://github.com/Tencent-Hunyuan/HY-Motion-1.0
8. Questions fréquemment posées
Q : Comment gérer les erreurs liées à duration_est/réécriture lors de l’exécution de local_infer.py après l’installation de HY-Motion 1.0 ?
R : Si vous ne configurez pas l’adresse du service ou le poids local du module de prédiction de surcharge ou de durée d’invitation, vous devez désactiver les fonctions correspondantes dans les paramètres d’inférence (comme désactiver duration_est et réécrire) ou configurer correctement le module selon les instructions du référentiel.
Q : Comment choisir entre HY-Motion-1.0 et HY-Motion-1.0-Lite ?
R : Choisir la version standard pour viser une meilleure qualité d’action et une instruction plus forte à la suite, et avoir une puissance de calcul suffisante ; Quand vous avez besoin d’une empreinte de ressources plus faible ou d’itérations plus rapides, utilisez d’abord Lite, puis répliquez les fragments clés avec l’édition standard.
Q : Comment la sortie de HY-Motion 1.0 se relie-t-elle au pipeline d’animation Blender/UE/Unity ?
R : Le processus habituel est : exporter/convertir les actions générées du squelette dans votre format lisible par chaîne d’outils, puis rediriger les os vers le Rig du caractère cible, et effectuer un post-traitement comme IK, verrouillage de semelles et lissage de courbes. Les différents standards de cadre de projet sont différents, et un modèle de redirection stable doit être établi.
Q : HY-Motion 1.0 est-il adapté aux « actions avec accessoires/multijoueur/scènes complexes » ?
R : Il est principalement destiné à la génération de mouvements humains en solo en 3D ; Les interactions complexes nécessitent souvent une entrée conditionnelle plus forte, un post-traitement ou un support spécialisé des données, il est donc recommandé de faire une vérification à petite échelle et de se préparer d’abord à une correction manuelle.