美圖公司推出AI局部重繪功能!局部重繪讓你隨心所欲修改AI生成的圖像作品,想怎么改就怎么改
最近,靠著出其不意的擴圖效果,“AI擴圖”功能憑借搞笑的補全結(jié)果頻頻出圈,火爆全網(wǎng)。網(wǎng)友們踴躍嘗試,180度的大反轉(zhuǎn)也讓網(wǎng)友們直呼離譜,話題熱度高居不下。
近日,美圖公司旗下WHEE等產(chǎn)品上線AI擴圖及AI改圖功能,只需簡單的提示性輸入,用戶就可以任意修改圖像、移除畫面元素、擴充畫面,憑借便捷的操作與驚艷的效果,大大降低工具使用門檻,為用戶帶來高效、優(yōu)質(zhì)的圖像創(chuàng)作體驗。
本次全新上線的AI擴圖和AI改圖功能基于美圖自研的AI局部重繪技術(shù),由美圖影像研究院(MT Lab)依托美圖視覺大模型MiracleVision傾力打造?,F(xiàn)在,就一起來揭曉這項黑科技背后的奧秘吧!
眾所周知,圖像局部重繪是圖像編輯細分功能中使用頻率最高的功能之一,根據(jù)需要重繪的位置(即Mask區(qū)域)不同可以進一步細分為內(nèi)部區(qū)域重繪(inpaint)和外部區(qū)域重繪(outpaint)。
傳統(tǒng)的圖像局部重繪方法往往要求用戶使用專業(yè)圖像編輯工具手動重繪目標區(qū)域,或者根據(jù)用戶劃定的目標區(qū)域,使用基于GAN(生成對抗網(wǎng)絡(luò))的方法進行自動化的像素內(nèi)容填充。前者需要用戶具備一定的美術(shù)功底和對專業(yè)工具的熟練使用,門檻較高,對普通用戶來說難度大;而后者填充出來的區(qū)域通常缺乏真實性,在紋理細節(jié)等方面表現(xiàn)欠佳,當(dāng)用戶劃定的mask區(qū)域越大,填充出來的效果也會越來約失真。
除此之外,基于GAN的方法只能根據(jù)周圍的像素信息進行填充,并不能夠根據(jù)文本引導(dǎo)憑空生成出新的內(nèi)容,這極大地限制了它的使用場景。
基于GAN方法的重繪結(jié)果
而當(dāng)前大熱的擴散模型(Diffusion Model)雖然將圖像生成效果推向了一個新高度,但在圖像重繪領(lǐng)域中仍在存在一些問題,比如常見的Stable Diffusion 1.5、Stable Diffusion 2.0、SDXL等擴散模型由于輸入圖像分辨率的限制,在生成紋理上有時無法與原圖完全貼合,存在邊界感;以及在執(zhí)行目標消除任務(wù)時,容易不受prompt(提示詞)的限制,憑空生成一些其它的前景目標,無法輸出純背景像素。
Stable Diffusion 1.5的局部前景消除結(jié)果
為了實現(xiàn)自然過渡的畫面融合,達到“以假亂真”的目標,美圖影像研究院(MT Lab)基于自研AI視覺大模型——MiracleVision(奇想智能)強大的圖像生成能力以及多模態(tài)理解能力,實現(xiàn)了簡單、高效且逼真的AI局部重繪效果。
用戶只需要手動涂抹或通過智能分割算法,選擇想要編輯的區(qū)域,再輸入具體修改目標,就能夠在保持圖像主體特征的前提下,進行任意編輯。支持包括畫面元素消除、修改、移動、替換及畫面擴充等重繪操作,結(jié)合高精度紋理生成技術(shù),生成部分與原圖高度融合,真正做到畫面“不失真”,不僅極大提升用戶的圖像編輯效率,還能讓廢片“變廢為寶”。
MiracleVision(奇想智能)消除結(jié)果
MiracleVision(奇想智能)替換效果前
MiracleVision(奇想智能)替換效果后
MiracleVision(奇想智能)AI改圖效果
美圖AI局部重繪模型基于擴散模型(Diffision Model)技術(shù)構(gòu)建了完整的inpaint & outpaint模型框架,將內(nèi)部區(qū)域重繪、前景目標消除以及外部區(qū)域擴展等任務(wù)統(tǒng)一到同一個方案中進行解決,并針對一些特定的效果問題做了專門的優(yōu)化設(shè)計。
MiracleVision(奇想智能)模型屬于文生圖模型,雖然可以通過改造第一卷積層,并將unet整體微調(diào)的方式,使其適應(yīng)inpaint任務(wù),但這樣需要修改unet原有的權(quán)重,在訓(xùn)練數(shù)據(jù)量不足時可能會導(dǎo)致模型性能的下降。
因此,為了充分利用MiracleVision(奇想智能)已有的生成能力,團隊在局部重繪模型中不對MiracleVision(奇想智能)的unet模型進行直接微調(diào),而是使用controlnet的方式增加一個mask的輸入分支進行控制。
同時,為了節(jié)約訓(xùn)練成本,加快推理速度,使用壓縮后的controlnet模塊進行訓(xùn)練,盡可能地減少計算量。在訓(xùn)練的過程中,unet模型的參數(shù)會被固定,只有controlnet模塊會進行更新,最終使整個模型獲得inpaint的能力。
美圖AI局部重繪模型架構(gòu)圖
Outpaint任務(wù)則是crop任務(wù)的反向操作。Crop任務(wù)是沿著圖像邊界對原圖像進行剪裁,只保留需要的部分,是一種圖像內(nèi)容的減法操作;而outpiant任務(wù)則是沿著圖像邊界向外進行擴展,借助模型的生成能力來憑空創(chuàng)造出原本不存在的內(nèi)容,是一種圖像內(nèi)容的加法操作。
本質(zhì)上,Outpaint任務(wù)也可以看作是一種特殊的inpaint任務(wù),只不過mask區(qū)域位于圖像的外圍。
MiracleVision(奇想智能)AI擴圖效果
由于outpaint任務(wù)中的mask區(qū)域只能從圖像內(nèi)部獲取引導(dǎo)信息,其他的方向上都是圖像邊界,因此生成的內(nèi)容更加具有隨機性,會更加的發(fā)散。為了填補圖像外圍的空白區(qū)域,同時保證畫面拓展的準確性,團隊依托場景識別算法對圖像風(fēng)格及內(nèi)容進行推斷,并充分利用圖像內(nèi)容的相關(guān)性,通過在擴展邊緣處鏡像復(fù)制原圖中的像素并疊加隨機噪聲,為模型提供適合的初始先驗,從而保證生成內(nèi)容的合理性,并使得邊界過渡更加平滑。
一般的擴散模型在執(zhí)行inpaint任務(wù)時更擅長替換而不是消除,當(dāng)需要消除某一目標時,模型很容易在mask區(qū)域中繪制出一些原本不存在的新前景目標,特別是當(dāng)mask區(qū)域的面積比較大的時候這一現(xiàn)象尤為明顯,即使這些目標并沒有出現(xiàn)在prompt中。究其原因,主要是以下3個方面:
1、訓(xùn)練集的prompt中,一般只描述了圖像中有什么,而不會描述圖像中沒有什么,因此讓訓(xùn)練后的模型根據(jù)提示生成某一目標很容易,但是不讓它生成目標卻很難。即便有Classifier-Free Guidance策略,可以通過把不想要的物體添加到負詞中的方式來抑制該目標的生成,但始終無法將所有可能的目標全部寫到負詞中,因此模型還是會傾向于生成一些意想不到的目標;
2、從訓(xùn)練數(shù)據(jù)的分布來看,由于大規(guī)模圖像訓(xùn)練集中的絕大部分圖像都是由前景和背景組合而成的,純背景的圖像占比較小,這意味著擴散模型在訓(xùn)練時就已經(jīng)學(xué)習(xí)到了一種潛在的規(guī)律,即一幅圖像中大概率存在著某一個目標前景(即使prompt中并沒有提到它),這也導(dǎo)致模型在執(zhí)行inpaint任務(wù)時更傾向于在mask區(qū)域中生成些什么,從而使輸出圖像更接近于訓(xùn)練時的分布;
3、待填充的mask區(qū)域的形狀有時也會包含一定的語義信息,比如在沒有其他引導(dǎo)的情況下,模型會更傾向于在一個形狀為貓的mask區(qū)域內(nèi)填充一只新的貓,從而導(dǎo)致消除任務(wù)失敗。
為了使MiracleVision(奇想智能)同時具備目標生成以及目標消除的能力,團隊采用了多任務(wù)的訓(xùn)練策略:
1.在訓(xùn)練階段,當(dāng)mask區(qū)域落在紋理較少的純背景區(qū)域上時,增加一個特定的prompt關(guān)鍵詞作為觸發(fā)引導(dǎo)詞,并在模型推理階段,將這個關(guān)鍵詞作為正向引導(dǎo)詞加入到prompt embedding 中,促使模型更多地生成背景區(qū)域。
2.由于純背景圖像在整個訓(xùn)練集中占比較小,為了提高其對于訓(xùn)練的貢獻程度,在每個訓(xùn)練batch中,手動采樣一定比例的背景圖像加入到訓(xùn)練,使背景圖像在訓(xùn)練樣本中的占比總體保持穩(wěn)定。
3.為了降低模型對于mask形狀的語義依賴,在訓(xùn)練階段還會隨機生成各種不同形態(tài)mask,增加mask形狀的多樣性。
由于訓(xùn)練集中高清的紋理數(shù)據(jù)只占全部訓(xùn)練數(shù)據(jù)的一小部分,因此在執(zhí)行inpaint任務(wù)時,通常不會生成紋理非常豐富的結(jié)果,導(dǎo)致在原圖紋理比較豐富的場景中,容易出現(xiàn)融合不自然、存在邊界感的情況。
為了解決這個問題,團隊基于自研紋理細節(jié)模型作為引導(dǎo)模型,以此來輔助MiracleVision(奇想智能)提高生成質(zhì)量,抑制過擬合,使得生成區(qū)域和原圖的其他區(qū)域之間能夠更好地貼合在一起。
原圖 vs 未增加紋理細節(jié) vs MiracleVision擴圖效果
擴散模型類方案在推理時通常需要進行多步逆擴散過程,導(dǎo)致單張圖片的處理耗時過長。為了在保持生成質(zhì)量的同時優(yōu)化用戶體驗,美圖影像研究院(MT Lab)團隊為AI局部重繪技術(shù)打造了專項調(diào)優(yōu)方案,最終達到性能與效果的最佳平衡。
首先,將MiracleVision(奇想智能)前后處理與推理過程中大量的矩陣計算,盡可能地移植到GPU上并行計算,從而有效地加快了計算速度,并減少CPU端的負載。同時,在組圖的過程中,盡可能的對layer進行fuse,使用FlashAttention來降低顯存占用,提升推理性能,并對Kernel實現(xiàn)進行Tuning,針對NVIDIA不同的顯卡最大化GPU算力使用。
除此之外,依托自研的模型參數(shù)量化方法,將MiracleVision量化至8bit而不明顯損失精度。由于不同的GPU顯卡對8bit量化的支持存在差異性,因此創(chuàng)新性采用混合精度策略,在不同的服務(wù)器資源環(huán)境下自適應(yīng)地選取最優(yōu)算子,從而實現(xiàn)總體加速的最優(yōu)解。
而對于分辨率較高的用戶輸入圖像,由于受限于服務(wù)器資源與時間成本,很難在原始分辨率情況下直接進行推理。對此,團隊通過先壓縮圖像分辨率至合適的大小,再基于MiracleVision(奇想智能)進行推理,其后使用超分算法復(fù)原圖像至初始分辨率下,再與原圖進行圖像融合,從而既保持生成圖像的清晰效果,又節(jié)約推理過程中的顯存占用和執(zhí)行時間。