0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Direct Inversion:三行代碼提升基于擴(kuò)散的圖像編輯效果

CVer ? 來(lái)源:CVer公眾號(hào) ? 2023-10-10 17:18 ? 次閱讀

導(dǎo)讀

本文介紹了由香港中文大學(xué)和粵港澳大灣區(qū)數(shù)字經(jīng)濟(jì)院聯(lián)合提出的基于 Diffusion 的 Inversion 方法 Direct Inversion,可以在現(xiàn)有編輯算法上即插即用,無(wú)痛提點(diǎn)。

現(xiàn)有主流編輯算法大多為雙分支結(jié)構(gòu),一個(gè)分支主要負(fù)責(zé)編輯,另一個(gè)分支則負(fù)責(zé)重要信息保留,Direct Inversion 可以完成(1)對(duì)兩分支解耦(2)使兩分支分別發(fā)揮最大效能,因此可以大幅提升現(xiàn)有算法的編輯效果。

同時(shí),為了更加公平公正的進(jìn)行基于 text 的編輯效果對(duì)比,這篇文章提出了 PIE-Bench,一個(gè)包含 700 張圖片和 10 個(gè)編輯類(lèi)別的“圖片-編輯指令-編輯區(qū)域”數(shù)據(jù)集,并提供一系列包含結(jié)構(gòu)保留性、背景保留性、編輯結(jié)果與編輯指令一致性、編輯時(shí)間四個(gè)方面的評(píng)測(cè)指標(biāo)。

數(shù)值結(jié)果和可視化結(jié)果共同展示了Direct Inversion的優(yōu)越性。

15664526-6744-11ee-939d-92fbcf53809c.png

主頁(yè):https://idea-research.github.io/DirectInversion/

代碼:https://arxiv.org/abs/2310.01506

論文:https://github.com/cure-lab/DirectInversion

這篇論文是如何發(fā)現(xiàn)過(guò)往方法問(wèn)題,并找到新解決方案的呢?

基于 Diffusion 的編輯在近兩年來(lái)一直是文生圖領(lǐng)域的研究重點(diǎn),也有無(wú)數(shù)文章從各個(gè)角度(比如效果較好的在Stable Diffusion的Attention Map上特征融合)對(duì)其進(jìn)行研究,作者在文章中進(jìn)行了一個(gè)比較全面的相關(guān)方法review,并把這些方法從“重要信息保留”和“編輯信息添加”兩個(gè)方面分別進(jìn)行了四分類(lèi),具體可以參見(jiàn)原文,此處不再贅述。

這里提到了一個(gè)編輯的重點(diǎn),也就是“重要信息保留”和“編輯信息添加”。事實(shí)上,這兩個(gè)要點(diǎn)正是編輯所需要完成的兩個(gè)任務(wù),比如把圖1的貓變成狗,那紅色的背景和貓的位置需要保留,這就是“重要信息保留”;同時(shí)編輯要完成“變成狗”的任務(wù),這就是“編輯信息添加”。

為了完成這兩個(gè)任務(wù),最為直覺(jué),也是使用最多的方式就是:使用兩個(gè)分支來(lái)完成這兩件事,一個(gè)用來(lái)保留信息,一個(gè)用來(lái)添加信息。之前的編輯算法大多可以劃分出這兩個(gè)分支,但可能隱含在模型中或者沒(méi)有顯式割離,也正是在這篇文章中,作者將兩個(gè)概念劃分清楚并給出了過(guò)往方法的分類(lèi)。

到現(xiàn)在為止,已經(jīng)弄清楚了編輯的兩個(gè)分支及其各自作用,但編輯不僅僅只需要這兩個(gè)分支,還需要重要的一步,也就是Inversion。

156eb3aa-6744-11ee-939d-92fbcf53809c.jpg

圖1 基于 Diffusion 的編輯算法總結(jié)

