ComfyUI  >  Arbejdsgange  >  LivePortrait | Animer Portrætter | Img2Vid

LivePortrait | Animer Portrætter | Img2Vid

Denne ComfyUI LivePortrait Img2Vid workflow bringer stillbillede-portrætter til live ved at integrere den effektive LivePortrait-ramme. Det giver dig mulighed for at skabe yderst realistiske animerede videoer med fuld kontrol over ansigtsudtryk, hovedbevægelser og fine detaljer som øjne og mund.

ComfyUI LivePortrait Arbejdsgang

ComfyUI LivePortrait Workflow
Vil du køre denne arbejdsgang?
  • Fuldt operationelle arbejdsgange
  • Ingen manglende noder eller modeller
  • Ingen manuelle opsætninger krævet
  • Funktioner fantastiske visuals

ComfyUI LivePortrait Eksempler

ComfyUI LivePortrait Beskrivelse

Hvad er LivePortrait?

LivePortrait er en effektiv portrætanimationsramme udviklet af Kuaishou Technology, der sigter mod at syntetisere livagtige videoer fra et enkelt kildebillede. Det bruger kildebilledet som en udseendereference og udleder bevægelser (ansigtsudtryk og hovedstilling) fra en styrende video, lyd, tekst eller generering.

I modsætning til mainstream diffusionsbaserede metoder udforsker og udvider LivePortrait en implicit-nøglepunkt-baseret ramme for effektivt at balancere beregningseffektivitet og kontrolbarhed. Det fokuserer på bedre generalisering, kontrolbarhed og effektivitet til praktisk brug. LivePortrait har høj genereringskvalitet selv sammenlignet med diffusionsmetoder, mens det er ekstremt hurtigt - omkring 12,8 ms pr. ramme på en RTX 4090 GPU med PyTorch.

For flere detaljer, besøg

Hvordan LivePortrait Fungerer

På et højt niveau tager LivePortrait et kildebillede og en styrende video som input. Det udtrækker udseendet fra kildebilledet og bevægelser fra den styrende video. Disse kombineres derefter ved hjælp af forvrængnings- og genereringsmoduler for at syntetisere en animeret portrætvideo, der bevarer identiteten af kildebilledet, men følger bevægelserne og udtrykkene fra den styrende video.

Nøglekomponenterne i LivePortrait er:

  1. Udseendefunktionsekstraktor: Koder identitets- og udseendeinformation fra kildebilledet.
  2. Bevægelsersekstraktor: Udtrækker bevægelsesfunktioner (ansigtsnøglepunkter) fra den styrende videos rammer.
  3. Forvrængningsmodul: Bruger de udtrukne bevægelser til at forvrænge kildebilledets funktioner og tilpasse dem til den styrende stilling og udtryk.
  4. Billedgenerator: Tager de forvrængede funktioner og syntetiserer den endelige fotorealistiske animerede ramme.
  5. Sammenføjning & Omfordelingsmodul: Sammenføjer valgfrit det genererede portræt tilbage på det originale billede og tillader kontrol af specifikke ansigtsområder som øjne og mund.

Disse moduler er effektivt designet og arbejder sammen for at muliggøre høj kvalitet, kontrollerbar LivePortrait-animation.

Sådan Bruger Du ComfyUI LivePortrait

Takket være  node og workflow er det nu nemmere at skabe realistiske portrætanimationer i ComfyUI. Følgende er en oversigt over nøglekomponenterne og parametrene i hans ComfyUI LivePortrait workflow.

Nøgletrin i ComfyUI LivePortrait Img2Vid Workflow

1. Indlæs Live Portrait Modellerne

  • Tilføj noden "DownloadAndLoadLivePortraitModels"
  • Indstil præcision til auto eller fp16 for bedste ydeevne

2. Vælg Ansigtsdetektor til LivePortrait

  • Du har valget mellem noderne "LivePortraitLoadCropper" (InsightFace) og "LivePortraitLoadMediaPipeCropper"
  • InsightFace er mere præcis, men har en ikke-kommerciel licens, mens MediaPipe er hurtigere på CPU, men mindre præcis
  • Begge outputter en "cropper", der vil blive brugt til at detektere og beskære ansigter

3. Indlæs og Forbehandl Kildebillede til LivePortrait

  • Indlæs dit kildeportræt ved hjælp af noden "Load Image"
  • Ændr størrelse til 512x512 ved hjælp af noden "ImageResize"
  • Forbind det ændrede billede til en "LivePortraitCropper"-node
  • Forbind også outputtet af din valgte ansigtsdetektors "cropper" til denne node
  • Nøgleparametre i "LivePortraitCropper"-noden

"dsize": Dette indstiller outputopløsningen af det beskårede ansigtsbillede

  • Standard er 512, hvilket betyder, at ansigtet vil blive beskåret til 512x512 pixels
  • Højere værdier vil beskære ansigtet i højere opløsning, men kan være langsommere at behandle
  • Lavere værdier vil være hurtigere, men kan miste nogle detaljer

"scale": Dette styrer, hvor meget ansigtsbeskæringen vil blive zoomet ind

  • Standard er 2,3, højere værdier vil zoome tættere på ansigtet, lavere værdier vil inkludere mere af hovedet/baggrunden
  • Du vil justere dette, så beskæringen inkluderer hele ansigtet og noget baggrund, men ikke for meget ekstra plads
  • En god ansigtsbeskæring er vigtig for, at bevægelsesoverførslen fungerer godt
  • Typiske værdier spænder fra 1,8 til 2,5 afhængigt af indramningen af kildebilledet

"face_index": Hvis der er flere ansigter detekteret i billedet, vælger dette, hvilket der skal beskæres

  • Standard er 0, hvilket vælger det første detekterede ansigt
  • Forøg dette, hvis du vil vælge et andet ansigt i billedet
  • Detekterede ansigter er ordnet baseret på indstillingen "face_index_order" (standard er største til mindste)

