一致風格轉移與升樣
此工作流程探討了升樣作為在穩定擴散中實現一致風格轉移的方法。通過控制潛在噪音,升樣確保視頻運動和構圖得以保存,使風格轉換更加平滑和一致!ComfyUI Unsampling 工作流程
ComfyUI Unsampling 範例
ComfyUI Unsampling 說明
這份由Inner-Reflections撰寫的升樣指南,對探索升樣方法以實現顯著一致的視頻風格轉移做出了巨大貢獻。
1. 介紹:使用升樣控制潛在噪音
潛在噪音是我們在穩定擴散中所做一切的基礎。退一步思考我們能夠達成的目標是令人驚奇的。然而,一般來說,我們被迫使用隨機數來生成噪音。如果我們能夠控制它會怎樣?
我不是第一個使用升樣的人。它已經存在了很長時間並被用於多種不同方式。然而直到現在,我對結果通常不太滿意。我花了幾個月的時間尋找最佳設置,希望你會喜歡這份指南。
通過使用AnimateDiff/Hotshot的取樣過程,我們可以找到代表我們原始視頻的噪音,從而使任何形式的風格轉移更加容易。特別是對於Hotshot保持一致性很有幫助,因為它有8幀的上下文窗口。
這個升樣過程本質上將我們的輸入視頻轉換為保持原始運動和構圖的潛在噪音。然後我們可以使用這種表示性噪音作為擴散過程的起點,而不是隨機噪音。這允許AI在應用目標風格的同時保持時間上的一致性。
本指南假設你已經安裝了AnimateDiff和/或Hotshot。如果還沒有,指南可在這裡獲得:
AnimateDiff: https://civitai.com/articles/2379
Hotshot XL指南: https://civitai.com/articles/2601/
資源鏈接 - 如果你想在Civitai上使用這個工作流程發布視頻。 https://civitai.com/models/544534
2. 此工作流程的系統要求
建議使用具有至少12GB VRAM的NVIDIA顯卡的Windows電腦。在RunComfy平台上,使用中型(16GB VRAM)或更高級別的機器。這個過程不需要比標準的AnimateDiff或Hotshot工作流程更多的VRAM,但基本上需要運行兩次擴散過程—一次是升樣,另一次是使用目標風格再取樣,因此需要近乎雙倍的時間。
3. 節點說明和設置指南
節點:自定義取樣器

這個過程的主要部分是使用自定義取樣器,它將你通常在常規KSampler中看到的所有設置拆分開來:
這是主要的KSampler節點 - 對於升樣,添加噪音/種子不會有任何影響(據我所知)。CFG很重要 - 一般來說,此步驟的CFG越高,視頻看起來就越接近你的原始。較高的CFG迫使升樣器更緊密地匹配輸入。
節點:KSampler選擇

最重要的是使用一個收斂的取樣器!這就是為什麼我們使用euler而不是euler a,因為後者會導致更多的隨機性/不穩定性。 在每一步添加噪音的祖先取樣器阻止升樣干淨地收斂。如果你想了解更多,我總是覺得 很有用。reddit上的@spacepxl建議DPM++ 2M Karras可能是根據使用情況更準確的取樣器。
節點:對齊你的步驟調度器

任何調度器在這裡都可以正常工作 - 對齊你的步驟(AYS)在16步時獲得良好結果,因此我選擇使用它以減少計算時間。更多的步驟將更完全地收斂,但收益遞減。
節點:翻轉Sigma

翻轉Sigma是導致升樣發生的神奇節點!通過翻轉sigma時間表,我們逆轉擴散過程,從干淨的輸入圖像轉換為代表性噪音。
節點:提示

在這個方法中提示很重要。好的提示可以顯著提高視頻的一致性,尤其是在你想推進轉換的時候。對於這個例子,我將相同的條件輸入到升樣器和再取樣器中。通常效果很好 - 不過沒有什麼能阻止你在升樣器中放入空白條件 - 我發現這有助於改善風格轉移,雖然會有一點一致性的損失。
節點:再取樣

對於再取樣,重要的是要關掉添加噪音 (雖然在AnimateDiff取樣設置中使用空噪音有相同效果 - 我的工作流程中兩者都做了)。如果在再取樣中添加噪音,你會得到不一致的噪音結果,至少在默認設置下。否則,我建議從較低的CFG結合較弱的ControlNet設置開始,因為這似乎能夠在仍然允許提示影響風格的同時,給出最一致的結果。
其他設置
其餘設置是個人偏好。我已盡可能簡化此工作流程,同時仍包含關鍵組件和設置。
4. 工作流程信息
默認工作流程使用SD1.5模型。然而,你可以通過簡單地將檢查點、VAE、AnimateDiff模型、ControlNet模型和步驟時間表模型切換到SDXL來切換到SDXL。
5. 重要注意事項/問題
- 閃爍 - 如果你查看在我的工作流程中由升樣創建的解碼和預覽潛在變量,你會注意到一些明顯的顏色異常。我不清楚確切原因,但通常它們不會影響最終結果。這些異常在SDXL中特別明顯。然而,它們有時會導致視頻中出現閃爍。主要原因似乎與ControlNets相關 - 因此減少它們的強度可以有所幫助。更改提示或甚至略微改變調度器也能有所不同。我仍然有時會遇到這個問題 - 如果你有解決方案,請告訴我!
- DPM++ 2M有時能改善閃爍。
6. 接下來去哪裡?
這感覺像是一種全新的控制視頻一致性的方法,所以還有很多可以探索的。如果你想要我的建議:
- 嘗試結合/遮罩多個來源視頻的噪音。
- 添加IPAdapter以實現一致的角色轉換。
關於作者
Inner-Reflections
- https://x.com/InnerRefle11312
- https://civitai.com/user/Inner_Reflections_AI