ComfyUI  >  Workflows  >  LivePortrait | Animer des Portraits | Img2Vid

LivePortrait | Animer des Portraits | Img2Vid

Ce workflow Img2Vid LivePortrait de ComfyUI donne vie aux images de portraits fixes en intégrant le cadre efficace de LivePortrait. Il vous permet de créer des vidéos animées très réalistes avec un contrôle total sur les expressions faciales, les mouvements de la tête et les détails fins comme les yeux et la bouche.

Flux de travail ComfyUI LivePortrait

ComfyUI LivePortrait Workflow
Vous voulez exécuter ce workflow ?
  • Workflows entièrement opérationnels
  • Aucun nœud ou modèle manquant
  • Aucune configuration manuelle requise
  • Propose des visuels époustouflants

Exemples ComfyUI LivePortrait

Description ComfyUI LivePortrait

Qu'est-ce que LivePortrait?

LivePortrait est un cadre d'animation de portrait efficace développé par Kuaishou Technology qui vise à synthétiser des vidéos réalistes à partir d'une seule image source. Il utilise l'image source comme référence d'apparence et tire le mouvement (expressions faciales et pose de la tête) d'une vidéo motrice, audio, texte ou génération.

Contrairement aux méthodes de diffusion classiques, LivePortrait explore et étend un cadre basé sur des points clés implicites pour équilibrer efficacement l'efficacité computationnelle et la contrôlabilité. Il se concentre sur une meilleure généralisation, contrôlabilité et efficacité pour une utilisation pratique. LivePortrait a une qualité de génération élevée même par rapport aux méthodes de diffusion, tout en étant extrêmement rapide - environ 12,8ms par frame sur un GPU RTX 4090 avec PyTorch.

Pour plus de détails, visitez

Comment fonctionne LivePortrait

À un niveau élevé, LivePortrait prend une image source et une vidéo motrice comme entrées. Il extrait l'apparence de l'image source et le mouvement de la vidéo motrice. Ceux-ci sont ensuite combinés en utilisant des modules de déformation et de génération pour synthétiser une vidéo de portrait animée qui conserve l'identité de l'image source mais suit le mouvement et les expressions de la vidéo motrice.

Les composants clés de LivePortrait sont:

  1. Extracteur de Caractéristiques d'Apparence: Encode les informations d'identité et d'apparence de l'image source.
  2. Extracteur de Mouvement: Extrait les caractéristiques de mouvement (points clés faciaux) des frames de la vidéo motrice.
  3. Module de Déformation: Utilise le mouvement extrait pour déformer les caractéristiques de l'image source, les alignant à la pose et à l'expression motrices.
  4. Générateur d'Images: Prend les caractéristiques déformées et synthétise le frame animé photoréaliste final.
  5. Module de Couture & Re-ciblage: Recoud éventuellement le portrait généré sur l'image originale et permet de contrôler des régions faciales spécifiques comme les yeux et la bouche.

Ces modules sont conçus efficacement et fonctionnent ensemble pour permettre une animation LivePortrait de haute qualité et contrôlable.

Comment utiliser ComfyUI LivePortrait

Grâce au , créer des animations de portrait réalistes dans ComfyUI est désormais plus facile. Voici une répartition des composants et paramètres clés de son workflow ComfyUI LivePortrait.

Étapes Clés du Workflow Img2Vid ComfyUI LivePortrait

1. Charger les Modèles Live Portrait

  • Ajouter le nœud "DownloadAndLoadLivePortraitModels"
  • Définir la précision sur auto ou fp16 pour de meilleures performances

2. Choisir le Détecteur de Visage pour LivePortrait

  • Vous avez le choix entre les nœuds "LivePortraitLoadCropper" (InsightFace) et "LivePortraitLoadMediaPipeCropper"
  • InsightFace est plus précis mais a une licence non commerciale, tandis que MediaPipe est plus rapide sur CPU mais moins précis
  • Les deux produisent un "cropper" qui sera utilisé pour détecter et recadrer les visages

3. Charger et Prétraiter l'Image Source pour LivePortrait

  • Charger votre image de portrait source en utilisant le nœud "Load Image"
  • La redimensionner à 512x512 en utilisant le nœud "ImageResize"
  • Connecter l'image redimensionnée à un nœud "LivePortraitCropper"
  • Connecter également la sortie "cropper" de votre détecteur de visage sélectionné à ce nœud
  • Paramètres clés dans le nœud "LivePortraitCropper"

"dsize": Cela définit la résolution de sortie de l'image de visage recadrée

  • Par défaut 512, ce qui signifie que le visage sera recadré à 512x512 pixels
  • Des valeurs plus élevées recadreront le visage en haute résolution, mais peuvent être plus lentes à traiter
  • Des valeurs plus basses seront plus rapides mais peuvent perdre en détail

"scale": Cela contrôle le niveau de zoom du recadrage du visage

  • Par défaut 2.3, des valeurs plus élevées zoomeront plus près du visage, des valeurs plus basses incluront plus de tête/arrière-plan
  • Vous voulez ajuster cela pour que le recadrage inclue tout le visage et un peu d'arrière-plan, mais pas trop d'espace supplémentaire
  • Un bon recadrage du visage est important pour que le transfert de mouvement fonctionne bien
  • Les valeurs typiques vont de 1.8 à 2.5 selon le cadrage de l'image source

"face_index": S'il y a plusieurs visages détectés dans l'image, cela sélectionne celui à recadrer

  • Par défaut 0, ce qui sélectionne le premier visage détecté
  • Augmentez cela si vous voulez sélectionner un visage différent dans l'image
  • Les visages détectés sont ordonnés en fonction du paramètre "face_index_order" (par défaut du plus grand au plus petit)

