AnimateDiff簡易動畫製作

閱讀時間約 7 分鐘
成品

成品

最近這幾天都在玩Stable Diffusion近期最火紅的外掛 -- AnimatedDiff。這個外掛其實已經存在了好幾個月,但是最近加上了prompt travel這個功能,加上新的v2模型讓整體畫面變得很穩定,使得他產出的影片更穩定,人物更不容易閃爍。所以一玩下去驚為天人,決定好好研究這個東西怎麼運作。

各位讀者在篇頭看到的webp動圖,就是經由AnimateDiff產出整組PNG圖檔,再經由ffmpeg組成影片,加上Time Cut這個商用軟體補幀並細緻化後的成果。

這篇文章主要針對AnimateDiff的簡單用法,還有prompt travel如何使用為重點,至於如何使用ffmpeg或補幀做法已經有很多教學文章,故省略。

這一兩天將小說中人物轉成動態圖片的結果展示在下方:


小說中的人物從文字變成圖片,已經是很讓我驚奇的事情。但讓一個小說中的人物活靈活現地出現在作者眼前,那更是另一個次元等級的衝擊。透過他們的一顰一笑,一舉手一投足,仿佛整個小說裡的世界都活過來似的。


安裝AnimateDiff與設定

首先,AnimateDiff是Automatic1111的一個外掛,安裝方法已經詳述於:

Stable Diffusion基礎 -- 外掛(Extensions) 之中,不再贅言。

只要在外掛搜尋找尋關鍵字AnimateDiff就能找到。

安裝之後,需要在設定區找到這個項目並選取:

Pad prompt/negative prompt to be same length

重開Automatic1111之後就能使用了。如同ControlNet一樣,它是一個寄生於Txt2Img與Img2Img下面的次面板:

AnimateDiff設定面板

AnimateDiff設定面板

由於這個外掛需要下載專門處理影像連續性的模型,因此需要到Hugging Face上下載:

https://huggingface.co/guoyww/animatediff/tree/refs%2Fpr%2F3

我使用的是最新的V2版本: mm_sd_v15_v2.safetensors

這是專門使用於Stable Diffusion 1.5大模型的。因此不能使用於SDXL等新世代的大模型。

依照指示將下載的模型放置到檔案夾 stable-diffusion-webui/extensions/sd-webui-animatediff/model/ 裡面就能使用了。

在這個外掛裡面,下面是選項的說明:

  • Motion Module:用於處理影像的模型,有許多不同的模型,可以在 https://github.com/continue-revolution/sd-webui-animatediff#motion-module-model-zoo 看到相關列表。
  • Enable AnimateDiff:與ControlNet相似,需要啟用才會有作用。
  • Closed Loop:在產生Gif動圖時,如果選取了這個選項,AnimateDiff會盡量想辦法讓最後一張畫面與第一張相似,就能做到循環動圖。
  • Number of frames:要產出的總圖片數。個人測試之後覺得16以上比較能出到穩定的動圖。如果選擇了輸入影片檔,則會直接改用輸入影片的總圖片數。
  • FPS:一秒使用幾張圖片。在概念設計階段,我通常使用低FPS,例如每秒4幀,之後再靠其他軟體補幀。
  • Display loop number:在Gif動圖,可以設定循環幾次之後停止,設定為0的話則不會停止。
  • Context batch size:指定一次塞幾張圖進影像處理模型。由於這些影像處理模型是以16張來訓練的,因此這個選項最好是以16為主。太少容易出爛圖,太多有可能會讓記憶體爆炸。順便讓整個A1111爛掉,要重新啟動才能解決問題。
  • Stride:類神經網路使用的一個參數,在此可以不管,直接使用1即可。
  • Overlap:算圖時,幾張圖會於同一組上下文重疊,通常使用-1(Context batch size的四分之一張)。
  • Save:輸出的格式:
    GIF:Gif動圖,由於Gif只支援256色,因此輸出畫質會很差。
    MP4:MP4影片檔
    PNG:每個影格一個PNG檔。我個人最喜歡這個選項,可以使用ffmpeg等軟體自行組裝影片檔或webp動圖檔。
  • Frame Interpolation:AI補幀功能,預設是OFF(不使用補幀),而FILM選項會使用Deforum這個外掛來補幀。
  • Interp X:在開啟補幀功能之後,一個原始輸入幀會輸出幾個幀。

