ControlNet作者又出爆款!一張圖生成繪畫全過程,兩天狂攬1.4k Star 精華
ControlNet 作者 Lvmin Zhang 又開始整活了!這次瞄準繪畫領(lǐng)域。
新項目 PaintsUndo 剛上線不久,就收獲 1.4k star(還在瘋狂漲)。
項目地址:https://github.com/lllyasviel/Paints-UNDO
通過該項目,用戶輸入一張靜態(tài)圖像,PaintsUndo 就能自動幫你生成整個繪畫的全過程視頻,從線稿到成品都有跡可循。
繪制過程,線條變化多端甚是神奇,最終視頻結(jié)果和原圖像非常相似:
我們再來看一個完整的繪畫過程。PaintsUndo 先是用簡單的線條勾勒出人物主體,然后畫出背景,涂上顏色,最后精調(diào)成和原圖相似。
PaintsUndo 不止局限于單一圖像風格,對于不同類型的圖像,也會生成相應(yīng)的繪畫過程視頻。
戴著頭巾的柯基犬眼神溫柔地望向遠方:
用戶也可以輸入單張圖像,輸出多個視頻:
不過,PaintsUndo 也存在缺點,比如處理復(fù)雜的構(gòu)圖存在困難,作者表示項目還在不斷完善。
PaintsUndo 之所以如此強大,背后是一系列模型的支持,它們以圖像作為輸入,然后輸出該圖像的繪制序列。模型復(fù)現(xiàn)了各種人類行為,包括但不限于素描、上墨、著色、陰影、變換、左右翻轉(zhuǎn)、顏色曲線調(diào)整、更改圖層的可見性,甚至在繪制過程中更改整體思路。
本地部署過程非常簡單,幾行代碼就能完成:
git clone https://github.com/lllyasviel/Paints-UNDO.git
cd Paints-UNDO
conda create -n paints_undo pythnotallow=3.10
conda activate paints_undo
pip install xformers
pip install -r requirements.txt
python gradio_app.py
模型介紹
項目作者在 Nvidia 4090 和 3090TI 上使用 24GB VRAM 進行推理測試。作者估計,在極端優(yōu)化(包括權(quán)重卸載和注意力切片)的情況下,理論上 VRAM 需求最小約為 10-12.5 GB。PaintsUndo 預(yù)計可以在大約 5 到 10 分鐘內(nèi)處理一張圖像,具體取決于相關(guān)設(shè)置,通常會得到時長 25 秒,分辨率為 320x512、512x320、384x448 或 448x384 的視頻。
目前該項目發(fā)布了兩個模型:單幀模型 paints_undo_single_frame 和多幀模型 paints_undo_multi_frame。
單幀模型采用 SD1.5 的修改架構(gòu),以一幅圖像和一個操作步驟作為輸入,輸出一幅圖像。假設(shè)一件藝術(shù)品通常需要經(jīng)過 1000 次人工操作才能創(chuàng)作出來(例如一筆是一次操作),那么操作步長是 0-999 之間的整數(shù)。數(shù)字 0 是最終完成的藝術(shù)品,數(shù)字 999 是在純白畫布上繪制的第一筆。
多幀模型基于 VideoCrafter 系列模型,但沒有使用原始 Crafter 的 lvdm,所有訓練 / 推理代碼完全從頭開始實現(xiàn)。項目作者對神經(jīng)網(wǎng)絡(luò)的拓撲進行了很多修改,并且經(jīng)過大量訓練后,神經(jīng)網(wǎng)絡(luò)的行為與原始 Crafter 有很大不同。
多幀模型的整體架構(gòu)類似于 Crafter,包含 5 個組件:3D-UNet、VAE、CLIP、CLIP-Vision、Image Projection。
多幀模型以兩幅圖像作為輸入,輸出兩幅輸入圖像之間的 16 個中間幀。多幀模型的結(jié)果比單幀模型更加一致,但速度也慢得多,「創(chuàng)意」更少,并且僅限于 16 幀。
PaintsUndo 默認一起使用單幀模型和多幀模型。首先會用單幀模型推斷大約 5-7 次,得到 5-7 個「關(guān)鍵幀」,然后使用多幀模型對這些關(guān)鍵幀進行「插值」,最終生成一個相對較長的視頻。
本文轉(zhuǎn)自 機器之心 ,作者:機器之心
