Ten przewodnik po Unsampling, napisany przez Inner-Reflections, znacznie przyczynia się do badania metody Unsampling w celu osiągnięcia dramatycznie spójnego transferu stylu wideo.
Ukryty szum jest podstawą wszystkiego, co robimy w Stable Diffusion. Jest niesamowite zrobić krok wstecz i pomyśleć, co jesteśmy w stanie osiągnąć dzięki temu. Jednak ogólnie rzecz biorąc, jesteśmy zmuszeni używać losowej liczby do generowania szumu. Co jeśli moglibyśmy to kontrolować?
Nie jestem pierwszym, który używa Unsampling. Istnieje od bardzo dawna i był używany na różne sposoby. Do tej pory jednak ogólnie nie byłem zadowolony z wyników. Spędziłem kilka miesięcy na znalezieniu najlepszych ustawień i mam nadzieję, że spodoba ci się ten przewodnik.
Używając procesu próbkowania z AnimateDiff/Hotshot, możemy znaleźć szum, który reprezentuje nasze oryginalne wideo, co ułatwia jakikolwiek transfer stylu. Jest to szczególnie pomocne, aby zachować spójność Hotshot, biorąc pod uwagę jego 8-okienkowy kontekst.
Ten proces unsampling zasadniczo przekształca nasze wejściowe wideo w ukryty szum, który utrzymuje ruch i kompozycję oryginału. Następnie możemy użyć tego reprezentacyjnego szumu jako punktu wyjścia do procesu dyfuzji zamiast losowego szumu. Pozwala to AI na zastosowanie docelowego stylu, zachowując spójność czasową.
Ten przewodnik zakłada, że zainstalowałeś AnimateDiff i/lub Hotshot. Jeśli jeszcze tego nie zrobiłeś, przewodniki są dostępne tutaj:
AnimateDiff: https://civitai.com/articles/2379
Hotshot XL guide: https://civitai.com/articles/2601/
Link do zasobów - Jeśli chcesz zamieszczać filmy na Civitai korzystając z tego workflow. https://civitai.com/models/544534
Zalecany jest komputer z systemem Windows z kartą graficzną NVIDIA, która ma co najmniej 12 GB VRAM. Na platformie RunComfy użyj maszyny Medium (16 GB VRAM) lub wyższej. Ten proces nie wymaga więcej VRAM niż standardowe workflow AnimateDiff lub Hotshot, ale zajmuje prawie dwa razy więcej czasu, ponieważ zasadniczo wykonuje proces dyfuzji dwa razy - raz dla upsampling i raz dla resampling z docelowym stylem.
Główna część tego to użycie Custom Sampler, który dzieli wszystkie ustawienia, które zwykle widzisz w regularnym KSampler, na części:
To jest główny węzeł KSampler - dodanie szumu/ziarna w unsampling nie ma żadnego efektu (o ile mi wiadomo). CFG ma znaczenie - ogólnie rzecz biorąc, im wyższy CFG na tym etapie, tym bardziej wideo będzie przypominać oryginał. Wyższy CFG zmusza unsampler do bliższego dopasowania wejścia.
Najważniejsze jest użycie próbnika, który się zbiega! Dlatego używamy euler zamiast euler a, ponieważ ten ostatni prowadzi do większej losowości/niestabilności. Próbkowniki ancestral, które dodają szum na każdym kroku, uniemożliwiają czyste zbieganie się unsampling. Jeśli chcesz przeczytać więcej na ten temat, zawsze uznaję za przydatny. @spacepxl na reddit sugeruje, że DPM++ 2M Karras jest być może dokładniejszym próbnikiem w zależności od przypadku użycia.
Każdy scheduler będzie działał dobrze tutaj - Align Your Steps (AYS) jednak daje dobre wyniki przy 16 krokach, więc wybrałem to, aby skrócić czas obliczeń. Więcej kroków będzie się bardziej zbiegać, ale z malejącymi zwrotami.
Flip Sigma to magiczny węzeł, który powoduje wystąpienie unsampling! Odwracając harmonogram sigma, odwracamy proces dyfuzji, aby przejść od czystego obrazu wejściowego do reprezentacyjnego szumu.
Prompting ma duże znaczenie w tej metodzie z jakiegoś powodu. Dobry prompt może naprawdę poprawić spójność wideo, zwłaszcza jeśli chcesz mocniej przekształcić wideo. W tym przykładzie podałem to samo warunkowanie zarówno unsampler, jak i resampler. Zwykle działa to dobrze - nic jednak nie powstrzymuje cię przed umieszczaniem pustego warunkowania w unsampler - uważam, że pomaga to poprawić transfer stylu, być może z pewną utratą spójności.
Dla resampling ważne jest, aby wyłączyć dodawanie szumu (chociaż posiadanie pustego szumu w ustawieniach próbkowania AnimateDiff ma ten sam efekt - zrobiłem obie rzeczy w moim workflow). Jeśli dodasz szum podczas resampling, uzyskasz niespójny, szumiący wynik, przynajmniej przy domyślnych ustawieniach. W przeciwnym razie sugeruję rozpoczęcie od dość niskiego CFG w połączeniu ze słabymi ustawieniami ControlNet, ponieważ to wydaje się dawać najbardziej spójne wyniki, jednocześnie pozwalając na wpływ prompta na styl.
Pozostałe moje ustawienia to preferencje osobiste. Uprościłem ten workflow tak bardzo, jak to możliwe, jednocześnie uwzględniając kluczowe elementy i ustawienia.
Domyślny workflow używa modelu SD1.5. Możesz jednak przełączyć na SDXL, po prostu zmieniając checkpoint, VAE, model AnimateDiff, model ControlNet i model harmonogramu kroków na SDXL.
To wygląda jak zupełnie nowy sposób na kontrolowanie spójności wideo, więc jest wiele do odkrycia. Jeśli chcesz moje sugestie:
Inner-Reflections
© Prawa autorskie 2024 RunComfy. Wszelkie prawa zastrzeżone.