像是討論度最高的AI替代人類,還是以后詐騙更加難防的評(píng)論,無不在提醒屏幕前的人們:潘多拉的魔盒已經(jīng)打開了,Sora的出現(xiàn)就象征著AI視頻的時(shí)代已經(jīng)到來。 當(dāng)然Sora不是本篇話題,畢竟我已經(jīng)寫過一篇文章了不能再水一篇。除了Sora、Runway Gen2這種AI工具以外,我之前還提到過一個(gè)工具-AnimateDiff。 AnimateDiff其實(shí)已經(jīng)出現(xiàn)過一段時(shí)間了,并且直至今日還在不斷地迭代升級(jí)中,AnimateDiff就是我們今天的主角。 AnimateDiff AnimateDiff是一個(gè)由香港中文大學(xué)、斯坦福大學(xué)和上海人工智能實(shí)驗(yàn)室的研究人員們共同開發(fā)出來的“文本到動(dòng)畫”擴(kuò)散模型 ? https://github.com/guoyww/AnimateDiff 其實(shí)在之前的筆記中都有提到過制作“AI動(dòng)畫”的基礎(chǔ)思路,像是Mov2Mov、TemporalKit、EbSynth這類工具的本質(zhì)都是將連貫的視頻拆分成一個(gè)個(gè)幀,然后將這些幀數(shù)進(jìn)行重繪最后拼合在一起變成一個(gè)“動(dòng)畫”。 (Stable Diffusion進(jìn)階篇:AI動(dòng)畫-Mov2Move) AI界的“抖音濾鏡”(Stable Diffusion進(jìn)階篇-TemporalKit視頻風(fēng)格轉(zhuǎn)化) 讓AI也能偷個(gè)懶(Stable Diffusion進(jìn)階篇:AI動(dòng)畫-EbSynth插件) 在看過上述三篇筆記的同學(xué)們肯定還記得,當(dāng)初的AI動(dòng)畫本質(zhì)上是將一個(gè)視頻進(jìn)行重繪。不過這種逐幀轉(zhuǎn)繪的動(dòng)態(tài)內(nèi)容生成方式其實(shí)是有缺陷的,像是畫面閃爍嚴(yán)重、耗時(shí)較長(zhǎng)等。 AnimateDiff是有著針對(duì)性的效果,讓AI學(xué)習(xí)不同類別視頻“運(yùn)動(dòng)”的方式從而訓(xùn)練出了一個(gè)運(yùn)動(dòng)模塊Motion Module。AI就可以把一系列運(yùn)動(dòng)的幀一次性畫出來,所生成的內(nèi)容就會(huì)更加流暢自然。 還有一點(diǎn),這個(gè)模塊獨(dú)立于基礎(chǔ)模型,所以AnimateDiff可以附加到任意一個(gè)大模型上,只要你庫(kù)存有的CheckPoint都可以用來做視頻。 其實(shí)在最早的時(shí)候AnimateDiff只能在原生代碼進(jìn)行使用,但是后來有許多大佬們開發(fā)出了不同的載體例如ComfyUI的功能節(jié)點(diǎn)和工作流以及WebUI上的擴(kuò)展插件。 WebUI:https://github.com/continue-revolution/sd-webui-animatediff ComfyUI:https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved 不過這篇文章將會(huì)用WebUI來作為學(xué)習(xí)平臺(tái),畢竟WebUI更多人熟悉一些。 目前來說WebUI中的AnimateDiff能做的基本功能有文生視頻、圖生視頻、視頻轉(zhuǎn)繪這三大類。 當(dāng)然這個(gè)AnimateDiff也是有門檻的,以16幀512*512為例子開啟優(yōu)化效果的話的話大約需要最低顯存5GB,如果能有8GB的話更好,12GB則是能滿足所有要求。 N卡用戶的話開啟xFormers后能顯著優(yōu)化顯存占用,當(dāng)然后面也會(huì)講對(duì)于設(shè)備難以滿足最高要求的小伙伴們可以調(diào)節(jié)什么參數(shù)進(jìn)行優(yōu)化。 AnimateDiff的安裝與基本操作 在安裝AnimateDiff前需要先安裝好兩個(gè)擴(kuò)展,一個(gè)是ControlNet,這個(gè)我們之前的文章中就有安裝過,沒有的小伙伴可以看這篇文章進(jìn)行下載安裝: 擺出一樣的姿勢(shì)還不簡(jiǎn)單啊?(AI-Stable Diffusion篇-10:ControlNet) 另一個(gè)東西叫做Deforum,需要這個(gè)東西是因?yàn)锳nimateDiff的擴(kuò)展開發(fā)者寫了一個(gè)調(diào)用這個(gè)東西來“插幀”的功能。 https://github.com/deforum-art/sd-webui-deforum 與此同時(shí)AnimateDiff的運(yùn)作需要一系列運(yùn)動(dòng)模塊和功能性Lora,最核心的運(yùn)動(dòng)模塊至少需要下載一個(gè),這里可以去Huggingface地址下載: https:///guoyww/animatediff/tree/main 我選擇下載的是目前我寫這篇文章的時(shí)候最新的v3_sd15mm.ckpt這個(gè)文件,在下載完成之后放在擴(kuò)展文件夾中的Models里方面后續(xù)使用。 WebUI根目錄\extensions\sd-webui-animatediff\model 在完成上述步驟之后重啟一下WebUI,因?yàn)榻酉聛磉€需要在設(shè)置中進(jìn)行一些優(yōu)化改動(dòng): 在WebUI設(shè)置-左下方找到AnimateDiff(未分類里)-確保紅框中的選項(xiàng)是勾選上的。 WebUI設(shè)置-優(yōu)化設(shè)置-勾選上補(bǔ)齊提示詞到相同長(zhǎng)度 記得保存設(shè)置! AnimateDiff基本操作 在完成了上述的準(zhǔn)備工作之后就可以嘗試一下簡(jiǎn)單的操作了,進(jìn)入到WebUI的文生圖界面后可以看到拉到最下方有一個(gè)AnimateDiff選項(xiàng)。 接下來先不急著動(dòng)畫,先用文生圖隨意繪制一個(gè)喜歡的二次元圖片出來: 簡(jiǎn)單調(diào)節(jié)一下參數(shù)后要注意正負(fù)提示詞最好都不要超過75個(gè)字,不然的話可能一會(huì)做動(dòng)畫會(huì)導(dǎo)致前后不一致。 在得到了想要的圖片后可以先保存下來,之后的圖生動(dòng)畫可以用得上。不過要注意的是現(xiàn)在文生圖的這張圖片僅做參考,沒法保證一會(huì)動(dòng)畫出來的和這個(gè)一模一樣。 接下來就打開AnimateDiff選擇啟用,如果模型列表里面沒有東西的話記得點(diǎn)擊右側(cè)的刷新按鈕刷新一下列表。 如果生成一個(gè)2秒的視頻,那么總幀數(shù)改為16幀、并且把保存格式里面的PNG取消勾選,這樣一來后續(xù)可以快速預(yù)覽效果(與上圖一致即可) 這個(gè)不勾選PNG是怕后面每一幀生成都會(huì)保存一份,既占空間還磨蹭。 在以上參數(shù)都完成設(shè)置之后點(diǎn)擊生成,等待一小會(huì)之后會(huì)在右側(cè)看到這樣的畫面。 這里因?yàn)樵O(shè)置總幀數(shù)是16幀,所以SD會(huì)繪制16張圖片,然后將其拼合在一起,一共消耗的時(shí)間就是差不多設(shè)備繪制16張圖片的時(shí)間。 然后就可以得到這樣的畫面啦! 是不是超極簡(jiǎn)單! 今天的課程就到這里結(jié)束啦~ 主要是AnimateDiff這個(gè)東西我記得很早之前我就想學(xué)習(xí),是Sora的出現(xiàn)讓我重新回憶起這個(gè)東西,加上我學(xué)習(xí)的那個(gè)Up最新的視頻也是講AnimateDiff的,索性就回歸一下本心學(xué)習(xí)一下。 畢竟之前的催婚我爸媽還問這姑娘有沒有視頻啥的呢。 其他的進(jìn)階參數(shù)和更多的東西就放到下一篇筆記中去講啦,大伙下篇筆記見,拜了個(gè)拜! 我要去做飯了,好餓。
文章部分參考素材來源: 原視頻教程: https://www.bilibili.com/video/BV1zS421A7PG/?spm_id_from=333.999.0.0&vd_source=f18a24315a35799d8d1912ad50652d90 Github 官方AnimateDiff鏈接: https://github.com/guoyww/AnimateDiff?tab=readme-ov-file AnimateDiff論文鏈接: https:///abs/2307.04725 https://animatediff./ Github Deforum插件: https://github.com/continue-revolution/sd-webui-animatediff Hugging face官方運(yùn)動(dòng)模塊下載: https:///guoyww/animatediff/tree/main 。 |
|