我們都知道,Diffusion是一個(gè)把噪聲映射到有用信息(比如圖片)的過(guò)程,但 Diffusion 到噪聲的過(guò)程是單向的,它并不可逆,不能直接像VAE一樣直接把有用信息再映射回到隱空間,即,可以根據(jù)一個(gè)噪聲得到圖片,但不能根據(jù)一張圖片得到“可以得到這張圖片的噪聲”,但這個(gè)噪聲又在編輯中非常重要,因?yàn)樗请p分支的起點(diǎn)。

所以大部分人就采用了一種近似的方法,即 DDIM Inversion,它能夠?qū)D片映射到噪聲,但從這個(gè)噪聲得到的新圖片就會(huì)稍微偏離原圖片一點(diǎn)(如圖DDIM Inversion上標(biāo)注的distance),其實(shí)如果不給模型文本控制條件,偏離還不太嚴(yán)重,但當(dāng)文本的控制加強(qiáng)時(shí),偏離就會(huì)逐漸不可接受。

因此,一系列的 Inversion 方法被提出用來(lái)修正這一偏差,比如著名的基于優(yōu)化的 Null-Text Inversion,而在無(wú)數(shù)方法進(jìn)行嘗試和探索之后,大家似乎得到了一個(gè) common sense:好的偏離修正必須要包含優(yōu)化過(guò)程。所以這篇文章就更加深入的探索了一下基于優(yōu)化的inversion(或者說(shuō)修正)到底在做什么。

這些方法在優(yōu)化什么??jī)?yōu)化真的必要嗎?

基于優(yōu)化的Inversion方法通常使用一個(gè)模型輸入變量(如Null Text)存儲(chǔ)剛剛提到的偏差,而這一偏差則作為優(yōu)化過(guò)程中的loss,通過(guò)梯度下降來(lái)擬合變量。因此優(yōu)化的過(guò)程本質(zhì)上就是把一個(gè)高精度的偏差存儲(chǔ)在了一個(gè)低精度的變量中(該變量的數(shù)值精度相對(duì) noise latent 更不敏感)。

但這種做法是存在問(wèn)題的:(1)優(yōu)化相當(dāng)于在推導(dǎo)過(guò)程中訓(xùn)練,非常消耗時(shí)間,比如Null-Text Inversion通常需要兩三分鐘編輯一張圖片;(2)優(yōu)化存在誤差,因此不能完全消除“偏差”,如圖2 Null-Text Inversion/StyleDiffusion中畫(huà)出的,保留分支與原始inversion分支之間的偏差只是被縮小并沒(méi)有被消除,這就使得重要信息的保護(hù)沒(méi)有發(fā)揮到最大限度;(3)優(yōu)化得到的變量其實(shí)在Diffusion模型訓(xùn)練過(guò)程中并未出現(xiàn)過(guò),因此相當(dāng)于進(jìn)行了強(qiáng)制賦值,會(huì)影響模型輸入和模型參數(shù)之間數(shù)據(jù)分布的協(xié)調(diào)。

回到上文提到的雙分支編輯,之前的方法訓(xùn)練好優(yōu)化的變量之后,就會(huì)將其同時(shí)送入到編輯分支和保留分支(其實(shí)不僅僅是基于優(yōu)化的方法,非基于優(yōu)化的方法也沒(méi)有將兩分支解耦),根據(jù)上面的分析,其實(shí)可以發(fā)現(xiàn)一個(gè)很簡(jiǎn)單的改進(jìn)策略:將可編輯分支和保留分支解耦,使兩個(gè)分支充分發(fā)揮各自效能。

157971aa-6744-11ee-939d-92fbcf53809c.jpg

圖2 各類(lèi) Inversion 方法對(duì)比

Direct Inversion

這篇文章通過(guò)解耦編輯分支和保留分支,僅用三行代碼就能夠大幅提升現(xiàn)有編輯算法效果(如圖3中偽代碼),具體做法非常簡(jiǎn)單,即:將保留分支加回到原始DDIM Inversion路徑,而保持編輯分支不被影響。

