點選上方↑↑↑「OpenCV學堂」關註我
來源:公眾號 量子位授權
ControlNet作者張呂敏 (Lvmin Zhang) 又又又發新作了!
輸入任意一張圖,分分鐘就能「拆解」成一個 25秒的影像繪制過程 視訊:
從線稿到填色還有局部細節調整,全都有的那種:
而且不止動漫風,各種風格都能駕馭:
這個計畫名為 Paints-Undo ,釋出不到24小時,GitHub上已攬星600+:
網友們針對它的討論也經歷了一輪又一輪,不少人紛紛表示「這個是真牛P」。
……甚至因為效果太好,遭到網友吐槽:
手繪偽造成本又低了。
還有不少網友已經玩上了:
Ctrl+ZZZZZZZ
據GitHub主頁上的介紹,Paints-Undo的命名有「其繪制過程就像是在繪畫軟體中多次按下復原 (Undo) 按鈕」之意。
該計畫包含一系列模型,展示了各種人類繪畫行為,比如素描、勾線、上色、陰影、變形、左右翻轉、調整色彩曲線、改變圖層透明度,甚至在繪畫過程中改變整體想法等等。
目前釋出了 兩個型號 :paints_undo_single_frame和paints_undo_multi_frame。
paints_undo_single_frame為 單幀模型 ,基於SD1.5架構進行了改進,輸入為一張圖和一個operation step,並輸出一張圖。
operation step相當於Ctrl+Z (撤銷) 多少次,比如operation step為100,就相當於會得到一張Ctrl+Z 100次的效果圖。
paints_undo_multi_frame是 多幀模型 ,基於VideoCrafter打造,但沒有使用原始Crafter的lvdm,所有的訓練/推理程式碼都是從頭開始完全實作。
經過訓練後,多幀模型整體架構類似於Crafter,包含5個組成部份:3D-UNet、VAE、CLIP、CLIP-Vision、Image Projection。
多幀模型輸入為兩張圖片,輸出是這兩張圖片之間的16幀中間幀,其結果比單幀模型更加一致,但也更慢,創造性較低。
程式碼庫預設方法是將兩個模型一起使用:
首先使用單幀模型獲取5-7個「關鍵幀」,然後使用多幀模型來「插值」這些關鍵幀,最終生成一個相對較長的視訊。理論上甚至可以生成無限長的視訊,但在開發測試中 幀數為100-500時,結果較好。
可以透過以下方式在本地部署:
介紹中還提到,計畫測試是在24GB視訊記憶體的Nvidia 4090和3090TI上進行。理論上說,16GB的視訊記憶體應該也夠用,但8GB就不行了, 最少需要大概10到12.5GB的視訊記憶體 。
根據不同配置, 處理一張圖 大約需要5-10分鐘 。
生成視訊時長 25秒 ,幀率為4FPS,分辨率可能是320x512、512x320、384x448或448x384。
更多玩法展示
除了直接生成25秒的從線稿到上色的視訊,還有其它玩法。
比如輸入線稿,也能生成線稿繪制過程:
單輸入多輸出也可以:
或者還可以從一張圖提取出不同精細程度的線稿:
插入一張線稿,直接在此線稿基礎上填色也行:
感興趣的家人們可以親自動手試試~
GitHub連結:https://github.com/lllyasviel/Paints-UNDO
OpenCV4系統化學習
深度學習系統化學習
推薦閱讀