Pine 發(fā)自 凹非寺
量子位 | 公眾號 QbitAI
當(dāng)你拍照片時,“模特不好好配合”怎么辦?
沒事!現(xiàn)在只用 一句話就能后期P圖了,還是能改變動作、表情的那種!
比如說你能輕松讓鳥張開翅膀 (輸入“張開翅膀的鳥”即可):
又或者說,想要讓一只站立的狗蹲下:
看起來還真不賴!而這個新的“P圖”方法呢,名叫 Imagic,是基于爆火的擴(kuò)散模型 (Diffusion Model)來實現(xiàn)的。
是的,又是擴(kuò)散模型,它的能耐想必也不用多介紹了吧 (那看那鋪天蓋地和它相關(guān)的論文就能佐證)。
那在擴(kuò)散模型加持下的Imagic到底有何厲害之處,話不多說,一起來看看吧!
多達(dá)6種功能
據(jù)不完全統(tǒng)計,Imagic的功能就有 6種。
改變姿勢、變換構(gòu)圖、切換濾鏡、多個對象編輯、添加對象、更改顏色……
先來看看這個P圖神器 改變姿勢的效果,比如說輸入一條站立的狗,通過變換提示文字,得到的效果是醬紫的~
或者說輸入一個隨意站立的人,輸入口令,他就“乖乖聽話,任你擺布” (手動狗頭)了,甚至還能憑空出現(xiàn)一個水杯。
還沒看夠?那再來康康Imagic其他功能:改變顏色,或者增加對象,也可以多種功能同時使用。
總的來說,Imagic的厲害之處太多,這里就不一一詳細(xì)展開了,效果可以看下圖。
除了這么多功能之外,Imagic還有另外一個比較人性化的點,就是當(dāng)你告訴它要如何“P圖”后,它會隨機生成幾個不同的選項供你選擇。
其實這種在真實圖像上編輯的模型Imagic不是第一個,在此之前就已經(jīng)有很多個類似的模型。
這時就會有網(wǎng)友問了,“Imagic有什么厲害的點呢?”
話不多說,直接上效果對比。
這里選取了比較常見的基于真實圖像編輯的兩個模型:SDEdit、Text2LIVE與Imagic作對比。
結(jié)果很顯然,Imagic完成“P圖指令”的效果很好,在細(xì)節(jié)上也絲毫不遜色其他模型。
(確實妙啊)
那Imagic是如何“擊敗”SDEdit、Text2LIVE,實現(xiàn)這樣的效果呢?
是怎樣實現(xiàn)的
千言萬語匯成四個字: 擴(kuò)散模型,在論文的標(biāo)題上它都赫然在列。
具體到Imagic中,擴(kuò)散模型的作用是如何發(fā)揮出來的,來看看詳細(xì)的“P圖”過程。
整體來說分為三大步。
第一步是優(yōu)化文本嵌入層。
具體來說,先給定輸入的圖像和目標(biāo)文本,然后對目標(biāo)文本進(jìn)行編碼,得到初始的嵌入層。
然后不斷調(diào)整初始嵌入層,讓其能夠通過預(yù)先訓(xùn)練的擴(kuò)散模型很好地重建輸入圖像。
這樣一來,最終便會得到優(yōu)化后的嵌入層 (能夠很好地重建輸入圖像)。
第二步是對擴(kuò)散模型進(jìn)行微調(diào),這時就要用到上一步已經(jīng)優(yōu)化之后的嵌入層,讓嵌入層經(jīng)過模型后重建輸入圖像。
在重建的過程,需要不斷更改模型中損失函數(shù)的參數(shù),以讓模型適應(yīng)優(yōu)化后的輸入層,直到能夠很好地重建輸入圖像時為止,這樣一來便得到了微調(diào)之后的模型。
第三步就要開始正式P圖了。
值得一提的是,這一步除了輸入初始的目標(biāo)嵌入層 (tgt)外,還會插入優(yōu)化好的嵌入層 (opt),它們的關(guān)系如下圖。
通過變換參數(shù),實際的效果如下圖。
如果你想更加詳細(xì)地了解Imagic,可以戳文末鏈接閱讀論文原文。
研究團(tuán)隊
Imagic的六位作者均來自google Research,論文有兩位第一作者:Bahjat Kawar和Shiran Zada,均來自以色列。
值得一提的是,Bahjat Kawar還是一位以色列理工學(xué)院在讀博士,他是在Google Research實習(xí)期間完成了這項研究。
而Shiran Zada今年5月剛加入Google Research,目前是計算機視覺研究員。
他曾在微軟擔(dān)任軟件工程師以及技術(shù)主管的職務(wù),主要負(fù)責(zé)網(wǎng)絡(luò)安全相關(guān)的項目開發(fā)。
— 完—