當我們熟悉以上的設定後,就來實作測試吧!


影片生成

基本生成

基本上,最簡單的影片生成與生成一般的圖片沒有兩樣,一樣是輸入提示詞後按生成即可。且因為是使用Stable Diffusion,所以可以正常使用LoRA來產生固定角色的影片:

dynamic hair, 1girl with pointy ears and (ebony loose long hair:1.2), wearing black leather armor, Ethereal , parted hair, forehead, 20 years old elf, wearing black beret, (masterpiece, top quality, best quality, beautiful and aesthetic:1.2)

只是要記得打開AnimateDiff的面板,然後設定參數,例如我最常用的參數:

我常用的參數

我常用的參數

這樣就能產生簡單的GIF動圖:

簡單的GIF圖檔

簡單的GIF圖檔

指定動作生成

而AnimateDiff在版本1.9.0之後,整合了強大的AnimateDiff cli prompt travel這個指令列操作程式之後,能讓使用者在指定的幀數上改變角色的動作或表情,使得這個外掛的功能更強大了!

以我自己訓練的LoRA角色為例,我為了要達到讓角色眨眼的動作,在第零幀指定了閉眼並側臉的動作,並且在第四幀指定了開眼、面向鏡頭並微笑的動作然後在第十六幀將微笑變成含蓄微笑,寫法如下:

dynamic hair, Hana wearing white kimono and white cloak, (masterpiece, top quality, best quality, beautiful and aesthetic:1.2) in forest, close-up, happy, <lora:Hana:0.4> ,
0: closed eyes, facing away
4: open eyes, smile, facing viewer
16: slight smile

在這邊,第一幀所有的敘述都不可分行,否則程式會錯亂。

每一幀的描述也不可分行,否則也會出事。

而幀與幀之間必須分行。

這樣演算出來的結果就是本文章置頂的動圖:

raw-image

結語

目前AnimateDiff還在積極開發中,還有許多用法可以探討,但目前這個最簡單的使用方法就已足夠強大,希望大家用得愉快,至少我本人非常愉快!

祝大家AI算圖快樂!

16.3K會員
281Content count
寫奇幻小說,畫圖,心得,各式各樣作品的故鄉。
留言0
查看全部
發表第一個留言支持創作者!
本篇要來解說一個最近新增的ControlNet前置處理器dw_openpose_full,如何使用它來快速修正爛掉的雙手手指。 這些方法的基礎都是使用實際的參考物,例如人偶網站的手,或者手指姿勢網站的手姿勢圖片來覆蓋掉原本的手,
這篇文章想要聊一下,在使用ControlNet的reference_only時,因為原始參考圖實在太過於模糊,造成生產出來的圖片品質不佳的情況下要怎麼使用一些技巧提高參考圖的精細度。
這篇文章要來分享的是,怎麼把一張糊掉的圖精細化。 這個問題最主要的對象是已經有明顯的提示詞,並且以ControlNet的refernece_only來生產的圖。
今天要分享的是一個在重度使用inpaint跟loopback常遇到的問題,就是水漬清除。
最近,光頭佬Olivio Sarikas分享了一個使用ControlNet非官方模型來控制txt2img的光影佈局的方法。
在上一篇文章中,我使用人偶圖產出了一個姿勢正確,但是手指錯亂且臉型崩潰的半成品圖,這一篇我要繼續修正這些問題,得到一個草稿圖,再使用這個草稿製作大張的完成圖。
本篇要來解說一個最近新增的ControlNet前置處理器dw_openpose_full,如何使用它來快速修正爛掉的雙手手指。 這些方法的基礎都是使用實際的參考物,例如人偶網站的手,或者手指姿勢網站的手姿勢圖片來覆蓋掉原本的手,
這篇文章想要聊一下,在使用ControlNet的reference_only時,因為原始參考圖實在太過於模糊,造成生產出來的圖片品質不佳的情況下要怎麼使用一些技巧提高參考圖的精細度。
這篇文章要來分享的是,怎麼把一張糊掉的圖精細化。 這個問題最主要的對象是已經有明顯的提示詞,並且以ControlNet的refernece_only來生產的圖。
今天要分享的是一個在重度使用inpaint跟loopback常遇到的問題,就是水漬清除。
最近,光頭佬Olivio Sarikas分享了一個使用ControlNet非官方模型來控制txt2img的光影佈局的方法。
在上一篇文章中,我使用人偶圖產出了一個姿勢正確,但是手指錯亂且臉型崩潰的半成品圖,這一篇我要繼續修正這些問題,得到一個草稿圖,再使用這個草稿製作大張的完成圖。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
  看《牧羊人筆記》提到做研究的極簡主義,我想到機械系與自動化產業。   學校科系必是系統性教學,以機械系為例,大一上學物理、微積分、化學等基礎科目;大一下則有工程導論、材料導論、圖學、程式設計等工程入門基礎;大二有工程數學、熱流學、製造學、機構學、應用力學、材料力學等機械系中「分析與應用」相關的
