ComfyUI  >  Arbeidsflyter  >  Konsekvent Stiloverføring med Unsampling

Konsekvent Stiloverføring med Unsampling

Denne arbeidsflyten utforsker Unsampling som en metode for konsekvent stiloverføring i Stable Diffusion. Ved å kontrollere latent støy sikrer Unsampling at videobevegelse og komposisjon bevares, noe som gjør stiloverganger jevnere og mer konsekvente!

ComfyUI Unsampling Arbeidsflyt

Consistent Style Transfer with Unsampling in Stable Diffusion
Vil du kjøre denne arbeidsflyten?
  • Fullt operasjonelle arbeidsflyter
  • Ingen manglende noder eller modeller
  • Ingen manuelle oppsett kreves
  • Har fantastiske visuelle effekter

ComfyUI Unsampling Eksempler

ComfyUI Unsampling Beskrivelse

Denne Unsampling-guiden, skrevet av Inner-Reflections, bidrar sterkt til å utforske Unsampling-metoden for å oppnå dramatisk konsekvent videostiloverføring.

1. Introduksjon: Latent Støykontroll med Unsampling

Latent Støy er grunnlaget for alt vi gjør med Stable Diffusion. Det er fantastisk å ta et skritt tilbake og tenke på hva vi er i stand til å oppnå med dette. Generelt sett er vi imidlertid tvunget til å bruke et tilfeldig tall for å generere støyen. Hva om vi kunne kontrollere det?

Jeg er ikke den første til å bruke Unsampling. Det har eksistert i veldig lang tid og har blitt brukt på flere forskjellige måter. Inntil nå har jeg imidlertid generelt ikke vært fornøyd med resultatene. Jeg har brukt flere måneder på å finne de beste innstillingene og håper du liker denne guiden.

Ved å bruke samplingsprosessen med AnimateDiff/Hotshot kan vi finne støy som representerer vår opprinnelige video og dermed gjør enhver form for stiloverføring enklere. Det er spesielt nyttig å holde Hotshot konsekvent gitt dets 8-rammekontekstvindu.

Denne unsampling-prosessen konverterer i hovedsak vår inngangsvideo til latent støy som opprettholder bevegelsen og komposisjonen til originalen. Vi kan deretter bruke denne representasjonelle støyen som utgangspunkt for diffusjonsprosessen i stedet for tilfeldig støy. Dette lar AI-en anvende målestilen mens den holder ting tidsmessig konsistente.

Denne guiden forutsetter at du har installert AnimateDiff og/eller Hotshot. Hvis du ikke allerede har gjort det, er guidene tilgjengelige her:

AnimateDiff: https://civitai.com/articles/2379

Hotshot XL-guide: https://civitai.com/articles/2601/

Link til ressurs - Hvis du vil legge ut videoer på Civitai ved å bruke denne arbeidsflyten. https://civitai.com/models/544534

2. Systemkrav for denne arbeidsflyten

En Windows-datamaskin med et NVIDIA-grafikkort som har minst 12GB VRAM anbefales. På RunComfy-plattformen, bruk en Medium (16GB VRAM) eller høyere nivå maskin. Denne prosessen krever ikke mer VRAM enn standard AnimateDiff eller Hotshot arbeidsflyter, men det tar nesten dobbelt så lang tid, da det i hovedsak kjører diffusjonsprosessen to ganger—en gang for upsampling og en gang for resampling med målestilen.

3. Nodforklaringer og Innstillingsguide

Node: Custom Sampler

Unsampling: Custom Sampler

Hoveddelen av dette er å bruke Custom Sampler som deler alle innstillingene du vanligvis ser i den vanlige KSampler i biter:

Dette er hoved KSampler-noden—å legge til støy/frø har ingen effekt (som jeg er klar over). CFG er viktig—generelt sett jo høyere CFG er på dette trinnet, jo nærmere vil videoen se ut som din originale. Høyere CFG tvinger unsampler til å matche inngangen tettere.

Node: KSampler Select

Unsampling: KSampler Select

