ECCV`24 | 比DragDiffusion快100倍!RegionDrag:快·準·好的圖像編輯方法!港大&牛津
文章鏈接:https://arxiv.org/pdf/2407.18247
git鏈接:https://github.com/LuJingyi-John/RegionDrag
?
亮點直擊
- 引入了一種基于區(qū)域的圖像編輯方法,以克服基于點拖拽方法的局限性,利用更豐富的輸入上下文來更好地對齊編輯結果與用戶的意圖。
- 通過采用無梯度的復制粘貼操作,基于區(qū)域的圖像編輯比現(xiàn)有方法快得多(見上圖1),在一次迭代中完成拖拽。
- 擴展了兩個基于點拖拽的數(shù)據(jù)集,添加了基于區(qū)域拖拽的指令,以驗證RegionDrag的有效性并為基于區(qū)域的編輯方法提供基準。
基于點拖拽的圖像編輯方法,如DragDiffusion,已引起了廣泛關注。然而,由于點編輯指令的稀疏性,基于點拖拽的方法存在計算開銷大和用戶意圖誤解的問題。本文提出了一種基于區(qū)域的復制粘貼拖拽方法,RegionDrag,以克服這些局限性。RegionDrag 允許用戶以操作區(qū)和目標區(qū)的形式表達其編輯指令,從而實現(xiàn)更精確的控制并減少模糊性。此外,基于區(qū)域的操作可以在一次迭代中完成編輯,速度比基于點拖拽的方法快得多。還引入了注意力交換技術,以增強編輯過程的穩(wěn)定性。為了驗證本文的方法,擴展了現(xiàn)有的基于點拖拽的數(shù)據(jù)集,添加了基于區(qū)域拖拽的指令。實驗結果表明,RegionDrag在速度、準確性和與用戶意圖的對齊方面均優(yōu)于現(xiàn)有的基于點拖拽的方法。值得注意的是,RegionDrag在分辨率為512×512的圖像上完成編輯的時間少于2秒,這比DragDiffusion快了100倍以上,同時性能更優(yōu)。
編輯效果
RegionDrag
RegionDrag 允許用戶輸入操作區(qū)和目標區(qū)對,然后通過以下兩個主要步驟進行編輯:
- 復制操作區(qū)覆蓋的潛在表示,并在反轉過程中存儲自注意力特征;
- 將復制的潛在表示粘貼到目標位置,并在去噪過程中插入存儲的自注意力特征。
本節(jié)討論基于點拖拽方法的局限性,并介紹基于區(qū)域的輸入如何解決這些局限性。最后,展示了處理基于區(qū)域輸入的編輯流程。
從基于點的拖拽到基于區(qū)域的拖拽
盡管基于點拖拽的方法提供了一種直觀的用戶輸入方式,但從稀疏點中獲得的有限信息在編輯過程中對模型構成了挑戰(zhàn)。具體來說,點指令會導致兩個主要問題:輸入模糊性和推理速度慢。
首先,點指令本質(zhì)上是模糊的。一種拖拽操作可能對應多種可能的編輯效果。例如,用戶試圖在圖像中延長鳥的喙,如下圖2所示。用戶選擇鳥喙上的一個點并向左上角拖拽。然而,基于點拖拽的方法可能會誤解用戶的目標,認為是要放大喙或者將整只鳥移動到左側,而不是延長喙,從而導致用戶意圖與模型輸出之間的不對齊。
其次,基于點拖拽的編輯涉及的復雜性需要相當大的計算開銷?;邳c拖拽的編輯具有挑戰(zhàn)性,因為模型必須從單個或少數(shù)點的運動中推斷出整個圖像的變化。為了在保持對象身份的同時執(zhí)行這種復雜的拖拽操作,基于點拖拽的方法嚴重依賴于兩個計算密集的步驟:為每個圖像訓練一個獨特的LoRA和將拖拽過程分解為一系列子步驟。特別是,LoRA幫助模型保持原始圖像的身份,逐步拖拽則增加了實現(xiàn)預期編輯效果的機會。否則,編輯結果可能會受到顯著的身份扭曲或無效編輯的影響,如上圖2所示。問題的根源在于稀疏點對編輯施加的約束不足,因此模型必須依賴LoRA來防止扭曲,并通過迭代編輯在拖拽路徑上提供一定程度的額外監(jiān)督。因此,大多數(shù)基于點拖拽的方法需要幾分鐘才能編輯一張圖像,使其在現(xiàn)實世界應用中不切實際。
解決這些問題的最簡單方法是鼓勵用戶提供足夠數(shù)量的點。然而,這種方法會導致用戶在指定和拖拽點時花費過多時間。因此,作者設計了一種不僅對用戶友好且能為模型提供更多信息上下文的編輯形式,從而避免指令模糊、推理速度慢和用戶過度勞累。提出使用基于區(qū)域的操作來代替依賴拖拽點的方法,其中用戶指定一個操作區(qū)(H)以指示他們希望拖拽的區(qū)域,并指定一個目標區(qū)(T)以展示他們希望實現(xiàn)的位置。然后,通過區(qū)域到點映射算法建立這兩個區(qū)域之間的密集映射,并通過一次反轉和去噪循環(huán)直接將操作區(qū)覆蓋的潛在表示復制到目標區(qū)域來完成編輯。
盡管這種操作簡單,但它從兩個方面解決了模糊性和開銷問題:
- 基于區(qū)域的操作比拖拽點更具表現(xiàn)力和準確性,從而顯著減少了模糊性。如圖2所示,通過簡單地畫一個更長的喙來表示延長鳥的喙,從而減少了基于點拖拽輸入的模糊性。
- 每個區(qū)域在密集映射后對應大量的點,因此它比稀疏點對編輯結果提供了更強的約束。結果是,不需要沿拖拽路徑插值中間點或渴望額外的監(jiān)督,編輯可以在一個步驟中完成。此外,操作區(qū)和目標區(qū)可以大小不一且形狀任意,允許用戶方便地定義它們。
編輯流程
首先介紹基于區(qū)域的用戶輸入,然后介紹區(qū)域到點映射算法,最后介紹主要的工作流程。
?
用戶輸入:操作區(qū)和目標區(qū)可以通過兩種方式定義:
- 輸入頂點以形成多邊形(例如三角形或四邊形)
- 使用畫筆工具刷出一個靈活的區(qū)域。
輸入形式的選擇主要取決于用戶的偏好。頂點適用于編輯定義明確的形狀,如移動建筑物上的窗口;畫筆工具則更適合處理不規(guī)則的形狀,如彎曲的道路或人類的頭發(fā)。
?
區(qū)域到點映射:為了在復制和粘貼潛在表示時保留原始空間信息,需要在操作區(qū)和目標區(qū)之間建立密集的映射。如果區(qū)域限制為三角形或四邊形,可以使用仿射或透視映射計算轉換矩陣。然而,為任意形狀的刷出區(qū)域找到類似的轉換是具有挑戰(zhàn)性的。為了解決這個問題,提出了一種算法來數(shù)值地找到兩個區(qū)域之間的映射。
實驗結果
評估指標
LPIPS:按照【24】的方法,使用 Learned Perceptual Image Patch Similarity (LPIPS) v0.1來測量編輯后圖像與原始圖像之間的身份相似性。LPIPS 計算圖像對之間的 AlexNet特征距離。高 LPIPS 分數(shù)表明由于編輯而發(fā)生了意外的身份變化或偽影。較低的 LPIPS 分數(shù)表明在編輯過程中對象的身份得到了很好的保留;然而,這并不一定意味著編輯效果更好,因為兩個完全相同的圖像會產(chǎn)生 LPIPS 分數(shù)為0。
實現(xiàn)細節(jié)
本文的方法使用 Python 實現(xiàn),依賴于 HuggingFace和 PyTorch庫。采用 Stable Diffusion v1-5 作為擴散模型,圖像尺寸為 512 × 512,保持與之前基于擴散的拖拽方法一致。使用 DDPM 采樣器進行反轉和去噪采樣過程,配置為總共使用 20 個步驟。潛在表示反轉到時間步 t′ = 500(總共 1000 個步驟中的 SD1-5)。因此,進行 10 次反轉步驟和 10 次去噪步驟。互相自注意力控制在所有時間步中都啟用,并且潛在的復制粘貼操作在 t'' = 200 處終止。噪聲權重a設置為 1。所有實驗結果均在 NVIDIA Tesla V100 GPU 上獲得。
基準對比
將 RegionDrag 與基于點拖拽的擴散方法進行比較,包括 DragDiffusion、SDE-Drag和 DiffEditor。由于 GAN 基于的方法在編輯 DragBench-S 和 DragBench-D 數(shù)據(jù)集中的多樣圖像時存在局限性,且需要領域特定的 StyleGAN 檢查點,因此排除了 GAN 基于的方法?;跀U散的方法在編輯任務中優(yōu)于 GAN 基于的方法,更適合評估。執(zhí)行時間在兩個數(shù)據(jù)集上取平均,并且所有方法均在同一設備上使用公開發(fā)布的代碼進行測試。
定量評估
為了定量評估方法的編輯性能,使用 LPIPS 和平均距離作為指標,并將兩者均乘以 100 以便于說明。如下表1所示,RegionDrag 在 DragBench-S(R) 和 DragBench-D(R) 數(shù)據(jù)集上顯著優(yōu)于那些計算開銷大的基于點的方法。這些結果突顯了 RegionDrag 在保持圖像一致性同時,在不同數(shù)據(jù)集上實現(xiàn)競爭性編輯結果的卓越性能。除了效果外,RegionDrag 在效率方面也表現(xiàn)出色。RegionDrag 實現(xiàn)了快速推理速度,編輯一個 512 × 512 的圖像大約需要 1.5 秒,比第二快的方法快 20 倍,比 DragDiffusion快 100 倍。鑒于復制粘貼操作引入的計算開銷可忽略不計,RegionDrag 的推理時間與使用 SD1-5 生成一張 20 步的圖像相當。
定性結果
下圖6 比較了基于點拖拽和基于區(qū)域的編輯輸入及其對應的結果,展示了 RegionDrag 的有效性?;趨^(qū)域的方法利用了注釋區(qū)域提供的全面上下文來實現(xiàn)期望的修改,同時保持圖像的整體一致性,優(yōu)于基于點拖拽的編輯方法。
消融研究
作者認為點輸入的稀疏性導致了較差的編輯結果。為了定量證明這一點,在 DragBench-DR 數(shù)據(jù)集上進行了測試,通過隨機選擇每個樣本中等效轉換點的子集,并使用這些子集進行推理。逐漸減少所選點的百分比,以觀察對 MD 指標的影響。如下圖7所示,隨著所用點的百分比減少,MD 的結果明顯呈上升趨勢。這表明,與基于區(qū)域的輸入相比,稀疏點輸入對輸出的約束較弱,導致編輯結果不令人滿意。這證實了在 RegionDrag 中采用基于區(qū)域的輸入的好處。
在去噪過程中,在時間間隔內(nèi)進行圖像潛在表示的復制和粘貼。為了驗證這一設計,將其與僅在初始去噪時間步進行復制粘貼的方法進行了比較。下圖8顯示,僅在初始步驟進行編輯可能會導致不可預測的結果,因為后續(xù)的去噪階段可能會丟失這些編輯。多步復制粘貼通過在較小的時間步提供額外的指導,同時保持圖像的保真度,從而解決了這一問題。
結論
本文引入了一個高效且有效的基于區(qū)域的編輯框架——RegionDrag,用于高保真圖像編輯。與現(xiàn)有的基于點拖拽的編輯方法不同,RegionDrag 從區(qū)域的角度重新審視了編輯問題。RegionDrag 通過復制和粘貼圖像的潛在表示和自注意力特征,實現(xiàn)了單步編輯,這不僅提供了卓越的效率,還達到了優(yōu)越的編輯性能。此外,基于現(xiàn)有數(shù)據(jù)集引入了兩個新的基準測試,DragBench-SR 和 DragBench-DR,用于評估基于區(qū)域的編輯。實驗結果一致證明了本文方法在效率和編輯性能上的卓越表現(xiàn)。
本文轉自 AI生成未來 ,作者:Jingyi Lu等