Thumbnail
(♥ :為杰克艾粒的影片或文章連結 / ▼ :下載或載點提供 / ✿ :推薦或重點提示) 各位,VQFR雖然能改變的幅度不高,但卻是臉部質感提升的BUFF工具 快來使用我們的自動安裝與簡易介面吧!! 我們知道他優秀的地方了,那來安裝吧!! ▼▼點這裡下載VQFR簡易安裝包▼▼ 對下載的壓
Thumbnail
SimplyBook.me 線上預約系統,提供超過 60 種彈性預約功能,讓不同的產業經營者,都能找到適合的功能並打造專屬線上預約系統。而本篇文章將會以「活動規劃產業」為切入,為您分享適合的客製功能,以及如何透過 SimplyBook.me 宣傳服務或產品,並透過詳細的報表來追蹤預約資訊。
Thumbnail
對於人物角色的走路動作,首先介紹最輕易可完成的半側面角度,這個角度的動作姿勢是最好表現的,只要準備好角色各肢體的獨立元件,搭配變形中心與傳統補間動畫即可完成。 目標動畫效果:應用影片片段元件表現角色人物的走路,除了元件的準備與安排來表現動作之外,將以傳統補間動畫製作肢體的
Thumbnail
對於動物跑步較複雜之處是在四隻腳的動作表現上,包括跑步時的腳彎曲,是不易以補間動畫表現的,因此需藉由預先準備的彎曲腳元件來替換,由於是不同的元件替換,因此僅能以逐格動畫來表現。 目標動畫效果:應用影片片段元件表現可愛動物四隻腳的簡易跑步,除了元件的準備與安排表現動作之外,
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
  看《牧羊人筆記》提到做研究的極簡主義,我想到機械系與自動化產業。   學校科系必是系統性教學,以機械系為例,大一上學物理、微積分、化學等基礎科目;大一下則有工程導論、材料導論、圖學、程式設計等工程入門基礎;大二有工程數學、熱流學、製造學、機構學、應用力學、材料力學等機械系中「分析與應用」相關的
Thumbnail
(♥ :為杰克艾粒的影片或文章連結 / ▼ :下載或載點提供 / ✿ :推薦或重點提示) 各位,VQFR雖然能改變的幅度不高,但卻是臉部質感提升的BUFF工具 快來使用我們的自動安裝與簡易介面吧!! 我們知道他優秀的地方了,那來安裝吧!! ▼▼點這裡下載VQFR簡易安裝包▼▼ 對下載的壓
Thumbnail
SimplyBook.me 線上預約系統,提供超過 60 種彈性預約功能,讓不同的產業經營者,都能找到適合的功能並打造專屬線上預約系統。而本篇文章將會以「活動規劃產業」為切入,為您分享適合的客製功能,以及如何透過 SimplyBook.me 宣傳服務或產品,並透過詳細的報表來追蹤預約資訊。
Thumbnail
對於人物角色的走路動作,首先介紹最輕易可完成的半側面角度,這個角度的動作姿勢是最好表現的,只要準備好角色各肢體的獨立元件,搭配變形中心與傳統補間動畫即可完成。 目標動畫效果:應用影片片段元件表現角色人物的走路,除了元件的準備與安排來表現動作之外,將以傳統補間動畫製作肢體的
Thumbnail
對於動物跑步較複雜之處是在四隻腳的動作表現上,包括跑步時的腳彎曲,是不易以補間動畫表現的,因此需藉由預先準備的彎曲腳元件來替換,由於是不同的元件替換,因此僅能以逐格動畫來表現。 目標動畫效果:應用影片片段元件表現可愛動物四隻腳的簡易跑步,除了元件的準備與安排表現動作之外,