ComfyUI  >  Arbeidsflyter  >  LivePortrait | Animer Portretter | Img2Vid

LivePortrait | Animer Portretter | Img2Vid

Denne ComfyUI LivePortrait Img2Vid arbeidsflyten bringer stille portrettbilder til liv ved å integrere den effektive LivePortrait-rammeverket. Det gjør det mulig å lage svært realistiske animerte videoer med full kontroll over ansiktsuttrykk, hodebevegelser og fine detaljer som øyne og munn.

ComfyUI LivePortrait Arbeidsflyt

ComfyUI LivePortrait Workflow
Vil du kjøre denne arbeidsflyten?
  • Fullt operasjonelle arbeidsflyter
  • Ingen manglende noder eller modeller
  • Ingen manuelle oppsett kreves
  • Har fantastiske visuelle effekter

ComfyUI LivePortrait Eksempler

ComfyUI LivePortrait Beskrivelse

Hva er LivePortrait?

LivePortrait er et effektivt portrettanimasjonsrammeverk utviklet av Kuaishou Technology som har som mål å syntetisere livaktige videoer fra et enkelt kildebilde. Det bruker kildebildet som en utseendereferanse og henter bevegelse (ansiktsuttrykk og hodeposisjon) fra en drivvideo, lyd, tekst eller generering.

I motsetning til vanlige diffusjonsbaserte metoder, utforsker og utvider LivePortrait et implicit-keypoint-basert rammeverk for effektivt å balansere beregningseffektivitet og kontrollbarhet. Det fokuserer på bedre generalisering, kontrollbarhet og effektivitet for praktisk bruk. LivePortrait har høy generasjonskvalitet selv sammenlignet med diffusjonsmetoder, samtidig som det er ekstremt raskt - omtrent 12,8 ms per ramme på en RTX 4090 GPU med PyTorch.

For mer informasjon, besøk

Hvordan LivePortrait fungerer

På et høyt nivå tar LivePortrait et kildebilde og en drivvideo som innganger. Det ekstraherer utseendet fra kildebildet og bevegelse fra drivvideoen. Disse kombineres deretter ved hjelp av warping- og genereringsmoduler for å syntetisere en animert portrettvideo som beholder identiteten til kildebildet, men følger bevegelsen og uttrykkene til drivvideoen.

Nøkkelkomponentene i LivePortrait er:

  1. Utseendefunksjonsuttrekker: Koder identitets- og utseendeinformasjon fra kildebildet.
  2. Bevegelsesuttrekker: Ekstraherer bevegelsesfunksjoner (ansiktsnøkkelpunkter) fra drivvideoramene.
  3. Warping-modul: Bruker den ekstraherte bevegelsen til å forvrenge kildebildefunksjonene, og justerer dem til drivposisjon og uttrykk.
  4. Bildegenerator: Tar de forvrengte funksjonene og syntetiserer den endelige fotorealistiske animerte rammen.
  5. Stitching & Retargeting-modul: Valgfritt syr det genererte portrettet tilbake på det originale bildet og lar deg kontrollere spesifikke ansiktsområder som øyne og munn.

Disse modulene er effektivt designet og fungerer sammen for å muliggjøre høy kvalitet, kontrollerbar LivePortrait-animasjon.

Hvordan bruke ComfyUI LivePortrait

Takket være  node og arbeidsflyt, er det nå enklere å lage realistiske portrettanimasjoner i ComfyUI. Følgende er en oversikt over nøkkelkomponentene og parameterne i hans ComfyUI LivePortrait arbeidsflyt.

Nøkkeltrinn i ComfyUI LivePortrait Img2Vid arbeidsflyt

1. Last inn Live Portrait-modellene

  • Legg til "DownloadAndLoadLivePortraitModels" noden
  • Sett presisjon til auto eller fp16 for best ytelse

2. Velg ansiktsdetektor for LivePortrait

  • Du har valget mellom "LivePortraitLoadCropper" (InsightFace) og "LivePortraitLoadMediaPipeCropper" noder
  • InsightFace er mer nøyaktig, men har en ikke-kommersiell lisens, mens MediaPipe er raskere på CPU, men mindre nøyaktig
  • Begge gir en "cropper" som vil bli brukt til å oppdage og beskjære ansikter

3. Last inn og forbehandle kildebilde for LivePortrait

  • Last inn ditt kildeportrettbilde ved hjelp av "Load Image" noden
  • Endre størrelsen til 512x512 ved hjelp av "ImageResize" noden
  • Koble det endrede bildet til en "LivePortraitCropper" node
  • Koble også utgangen fra din valgte ansiktsdetektors "cropper" til denne noden
  • Nøkkelparametere i "LivePortraitCropper" noden

"dsize": Dette setter oppløsningen på det beskårne ansiktsbildet

  • Standard er 512, noe som betyr at ansiktet vil bli beskåret til 512x512 piksler
  • Høyere verdier vil beskjære ansiktet i høyere oppløsning, men kan være tregere å behandle
  • Lavere verdier vil være raskere, men kan miste noen detaljer

"scale": Dette kontrollerer hvor mye ansiktsbeskjæringen vil være zoomet inn

  • Standard er 2.3, høyere verdier vil zoome nærmere ansiktet, lavere verdier vil inkludere mer av hodet/bakgrunnen
  • Du vil justere dette slik at beskjæringen inkluderer hele ansiktet og litt bakgrunn, men ikke for mye ekstra plass
  • En god ansiktsbeskjæring er viktig for at bevegelsesoverføringen skal fungere godt
  • Typiske verdier varierer fra 1.8 til 2.5 avhengig av innrammingen av kildebildet

