Denne Unsampling-guiden, skrevet av Inner-Reflections, bidrar sterkt til å utforske Unsampling-metoden for å oppnå dramatisk konsekvent videostiloverføring.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
Dette føles som en helt ny måte å kontrollere videokonsistens på, så det er mye å utforske. Hvis du vil ha mine forslag:
Inner-Reflections
© Opphavsrett 2024 RunComfy. Alle Rettigheter Forbeholdt.