"vx_ratio" og "vy_ratio" (Valgfri): Disse tillader dig at forskyde beskæringen lodret (vy) eller vandret (vx)

  • Værdier spænder fra -1 til 1
  • For eksempel vil indstilling af vy til 0,1 forskyde beskæringen opad med 10% af ramme størrelsen
  • Dette kan hjælpe, hvis den automatiske beskæring er lidt forkert justeret

"face_index_order": Dette indstiller, hvordan detekterede ansigter er ordnet, når de vælges med face_index

  • Standard er "large-small", som ordner fra største til mindste ansigt
  • Kan også ordnes fra venstre til højre, top til bund osv.
  • Dette er kun relevant, hvis du har flere ansigter i dit billede

4. Indlæs og Forbehandl Styrende Video til LivePortrait

  • Indlæs din styrende video ved hjælp af noden "VHS_LoadVideo"
  • Juster num_frames ved hjælp af primitivet "frame_load_cap"
  • Ændr størrelse på videorammerne til 480x480 ved hjælp af en "GetImageSizeAndCount"-node
  • Du kan valgfrit beskære de styrende videorammer ved hjælp af en anden "LivePortraitCropper"-node

5. Anvend Bevægelsersoverførsel til LivePortrait

  • Tilføj noden "LivePortraitProcess"
  • Forbind den indlæste pipeline, kildebilledets crop_info, beskåret kildebillede og styrende rammer til "LivePortraitProcess"-noden
  • Nøgleparametre i "LivePortraitProcess"-noden

"lip_zero": Når aktiveret, vil dette nulstille læbeparametrene, hvis de falder under en bestemt tærskel

  • Dette kan hjælpe med at reducere unaturlige læbebevægelser og forbedre læbesynkroniseringen
  • Anbefales at aktivere dette, medmindre du specifikt ønsker at bevare alle læbebevægelser

"lip_zero_threshold": Dette indstiller tærsklen, under hvilken læbeparametrene nulstilles, når "lip_zero" er aktiveret

  • Standard er 0,03, højere værdier vil nulstille flere læbebevægelser, lavere værdier vil bevare flere
  • Juster dette, hvis du vil ændre, hvor meget læbebevægelse der undertrykkes

"stitching": Når aktiveret, vil dette blande det animerede ansigt tilbage i det originale billede ved hjælp af en sammenføjningsproces

  • Dette kan hjælpe med at skabe en mere sømløs overgang mellem det animerede ansigt og baggrunden
  • Anbefales at aktivere dette for de mest naturlige resultater

"delta_multiplier": Dette skalerer bevægelsesparametrene med en multiplikator

  • Standard er 1,0, højere værdier vil overdrive bevægelser, lavere værdier vil reducere dem
  • Kan bruges til at justere den samlede intensitet af ansigtsbevægelserne
  • Typiske værdier spænder fra 0,8 til 1,5 afhængigt af den ønskede effekt

"mismatch_method": Dette indstiller, hvordan workflowet håndterer uoverensstemmelser mellem antallet af kilde- og styrende rammer

  • Mulighederne er "constant", "cycle", "mirror" og "cut"
  • "constant" vil holde på den sidste ramme, "cycle" vil loope, "mirror" vil afspille fremad og derefter bagud, "cut" vil stoppe
  • Standard er "constant", ændr dette, hvis du ønsker en anden opførsel, når den styrende video er længere eller kortere end kilden

"relative_motion_mode": Dette styrer, hvordan bevægelser overføres fra den styrende video til kildebilledet

  • Mulighederne er "relative", "source_video_smoothed", "relative_rotation_only", "single_frame" og "off"
  • "relative" er standard og bruger relativ bevægelsesoverførsel
  • "off" vil deaktivere bevægelsesoverførsel helt
  • Eksperimenter med forskellige tilstande for at se, hvilken der giver de bedste resultater til dit specifikke brugsscenarie

"driving_smooth_observation_variance": Dette styrer jævnheden af den styrende bevægelse, når du bruger "source_video_smoothed" bevægelsestilstand

  • Højere værdier vil udjævne bevægelsen mere, lavere værdier vil bevare mere af den originale bevægelse
  • Standard er 0,000003, juster dette, hvis du vil ændre jævnheden af den overførte bevægelse

6. Sammensæt Resultat (Valgfri) til LivePortrait

  • For at sammensætte det animerede ansigt tilbage i kildebilledet, brug noden "LivePortraitComposite"
  • Forbind det originale kildebillede, beskåret animeret billede, LivePortrait outputdata og en valgfri maske
  • Dette vil outputte fulde rammer med det animerede ansigt blandet ind

7. Konfigurer Omfordeling (Valgfri) til LivePortrait

  • For finere kontrol over øjne og læber, brug noden "LivePortraitRetargeting"
  • Aktiver øje- og/eller læbeomfordeling og juster deres multiplikatorer
  • Forbind omfordelingsinfo til "LivePortraitProcess"

Bemærk venligst, at Insightface-modellen er påkrævet i denne workflow. Insightface-modellen (https://github.com/deepinsight/insightface/releases/download/v0.7/buffalo_l.zip) licens er ikke-kommerciel af natur.

Hvis du er interesseret i LivePortrait Vid2Vid, bedes du bruge

Vil du have flere ComfyUI-arbejdsgange?

RunComfy

© Ophavsret 2024 RunComfy. Alle rettigheder forbeholdes.

RunComfy er den førende ComfyUI platform, der tilbyder ComfyUI online miljø og tjenester, sammen med ComfyUI-arbejdsgange med fantastiske visuals.