"face_index": Hvis det er flere ansikter oppdaget i bildet, velger dette hvilket ansikt som skal beskjæres

  • Standard er 0, som velger det første oppdagede ansiktet
  • Øk dette hvis du vil velge et annet ansikt i bildet
  • Oppdagede ansikter er ordnet basert på "face_index_order" innstillingen (standard er fra størst til minst)

"vx_ratio" og "vy_ratio" (Valgfritt): Disse lar deg forskyve beskjæringen vertikalt (vy) eller horisontalt (vx)

  • Verdiene varierer fra -1 til 1
  • For eksempel vil innstilling av vy til 0.1 forskyve beskjæringen oppover med 10% av ramme størrelsen
  • Dette kan hjelpe hvis den automatiske beskjæringen er litt feiljustert

"face_index_order": Dette setter hvordan oppdagede ansikter ordnes når du velger med face_index

  • Standard er "large-small" som ordner fra størst til minst ansikt
  • Kan også ordnes fra venstre til høyre, topp til bunn, osv.
  • Dette er bare relevant hvis du har flere ansikter i bildet ditt

4. Last inn og forbehandle drivvideo for LivePortrait

  • Last inn drivvideoen din ved hjelp av "VHS_LoadVideo" noden
  • Juster num_frames ved hjelp av "frame_load_cap" primitivet
  • Endre størrelsen på videorammene til 480x480 ved hjelp av en "GetImageSizeAndCount" node
  • Du kan valgfritt beskjære drivvideorammene ved hjelp av en annen "LivePortraitCropper" node

5. Anvend bevegelsesoverføring for LivePortrait

  • Legg til "LivePortraitProcess" noden
  • Koble den lastede pipeline, kildebilde crop_info, beskåret kildebilde og drivrammer til "LivePortraitProcess" noden
  • Nøkkelparametere i "LivePortraitProcess" noden

"lip_zero": Når aktivert, vil dette nullstille leppeparametrene hvis de faller under en viss terskel

  • Dette kan bidra til å redusere unaturlige leppebevegelser og forbedre leppesynkroniseringen
  • Anbefalt å aktivere dette med mindre du spesifikt vil bevare all leppebevegelse

"lip_zero_threshold": Dette setter terskelen under hvilken leppeparametrene vil bli nullstilt når "lip_zero" er aktivert

  • Standard er 0.03, høyere verdier vil nullstille mer leppebevegelse, lavere verdier vil bevare mer
  • Juster dette hvis du vil endre hvor mye leppebevegelse som undertrykkes

"stitching": Når aktivert, vil dette blande det animerte ansiktet tilbake i det originale bildet ved hjelp av en sømprosess

  • Dette kan bidra til å skape en mer sømløs overgang mellom det animerte ansiktet og bakgrunnen
  • Anbefalt å aktivere dette for de mest naturlige resultatene

"delta_multiplier": Dette skalerer bevegelsesparametrene med en multiplikator

  • Standard er 1.0, høyere verdier vil overdrive bevegelsen, lavere verdier vil redusere den
  • Kan brukes til å justere den totale intensiteten av ansiktsbevegelsen
  • Typiske verdier varierer fra 0.8 til 1.5 avhengig av ønsket effekt

"mismatch_method": Dette setter hvordan arbeidsflyten håndterer uoverensstemmelser mellom antall kilde- og drivrammer

  • Alternativene er "constant", "cycle", "mirror", og "cut"
  • "constant" vil holde på den siste rammen, "cycle" vil loope, "mirror" vil spille fremover og deretter bakover, "cut" vil stoppe
  • Standard er "constant", endre dette hvis du vil ha en annen oppførsel når drivvideoen er lengre eller kortere enn kilden

"relative_motion_mode": Dette kontrollerer hvordan bevegelse overføres fra drivvideoen til kildebildet

  • Alternativene er "relative", "source_video_smoothed", "relative_rotation_only", "single_frame", og "off"
  • "relative" er standard og bruker relativ bevegelsesoverføring
  • "off" vil deaktivere bevegelsesoverføring helt
  • Eksperimenter med forskjellige moduser for å se hvilken som gir de beste resultatene for din spesifikke brukstilfelle

"driving_smooth_observation_variance": Dette kontrollerer jevnheten i drivbevegelsen når du bruker "source_video_smoothed" bevegelsesmodus

  • Høyere verdier vil jevne ut bevegelsen mer, lavere verdier vil bevare mer av den originale bevegelsen
  • Standard er 0.000003, juster dette hvis du vil endre jevnheten i den overførte bevegelsen

6. Komponer resultat (Valgfritt) for LivePortrait

  • For å komponere det animerte ansiktet tilbake i kildebildet, bruk "LivePortraitComposite" noden
  • Koble det originale kildebildet, beskåret animert bilde, LivePortrait utdata og en valgfri maske
  • Dette vil gi ut fullstendige rammer med det animerte ansiktet blandet inn

7. Konfigurer retargeting (Valgfritt) for LivePortrait

  • For finere kontroll over øyne og lepper, bruk "LivePortraitRetargeting" noden
  • Aktiver øye- og/eller leppe-retargeting og juster deres multiplikatorer
  • Koble retargeting-informasjonen til "LivePortraitProcess"

Vennligst merk at Insightface-modellen er nødvendig i denne arbeidsflyten. Insightface-modellen (https://github.com/deepinsight/insightface/releases/download/v0.7/buffalo_l.zip) lisens er ikke-kommersiell.

Hvis du er interessert i LivePortrait Vid2Vid, vennligst bruk

Vil du ha Flere ComfyUI Arbeidsflyter?

RunComfy

© Opphavsrett 2024 RunComfy. Alle Rettigheter Forbeholdt.

RunComfy er den fremste ComfyUI plattformen, som tilbyr ComfyUI online miljø og tjenester, sammen med ComfyUI arbeidsflyter med fantastiske visuelle effekter.