ECCV 2024 | 像ChatGPT一樣,聊聊天就能實現三維場景編輯

机器之心發表於2024-10-05
圖片

AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com


論文《Chat Edit 3D: Interactive 3D Scene Editing via Text Prompts》的作者包括來自北京航空航天大學博士生方雙康、北京航空航天大學副研究員王玉峰,谷歌AI技術主管Tsai Yi-Hsuan,曠視高階研究員楊弋,北京航空航天大學研究員丁文銳,曠視首席科學家周舒暢,加州大學默塞德分校和谷歌DeepMind研究科學家Yang Ming-Hsuan教授。

圖片

  • 專案地址:https://sk-fun.fun/CE3D/
  • 程式碼:https://github.com/Fangkang515/CE3D/tree/main
  • 論文:https://arxiv.org/abs/2407.06842
  • 機構:北航 & 谷歌 & 曠視

1. 一句話概括

本文設計了一種由大語言模型驅動的、可整合任意數量視覺模型的互動式三維場景編輯框架,其文字形式不再受限、編輯能力不再單一。ECCV 2024 | 像ChatGPT一樣,聊聊天就能實現三維場景編輯
(對話式 3D 場景編輯過程示例影片)
2. 引言

現有的文字驅動 3D 場景編輯方法通常侷限於固定的文字輸入形式和受限的編輯能力。使用者需要使用固定形式的文字指令或單一的 diffusion 多模態模型來實現所需的效果。比如 InstructNeRF2NeRF 只能使用 “指令式文字” 且編輯能力受限於 InstructPix2Pix 模型。然而,實際應用中,使用者的語言是及其豐富的,使用者的編輯需要也是多種多樣的,現有方法的設計正規化均無法滿足使用者的訴求。

為了突破這些限制,本文提出了一種全新的 3D 場景編輯新正規化 —CE3D。該方法將 3D 場景的編輯變成在 2D 空間上圖集的編輯,實現對現有方法的 “降維打擊”。降維後可利用大規模語言模型實現靈活且高效的任意模型的整合,大大豐富了文字對話能力和場景編輯能力。

3. 本文方法 CE3D

CE3D,即 Chat-Edit-3D。其核心思想是透過大規模語言模型解析使用者的任意文字輸入,並自主呼叫相應的視覺模型來完成 3D 場景的編輯。為了實現任意視覺模型的整合,本文先設計 Hash-Atlas 的對映網路,將對 3D 場景的編輯轉換為對 2D 空間內的圖集編輯操作,從而實現了 2D 多視角編輯與 3D 場景重建過程的完全解耦,因此,本文將無需固定的 3D 表示形式和 2D 編輯方法。使用者想用什麼視覺模型就可以用什麼視覺模型。

3.1 Hash-Atlas 網路

Hash-Atlas 網路將 3D 場景的不同檢視對映到 2D 圖集中,從而將 3D 場景編輯過程轉移到 2D 空間中執行。為了實現適配已有 2D 多模態編輯模型,對映後的圖集需要滿足以下條件:(1)防止圖集中出現過多的扭曲和傾斜,以維持視覺模型的理解能力;(2)前景和背景圖集應大致對齊,以確保精確編輯;(3)需要更快、更精確的對映,以便於高效編輯。為了滿足這些條件,本研究設計了一個基於雜湊結構的網路,如圖所示:

圖片

圖 1 Hash-Atlas 網路示意圖

假設場景中有 T 個檢視,點圖片在第 t 個檢視中被函式圖片對映到兩個不同的 UV 座標:

圖片

其中圖片表示在兩個 UV 空間中的座標。引數圖片在 0 到 1 之間,表示前景圖集中畫素值權重。然後使用圖片預測在 UV 座標中對應的前景和背景圖集的 RGB 值:

圖片

其中圖片採用雜湊結構來捕捉影像中的紋理細節,並實現更快的模型訓練和推理。在圖集中獲得畫素值圖片後,可以按如下方式重建場景檢視中點P的原始畫素:

圖片

當圖集被編輯後,可以透過上式還原帶有編輯效果的 3D 場景的每個檢視,而無需重新訓練雜湊圖集網路。為了確保得到的圖集更加自然以及避免物體過度傾斜和扭曲,在模型訓練的早期階段,僅使用來自第 0 個檢視的圖片,此時預訓練位置損失定義如下:

圖片

此損失函式鼓勵座標對映後場景在第 0 個檢視中的位置變化最小。此外,圖片的預訓練涉及初步透過 VQA 模型確定場景的前景及其對應的掩碼,透過分割模型獲得假設前景掩碼為圖片,則圖片的預訓練損失定義如下:

圖片

其中 CE 表示交叉熵損失,等式右側第二項則鼓勵圖片和前景圖集的稀疏性,這有助於前景和背景圖集內容的明確分離。完成預訓練後,可以透過監督圖集重建檢視來訓練整個模型。但直接進行訓練會導致背景圖集中明顯的區域遺漏,影響了後續的編輯任務。為了解決這個問題,本文引入了修補損失。具體而言,利用 ProPainter 模型對遮罩背景進行初步修補,生成一組新的修補檢視。假設原始檢視中的點 P 在修補檢視中對應於圖片,則重建損失可以表示如下:

圖片

其中 圖片表示從場景的原始檢視或修補檢視中獲得的真實值。此外在場景上引入剛性和流動約束:其中圖片的目的是保持不同點之間的相對空間位置不發生劇烈變化。與此同時圖片鼓勵將不同檢視的對應點對映到圖集上的同一位置。因此,總損失可以表示如下:

圖片

其中圖片僅在初始訓練階段使用。

完成 3D 場景對映到 2D 圖集後,可以在圖集上完成場景的編輯,然而直接編輯兩個圖集再將其對映回場景檢視,通常不會得到令人滿意的編輯結果,這主要是因為單個圖集包含的場景資訊不完整,尤其是在稀疏的前景圖集中。這一限制使得編輯模型無法獲得完整的場景語義,從而無法始終實現可靠的編輯。因此,本研究設計了一種合併 - 拆分策略來編輯圖集。在此過程中,首先利用 ChatGPT 的解析功能和 VQA 模型來識別編輯區域,如果這些區域涉及前景內容,則將前景圖集覆蓋在背景圖集上,作為實際的編輯圖集。隨後使用原始的前景掩碼和新的物件掩碼將編輯後的圖集分離開來。

3.2 基於大語言模型的對話方塊架: CE3D

圖片

圖 2 互動式編輯方法 CE3D 示意圖

如圖所示,CE3D 的基本流程如下:(1)根據使用者的文字查詢,ChatGPT 解釋文字並確定是否需要在此次對話中使用視覺工具;(2)當需要視覺工具時,ChatGPT 將從模型庫中呼叫所需的工具併為它們提供相應的引數;(3)後端進一步查詢要呼叫的圖集和其他檔案。如果圖集不存在,後端首先使用 Hash-Atlas 網路獲取它們;(4)執行器執行視覺工具以編輯圖集,並將新的狀態反饋給 ChatGPT 以便後續操作。編輯後的圖集透過 Hash-Atlas 網路對映回 3D 場景檢視,以進行後續的場景重建;(5)由於一次對話可能需要多次模型呼叫,ChatGPT 重複上述過程,直到確定不再需要視覺工具。然後前端將編輯結果和 ChatGPT 的輸出回覆給使用者。

作為一種語言模型,ChatGPT 無法直接訪問文字以外的資訊。然而,由於編輯過程中涉及的檔案眾多,不可能將所有檔案作為文字輸入 ChatGPT。因此,本研究中用格式為 “xxx.scn” 的字串來表示所涉及的檔案。這個字串是唯一且無意義的,以防止 ChatGPT 編造場景名稱。儘管這個場景名稱並不是一個真正可讀的檔案,但前端和後端的進一步處理使得 CE3D 能夠有效處理真實檔案。前端將編輯結果和 ChatGPT 的輸出整理成使用者回覆,而後端分發編輯過程中涉及的真實場景檔案,並管理新場景的名稱和檔案。

在面對使用者輸入時,ChatGPT 模擬一個思考過程:“我需要使用視覺工具嗎?”→“我需要哪些工具?”→“工具的具體輸入應該是什麼?”。因此,需要預先向 ChatGPT 注入每個視覺專家的相關資訊,以完成這個推理過程。本方法為每個視覺工具標註了四個類別:工具的名稱、在什麼情況下使用、所需引數和具體輸入示例。具體可閱讀開原始碼。

4. 程式碼使用展示

在多輪對話編輯案例中,CE3D 能夠處理各種型別的編輯請求,例如精準物件移除或替換、基於文字或影像的風格遷移、深度圖預測、基於文字和深度圖條件的場景再生、人體 Pose 預測、場景超分、場景分割等。此外,它還可以完成與場景相關的視覺問答任務和基本的文字對話。總之,因為能任意擴充套件視覺模型,因此編輯能力無上限!

功能太多,且能輕鬆擴充套件,程式碼已經開源。ECCV 2024 | 像ChatGPT一樣,聊聊天就能實現三維場景編輯
與其他方法的對比 (影片對比可參看 Project Website):

圖片

圖 3. 與其它方法對比,CE3D 能實現更豐富的編輯能力

圖片

圖 4. 與 InstructNeRF2NeRF 相比,CE3D 的多輪對話能力和編輯能力超強!

5. 總結和展望

CE3D 打破現有 3D 場景編輯方法的正規化,實現了多模態編輯模型和 3D 場景表示模型間的完全解耦,因此可以相容任意的 2D 和 3D 的視覺模型。進一步透過大語言模型的邏輯推理和語言理解能力,來實現對使用者文字查詢的解析和模型的自主呼叫管理,以實現對話式的 3D 場景編輯框架 CE3D。不過,雖然 CE3D 在 3D 場景編輯方面取得了顯著進展,但該技術在處理 360 度場景時會遇到一些挑戰,還有進一步研究的空間。

相關文章