只要一張圖就能「還原」繪畫過程,這篇論文比爆火的Paints-UNDO實現得更早

机器之心發表於2024-07-30
圖片
AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

作者介紹:宋亦仁:新加坡國立大學 ShowLab 博士研究生, 主要研究方向包括影像和影片生成, AI 安全性。

黃施捷:新加坡國立大學碩士二年級學生,目前在 Tiamat AI 任演算法工程師實習生,主要研究方向是視覺生成。目前在尋找 2025 fall 博士入學機會。

最近,lvmin 帶來了最新模型 Paints-UNDO。這款 AI 生成工具可以根據圖片還原整個繪畫過程,整個 AIGC 社群都為之震撼。

圖片

Paints-UNDO 的演示 demo。

早在 1 個月前,NUS,SJTU,Tiamat 等機構聯合已經發布了一篇做類似任務的工作 ProcessPainter: Learn Painting Process from Sequence Data。Paints-UNDO 技術報告還未公佈,讓我們一起看看 ProcessPainter 是如何實現的吧!

圖片

  • 論文標題:ProcessPainter: Learn Painting Process from Sequence Data
  • 論文連結:https://arxiv.org/pdf/2406.06062
  • 程式碼連結:https://github.com/nicolaus-huang/ProcessPainter

翻開任意一本繪畫教學書籍,都能看到按照步驟畫畫的指導。然而,在生成式 AI 時代,透過去噪過程完成影像生成和人類畫家繪畫過程完全不同,AI 畫畫的過程無法直接用於繪畫教學。

為了解決這一問題,ProcessPainter 透過在合成資料和人類畫師繪畫影片上訓練時序模型,首次實現了讓擴散模型生成繪畫過程。此外,不同題材、畫師的繪畫過程差異巨大,風格迥異。然而,目前很少有研究將繪畫過程作為研究物件。論文作者在預訓練的 Motion Model 基礎上,透過在特定畫師的少量繪畫序列上訓練 Motion LoRA,學習畫師的繪畫技法。

圖片

深入解讀 ProcessPainter 的核心技術

圖片

1. 時序注意力機制(Temporal Attention)

用時序注意力學習生成繪畫過程是 ProcessPainter 的核心創新。繪畫序列生成的關鍵是,整個序列是同一張圖從抽象到具體的變化過程, 前後幀在內容和構圖上是一致且相關的。為了實現這一目標,作者為 Unet 引入了來自 AnimateDiff 的時序注意模組。該模組位於每一層擴散層之後,透過幀間自注意機制來吸收不同幀的資訊,確保整個序列的平滑過渡和連續性。

實驗證明,該訓練策略可以在幀之間保持一致的繪畫效果。繪畫過程生成和影片生成任務不同之處在於,繪畫過程前後變化更加劇烈,首幀是完成度很低的色塊或線稿,而尾幀是完整的畫作,這對模型訓練帶來挑戰。為此,論文作者先在大量合成資料集上預訓練時序模組,讓模型學習各種各種 SBR(Stroke-based rendering) 方法的逐步繪畫過程,再用數十個藝術家的繪畫過程資料訓練 Painting LoRA 模型。

2. 藝術品複製網路(Artwork Replication Network)

繪畫實踐中,我們更希望知道一幅作品是如何畫出來的,以及如何從半成品繪畫繼續細化以達到期待的成品效果。這就引申出了兩個任務:繪畫過程重建和補全。鑑於這兩個任務都有影像的輸入,論文作者提出了藝術品複製網路(Artwork Replication Network)。

這一網路設計能夠處理任意幀的影像輸入,靈活控制繪畫過程的生成。與之前的可控性生成方法類似,論文作者引入一個 ControlNet 的變體,來控制生成結果中的特定幀與參考圖一致。

3. 合成資料集與訓練策略

由於真實繪畫過程資料較難獲取,數量不足以支援大規模訓練。為此,論文作者構建了用於預訓練的合成資料集。

具體採用了三種合成資料方法:

1. 採用 Learn to Paint 來產生半透明貝賽爾曲線筆觸的繪畫序列;
2. 透過自定義筆觸,用 Neural style painting 生成油畫風格和中國畫風格的繪畫序列。
3. 上述 SBR(Stroke base painting)方法是從粗到細的擬合一張目標影像, 意味著允許對於已經繪畫的部分進行覆蓋和修改,然而很多繪畫種類,如中國畫和雕刻,由於材料的限制,無法大幅度修改已經完成的部分, 繪畫過程是分割槽域完成的。為此,論文作者採用 SAM(segment anything) 和顯著性檢測方法,從空白畫布逐個子區域新增內容,先繪製顯著性物體, 然後逐步向背景擴散,從而合成繪畫過程影片。

在訓練階段,論文作者首先在合成資料集上預訓練了 Motion Model,然後凍結了 Motion Model 的引數並訓練了 Artwork Replication Network。在微調繪畫 LoRA 模型時,第一步只使用最終幀來微調空間注意力 LoRA,以防止半成品繪畫訓練集損害模型的生成質量。

此後,論文作者凍結了空間注意力 LoRA 的引數,並使用完整的繪畫序列微調時間注意力 LoRA。在推理階段,當從文字生成繪畫序列時,ProcessPainter 不使用藝術品複製網路。在繪畫過程重建和補全任務中,ProcessPainter 使用藝術品複製網路接收特定幀的參考輸入。為了確保生成的繪畫序列中的幀儘可能與輸入影像匹配,ProcessPainter 採用了 DDIM 反演技術來獲取參考影像的初始噪聲,並在 UNet 中替換特定幀的初始噪聲。

ProcessPainter 效果展示

在合成資料集上訓練的 ProcessPainter base model 可以生成過程上有風格差異的繪畫序列。

圖片

透過在少量人類畫師的繪畫序列上分別訓練 Motion Lora,ProcessPainter 可以學習特定畫師的繪畫過程和風格。

圖片

指定參考影像,ProcessPainter 可以將完成的藝術品逆向解構為繪畫步驟,或者從半成品推演出完整的畫作。

圖片

這些技術元件的結合,讓 ProcessPainter 不僅能夠從文字生成繪畫過程,還能將參考圖轉換成繪畫序列,或是對未完成的畫作進行補全。這無疑為藝術教育提供了新工具,同時也為 AIGC 社群開闢了新賽道。也許不久的將來,Civitai 上會有各種模擬人類畫師繪畫過程的不同 Lora 出現。

更多細節,歡迎閱讀論文原文或訪問 Github 專案主頁。

相關文章