"vx_ratio" et "vy_ratio" (Optionnel): Ceux-ci vous permettent de décaler le recadrage verticalement (vy) ou horizontalement (vx)

  • Les valeurs vont de -1 à 1
  • Par exemple, définir vy à 0.1 décalera le recadrage vers le haut de 10% de la taille du cadre
  • Cela peut aider si le recadrage automatique est légèrement désaligné

"face_index_order": Cela définit comment les visages détectés sont ordonnés lors de la sélection avec face_index

  • Par défaut "large-small" qui ordonne du plus grand au plus petit visage
  • Peut également ordonner de gauche à droite, de haut en bas, etc.
  • Ceci n'est pertinent que si vous avez plusieurs visages dans votre image

4. Charger et Prétraiter la Vidéo Motrice pour LivePortrait

  • Charger votre vidéo motrice en utilisant le nœud "VHS_LoadVideo"
  • Ajuster num_frames en utilisant le primitif "frame_load_cap"
  • Redimensionner les frames de la vidéo à 480x480 en utilisant un nœud "GetImageSizeAndCount"
  • Vous pouvez éventuellement recadrer les frames de la vidéo motrice en utilisant un autre nœud "LivePortraitCropper"

5. Appliquer le Transfert de Mouvement pour LivePortrait

  • Ajouter le nœud "LivePortraitProcess"
  • Connecter le pipeline chargé, les informations de recadrage de l'image source, l'image source recadrée et les frames motrices au nœud "LivePortraitProcess"
  • Paramètres clés dans le nœud "LivePortraitProcess"

"lip_zero": Lorsqu'activé, cela annulera les paramètres des lèvres s'ils tombent en dessous d'un certain seuil

  • Cela peut aider à réduire les mouvements de lèvres non naturels et à améliorer la synchronisation labiale
  • Recommandé d'activer cela sauf si vous voulez spécifiquement conserver tous les mouvements de lèvres

"lip_zero_threshold": Cela définit le seuil en dessous duquel les paramètres des lèvres seront annulés lorsque "lip_zero" est activé

  • Par défaut 0.03, des valeurs plus élevées annuleront plus de mouvements de lèvres, des valeurs plus basses en conserveront plus
  • Ajustez cela si vous voulez changer combien de mouvements de lèvres sont supprimés

"stitching": Lorsqu'activé, cela mélangera le visage animé de nouveau dans l'image originale en utilisant un processus de couture

  • Cela peut aider à créer une transition plus homogène entre le visage animé et l'arrière-plan
  • Recommandé d'activer cela pour des résultats les plus naturels

"delta_multiplier": Cela échelle les paramètres de mouvement par un multiplicateur

  • Par défaut 1.0, des valeurs plus élevées exagèreront le mouvement, des valeurs plus basses le réduiront
  • Peut être utilisé pour ajuster l'intensité globale du mouvement facial
  • Les valeurs typiques vont de 0.8 à 1.5 selon l'effet désiré

"mismatch_method": Cela définit comment le workflow gère les décalages entre le nombre de frames source et motrices

  • Les options sont "constant", "cycle", "mirror" et "cut"
  • "constant" tiendra sur la dernière frame, "cycle" bouclera, "mirror" jouera en avant puis en arrière, "cut" s'arrêtera
  • Par défaut "constant", changez cela si vous voulez un comportement différent lorsque la vidéo motrice est plus longue ou plus courte que la source

"relative_motion_mode": Cela contrôle comment le mouvement est transféré de la vidéo motrice à l'image source

  • Les options sont "relative", "source_video_smoothed", "relative_rotation_only", "single_frame" et "off"
  • "relative" est le mode par défaut et utilise le transfert de mouvement relatif
  • "off" désactivera entièrement le transfert de mouvement
  • Expérimentez avec différents modes pour voir lequel donne les meilleurs résultats pour votre cas d'utilisation spécifique

"driving_smooth_observation_variance": Cela contrôle la fluidité du mouvement motrice lors de l'utilisation du mode de mouvement "source_video_smoothed"

  • Des valeurs plus élevées lisseront davantage le mouvement, des valeurs plus basses préserveront plus du mouvement original
  • Par défaut 0.000003, ajustez cela si vous voulez changer la fluidité du mouvement transféré

6. Compositez le Résultat (Optionnel) pour LivePortrait

  • Pour recomposer le visage animé dans l'image source, utilisez le nœud "LivePortraitComposite"
  • Connectez l'image source originale, l'image animée recadrée, les données de sortie de LivePortrait et un masque optionnel
  • Cela produira des frames complètes avec le visage animé intégré

7. Configurez le Re-ciblage (Optionnel) pour LivePortrait

  • Pour un contrôle plus fin des yeux et des lèvres, utilisez le nœud "LivePortraitRetargeting"
  • Activez le re-ciblage des yeux et/ou des lèvres et ajustez leurs multiplicateurs
  • Connectez les informations de re-ciblage à "LivePortraitProcess"

Veuillez noter que le modèle Insightface est requis dans ce workflow. Le modèle Insightface (https://github.com/deepinsight/insightface/releases/download/v0.7/buffalo_l.zip) a une licence de nature non commerciale.

Si vous êtes intéressé par LivePortrait Vid2Vid, veuillez utiliser

Vous voulez plus de workflows ComfyUI ?

RunComfy

© Droits d'auteur 2024 RunComfy. Tous droits réservés.

RunComfy est la première ComfyUI plateforme, offrant des ComfyUI en ligne environnement et services, ainsi que des workflows ComfyUI proposant des visuels époustouflants.