Deze Unsampling-gids, geschreven door Inner-Reflections, draagt enorm bij aan het verkennen van de Unsampling-methode voor het bereiken van dramatisch consistente video-stijloverdracht.
Latente Ruis is de basis voor alles wat we doen met Stable Diffusion. Het is geweldig om een stap terug te doen en na te denken over wat we hiermee kunnen bereiken. Over het algemeen zijn we echter gedwongen om een willekeurig getal te gebruiken om de ruis te genereren. Wat als we het konden beheersen?
Ik ben niet de eerste die Unsampling gebruikt. Het bestaat al heel lang en is op verschillende manieren gebruikt. Tot nu toe was ik echter over het algemeen niet tevreden met de resultaten. Ik heb enkele maanden besteed aan het vinden van de beste instellingen en ik hoop dat je geniet van deze gids.
Door het gebruik van het samplingproces met AnimateDiff/Hotshot kunnen we ruis vinden die onze originele video vertegenwoordigt en daardoor elke vorm van stijltransfer vergemakkelijkt. Het is vooral nuttig om Hotshot consistent te houden gezien zijn contextvenster van 8 frames.
Dit unsampling-proces converteert onze invoervideo in wezen naar latente ruis die de beweging en compositie van het origineel behoudt. We kunnen deze representatieve ruis dan gebruiken als startpunt voor het diffusieproces in plaats van willekeurige ruis. Dit stelt de AI in staat om de doelstijl toe te passen terwijl de temporaliteit behouden blijft.
Deze gids gaat ervan uit dat je AnimateDiff en/of Hotshot hebt geïnstalleerd. Als je dat nog niet hebt gedaan, zijn de gidsen hier beschikbaar:
AnimateDiff: https://civitai.com/articles/2379
Hotshot XL gids: https://civitai.com/articles/2601/
Link naar bron - Als je video's op Civitai wilt plaatsen met deze workflow. https://civitai.com/models/544534
Een Windows-computer met een NVIDIA grafische kaart met minimaal 12GB VRAM wordt aanbevolen. Op het RunComfy platform, gebruik een Medium (16GB VRAM) of hoger. Dit proces vereist niet meer VRAM dan standaard AnimateDiff of Hotshot workflows, maar het duurt bijna twee keer zo lang, omdat het diffusieproces in wezen twee keer wordt uitgevoerd—een keer voor upsampling en een keer voor resampling met de doelstijl.
Het belangrijkste onderdeel hiervan is het gebruik van de Custom Sampler die alle instellingen die je normaal ziet in de reguliere KSampler opsplitst:
Dit is de hoofd-KSampler node - voor unsampling heeft het toevoegen van ruis/zaad geen effect (voor zover ik weet). CFG is belangrijk - over het algemeen geldt dat hoe hoger de CFG in deze stap is, hoe meer de video op je origineel zal lijken. Hogere CFG dwingt de unsampler om nauwer overeen te komen met de invoer.
Het belangrijkste is om een sampler te gebruiken die convergeert! Daarom gebruiken we euler in plaats van euler a, omdat de laatste resulteert in meer willekeurigheid/instabiliteit. Ancestrale samplers die bij elke stap ruis toevoegen, voorkomen dat de unsampling schoon convergeert. Als je hier meer over wilt lezen, heb ik altijd nuttig gevonden. @spacepxl op reddit suggereert dat DPM++ 2M Karras wellicht de nauwkeurigere sampler is, afhankelijk van de gebruikssituatie.
Elke scheduler werkt hier prima - Align Your Steps (AYS) geeft echter goede resultaten met 16 stappen, dus ik heb ervoor gekozen om dat te gebruiken om de rekentijd te verminderen. Meer stappen zullen meer volledig convergeren, maar met afnemende meeropbrengst.
Flip Sigma is de magische node die ervoor zorgt dat unsampling plaatsvindt! Door het sigma-schema om te keren, keren we het diffusieproces om van een schoon invoerbeeld naar representatieve ruis.
Prompting is om de een of andere reden behoorlijk belangrijk in deze methode. Een goede prompt kan echt de samenhang van de video verbeteren, vooral hoe meer je de transformatie wilt pushen. Voor dit voorbeeld heb ik dezelfde conditionering aan zowel de unsampler als de resampler doorgegeven. Over het algemeen werkt dit goed - niets houdt je echter tegen om lege conditionering in de unsampler te zetten - ik vind dat dit helpt de stijltransfer te verbeteren, mogelijk met enig verlies van consistentie.
Voor resampling is het belangrijk om ruis toevoegen uit te schakelen (hoewel het hebben van lege ruis in de AnimateDiff sample-instellingen hetzelfde effect heeft - ik heb beide gedaan voor mijn workflow). Als je ruis toevoegt tijdens resampling, krijg je een inconsistente, ruisachtige uitkomst, althans met standaardinstellingen. Anders stel ik voor om te beginnen met een vrij lage CFG gecombineerd met zwakke ControlNet-instellingen, omdat dit de meest consistente resultaten lijkt te geven, terwijl het de prompt nog steeds toestaat invloed op de stijl uit te oefenen.
De rest van mijn instellingen zijn persoonlijke voorkeur. Ik heb deze workflow zo veel mogelijk vereenvoudigd terwijl ik nog steeds de belangrijkste componenten en instellingen heb opgenomen.
De standaardworkflow gebruikt het SD1.5 model. Je kunt echter overschakelen naar SDXL door eenvoudigweg het checkpoint, VAE, AnimateDiff model, ControlNet model en stap schema model te veranderen naar SDXL.
Dit voelt als een geheel nieuwe manier om videoconsequentie te beheersen, dus er is veel te verkennen. Als je mijn suggesties wilt:
Inner-Reflections
© Copyright 2024 RunComfy. Alle Rechten Voorbehouden.