Denna Unsampling-guide, skriven av Inner-Reflections, bidrar stort till att utforska Unsampling-metoden för att uppnå dramatiskt konsekvent videostilöverföring.
Latent brus är grunden för allt vi gör med Stable Diffusion. Det är fantastiskt att ta ett steg tillbaka och tänka på vad vi kan åstadkomma med detta. Men generellt sett är vi tvungna att använda ett slumpmässigt nummer för att generera bruset. Tänk om vi kunde kontrollera det?
Jag är inte den första som använder Unsampling. Det har funnits väldigt länge och har använts på flera olika sätt. Men hittills har jag generellt inte varit nöjd med resultaten. Jag har tillbringat flera månader med att hitta de bästa inställningarna och jag hoppas att du uppskattar denna guide.
Genom att använda samplingsprocessen med AnimateDiff/Hotshot kan vi hitta brus som representerar vår ursprungliga video och därför gör alla typer av stilöverföring enklare. Det är särskilt hjälpsamt att hålla Hotshot konsekvent med tanke på dess 8-ramars kontextfönster.
Denna unsampling-process omvandlar i huvudsak vår ingångsvideo till latent brus som bibehåller rörelsen och kompositionen av originalet. Vi kan sedan använda detta representativa brus som startpunkt för diffusionsprocessen istället för slumpmässigt brus. Detta låter AI:n applicera målstilen medan den håller saker temporärt konsekventa.
Denna guide förutsätter att du har installerat AnimateDiff och/eller Hotshot. Om du inte redan har gjort det, finns guiderna här:
AnimateDiff: https://civitai.com/articles/2379
Hotshot XL guide: https://civitai.com/articles/2601/
Länk till resurs - Om du vill posta videor på Civitai med detta arbetsflöde. https://civitai.com/models/544534
En Windows-dator med ett NVIDIA-grafikkort som har minst 12GB VRAM rekommenderas. På RunComfy-plattformen, använd en Medium (16GB VRAM) eller högre-tier maskin. Denna process kräver inte mer VRAM än standard AnimateDiff eller Hotshot arbetsflöden, men det tar nästan dubbelt så lång tid, eftersom det i huvudsak kör diffusionsprocessen två gånger—en gång för upsampling och en gång för resampling med målstilen.
Huvuddelen av detta är att använda Custom Sampler som delar upp alla inställningar du vanligtvis ser i den vanliga KSampler i delar:
Detta är huvud-KSampler-noden - för unsampling har tillägg av brus/seed ingen effekt (som jag är medveten om). CFG spelar roll - generellt sett, ju högre CFG är i detta steg desto närmare kommer videon att se ut som din original. Högre CFG tvingar unsamplern att mer noggrant matcha ingången.
Det viktigaste är att använda en sampler som konvergerar! Det är därför vi använder euler över euler a eftersom den senare resulterar i mer slumpmässighet/instabilitet. Ancestrala samplers som lägger till brus vid varje steg förhindrar att unsampling rent konvergerar. Om du vill läsa mer om detta har jag alltid funnit användbar. @spacepxl på reddit föreslår att DPM++ 2M Karras kanske är den mer exakta samplern beroende på användningsfall.
Vilken schemaläggare som helst fungerar bra här - Align Your Steps (AYS) får dock bra resultat med 16 steg så jag har valt att använda det för att minska beräkningstiden. Fler steg kommer att konvergera mer fullständigt men med avtagande avkastning.
Flip Sigma är den magiska noden som orsakar unsampling att ske! Genom att vända sigma-schemat, omvänds diffusionsprocessen för att gå från en ren ingångsbild till representativt brus.
Prompting spelar ganska stor roll i denna metod av någon anledning. En bra prompt kan verkligen förbättra sammanhållningen till videon, särskilt ju mer du vill driva transformationen. För detta exempel har jag matade samma konditionering till både unsamplern och resamplern. Det verkar fungera bra generellt - inget hindrar dig dock från att sätta tom konditionering i unsamplern - jag tycker att det hjälper att förbättra stilöverföringen, kanske med lite förlust av konsekvens.
För resampling är det viktigt att ha tilläggsbrus avstängt (även om tomt brus i AnimateDiff-sampleinställningarna har samma effekt - jag har gjort båda för mitt arbetsflöde). Om du lägger till brus under resampling får du ett inkonsekvent, brusigt resultat, åtminstone med standardinställningarna. Annars föreslår jag att börja med en ganska låg CFG kombinerat med svaga ControlNet-inställningar eftersom det verkar ge de mest konsekventa resultaten samtidigt som prompten fortfarande kan påverka stilen.
Resten av mina inställningar är personliga preferenser. Jag har förenklat detta arbetsflöde så mycket som jag tror är möjligt medan jag fortfarande inkluderar de viktigaste komponenterna och inställningarna.
Standardarbetsflödet använder SD1.5-modellen. Du kan dock byta till SDXL genom att helt enkelt ändra checkpoint, VAE, AnimateDiff-modell, ControlNet-modell och stegschemaläggningsmodell till SDXL.
Detta känns som ett helt nytt sätt att kontrollera videokonsistens, så det finns mycket att utforska. Om du vill ha mina förslag:
Inner-Reflections
© Copyright 2024 RunComfy. Alla Rättigheter Förbehållna.