種政 投稿自 凹非寺
量子位 | 公衆号 QbitAI
隻需兩張圖像,不到30秒,就能讓馬斯克穿牛仔走紅毯~
或者讓寡姐帶貨國風Polo衫~
就是二次元換裝也不在話下。
來自中山大學、Pixocial等機構聯合釋出輕量化模型架構CatVTON。他們是以Stable Diffusion v1.5 inpainitng為基礎模型。
來看看更多效果。
用擴散模型進行虛拟試衣
CatVTON可以實作傳統平鋪服裝圖到人物的換裝。
不管是上衣、褲子、裙子,還是套裝,各種不同品類服裝都可以。
其形狀和紋理都能保持較高的一緻性。
另外,CatVTON 還可以實作人物A到人物B的換裝。
無需顯式地指定類别,根據 Mask 的不同即可完成目标服裝的試穿,支援單獨的上衣、褲子、裙子或者全身多件服裝同時更換 。
既然如此,那又是如何實作的呢?
輕量化模型架構
CatVTON 在功能上豐富多樣, 但其模型架構卻十分簡潔高效:
- 2個網絡子產品(VAE+UNet)
- 899.06M總參數量
- < 8G推理顯存(輸出圖像 1024×768 )
輕量化的架構來源于 CatVTON 對現有方法子產品備援的觀察:
- 基于Warping的方法依靠幾何比對對服裝進行形變再利用試穿子產品融合,結果生硬不自然;
- 基于擴散模型的方法引入ReferenceNet,加重了訓練和推理的負擔;
具體而言,CatVTON 通過在輸入上把人物、服裝在通道次元拼接(Concatenate),在結構上擺脫了對額外的 ReferenceNet 的依賴,跳過了對圖像虛拟試衣來說沒有顯著幫助的文本交叉注意力,同時也不需要任何額外的圖像編碼器來輔助生成。
下表詳細地比較了不同方法與 CatVTON 的子產品數量、參數量、可訓練參數量、顯存占用、推理條件。
在網絡子產品上,CatVTON 隻需要 VAE+UNet,無需任何額外的編碼器;在模型總參數量上,CatVTON 比其他方法至少縮減了44% ;在顯存占用上,CatVTON 也隻有其他方法的一半甚至更低,展現了 CatVTON 在模型架構輕量化上的優勢。
△模型高效性相關項詳細比較
在訓練上,CatVTON 探究了在将預訓練擴散模型遷移到 TryOn 任務時去噪 UNet 中真正起作用的子產品。
首先,去噪 UNet 在結構上是由不同特征尺度的ResNet 和 Transformer Blocks 堆疊而成(如下圖)。其中 ResNet 是卷積網絡,具有空間不變性,适用于特征的提取,并不負責跨空間的特征互動,這一部分在擴散模型進行大規模預訓練時,已經具備了足夠的特征編碼能力,是以與遷移到 TryOn任務關聯性不強。
Transformer Block 内部結構又可以細化為三個部分:Self Attention, Cross Attention 和 FFN。其中Cross Attention在 T2I 任務中用于與文本資訊互動,FFN 起到特征映射的作用,是以與服裝、人物特征互動最相關的便是 Self Attention。
理論上确定了需要訓練的子產品後,在實驗上,CatVTON 文中還進行了消融,發現對 UNet、Transformer Block 和 Self Attention 分别進行解鎖訓練,其可視化結果并沒有明顯的差異,同時在名額上也十分接近,驗證了“Self Attention是将預訓練擴散模型遷移到 TryOn 任務的關鍵子產品”的假設。
最後通過理論和實驗鎖定的Self Attention 部分,隻有49.57M 參數,僅占總參數量 5.71% 的部分,對其進行微調,就可以實作逼真的試穿效果,在上一節表格中可以看到,相較于其他方法,CatVTON 将可訓練參數量減少了10 倍以上。
最後總結,CatVTON重新思考和設計了基于擴散模型的虛拟試穿架構,将多任務、多品類的虛拟試衣內建到同一模型中,以輕量化的架構和參數高效的訓練政策實作了SOTA的試穿效果,降低了模型的訓練、推理計算需求,更有利于虛拟試衣模型走向落地與應用。
項目首頁:
https://zheng-chong.github.io/CatVTON
論文位址:
https://arxiv.org/abs/2407.15886
— 完 —
量子位 QbitAI · 頭條号簽
關注我們,第一時間獲知前沿科技動态約