15812a1c-6744-11ee-939d-92fbcf53809c.jpg

圖3 偽代碼

PIE-Bench

盡管基于 Diffusion 的編輯在近幾年引起了廣泛關(guān)注,但各類(lèi)編輯方法的評(píng)估主要依賴于主觀且不確定性的可視化。因此這篇文章為了系統(tǒng)驗(yàn)證所提出的Direct Inversion,并對(duì)比過(guò)往Inversion方法,以及彌補(bǔ)編輯領(lǐng)域的性能標(biāo)準(zhǔn)缺失,構(gòu)建了一個(gè)基準(zhǔn)數(shù)據(jù)集,名為PIE-Bench(Prompt-based Image Editing Benchmark)。

PIE-Bench包括700張圖像,涵蓋了10種不同的編輯類(lèi)型。這些圖像均勻分布在自然和人工場(chǎng)景(例如繪畫(huà)作品)中,分為四個(gè)類(lèi)別:動(dòng)物、人物、室內(nèi)和室外。PIE-Bench中的每張圖像都包括五個(gè)注釋?zhuān)涸磮D像提示語(yǔ)句、目標(biāo)圖像提示語(yǔ)句、編輯指令、主要編輯部分和編輯掩碼。值得注意的是,編輯掩碼注釋?zhuān)词褂靡粋€(gè)mask指示預(yù)期的編輯區(qū)域)在準(zhǔn)確的指標(biāo)計(jì)算中至關(guān)重要,因?yàn)槠谕庉媰H發(fā)生在指定的區(qū)域內(nèi)。

158f3080-6744-11ee-939d-92fbcf53809c.jpg

圖4 PIE-Bench

實(shí)驗(yàn)效果

數(shù)值結(jié)果

在各個(gè)編輯算法上對(duì)比不同Inversion和Direct Inversion 算法效果

159b49ce-6744-11ee-939d-92fbcf53809c.jpg

Direct Inversion 在多種編輯方法上對(duì)比其他 inversion 方法的效果。編輯方法:Prompt-to-Prompt (P2P), MasaCtrl, Pix2Pix-Zero (P2P-Zero), Plug-and-Play (PnP), Inversion方法:DDIM Inversion (DDIM), Null-Text Inversion (NT), Negative-Prompt Inversion (NP), StyleDiffusion (SD)

各類(lèi) Inversion 算法運(yùn)行時(shí)間對(duì)比

15acca1e-6744-11ee-939d-92fbcf53809c.jpg

運(yùn)行時(shí)間對(duì)比

可視化對(duì)比

15bcf0f6-6744-11ee-939d-92fbcf53809c.jpg

圖5 Direct Inversion 與四種基于 Diffusion 的編輯方法結(jié)合后在各種編輯類(lèi)別(從上到下依次為:風(fēng)格轉(zhuǎn)移、物體替換和顏色變更)上的性能提升,每組結(jié)果第一列為未加 Direct Inversion,第二列為添加 Direct Inversion

15c0c5f0-6744-11ee-939d-92fbcf53809c.jpg

圖6 不同 inversion 和編輯技術(shù)的可視化結(jié)果

更多可視化和消融實(shí)驗(yàn)結(jié)果可以參考原論文。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4620

    瀏覽量

    93045
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4801

    瀏覽量

    68733
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1208

    瀏覽量

    24737

原文標(biāo)題:簡(jiǎn)單有效!Direct Inversion:三行代碼提升基于擴(kuò)散的圖像編輯效果

