論文:https://arxiv.org/abs/2302.03027
代碼:https://github.com/pix2pixzero/pix2pix-zero/tree/main
Abstract
大規(guī)模文本到圖像生成模型展示了它們合成多樣且高質(zhì)量圖像的顯著能力。然而,直接將這些模型應(yīng)用于編輯真實圖像仍然存在兩個挑戰(zhàn)。首先,用戶很難提供完美的文本提示,準(zhǔn)確描述輸入圖像中的每個視覺細(xì)節(jié)。其次,盡管現(xiàn)有模型可以在某些區(qū)域引入期望的改變,但它們通常會在不需要編輯的區(qū)域引入意想不到的變化,從而大幅改變輸入內(nèi)容。在這項工作中,我們提出了pix2pix-zero,一種圖像到圖像的轉(zhuǎn)換方法,可以在沒有手動提示的情況下保留原始圖像的內(nèi)容。我們首先自動發(fā)現(xiàn)反映文本嵌入空間中所需編輯的編輯方向。為了在編輯后保留一般內(nèi)容結(jié)構(gòu),我們進(jìn)一步提出了交叉注意力引導(dǎo),旨在在擴(kuò)散過程中保留輸入圖像的交叉注意力圖。此外,我們的方法不需要對這些編輯進(jìn)行額外的訓(xùn)練,可以直接使用現(xiàn)有的預(yù)訓(xùn)練文本到圖像擴(kuò)散模型。我們進(jìn)行了大量實驗證明,我們的方法在真實和合成圖像編輯方面優(yōu)于現(xiàn)有和同時進(jìn)行的工作。
圖1:我們提出了pix2pix-zero,這是一種基于擴(kuò)散的圖像到圖像轉(zhuǎn)換方法,允許用戶即時指定編輯方向(例如,貓 → 狗)。我們在真實圖像(上方2行)和合成圖像(底部行)上執(zhí)行各種翻譯任務(wù),同時保留輸入圖像的結(jié)構(gòu)。我們的方法既不需要為每個輸入圖像手動進(jìn)行文本提示,也不需要為每個任務(wù)進(jìn)行昂貴的微調(diào)。
1. Introduction
最近的文本到圖像擴(kuò)散模型,如DALL·E 2 [43]、Imagen [51]和Stable Diffusion [47],生成具有復(fù)雜對象和場景的多樣化、逼真的合成圖像,展示了強(qiáng)大的組合能力。
然而,將這些模型重新用于編輯真實圖像仍然具有挑戰(zhàn)性。
首先,圖像并不自然地附帶文本描述。指定一個文本描述是繁瑣且耗時的,因為一張圖片價值千言萬語,包含許多紋理細(xì)節(jié)、光照條件和形狀微妙之處,在詞匯表中可能沒有對應(yīng)的詞語。其次,即使有初始和目標(biāo)文本提示(例如,將貓改為狗),現(xiàn)有的文本到圖像模型往往會合成完全新的內(nèi)容,不符合輸入圖像的布局、形狀和物體姿態(tài)。畢竟,編輯文本提示只告訴我們想要改變什么,但并未傳達(dá)我們想要保留的內(nèi)容。最后,用戶可能希望對多樣的真實圖像執(zhí)行各種編輯。因此,我們不希望為每個圖像和編輯類型進(jìn)行大規(guī)模的微調(diào),因為這將帶來極高的成本。
為了克服上述問題,我們引入了pix2pix-zero,一種基于擴(kuò)散的圖像到圖像轉(zhuǎn)換方法,無需訓(xùn)練和文本提示。
用戶只需即時指定編輯方向,形式為源域 → 目標(biāo)域(例如,貓 → 狗),無需為輸入圖像手動創(chuàng)建文本提示。我們的模型可以直接使用預(yù)訓(xùn)練的文本到圖像擴(kuò)散模型,無需為每個編輯類型和圖像進(jìn)行額外的訓(xùn)練。
在這項工作中,我們做出了兩個關(guān)鍵貢獻(xiàn):(1) 高效的自動編輯方向發(fā)現(xiàn)機(jī)制,無需輸入文本提示。我們自動發(fā)現(xiàn)適用于廣泛輸入圖像的通用編輯方向。給定一個原始詞(例如,貓)和一個編輯后的詞(例如,狗),我們分別生成包含原始和編輯后詞的兩組句子。然后,我們計算兩組句子之間的CLIP嵌入方向。由于該編輯方向基于多個句子,比僅僅在原始和編輯后詞之間找到方向更加穩(wěn)健。這一步僅需約5秒即可預(yù)先計算。(2) 通過交叉注意力引導(dǎo)進(jìn)行內(nèi)容保留。我們觀察到交叉注意力圖對應(yīng)于生成物體的結(jié)構(gòu)。為了保留原始結(jié)構(gòu),我們鼓勵文本-圖像交叉注意力圖在轉(zhuǎn)換前后保持一致。因此,我們在整個擴(kuò)散過程中應(yīng)用交叉注意力引導(dǎo)來強(qiáng)制實現(xiàn)這種一致性。在圖1中,我們展示了使用我們的方法進(jìn)行各種編輯的結(jié)果,同時保留輸入圖像的結(jié)構(gòu)。
我們進(jìn)一步通過一系列技術(shù)來改進(jìn)結(jié)果并提高推斷速度:(1) 自相關(guān)正則化:在應(yīng)用DDIM [55]反轉(zhuǎn)時,我們觀察到DDIM反轉(zhuǎn)容易使中間預(yù)測的噪聲不太符合高斯分布,這降低了反轉(zhuǎn)圖像的可編輯性。因此,我們引入了自相關(guān)正則化,以確保在反轉(zhuǎn)過程中噪聲接近高斯分布。(2) 條件GAN蒸餾:由于多步推斷的昂貴擴(kuò)散過程,擴(kuò)散模型較慢。為了實現(xiàn)交互式編輯,我們將擴(kuò)散模型蒸餾為快速的條件GAN模型,給定來自擴(kuò)散模型的原始和編輯后圖像的配對數(shù)據(jù),從而實現(xiàn)實時推斷。
我們在各種圖像到圖像轉(zhuǎn)換任務(wù)上演示了我們的方法,例如改變前景對象(貓 → 狗)、修改物體(在貓圖像上添加眼鏡)以及改變輸入的風(fēng)格(草圖 → 油 pastel),用于真實圖像和合成圖像。
大量實驗證明,pix2pix-zero在逼真性和內(nèi)容保留方面優(yōu)于現(xiàn)有和同時進(jìn)行的作品[35, 22]。最后,我們對各個算法組件進(jìn)行了廣泛的剔除研究,并討論了我們方法的限制。更多結(jié)果和相關(guān)代碼請訪問我們的網(wǎng)站https://pix2pixzero.github.io/。
相關(guān)工作
使用GAN進(jìn)行深度圖像編輯。隨著生成建模的發(fā)展,圖像編輯技術(shù)使用戶可以以不同的方式表達(dá)他們的目標(biāo)(例如,滑塊、空間掩碼或自然語言描述)。其中一類工作是訓(xùn)練條件GAN,將輸入圖像從一個域轉(zhuǎn)換到目標(biāo)域[28, 52, 71, 14, 61, 26, 39, 34, 5],這通常需要特定任務(wù)的模型訓(xùn)練。另一類編輯方法是通過圖像反轉(zhuǎn)來操縱GAN的潛在空間,并發(fā)現(xiàn)編輯方向[70, 27, 45, 69, 63, 7]。
這些方法首先將目標(biāo)圖像投影到預(yù)訓(xùn)練GAN模型的潛在空間,然后通過沿著與解纏結(jié)屬性相對應(yīng)的方向操縱潛在代碼來編輯圖像。許多先前的工作提出了對GAN模型進(jìn)行微調(diào)以更好地匹配輸入圖像[8, 38, 46],探索不同的潛在空間[62, 1, 2],反轉(zhuǎn)到多個層[19, 40],以及利用潛在編輯方向[21, 54, 41, 3]。盡管這些方法在單一類別的策劃數(shù)據(jù)集上取得了成功,但在更復(fù)雜的圖像上很難獲得高質(zhì)量的反轉(zhuǎn)結(jié)果。
文本到圖像模型。最近,大規(guī)模的文本到圖像模型通過在互聯(lián)網(wǎng)規(guī)模的文本-圖像數(shù)據(jù)集上進(jìn)行訓(xùn)練,顯著提高了圖像的質(zhì)量和多樣性[51, 43, 44, 64, 17, 18]。然而,在文本輸入之外,它們對生成過程的控制能力有限。通過改變輸入句子中的單詞來編輯真實圖像是不可靠的,因為它往往會以意外的方式改變圖像的大部分內(nèi)容。有些方法[37, 4]使用額外的掩碼來約束編輯的應(yīng)用位置。與這些方法不同,我們的方法保留了輸入圖像的結(jié)構(gòu),無需使用任何空間掩碼。其他最近和同時進(jìn)行的作品(例如,Palette [50],InstructPix2Pix [10],PITI [60])學(xué)習(xí)了針對圖像到圖像轉(zhuǎn)換任務(wù)的條件擴(kuò)散模型。相比之下,我們使用預(yù)訓(xùn)練的Stable Diffusion模型,無需進(jìn)行額外的訓(xùn)練。
使用擴(kuò)散模型進(jìn)行圖像編輯。最近的一些工作采用了擴(kuò)散模型進(jìn)行圖像編輯。
SDEdit [35]通過在輸入圖像中添加噪聲和用戶編輯引導(dǎo)來進(jìn)行編輯,然后去噪以增加其真實感。隨后,它與文本到圖像模型(例如GLIDE [37]和Stable Diffusion模型[47])一起用于基于文本的圖像修復(fù)和編輯。其他方法[13, 56]提出了通過加入條件用戶輸入來修改擴(kuò)散過程,但僅適用于單一類別的模型。
兩個同時進(jìn)行的工作,Imagic [30]和prompt-toprompt [22],也嘗試使用預(yù)訓(xùn)練的文本到圖像擴(kuò)散模型進(jìn)行結(jié)構(gòu)保留的編輯。Imagic [30]展示了出色的編輯結(jié)果,但需要為每個圖像微調(diào)整個模型。prompt-to-prompt [22]不需要微調(diào),并使用原始圖像的交叉注意力圖(其值對應(yīng)于編輯文本)來保留結(jié)構(gòu),主要關(guān)注合成圖像的編輯。我們的方法在三個方面與它們不同。首先,我們的方法對輸入圖像不需要文本提示。其次,我們的方法更加穩(wěn)健,因為我們不直接使用原始文本的交叉注意力圖,這可能與編輯后的文本不兼容。我們的引導(dǎo)方法確保了編輯圖像的交叉注意力圖保持接近,但仍具有根據(jù)編輯文本進(jìn)行變化的靈活性。
第三,我們的方法專門針對真實圖像,同時對合成圖像也有效。我們展示了我們的方法在圖像質(zhì)量和內(nèi)容保留方面優(yōu)于SDEdit和prompt-to-prompt。
3. Method
略
圖3:pix2pix-zero方法的概述,通過一個貓→狗編輯示例進(jìn)行說明。首先,我們使用正則化的DDIM反轉(zhuǎn)獲得一個反轉(zhuǎn)的噪聲圖。這由文本嵌入c引導(dǎo),文本嵌入c是使用圖像字幕網(wǎng)絡(luò)BLIP [33]和CLIP文本嵌入模型自動計算得到的。接著,我們通過原始文本嵌入對圖像進(jìn)行去噪,得到交叉注意力圖,作為輸入圖像結(jié)構(gòu)的參考(頂部行)。然后,我們通過編輯后的文本嵌入c + ?cedit 進(jìn)行去噪,使用損失函數(shù)鼓勵交叉注意力圖與參考交叉注意力圖匹配(第2行)。這確保編輯后圖像的結(jié)構(gòu)與原始圖像相比沒有發(fā)生顯著變化。第3行展示了沒有交叉注意力引導(dǎo)的去噪結(jié)果,導(dǎo)致結(jié)構(gòu)上的大幅偏離。
文章來源:http://www.zghlxwxcb.cn/news/detail-635246.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-635246.html
到了這里,關(guān)于【深度學(xué)習(xí)】【風(fēng)格遷移】Zero-shot Image-to-Image Translation的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!