ToonCrafter是什麼
ToonCrafter是由騰訊AI實驗室、香港中文大學和香港城市大學的研究人員開源的卡通動畫視頻中間幀生成工具,突破了傳統卡通動畫製作中線性運動的假設限制,採用創新的生成式插值技術,僅需兩張關鍵幀圖片,即可自動生成中間動態幀,創造出流暢的動畫效果。與需要逐幀繪製的傳統動畫製作方法相比,ToonCrafter極大地提高了動畫製作的效率,減少了動畫師的工作量,縮短了製作時間,同時保持了動畫的質量和創意性。
ToonCrafter的功能特色
- 生成式卡通插值:ToonCrafter利用深度學習模型,通過給定的兩張關鍵幀圖片,自動推算並生成中間幀,實現卡通動畫的平滑過渡和動態效果。該插值方法不僅填補了幀與幀之間的空白,還能夠模擬複雜的運動模式,如角色動作和場景變化。
- 細節保持與增強:ToonCrafter採用先進的雙參考3D解碼器技術,確保在生成新幀的過程中,圖像的細節得到保留甚至增強。這種機制特別適用於卡通動畫,因爲它們通常包含清晰的線條和鮮明的色彩,需要在插值過程中避免細節的模糊和失真。
- 支持草圖指導動畫:ToonCrafter提供了一個草圖編碼器,允許用戶通過簡單的草圖輸入來指導動畫的生成。用戶可以指定動畫的某些方面,如角色的運動軌跡或特定風格的強調,從而實現個性化的動畫效果。
- 遮擋區域處理:ToonCrafter能夠有效識別和處理動畫中的遮擋情況,例如當一個角色或對象部分或完全遮擋另一個時。該工具能夠合理推斷遮擋區域的運動和變化,生成符合視覺邏輯的幀。
- 多應用場景:ToonCrafter的應用範圍廣泛,不僅可以用於生成完整的卡通動畫視頻,還適用於從卡通素描線稿生成動畫,以及對現有動畫進行上色和風格化處理,提供了動畫製作的多樣性。
ToonCrafter的官網入口
- 官方項目主頁:https://doubiiu.github.io/projects/ToonCrafter/
- GitHub代碼庫:https://github.com/ToonCrafter/ToonCrafter
- Hugging Face Demo:https://huggingface.co/spaces/Doubiiu/tooncrafter
- arXiv技術論文:https://arxiv.org/abs/2405.17933v1
ToonCrafter的技術原理
- 生成式插值框架:ToonCrafter採用了一種新穎的生成式插值方法,與傳統的基於對應關係的插值方法不同,它不依賴於顯式的幀間對應關係,而是通過學習視頻數據的潛在表示來進行幀的生成。
- 領域適配(Toon Rectification Learning):通過領域適配策略,ToonCrafter能夠將真實視頻的運動先驗適配到卡通視頻領域,解決了領域差異問題,避免了非卡通內容的意外合成。
- 雙參考3D解碼器:利用雙參考3D解碼器,ToonCrafter能夠補償由於潛在空間壓縮導致的細節丟失。這種解碼器通過混合注意力殘差學習機制(HAR),將輸入圖像的細節信息注入到生成幀的潛在表示中。
- 混合注意力殘差學習機制(HAR):在解碼過程中,HAR通過交叉注意力機制將輸入圖像的特徵注入到解碼器的淺層,同時在深層使用殘差學習來增強細節的恢復。
- 僞3D卷積(Pseudo-3D Convolution):爲了增強時間上的連貫性,ToonCrafter在解碼器中引入了僞3D卷積,這有助於改善時間序列幀之間的一致性。
- 草圖編碼器(Sketch Encoder):提供了一個獨立的草圖編碼器,允許用戶通過輸入草圖來控制生成動畫的運動和風格,增加了生成過程的交互性和可控性。
- 擴散模型(Diffusion Models):ToonCrafter基於擴散模型,這是一種從數據中逐步添加噪聲,然後學習逆過程以去除噪聲並恢復數據的生成模型。在視頻生成中,這允許從隨機噪聲中生成連續的視頻幀。
- 迭代去噪過程:在生成每一幀時,ToonCrafter通過迭代去噪過程逐步精細化生成的圖像,從噪聲中恢復出清晰的幀。
- 端到端的訓練和優化:ToonCrafter的各個組件通過端到端的方式進行訓練和優化,確保整個插值過程的協同工作和最終生成視頻的質量。
- 多模態輸入支持:除了起始和結束幀,ToonCrafter還支持如草圖、參考圖像等多模態輸入,以增強生成動畫的表現力和控制性。
如何使用和體驗ToonCrafter
方法一、在線版Demo體驗
- 訪問Hugging Face版的在線Demo,https://huggingface.co/spaces/Doubiiu/tooncrafter
- 在Input Image添加輸入圖像
- 輸入提示詞並調節Seed值、步長、FPS等
- 最後點擊Generate按鈕進行生成視頻
方法二、本地代碼部署
開發人員可以選擇本地部署和運行ToonCrafter,具體步驟如下:
- 獲取代碼:訪問ToonCrafter的項目頁面,或使用Git命令克隆或下載代碼到本地。
git clone https://github.com/ToonCrafter/ToonCrafter.git
- 環境準備:通過Anaconda安裝所需的Python環境和依賴庫
conda create -n tooncrafter python=3.8.5 conda activate tooncrafter pip install -r requirements.txt
- 下載預訓練模型:下載預先訓練好的ToonCrafter_512模型並將其
model.ckpt
放入checkpoints/tooncrafter_512_interp_v1/model.ckpt
。 - 命令行運行
sh scripts/run.sh
- 運行本地Gradio版界面:你也可以選擇運行本地Gradio UI,運行指令
python gradio_app.py
- 然後按照上方在線版的操作步驟輸入圖片並設置參數進行生成即可
© 版權聲明
文章版权归作者所有,未经允许请勿转载。
相關文章
暫無評論...