文章出處:【微信號(hào):CVer,微信公眾號(hào):CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    急求教:能顯示三行字符的液晶有哪些

    能顯示三行字符(可以不是漢字)的液晶有哪些????
    發(fā)表于 05-31 10:02

    請(qǐng)問(wèn)前三行是什么意思?

    create_page_table @ 設(shè)置頁(yè)表 bl mmu_init @ 啟動(dòng)MMU ldr sp, =0xB4000000 @ 重設(shè)棧指針,指向SDRAM頂端(使用虛擬地址) ldr pc, =0xB0004000 @ 跳到SDRAM中繼續(xù)執(zhí)行第二部分代碼halt_loop: b halt_loop請(qǐng)問(wèn)其中
    發(fā)表于 06-13 22:56

    請(qǐng)問(wèn)這三行代碼是固定這樣寫(xiě)的嗎?

    u8 IPRADDR=NVIC_Channel/4;//每組只能存4個(gè),得到組地址 u8 IPROFFSET=NVIC_Channel%4;//在組內(nèi)的偏移 IPROFFSET=IPROFFSET*8+4; //得到偏移的確切位置這三行代碼是固定這樣寫(xiě)的嗎???????
    發(fā)表于 10-24 21:34

    三行搞定獨(dú)立按鍵

    最近自己在做單片機(jī)的東西,準(zhǔn)備參加比賽,偶然發(fā)現(xiàn)了獨(dú)立按鍵的神助攻——三行搞定獨(dú)立按鍵,看到網(wǎng)上很多描述的不清晰,自己又花時(shí)間整理了一下,話不多說(shuō)先上代碼:void Key_Read(void
    發(fā)表于 12-07 11:05

    STM32之三行按鍵宏定義

    STM32之三行按鍵按鍵宏定義unsigned char ucTrg= 0;unsigned char ucCont = 0;unsigned char uckey_times = 0
    發(fā)表于 03-02 06:52

    什么是三行按鍵?有什么用

    三行按鍵從出生到現(xiàn)在已經(jīng)很多個(gè)年頭了,經(jīng)過(guò)幾代優(yōu)化,現(xiàn)在有兩個(gè)版本,今天分析一下,也在本論壇擴(kuò)充一下資源。我在本論壇搜索三行按鍵,并沒(méi)有相關(guān)的帖子。首先說(shuō)明一下什么是三行按鍵,有什么用,什么好處,以及...
    發(fā)表于 03-02 06:16

    EditGAN圖像編輯框架將影響未來(lái)幾代GAN的發(fā)展

      此外, EditGAN 框架可能會(huì)影響未來(lái)幾代 GAN 的發(fā)展。雖然當(dāng)前版本的 EditGAN 側(cè)重于圖像編輯,但類(lèi)似的方法也可能用于編輯 3D 形狀和對(duì)象,這在為游戲、電影或 metaverse 創(chuàng)建虛擬 3D 內(nèi)容時(shí)非常有用。
    的頭像 發(fā)表于 04-06 16:29 ?1678次閱讀
    EditGAN<b class='flag-5'>圖像編輯</b>框架將影響未來(lái)幾代GAN的發(fā)展

    谷歌新作Dreamix:視頻擴(kuò)散模型是通用視頻編輯器,效果驚艷!

    可以看到,視頻編輯圖像編輯更加具有挑戰(zhàn)性,它需要合成新的動(dòng)作,而不僅僅是修改視覺(jué)外觀。此外還需要保持時(shí)間上的一致性。因此,將 SDEdit、Prompt-to-Prompt 等圖像級(jí)別的編輯
    的頭像 發(fā)表于 02-09 11:21 ?1560次閱讀

    AI圖像編輯技術(shù)DragGAN開(kāi)源,拖動(dòng)鼠標(biāo)即可改變?nèi)宋镄θ?/a>

    DragGAN是一個(gè)直觀的圖像編輯工具PM系統(tǒng)(www.multiable.com.cn),用戶只需要控制圖像中的像素點(diǎn)和方向,就可以快速調(diào)整照片主體的位置、姿態(tài)、表情、大小和角度等。
    的頭像 發(fā)表于 06-29 10:34 ?930次閱讀

    生成式 AI 研究通過(guò)引導(dǎo)式圖像結(jié)構(gòu)控制為創(chuàng)作者賦能

    新的研究正在通過(guò)一個(gè)文本引導(dǎo)的圖像編輯工具來(lái)提升生成式 AI 的創(chuàng)造性潛能。這項(xiàng)創(chuàng)新性的研究提出了一個(gè)使用即插即用擴(kuò)散特征(PnP DFs)的框架,可引導(dǎo)實(shí)現(xiàn)逼真而精確的圖像生成。通過(guò)
    的頭像 發(fā)表于 07-24 19:30 ?568次閱讀

    伯克利AI實(shí)驗(yàn)室開(kāi)源圖像編輯模型InstructPix2Pix,簡(jiǎn)化生成圖像編輯并提供一致結(jié)果

    之前的 AI 圖像編輯能力通常是進(jìn)行風(fēng)格轉(zhuǎn)換,流行的文本到圖像生成模型(如 DALL-E 和 Stable Diffusion)也支持圖像圖像風(fēng)格轉(zhuǎn)換操作。然而,使用這些模型進(jìn)行有針
    的頭像 發(fā)表于 08-28 15:45 ?864次閱讀
    伯克利AI實(shí)驗(yàn)室開(kāi)源<b class='flag-5'>圖像編輯</b>模型InstructPix2Pix,簡(jiǎn)化生成<b class='flag-5'>圖像編輯</b>并提供一致結(jié)果

    來(lái)看看他們用代碼寫(xiě)的“三行詩(shī)”

    往期精選 原文標(biāo)題:來(lái)看看他們用代碼寫(xiě)的“三行詩(shī)” 文章出處:【微信公眾號(hào):宏景智駕】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
    的頭像 發(fā)表于 10-25 15:55 ?415次閱讀
    來(lái)看看他們用<b class='flag-5'>代碼</b>寫(xiě)的“<b class='flag-5'>三行</b>詩(shī)”

    Sweetviz: 讓你三行代碼實(shí)現(xiàn)探索性數(shù)據(jù)分析

    Sweetviz是一個(gè)開(kāi)源Python庫(kù),它只需三行代碼就可以生成漂亮的高精度可視化效果來(lái)啟動(dòng)EDA(探索性數(shù)據(jù)分析)。輸出一個(gè)HTML。 它不僅能根據(jù)性別、年齡等不同欄目縱向分析數(shù)據(jù),還能對(duì)每個(gè)
    的頭像 發(fā)表于 10-31 10:28 ?948次閱讀
    Sweetviz: 讓你<b class='flag-5'>三行</b><b class='flag-5'>代碼</b>實(shí)現(xiàn)探索性數(shù)據(jù)分析

    放下你的PhotoShop!無(wú)限圖像編輯已開(kāi)源!

    我們知道擴(kuò)散模型生成圖像是通過(guò)反轉(zhuǎn)采樣來(lái)進(jìn)行的,重點(diǎn)是識(shí)別噪聲。LEDITS++從DDPM反演中提取特征,并提出一種有效的反演方法,大大減少所需的步驟,同時(shí)降低重建誤差。當(dāng)將反向擴(kuò)散過(guò)程公式化為SDE時(shí)
    的頭像 發(fā)表于 12-10 10:09 ?918次閱讀
    放下你的PhotoShop!無(wú)限<b class='flag-5'>圖像編輯</b>已開(kāi)源!

    字節(jié)發(fā)布SeedEdit圖像編輯模型

    近日,字節(jié)跳動(dòng)公司在其豆包大模型團(tuán)隊(duì)的官方網(wǎng)站上,正式公布了其最新的通用圖像編輯模型——SeedEdit。這款創(chuàng)新性的圖像編輯模型,為用戶提供了前所未有的便捷圖像編輯體驗(yàn)。 據(jù)官方介紹
    的頭像 發(fā)表于 11-12 10:43 ?276次閱讀