Det viktigste er å bruke en sampler som konvergerer! Dette er grunnen til at vi bruker euler over euler a da sistnevnte resulterer i mer tilfeldigheter/ustabilitet. Ancestral samplers som legger til støy ved hvert trinn hindrer unsampling fra å konvergere rent. Hvis du vil lese mer om dette har jeg alltid funnet  nyttig. @spacepxl på reddit foreslår at DPM++ 2M Karras er kanskje den mer nøyaktige sampleren avhengig av brukstilfelle.

Node: Align Your Step Scheduler

Unsampling: Align Your Step Scheduler

Enhver scheduler vil fungere helt fint her—Align Your Steps (AYS) gir imidlertid gode resultater med 16 trinn, så jeg har valgt å bruke det for å redusere beregningstiden. Flere trinn vil konvergere mer fullstendig, men med avtagende avkastning.

Node: Flip Sigma

Unsampling: Flip Sigma

Flip Sigma er maginoden som får unsampling til å skje! Ved å snu sigma-planen, reverserer vi diffusjonsprosessen for å gå fra et rent inngangsbilde til representativ støy.

Node: Prompt

Unsampling: Prompt

Prompting betyr ganske mye i denne metoden av en eller annen grunn. En god prompt kan virkelig forbedre sammenhengen til videoen, spesielt jo mer du vil presse transformasjonen. For dette eksemplet har jeg matet samme kondisjonering til både unsampler og resampler. Det ser ut til å fungere godt generelt—ingenting hindrer deg imidlertid fra å sette tom kondisjonering i unsampler—jeg finner at det hjelper å forbedre stiloverføringen, kanskje med litt tap av konsistens.

Node: Resampling

Unsampling: Resampling

For resampling er det viktig å ha lagt til støy slått av (selv om å ha tom støy i AnimateDiffs prøveinnstillinger har samme effekt—jeg har gjort begge deler for min arbeidsflyt). Hvis du legger til støy under resampling, vil du få et inkonsekvent, støyende resultat, i det minste med standardinnstillinger. Ellers foreslår jeg å starte med en ganske lav CFG kombinert med svake ControlNet-innstillinger, da det ser ut til å gi de mest konsistente resultatene samtidig som prompten fortsatt kan påvirke stilen.

Andre Innstillinger

Resten av innstillingene mine er personlige preferanser. Jeg har forenklet denne arbeidsflyten så mye som jeg tror er mulig, samtidig som jeg inkluderer nøkkelkomponentene og innstillingene.

4. Arbeidsflytinformasjon

Standard arbeidsflyt bruker SD1.5-modellen. Du kan imidlertid bytte til SDXL ved ganske enkelt å endre sjekkpunktet, VAE, AnimateDiff-modell, ControlNet-modell og trinnplanmodell til SDXL.

5. Viktige Notater/Problemer

  • Blinking - Hvis du ser på de dekodede og forhåndsviste latentsene opprettet av unsampling i mine arbeidsflyter, vil du merke noen med åpenbare fargeavvik. Den eksakte årsaken er uklar for meg, og generelt påvirker de ikke de endelige resultatene. Disse avvikene er spesielt tydelige med SDXL. Imidlertid kan de noen ganger forårsake blinking i videoen din. Hovedårsaken ser ut til å være relatert til ControlNets—så å redusere deres styrke kan hjelpe. Å endre prompten eller til og med litt endre scheduler kan også gjøre en forskjell. Jeg støter fortsatt på dette problemet noen ganger—hvis du har en løsning, vennligst gi meg beskjed!
    • DPM++ 2M kan noen ganger forbedre blinking.

6. Hvor skal man gå herfra?

Dette føles som en helt ny måte å kontrollere videokonsistens på, så det er mye å utforske. Hvis du vil ha mine forslag:

  • Prøv å kombinere/maskere støy fra flere kildevideoer.
  • Legg til IPAdapter for konsekvent karaktertransformasjon.

Om Forfatteren

Inner-Reflections

  • https://x.com/InnerRefle11312
  • https://civitai.com/user/Inner_Reflections_AI

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.