這項由亞琛工業大學(RWTH Aachen University)與埃因霍溫理工大學(Eindhoven University of Technology)聯合開展的研究,以預印本形式於2026年5月29日發布在arXiv平台,論文編號為arXiv:2605.31577。感興趣的讀者可以通過這個編號在arXiv上找到完整論文。
**一、從一張照片重建整個世界,難在哪裡**
手機拍一張照片,AI自動生成對應的三維場景——這件事聽起來像魔法,但如今已有多個模型能做到。近年來,一類叫做"點圖預測"(point map prediction)的技術快速崛起,讓這個方向取得了顯著進展。
所謂點圖,可以把它理解為一張特殊的地圖。普通照片的每個像素記錄的是顏色,而點圖的每個像素記錄的是那個位置對應的三維坐標,也就是說,圖中每一個點到底在空間的哪個位置上。把整張圖的點圖拼在一起,就能得到一個粗略的三維場景。
這類技術最早由DUSt3R提出用於雙視角三維重建,隨後MoGe將其引入單張圖片的幾何估計領域,後來VGGT又把它推廣到多視角場景。可以說,這個領域在短短幾年內經歷了一次爆發式發展。然而,不論這些模型在整體上表現多麼出色,它們有一個共同的"頑疾":局部表面總是不太對勁。
具體來說,當你用這些模型處理一張包含路燈、椅子腿、水龍頭等細長結構的照片時,生成出來的三維點雲往往會顯得彎曲、顫抖,甚至像是在空中隨機抖動。整體大概輪廓還算像那麼回事,但細節一看就很假。
亞琛工業大學的研究團隊發現,這個問題其實並不是AI在識別邊緣時出了差錯,而是一個純粹的三維形狀問題。換句話說,當你把預測結果以深度圖形式來看時,可能還挺合理;但一旦把相鄰的三維點放在一起看,會發現它們根本無法構成一個連貫、平整的表面。這就好像你拼了一塊拼圖,每一塊單獨看都不錯,但拼在一起之後接縫全是歪的,整個畫面凹凸不平。
這正是SurGe這篇論文想要解決的核心問題。
**二、老方法為什麼發現不了這個問題**
在解釋SurGe做了什麼之前,有必要先弄清楚一件事:既然這個問題這麼明顯,為什麼之前的評估方法沒能及時發現它?
答案藏在評估指標的設計方式里。目前主流的點圖評估標準,是先對預測結果做一個全局對齊——相當於先縮放、平移整個預測,讓它儘量貼近真實值——然後計算每個像素預測點和真實點之間的平均距離誤差,這個指標叫做AbsRel(絕對相對誤差)。
這個指標的問題在於,它關注的是每個點的絕對位置是否準確,而不是相鄰點之間是否構成了一個合理的平面。舉個例子:假設一個完美平整的桌面,真實情況下所有點都在同一高度,而模型預測的點在高度上微微起伏,就像波浪一樣。這種起伏使得桌面在三維空間中看起來像揉皺的紙,但如果每個點的平均誤差很小,AbsRel仍然會給出一個不錯的分數——因為每個點單獨來看並沒有偏差太多,只是彼此之間的相對關係不對。
MoGe還提出了一個局部版本的AbsRel,把圖像按物體實例分區域單獨評估,精度確實提升了,但它同樣停留在逐點誤差的框架內,沒有真正衡量相鄰點是否共同構成了一個有意義的表面。
研究團隊通過一個直觀的實驗說明了這個問題:他們對同一個真實點圖分別施加兩種擾動,一種是低頻的、平緩的變形,另一種是高頻的、密集的微小顫抖。兩種擾動之後,AbsRel全局誤差和局部誤差幾乎沒有變化,分數差不多一樣好。但如果你親眼看那兩個點圖的法線圖,就會發現高頻擾動的版本已經面目全非,表面到處是雜亂的方向,根本不像任何真實物體的表面。
這就說明,舊指標在高頻表面噪聲面前基本上是"睜眼瞎"。要真正衡量局部表面質量,需要一種全新的指標。
**三、一把測量"表面方向"的新尺子**
研究團隊提出的新指標叫做MAEnormal,中文可以叫做"點圖法線平均角度誤差"。
法線這個概念在三維圖形學裡很基礎,但用日常語言來說,就是"表面朝向哪個方向"。一張平鋪在桌上的紙,它的法線朝正上方;一堵豎直的牆,它的法線朝正前方。法線方向代表了表面的姿態。
MAEnormal的計算方式是:對點圖中的每個像素,找它上下左右相鄰的幾個點,利用這些點之間的差值計算出當前位置的表面朝向(也就是法線方向),然後比較預測法線和真實法線之間的角度差,取平均值。角度差越小,說明預測的局部表面越準確。
這個指標的關鍵在於,它是從"相鄰點之間的關係"出發來評價質量,而不是單獨看每個點的位置。就像評價一條路平不平整,你不是去量每塊磚離地面的高度,而是看相鄰磚塊之間是否平順過渡。高頻擾動會讓相鄰點的方向大幅跳變,MAEnormal會立刻給出一個很差的分數;而低頻擾動下相鄰點之間的方向變化平緩,分數相對較好。這和人眼對表面質量的判斷更為一致。
回到前面那個對比實驗:低頻擾動後的MAEnormal是19.0度,而高頻擾動後的MAEnormal急劇攀升至85.1度——足足差了四倍多。而AbsRel在兩種情況下幾乎毫無區別。這說明MAEnormal確實能捕捉到舊指標遺漏的資訊。
**四、讓損失函數真正關心"鄰居之間的關係"**
發現了問題,接下來就要解決它。SurGe的第一個核心貢獻是設計了一個新的訓練損失函數——點梯度匹配損失(Lpgm,point gradient matching loss)。
訓練損失函數是深度學習模型學習的"標準"。模型每次預測完,系統會計算預測值和真實值之間的差距,這個差距叫損失,然後調整模型參數來減小損失。損失函數設計得好不好,直接決定了模型學到什麼。
現有模型的損失函數基本上都是逐點計算誤差——每個點預測得準不準,然後加總平均。這相當於評價一幅馬賽克畫時,只看每塊格子的顏色對不對,而不看相鄰格子的顏色是否能拼出連貫的圖案。
早期也有人嘗試用"深度梯度匹配"這個思路,即比較相鄰像素的深度比值而非絕對值,這樣可以做到對全局尺度不敏感——不管場景整體距離遠近,只要相鄰點的深度比例正確,損失就小。這個想法最早來自MegaDepth這項研究的對數深度梯度匹配損失。
但這個方法有個局限:深度只是一個標量數字,而點圖是一個三維向量。直接把這個方法搬到點圖上,只能作用在深度(z坐標)這一個維度,沒有辦法約束三維方向上的變化,也沒有辦法讓模型學會讓相鄰點在三維空間裡構成正確的表面朝向。
SurGe的做法是把這個思路推廣到三維點圖。他們計算相鄰像素點之間的三維位移,然後用這兩個點中較近那個點的深度來對這個位移進行歸一化。歸一化的目的和對數深度梯度匹配一樣:讓損失對全局尺度不敏感,只關心相鄰點之間的局部關係。預測的歸一化位移和真實的歸一化位移之間的歐式距離,就構成了Lpgm損失。
用一個生活比喻來說:傳統損失函數就像測量地圖上每個城市的絕對坐標是否準確,而Lpgm更像是檢查相鄰城市之間的路程和方向是否正確——即使地圖整體被放大或縮小了,只要城市之間的相對關係正確,損失就小。而且,Lpgm衡量的是真正的三維位移,相當於不僅檢查兩城市之間的距離,還檢查方向——是不是真的向北走了五公里,而不是向東走了五公里。
在實際訓練中,研究團隊還對Lpgm做了一個細節處理:跳過遮擋邊界附近的像素對。在兩個物體的邊界處,前景物體和背景物體在圖像上相鄰,但在三維空間裡距離可能天差地別,強行要求這兩個點的位移關係正確會引入無法消除的誤差。排除這些像素對後,訓練更加穩定,效果也有所提升。
最終的完整訓練目標包含全局點圖損失、三個不同尺度的局部點圖損失,以及加權係數為10的Lpgm。係數10是研究團隊通過實驗調試得到的,能在局部表面質量和全局幾何精度之間取得較好的平衡。
**五、解碼器:決定細節質量的"最後一公里"**
有了更好的損失函數,研究團隊發現模型表現確實有所提升,但問題並沒有完全解決。細長結構的彎曲和振盪依然存在,只是有所減弱。
這說明問題不只出在訓練目標上,解碼器的架構本身也有局限。
在現有的點圖預測模型中,通常的做法是:先用一個ViT(Vision Transformer,視覺變換器)主幹網路處理輸入圖像,得到一個低解析度的特徵網格;再用一個解碼器把這個低解析度特徵逐步"放大"到原始解析度,最終生成每個像素的三維坐標。這個過程有點像先把一張照片壓縮成縮略圖,提取關鍵資訊,然後再把縮略圖放大還原成原圖。
解碼器的主流設計分兩類:一類是基於卷積神經網路的多解析度解碼器,比如DPT頭或ConvStack;另一類是純Transformer的解碼器,比如π?所使用的方式。
卷積解碼器的問題在於,卷積核是固定的——它對每個位置的處理方式完全相同,不會因為局部內容的不同而做出調整。對於細長結構來說,前景物體和背景物體往往在同一個小鄰域內同時出現,固定的卷積核很難區分"這是前景的椅子腿"還是"這是後面的牆",結果往往把兩者混在一起處理,導致椅子腿的邊緣出現融合或扭曲。
把卷積解碼器做得更大會有幫助,但效果提升很快就趨於平緩,像是在用更多的力量做同一件本質上受限的事情。
純Transformer解碼器則走向了另一個極端。它的好處是注意力機制會根據內容動態決定關注哪些位置,不受固定卷積核的限制。但它的缺點是處理所有特徵都在同一個低解析度下進行,受ViT分塊(patch)大小的影響,預測結果往往會出現明顯的方塊狀偽影,就像早期數位相機低像素拍出來的圖片,能看出一塊一塊的馬賽克感。
研究團隊由此產生了一個核心想法:能不能把兩種方式的優點結合起來?保留卷積解碼器那種多解析度、逐步放大的結構,但把每個階段內部的特徵混合機制,從固定卷積換成基於注意力的方式?
答案就是他們提出的鄰域注意力解碼器(NAD,Neighborhood Attention Decoder)。
**六、鄰域注意力:一種"只看周圍鄰居"的注意力機制**
NAD的核心是鄰域注意力(Neighborhood Attention,NA)這種機制。普通的自注意力機制在處理某個位置時,會同時考慮圖像中所有其他位置的特徵——就像開一個全班會議,每個人的發言都要考慮進去,計算量隨著圖像尺寸的增加呈平方級增長。這在高解析度階段非常昂貴,幾乎不可行。
鄰域注意力的做法是:每個位置只和它附近的一小塊鄰域交換資訊,就像開一個小組討論而不是全班大會。這樣既保留了注意力機制"根據內容動態決定權重"的靈活性,又把計算量控制在了線性範圍內,適合在高解析度階段使用。
NAD的整體結構由五個階段組成。最開始接收ViT主幹網路輸出的低解析度特徵,然後每個階段的特徵都通過鄰域注意力塊進行特徵混合,之後用轉置卷積把解析度翻倍,直到恢復到原始圖像解析度。這種逐步放大的方式避免了純Transformer解碼器的方塊偽影問題。
在具體實現上,NAD的每個注意力塊和標準Transformer塊有一些不同之處。首先,研究團隊發現去掉通常位於注意力層和前饋網路層之前的層歸一化(LayerNorm)能提升精度——他們的解釋是,三維坐標的預測本質上是一個無界回歸任務,特徵的幅度資訊本身含有和場景幾何相關的線索,歸一化會抹掉這些資訊。但完全去掉歸一化會導致訓練不穩定,於是他們改用了QK歸一化,只在注意力計算的查詢(Q)和鍵(K)上做歸一化,既穩定了訓練,又不影響特徵幅度的保留。
其次,他們使用了一種叫做RoPE(旋轉位置編碼)的位置編碼方式,並把它的頻率參數和注意力窗口的尺寸匹配起來。這樣,每個注意力窗口內的位置編碼能在窗口範圍內提供有意義的相位變化,讓模型更容易學到局部的相對位置關係。
所有階段的特徵維度從高到低依次是1024、512、256、128、64,每個階段包含三個NAD塊,注意力窗口大小統一為9×9,注意力頭的維度為64。這種設計在高解析度階段使用較小的特徵維度,在低解析度階段保留更豐富的特徵,是一種常見的多解析度設計慣例。
**七、實驗結果:三項成績全面領先**
研究團隊用二十個合成和真實數據集的混合數據訓練SurGe,涵蓋室外、室內、駕駛場景、物體級別等多種場景。訓練分兩個階段:前80%的步驟使用固定面積的低解析度圖像,後20%逐步提升解析度並引入更多細節。整個訓練過程在16到32塊H100顯卡上運行,耗時約39小時。
評估則完全在訓練數據之外的八個標準基準數據集上進行,包括NYUv2、KITTI、ETH3D、iBims-1、GSO、Sintel、DDAD和DIODE,覆蓋室內場景、戶外場景、駕駛場景、合成物體等多種類型。
在局部點圖精度(AbsRelloc)方面,SurGe在所有評估的數據集上均取得了最低誤差。以ETH3D為例,SurGe的誤差為2.66%,而最接近的競爭對手MoGe的誤差為3.16%,MoGe-2為3.27%。在法線誤差(MAEnormal)方面同樣如此,SurGe在所有數據集上均排名第一,相比MoGe有約1度左右的穩定提升。
全局點圖精度(AbsRelglob)方面,SurGe在八個數據集中有四個排名第一,綜合平均排名為1.62,明顯優於MoGe的2.25和MoGe-2的3.25。這說明對局部表面質量的改進並沒有以犧牲全局幾何準確性為代價,兩者可以同時提升。
研究團隊還做了詳細的消融實驗,分別對解碼器架構和損失函數設計進行了獨立測試。
在解碼器對比中,他們對比了DPT頭、MoGe的ConvStack、參數量更大的ConvStack-L(和NAD參數規模相當)以及純ViT解碼器。結果顯示,ConvStack-L比原版ConvStack有所提升,但仍明顯不如NAD;純ViT解碼器在全局評估上還算有競爭力,但在局部評估和法線評估上是所有方案中最差的,方塊偽影是主要原因。NAD在AbsRelloc和MAEnormal兩項指標上均以最低誤差超過所有對比方案,在AbsRelglob上的綜合平均排名也是最好的。
在損失函數對比中,他們對比了無額外表面損失、點圖法線損失(Lnormal)、僅作用在z坐標的對數梯度匹配(Lgm)以及完整的三維點梯度匹配(Lpgm)。Lgm相比Lnormal對局部指標有幫助,但在全局指標上往往反而更差——這和它只作用在一個坐標維度有關,它的修正信號和全局點圖損失的三維空間不完全對齊。Lpgm則在局部和全局兩方面都優於Lgm和Lnormal,驗證了把梯度匹配推廣到完整三維空間的必要性。
**八、代價與權衡:速度和精度之間的取捨**
SurGe並非沒有代價。NAD相比卷積解碼器的計算開銷更高。研究團隊在H100顯卡上對512×512解析度的圖像進行了基準測試,結果顯示,單獨比較解碼器時,NAD比ConvStack-L慢了2.28倍,但在完整模型中(包含ViT主幹),由於主幹的計算量占了相當大一部分,實際減速幅度縮小到1.30倍至1.46倍之間,峰值顯存增加也相當有限。
對於追求極致速度的場景,這仍然是一個需要權衡的取捨。研究團隊也明確指出,提升鄰域注意力解碼的計算效率是未來重要的研究方向。
此外,在標註質量不同的數據上,研究團隊採用了分級的損失策略:合成數據使用完整的損失(包含Lpgm和細粒度局部損失),SfM重建數據去掉最精細的局部損失和Lpgm,LiDAR數據只保留全局和粗糙的局部損失。這是因為SfM和LiDAR的標註本身存在噪聲或稀疏性,在高頻細節上的監督信號不可靠,強行使用Lpgm反而會引入錯誤信號。
**九、這一切對你意味著什麼**
說到底,SurGe這篇研究解決的問題雖然專業,但它影響的應用場景卻非常具體和日常。當你用手機拍一張房間照片,然後想讓AI生成一個可以在虛擬現實里逛的三維模型時;當AR應用需要把虛擬物體精準放置在桌面或地板上時;當電商平台想讓消費者通過照片直接生成產品的三維展示時——所有這些場景都依賴於從圖片重建出高質量的三維幾何。而SurGe解決的,正是這類技術在細節層面最明顯的缺陷。
椅子腿不再彎曲,路燈不再顫抖,牆面不再凹凸,這些改進雖然聽起來微小,卻是從"看起來差不多"到"真正可用"的關鍵一步。
同時,SurGe提出的MAEnormal指標本身也是一個值得關注的貢獻。它填補了現有評估體系的一個空白,為整個領域提供了一把能真正衡量局部表面質量的新尺子。如果這個指標被更廣泛地採用,未來其他研究者也會被引導去關注和改善這一維度的性能,推動整個領域向更高質量的三維重建發展。
有興趣深入了解技術細節的讀者,可以通過arXiv:2605.31577查找完整論文,或訪問研究團隊的主頁https://vision.rwth-aachen.de/surge獲取更多資料和可視化結果。
---
Q&A
Q1:點圖(point map)和普通的深度圖有什麼區別?
A:深度圖記錄的是每個像素到相機的距離,是一個標量;而點圖記錄的是每個像素對應的完整三維坐標(x、y、z三個數值),包含了位置的方向資訊。點圖可以直接還原出三維場景,而深度圖還需要知道相機內參才能做到同樣的事情,資訊量更豐富但處理起來也更複雜。
Q2:鄰域注意力(Neighborhood Attention)和普通自注意力有什麼實際區別?
A:普通自注意力讓圖像中每個位置都和其他所有位置交換資訊,計算量隨解析度的平方增長,高解析度圖像上非常慢。鄰域注意力則限制每個位置只和它附近一個小窗口內的鄰居交換資訊,計算量線性增長,速度快很多,同時保留了注意力機制根據內容動態調整權重的能力,而不是像卷積那樣對所有位置用同一套固定權重。
Q3:SurGe訓練用的數據集都是公開的嗎?
A:是的,SurGe使用的二十個訓練數據集均為可公開獲取的學術數據集,涵蓋Argoverse2、ARKitScenes、BlendedMVS、Hypersim、TartanAir、Waymo等,覆蓋室內、室外、駕駛、合成場景等多種類型,數據總量從幾千幀到數百萬幀不等。






