谷歌的新 AI 模型,直接解決了 AI 換裝的兩大難題 —— 既保留衣服細節,又能隨意換姿勢。以后再剁手,恐怕要更容易了!
一鍵換裝,被谷歌給實現了!
這個 AI 試衣模型 TryOnDiffusion,你只要給它一張自己的全身照,和服裝模特的照片,就能知道自己穿上這件衣服之后是什么樣子了。
主打的就是一個真實。所以,是真人版奇跡暖暖吧?
按說,各種換裝的 AI 早就有不少了,谷歌的這個 AI 模型究竟有何突破呢?
關鍵就在于,他們提出了一種基于擴散的框架,把兩個 Parallel-Unet 統一了起來。
在以前,這種模型的關鍵挑戰就在于,如何既保留衣服細節,又能將衣服變形,同時還能適應不同主體的姿勢和形狀,讓人感覺不違和。
以前的方法無法同時做到這兩點,要么只能保留衣服細節,但無法處理姿勢和形狀的變化,要么就是可以換姿勢,但服裝細節會缺失。
而 TryOnDiffusion 因為統一了兩個 UNet,就能夠在單個網絡中保留衣服細節,并且對衣服進行重要的姿勢和身體變化。
可以看到,衣服在人物上的變形極其自然,并且衣服的細節也還原得非常到位。
話不多說,讓我們直接看看,谷歌的這個「AI 試穿」到底有多厲害!
用 AI 生成試穿圖像
具體來說,Virtual Try-On可以向顧客展示衣服在不同體型和尺寸的真實模特身上的效果。
虛擬服裝試穿中,有許多微妙但對于來說至關重要的細節,比如衣服的垂墜、折疊、緊貼、伸展和起皺的效果。
此前已有的技術,比如 geometric warping,可以對服裝圖像進行剪切和粘貼,然后對其進行變形以適配身體的輪廓。
但這些功能,很難讓衣服妥帖地適應身體,并且會存在一些視覺缺陷,比如錯位的褶皺,會讓衣服看起來畸形和不自然。
因此,谷歌的研究者致力于從頭開始生成服裝的每個像素,以生成高質量、逼真的圖像。
他們采用的技術是一種全新的基于 Diffusion 的 AI 模型,TryOnDiffusion。
擴散是逐漸向圖像添加額外像素,直到它變得無法識別,然后完全消除噪聲,直到原始圖像以完美的質量重建。
像 Imagen 這樣的文本到圖像模型,就是使用的來自大語言模型 LLM 的擴散加文本,可以僅根據輸入的文本,就能生成逼真的圖像。
Diffusion 是逐漸向圖像添加額外像素,直到它變得無法識別,然后再完全消除噪聲,直到原始圖像以完美的質量重建。
這種基于圖像的 Diffusion 和交叉注意力的結合技術,構成了這個 AI 模型的核心。
VOT 功能讓用戶可以在符合自己身材的模特身上渲染展示上衣效果。海量高質量數據訓練
谷歌為了使 VTO 功能盡可能提供真實的效果并且真的能幫助用戶挑選衣服,對這個 AI 模型進行了大量的訓練。
但是,谷歌沒有使用大語言模型來訓練它,而是利用了谷歌的購物圖。
這個數據集擁有全世界最全面,同時也是最新的產品、賣家、品牌、評論和庫存數據。
谷歌使用了多對圖像訓練模型,每對圖像由兩種不同姿勢的穿著衣服的模特圖組成。
比如,一個穿著襯衫的人側身站立的圖像和另一個向前站立的圖像。
谷歌專門的擴散模型將圖像輸入到他們自己的神經網絡來生成輸出:穿著這件衣服的模特的逼真圖像。
在這對訓練圖像中,模型學習將側身姿勢的襯衫形狀與面朝前姿勢的圖相匹配。
反過來也一樣,直到它可以從各個角度生成該人穿著襯衫的逼真圖像。
為了追求更好的效果,谷歌使用數百萬不同服裝和人物的隨機圖像對多次重復了這個過程。
總之,TryOnDiffusion 既保留了衣服的細節效果,也適配了新模特的身材和姿勢,谷歌的技術做到了二者兼得,效果相當逼真。
技術細節
解決這個問題最關鍵的難點在于,保持服裝細節逼真的同時,將服裝進行適當的變形以適應不同模特之間的姿勢和體型的變化。
先前的方法要么著重于保留服裝細節,但無法有效處理姿勢和形狀的變化。
要么允許根據期望的體型和姿勢呈現出了試穿效果,但缺乏服裝的細節。
谷歌提出了一種基于 Diffusion 的架構,將兩個 UNet合二為一,谷歌能夠在單個網絡中保留服裝細節并對服裝的試穿效果進行明顯的姿勢和身體變化。
Parallel-UNet 的關鍵思想包括:
1)通過交叉注意機制隱式地為服裝制作褶皺;
2)服裝的褶皺和人物的融合作為一個統一的過程,而不是兩個獨立任務的序列。
實驗結果表明,TryOnDiffusion 在定性和定量上均達到了最先進的性能水平。
具體的實現方式如下圖所示。
在預處理步驟中,目標人物從人物圖像中被分割出來,創建「無服裝 RGB」圖像,目標服裝從服裝圖像中分割出來,并為人物和服裝圖像計算姿勢。
這些信息輸入被帶入 128×128 Parallel-UNet以創建 128x128 的試穿圖像,該圖像與試穿條件的輸入一起作為輸入進一步發送到 256×256 Parallel-UNet 中。
再把 256×256 Parallel-UNet 的輸出內容被發送到標準超分辨率擴散來創建 1024×1024 的圖像。
而在上面整個流程中最為重要的 128×128 Parallel-UNet 的構架和處理過程,如下圖所示。
將與服裝無關的 RGB 和噪聲圖像輸入頂部的 person-UNet 中。
由于兩個輸入內容都是按像素對齊的,在 UNet 處理開始時直接沿著通道維度將兩個圖像連接起來。
由于兩個輸入都是按像素對齊的,我們在 UNet 處理開始時直接沿著通道維度將它們連接起來。
將分割后的服裝圖像輸入位于底部的 garment-UNet。
服裝的特征通過交叉注意融合到目標圖像之中。
為了保存模型參數,谷歌研究人員在 32×32 上采樣之后提前停止了 garment-UNet,此時 person-UNet 中的最終交叉注意力模塊(final cross attention module)已經完成。
人和衣服的姿勢首先被送入線性層以分別計算姿勢嵌入。
然后通過注意力機制將姿勢嵌入融合到 person-UNet 中。
此外,它們被用在使用 FiLM 在所有規模上調制兩個 UNet 的特征。
與主流技術的對比
下圖從左到右依次是「輸入,TryOnGAN,SDAFN,HR-VITON,谷歌的方法」。
局限性
不過 TryOnDiffusion 存在一些局限性。
首先,在預處理過程中,如果分割圖和姿勢估計存在錯誤,谷歌的方法可能會出現服裝泄漏的瑕疵。
幸運的是,近年來這方面的準確性已經大大提高,這種情況并不經常發生。
其次,不包括關服裝的 RGB 來顯示身體的效果并不理想,因為有時它可能只能保留身份的一部分。
例如紋身在這種情況下會不可見,某些的肌肉結構也會不可見。
第三,我們的訓練和測試數據集通常都會具有干凈統一的背景,因此無法確定該方法在更復雜的背景下的表現如何。
第四,我們不能保證服裝在模特身上是否真的合身,只關注試穿的視覺效果。
最后,本研究側重于上半身的服裝,谷歌還沒有對全身試穿效果進行實驗,未來會進一步對全身效果進行研究。
參考資料:
鄭重聲明:此文內容為本網站轉載企業宣傳資訊,目的在于傳播更多信息,與本站立場無關。僅供讀者參考,并請自行核實相關內容。
|