你有沒有想過,跟AI聊幾句天,就能把一個3D場景里的沙發換成別的樣式,把恐龍骨架的頭骨單獨摳出來,甚至把整個背景變成梵谷畫風?
這事兒放在幾年前,幾乎是天方夜譚。3D場景編輯一直是個又苦又累的活,你得懂建模軟體,得會調參數,改一個細節可能要折騰半天。而這篇論文講的,就是研究者們怎麼讓一個大語言模型當"總指揮",指揮一堆視覺AI工具,幫你用大白話完成這些複雜操作。
先說說這事兒難在哪
如果你用過一些現有的3D場景編輯工具,可能會有一種很彆扭的感覺:輸入的文字必須嚴絲合縫地符合某種固定格式,多說一句少說一句,結果可能就完全不對。這背後的原因,其實和這些方法的技術架構有關。
目前主流的3D場景編輯技術,大體建立在兩種表示方法上。一種是**NeRF
**
NeRF:神經輻射場,一種用神經網路隱式表示三維場景的技術,輸入視角坐標就能渲染出對應畫面。
另一種是**高斯潑濺
**
高斯潑濺:用大量三維高斯橢球來表示場景的幾何和顏色,渲染速度比NeRF快得多的一種新技術。
這兩種表示方法都很強大,但編輯起來卻有個共同的麻煩:3D重建過程和2D圖像編輯模型之間綁得太死了。論文裡總結了三種典型做法。第一種叫疊代式,代表作是IN2N
和Gaussian-Editor,需要把2D模型的編輯資訊一遍遍塞回3D場景里重新訓練。第二種叫監督式,靠2D模型給3D重建過程當"老師"評分。第三種叫去噪式,比如DN2N
,得先給不同視角之間因為2D編輯產生的不一致效果建模去噪。
這三種做法聽起來都挺合理,但它們有個共同的代價:想換一個2D編輯模型,往往意味著整個流程要推倒重來。
這就好比你家裝修時,把水管、電線、承重牆全部焊死澆築在一起。想換個熱水器?對不起,得把牆砸開重新布線。如果不這樣設計會怎樣?如果水電是模組化、可拆卸的,換設備只需要拔插頭這麼簡單。論文的作者們意識到,3D編輯領域一直沒人做"模組化"這件事,這才是它沒法靈活整合各種視覺工具、也沒法用大語言模型來調度的根本原因。
於是他們幹了一件挺聰明的事:把3D編輯和2D編輯徹底拆開,中間用一張"地圖"來連接。這張地圖,就是論文的第一個核心貢獻,叫Hash-Atlas
。
Hash-Atlas:如何把立體的世界拍扁成一張畫
Hash-Atlas的思路說起來不難理解:把一個3D或4D場景的所有視角,都投影映射到兩張2D平面圖上,一張管前景,一張管背景。這兩張圖叫做"圖集"
圖集(Atlas):把三維場景的多個視角資訊匯總壓縮成的一張或幾張二維圖像,編輯這張圖就相當於編輯了整個三維場景。
編輯操作全部在這兩張2D圖上完成,改完之後再用同一套映射關係,把編輯結果"貼"回原來的每個視角畫面里。這個設計帶來的好處非常直接:只要是能處理普通2D圖片的模型,不管是摳圖、上色、風格遷移還是超解析度,理論上都能直接拿來用,不需要專門為3D場景做改造。
這有點像什麼?想像你是個地圖測繪員,要給一座山的所有側面都畫上裝飾圖案。傳統做法是你得爬到山的每一面,一處一處地畫,畫完還要保證各個面之間銜接自然。但如果你能把這座山展開成一張平面的"山皮",在這張平面圖上畫完圖案,再把這張皮重新包回山上,效率是不是高多了?如果不做這個展開映射,你就得為每個視角單獨設計編輯邏輯,編輯一次可能要重新訓練一次3D模型,慢且麻煩。
要實現這個"拍扁"操作,論文用了一個基於哈希結構的神經網路。具體來說,場景里某個點P(包含橫縱坐標和所在的視角編號)會被一個叫Fm的函數映射成兩組UV坐標,外加一個透明度參數α,這個α決定了這個像素點在前景圖里占多大權重。然後另一個函數Fh,會根據這兩組UV坐標預測出對應的RGB顏色值,分別對應前景圖集和背景圖集裡的像素。最終某個點的真實顏色,就是前景顏色乘以α加上背景顏色乘以(1-α)。
這裡面用到的哈希結構,其實借鑑了此前一種叫Instant-NGP
的多解析度哈希編碼技術,好處是訓練和推理速度都特別快。論文測下來,相比之前一種叫LNA
(Layered Neural Atlases)的類似技術,Hash-Atlas在PSNR
(衡量圖像重建質量的指標,數值越高越好)上提升了1.1到5.1分貝,訓練速度快了14到18倍,推理幀率提高了7到9倍。這不是一點點優化,這是把原本要跑十幾個小時的訓練,壓縮到不到一小時。
為了讓這張"拍扁的地圖"足夠精細可靠,論文設計了好幾種損失函數來約束訓練過程。前期訓練時,會先用一個位置損失,讓第一視角的坐標映射儘量保持原位,避免圖集裡出現過度扭曲。同時用一個VQA模型
(能看圖回答問題的視覺語言模型)和分割模型先判斷出場景里什麼是前景,再用這個資訊去訓練透明度α,讓前景和背景的內容能幹淨地分離開。
最容易被忽略、但其實很關鍵的一個問題是背景缺失。當前景物體被從視角里"摳"出去後,背景圖集裡對應位置往往是空的,會留下明顯的破洞。為了解決這個問題,研究者們藉助了一個叫ProPainter
的影片修復模型,先把這些被遮擋的背景區域預先補全,再用補全後的畫面去監督圖集的重建訓練,這樣修出來的背景圖集才不會缺胳膊少腿。
從靜態到動態:給移動的物體多上一道保險
如果場景里的東西是動的(比如影片裡走動的人、飄動的氣球),事情就變得更棘手了。論文的前身工作只處理靜態3D場景,這次的升級版專門針對4D動態場景加了一道新的約束,叫Pivot Motion Loss(樞軸運動損失)。
問題出在哪呢?如果直接把處理靜態場景的方法搬來處理動態物體,圖集裡的物體會因為運動產生嚴重的扭曲和資訊丟失。研究者們的解決辦法是:先從所有視角里挑出物體可見面積最大的那一幀,作為"樞軸視角",用它來初始化物體在圖集裡的位置。然後在這個樞軸視角里均勻採樣若干個關鍵點,用一個叫CoTracker3的點追蹤模型,去跟蹤這些點在樞軸視角前後幀里的位置變化。最後設計一個損失函數,強制要求同一個關鍵點在不同幀里追蹤到的位置,都映射到圖集上的同一個坐標。
這就像給一群不斷跑動的舞者拍集體照。如果你只拍一張照片就想還原出每個人完整的樣貌,可能有的人轉身、有的人被擋住,資訊殘缺不全。但如果你先找一個所有舞者都露臉最全的瞬間當參照,再持續追蹤每個人的關鍵部位(比如頭頂、手肘)在前後幾秒里怎麼移動,就能拼出一幅動態又完整的畫像。實驗數據顯示,加了這道運動損失約束後,PSNR從28.22提升到28.61,雖然聽起來提升不算誇張,但對應到畫面效果上,是明顯減少了追蹤不一致導致的圖集撕裂和錯位。
圖集編輯不能各掃門前雪:合併再拆分的策略
拿到了前景和背景兩張乾淨的圖集後,是不是直接分別編輯就完事了?論文裡給出了一個很樸素但重要的觀察:不行。
原因在於單獨一張圖集包含的場景資訊是不完整的,尤其是前景圖集,往往很稀疏,只有物體本身的像素,周圍一片空白。這種殘缺的資訊會讓視覺模型看不懂場景的整體語義,導致編輯結果驢唇不對馬嘴。於是論文設計了一套"合併再拆分"的策略:先靠大語言模型和VQA模型判斷這次編輯到底涉及前景還是背景。如果只改背景,就直接在背景圖集上操作;如果涉及前景物體,就把前景圖集疊加到背景圖集上,形成一張資訊完整的合成圖,在這張合成圖上編輯,編輯完之後再用原本的前景蒙版和新生成的物體蒙版,把改完的圖重新拆分成前景和背景兩張。
這個過程被稱作"Executor"(執行器)。消融實驗顯示,如果去掉這個合併拆分的機制,直接對兩張圖集分別編輯,確實會因為資訊不全導致錯誤的編輯結果,比如論文裡提到的"把電視換成紅花油畫"的例子,沒有Executor的版本要麼編輯失敗,要麼效果完全跑偏。
讓大語言模型學會"看菜下飯":CE3D++對話系統
有了圖集這套底層機制,剩下的問題是怎麼讓用戶用大白話指揮這一切。這就是論文的第二個核心貢獻,CE3D++對話系統。
整個系統的運轉邏輯是這樣的:用戶輸入一句話,大語言模型先琢磨"這句話需不需要調用視覺工具",如果需要,就繼續想"該調哪個工具"以及"這個工具需要什麼輸入參數"。這個過程被設計成一套固定的推理格式,思考、行動、行動輸入、觀察結果,循環往復,直到判斷不再需要工具,最後把結果組織成自然語言回復給用戶。
這套系統面臨一個很現實的問題:場景文件、圖集文件、編輯結果文件全都是非文本的數據,大語言模型沒法直接"看"到這些文件內容。研究者們的解法是給每個文件起一個形如"xxx.scn"的唯一編號字符串,這個編號本身沒有實際含義,純粹是給大語言模型當索引用。這樣設計的關鍵作用是防止模型"編造"不存在的文件名,同時前端和後端會負責把這些編號和真實文件對應起來。消融實驗裡,去掉這套文件名管理機制後,模型要麼給不出編輯結果,要麼給出的文件名對不上真實文件,導致整個流程崩掉。
工具描述這塊也有講究。論文給每個視覺工具都標註了四類資訊:工具叫什麼名字、什麼情況下該用它、需要哪些輸入參數、以及一個具體的調用示例。這套設計思路,其實和此前的Visual-ChatGPT、MM-REACT等工作是一脈相承的,都是把大語言模型當成一個"調度中樞",讓它去指揮一堆專業工具幹活,而不是讓語言模型自己去理解圖像像素。
輕量級模型的補課:軌跡微調數據集
這裡出現了一個很現實的矛盾。像ChatGPT這類大模型,處理這套複雜的工具調度任務表現相當不錯。但如果換成參數量小、運行成本低的模型,比如8B參數的LLaMA或者14B參數的Qwen,問題就來了:隨著可調用的視覺工具從20多種擴展到30多種,需要預先塞給模型的領域知識暴增,工具描述越來越複雜,模型調用工具的準確率反而開始下滑。而且在多步驟的編輯任務里,只要中間某一步判斷錯了,後面的步驟就會跟著全部出錯,一步錯步步錯。
論文的解決方案是構建一個專門針對編輯任務的軌跡微調數據集,只有1000條對話樣本,規模不算大,但設計得很精準,聚焦在工具屬性、調度決策背後的推理邏輯、以及具體的決策過程上。用這批數據對Qwen-14B和LLaMA-8B做全參數微調後,效果提升相當明顯。
具體數字是這樣的:原始的Qwen-14B在100條複雜用戶指令上的調用成功率大概是69%,微調後提升到了89%,整整高了20個百分點。這20個百分點意味著什麼?意味著原本每處理10個複雜任務,就有3個會因為工具調用錯誤而失敗,微調之後這個失敗數降到了1個左右。論文還專門做了對照實驗,試過用"少樣本提示"(給模型看幾個示例再讓它做任務)這種更簡單的辦法,結果發現提升非常有限,只到76%左右。原因也不難理解:這套系統本身的提示詞已經包含了海量的工具描述和系統指令,多輪對話又會不斷拉長上下文,再塞進一堆少樣本示例,反而容易讓小模型注意力分散,顧此失彼。相比之下,軌跡微調是把這套調度策略直接刻進模型參數裡,不依賴臨時抱佛腳式的上下文提示,更適合低成本、本地化部署的場景。
論文還做了更細粒度的分析,按工具類型(理解類、生成類、增強類、條件編輯類)、輸入輸出結構(圖生文、文生圖、圖生圖等)、推理複雜度(簡單、中等、困難)分別統計了失敗率。結果很一致:越是複雜、需要拆解用戶意圖、串聯多個工具、還要復用中間結果的困難任務,微調帶來的改善越明顯。困難任務的失敗率從21%降到了10%,簡單任務原本失敗率就低,微調後乾脆降到了0%。
這就好比培訓一個新手廚師。你給他看幾張菜譜圖片(少樣本提示),他可能記住怎麼切馬鈴薯絲,但遇到一道需要先醃肉、再爆炒、最後勾芡的複雜菜,步驟一多他就手忙腳亂。但如果你讓他實際跟著師傅完整地做過上千道菜(軌跡微調),這套"先做什麼、再做什麼"的肌肉記憶會刻在他的操作習慣里,遇到新菜也能觸類旁通。如果不做軌跡微調,直接依賴模型的通用能力去應付幾十種工具的調度,複雜任務的失敗率會居高不下,這套系統在低成本場景下就沒法用。
值得一提的是,微調後的模型面對訓練數據里沒見過的全新工具,依然保持了不錯的調度準確率,說明這套數據集教給模型的不是死記硬背某幾個工具的用法,而是一種可遷移的調度思路。
實際編輯效果和對比
論文裡展示了不少實際的對話編輯案例。比如有一個12輪對話的例子:用戶先問場景背景是什麼,AI回答是一棟建築;用戶讓它把建築去掉,AI照做並生成新場景文件;用戶又反悔說想換成小木屋而不是直接去掉,AI也順利完成替換;接下來用戶想給雕塑做藝術化處理但不想動雕塑本身,只改背景成梵谷風格,AI依然準確執行;再往後甚至涉及深度圖預測、參考圖片風格遷移、根據深度圖重新生成場景等一連串操作。整個過程里,AI對文件名的管理、對用戶意圖的理解、對多輪上下文的記憶,都表現得相當連貫。
在量化對比上,論文拿CE3D++和幾種2025年前後發表的先進方法做了比較,包括3D編輯領域的EditSplat、RoMaP、DN2N,以及4D編輯領域的CTRL-D、Instruct-4DGS、Dynamic-eDiTor。對比指標包括CLIP相似度(衡量編輯結果和文本描述的匹配程度)、CLIP方向得分(衡量圖像變化方向和文本變化方向的一致性)、編輯耗時、顯存占用峰值。
結果顯示,CE3D++在CLIP相似度上全面領先,比如在CE3D自建數據集上達到0.352,而對比方法裡表現最好的RoMaP只有0.240。編輯速度上優勢更明顯:CE3D++處理一個場景平均只需要5.6到8.8分鐘,而RoMaP需要21.5到24.9分鐘,DN2N甚至要26.5到36.3分鐘,快了三到六倍。之所以能這麼快,很大程度上得益於圖集這套機制不需要反覆疊代訓練3D或4D表示,編輯操作直接在2D圖片上完成,效率自然高出一大截。
論文還專門對比了CE3D++和早期方法IN2N在文本查詢多樣性上的表現。同樣是要做邊緣檢測這個操作,只是換了三種不同的說法("檢測這個場景的邊緣"、"幫我檢測一下邊緣"、"我想知道邊緣長什麼樣"),IN2N給出的結果差異很大,說明它對文本表達的魯棒性不足。而CE3D++因為背後有大語言模型做語義理解,三種說法都能得到基本一致的編輯效果。
局限性和留白
論文也坦誠地列出了幾個還沒解決的問題。整套系統高度依賴大語言模型對文本查詢解析的準確性,也依賴外部視覺工具本身的表現上限,如果某個視覺工具本身效果不好,AI調度得再准也沒用。
另外,圖集這套機制目前更適合正面朝向、以物體為中心的場景。如果是360度環繞拍攝的場景,圖集會出現嚴重的扭曲變形,而現有的2D視覺模型的訓練數據里幾乎沒見過這種扭曲圖集,容易導致編輯結果不合理。論文裡給了個實例:想把一輛卡車改成紅色轎車,360度場景下的圖集扭曲導致這個編輯徹底失敗,反而是改背景為水墨畫風格這種低精度要求的操作能成功。
在動態場景里,如果物體發生劇烈的非剛性形變或者嚴重遮擋,CoTracker3這類追蹤模型也可能跟丟目標,導致圖集裡出現明顯的偽影瑕疵。
寫在後面
讀完這篇論文,最觸動我的一點是,它其實解決的不是"能不能編輯3D場景"這個問題,2014年到2024年之間已經有大把方法能做到這一點。它解決的是"編輯3D場景這件事能不能變得像換個APP插件一樣輕鬆"這個更底層的工程矛盾。
論文裡那句"3D和2D編輯過程解耦"看著樸素,但細想一下,這背後其實是對整個領域長期存在的一個假設的挑戰:大家默認3D重建和2D編輯必須緊密耦合才能保證質量,所以才會有那麼多論文在研究怎麼設計更精巧的耦合方式。而CE3D++的思路是反過來的,先想辦法把耦合關係打斷,再看打斷之後能不能靠一個中間層(圖集)把兩邊重新縫合起來。這種"先拆後合"的工程哲學,其實在很多領域都出現過,作業系統的分層架構、微服務的解耦設計,本質上都是同一種思路的變體。
論文裡提到的軌跡微調數據集只用了1000條樣本就讓小模型的調度準確率提升了20個百分點,這個數字讓我挺意外。通常我們對"數據驅動"的直覺是數據量越大越好,但這裡恰恰說明,如果數據的針對性足夠強,專門瞄準調度決策這個薄弱環節去設計,小數據集也能撬動很大的效果改善。這提醒我,堆數據不是唯一的路徑,找准問題的關鍵切口可能比數據規模更重要。
360度場景下的失敗案例也留下了一個挺值得追問的問題:圖集表示法目前是為正面視角設計的,那如果未來想讓這套系統真正通用化,處理環繞拍攝的場景,是應該改進圖集的映射方式,還是應該專門訓練一批適應扭曲圖集的2D視覺模型?這兩條路徑的工程代價完全不同,也許是這個方向下一步該琢磨的事。
Q&A
Q1:Hash-Atlas是什麼,它解決了什麼問題?
A:Hash-Atlas是一種把3D或4D場景多個視角映射成2D前景背景圖集的神經網路方法,它讓3D場景編輯可以直接在2D平面圖上完成,從而擺脫了2D編輯模型和3D重建過程必須緊密耦合的限制,兼容性和編輯效率都大幅提升。
Q2:CE3D++和以前的3D編輯方法比如IN2N相比有什麼優勢?
A:CE3D++依靠大語言模型解析用戶的自由文本輸入,對不同表達方式的魯棒性更強,同時因為採用圖集解耦架構,能兼容30多種視覺工具,編輯速度比IN2N等方法快數倍,還支持多輪連續對話式編輯。
Q3:軌跡微調數據集對小模型的效果提升有多大?
A:論文用1000條樣本對Qwen-14B進行軌跡微調後,工具調用成功率從69%提升到89%,尤其在需要多步驟推理的困難任務上,失敗率從21%降到了10%,效果非常明顯。






