這項由同濟大學電腦科學與技術學院主導的研究成果以arXiv預印本形式於2026年6月22日公開發布,論文編號為arXiv:2606.22749,題為《RaysUp: Ultra-light Universal Feature Upsampling via Geometry-Aware Ray Representation》,感興趣的讀者可通過該編號查閱完整論文。
**一個不得不先講的故事:AI的眼睛為什麼"看不清"**
假設你拿到一張僅有16×16像素的極度模糊照片,試圖從中辨認出照片裡停著哪種鳥。你或許能猜出大致輪廓,卻很難判斷是麻雀還是燕子,更別提數清羽毛的紋理了。現代最強大的AI視覺模型,比如谷歌、Meta和OpenAI背後廣泛使用的那些"基礎視覺模型"(可以把它們理解為AI界的"萬能眼睛"),面臨的正是這種困境。
這些模型在訓練時,會把輸入的圖片切割成一塊塊小方格(專業上叫"patch"),就像把一幅畫剪成郵票大小的碎片,然後對每塊碎片進行理解和編碼。處理完之後,輸出的"特徵圖"——也就是模型對圖像的理解結果——解析度往往極低,可能只有原圖的1/14甚至1/32。這就好比把一幅高清油畫理解成了一張16格的馬賽克拼圖:大意能懂,細節全無。
然而,許多真實世界的視覺任務偏偏需要精確到每一個像素:要給照片中每個物體準確標出邊界(語義分割),要估算照片中每個點距離鏡頭多遠(深度估計),要分析每個表面的朝向(法線估計)……這些任務就像外科手術,需要精準的"手術刀",而不是模糊的"大致判斷"。
這就產生了一個核心矛盾:AI模型理解圖像的"眼睛"雖然聰明,卻是"近視眼"——它理解圖像語義的能力很強,但輸出的空間解析度太低,滿足不了精細任務的需求。
同濟大學的研究團隊針對這個矛盾,提出了一種名為**RaysUp**的方案。這個方案的思路可以用一句話來概括:**不改變AI模型的眼睛本身,而是給它配一副精良的"放大鏡",把低解析度的"馬賽克理解"無損地還原成高清細節圖**。更關鍵的是,這副放大鏡既輕薄又快速,僅用了現有最先進同類方案16%的參數量,推理速度卻快了約7倍。
**一、 現有的"放大方案"都有哪些問題**
在RaysUp之前,研究界已經嘗試過多種給低解析度特徵"升清"的辦法,但每種方案都有明顯的短板,就像廚師手邊只有幾種有缺陷的刀具。
最簡單的方案是雙線性插值——本質上就是"湊近看模糊的馬賽克然後用周圍格子的顏色平均填補空白"。這種方法極快,但完全沒有智能,生成的高解析度特徵模糊、邊界渙散,就像把一張低像素圖片直接放大後失真的效果。
更聰明一些的方案是"有學習能力的上採樣",代表方法有FeatUp、LoftUp、JAFAR等。這些方案通過神經網路學習如何把低解析度特徵恢復成高解析度,效果確實比插值好不少。但它們有一個共同的缺陷:**每種AI基礎模型都需要重新訓練一次**。換句話說,你為DINOv2(Meta的視覺模型)訓練好的放大鏡,換成CLIP(OpenAI的視覺模型)就不好用了,得從頭再來。對於一個每隔一段時間就會出新版本、新架構的領域,這種方案顯然不夠靈活。
最接近RaysUp定位的競爭者是AnyUp,它實現了"不管哪種基礎模型都能用同一個放大鏡"的目標,也支持任意解析度輸出。但代價是架構很"重"——參數量達到0.87M,在448×448解析度下推理速度只有5幀/秒,在896×896解析度下只有1幀/秒,遇到2K解析度直接內存溢出,根本跑不起來。
RaysUp的目標,是同時解決以上所有問題:既不依賴特定模型、支持任意解析度,還要輕量、快速,同時在精度上不輸給甚至超過這些前輩。
**二、 從"平面照片"到"3D射線":RaysUp的核心靈感**
RaysUp最有意思的地方,是它換了一個看問題的角度——**把圖像上採樣從一個"二維平面問題"變成了一個"三維幾何問題"**。
傳統的特徵上採樣方法,本質上都是在二維的圖片坐標系裡工作:哪個像素點靠近哪個像素點,就用周圍點的資訊來填充。但這裡有一個根本性的誤差:**在二維圖片上相鄰的兩個點,在真實三維空間中可能相距甚遠**。
舉個直觀的例子:一張室內照片裡,窗框的邊緣左側是白牆,右側是窗外的藍天。在圖片坐標系中,這兩個像素點挨得非常近,但它們在現實三維空間中分別代表了一個在室內幾十厘米處的牆壁,和一個在室外幾百米外的天空——兩者完全沒有物理上的關聯。如果用二維坐標系做上採樣,就會錯誤地用藍天的資訊去"填補"白牆的細節,導致邊界模糊和不自然的混合。
RaysUp的做法是:把每個像素點從"圖片上的一個點"重新定義為"從相機出發、穿過這個像素的一條三維光線"。這個概念叫做"射線(ray)",是電腦圖形學和NeRF(神經輻射場,一種用AI重建三維場景的技術)里的核心概念。
把上採樣問題翻譯成射線語言:AI基礎模型給出的低解析度特徵,相當於對場景做了"粗粒度射線採樣"(每隔很遠才發出一條射線來探測場景);我們想要的高解析度特徵,相當於"細粒度射線採樣"(更密集地發出射線,探測到更多細節)。上採樣的任務,就變成了**把稀疏的射線探測結果,合理地"插值"到密集射線網格上**——而這個插值過程,應當遵循三維幾何的規律,而不僅僅是二維平面的距離關係。
這個思路的精妙之處在於:從相機打出的射線,天然地攜帶著三維空間的幾何資訊。兩條方向相近的射線,在真實世界中對應的往往是同一物體表面上的相鄰點;而方向差異大的射線(比如一條指向近處的桌子,一條指向遠處的窗戶),即使在二維圖片上挨得很近,在三維空間中也相距甚遠,不應該互相"借用"資訊。
RaysUp的全部設計,都圍繞著這個"射線"框架展開,共由三個核心模組構成。
**三、 第一塊拼圖:用"四路偵察兵"替代"單一視角"**
要讓放大鏡工作,首先需要一個"引導者"——一種能告訴放大鏡"原圖裡的細節到底長什麼樣"的高解析度資訊源。在RaysUp里,這個引導者是原始輸入的RGB彩色圖像,而處理這張圖像的模組叫做**空間解耦引導編碼器(Spatially Decoupled Guidance Encoder)**。
研究團隊在分析前人方案時發現了一個有趣的現象:在JAFAR這類方法裡,使用標準3×3卷積核(可以把卷積核理解為一個小小的"感知窗口",用來捕捉局部圖案)來提取圖像引導特徵時,這個窗口對不同位置的"敏感程度"並不均勻。具體來說,窗口四個角落的感知權重(0.97-0.99)明顯高於中心位置(0.78)。這種"重視邊緣、忽視中心"的傾向,導致提取出的特徵在中心區域缺乏足夠的通道混合,最終讓上採樣後的特徵圖出現"破洞"——也就是某些區域資訊丟失、出現不連續的斑塊。
RaysUp的解決方案是把這個單一的"感知窗口"拆分成四條專職"偵察路線"並行工作。第一條路線負責感知正中心(使用1×1的小窗口),確保中心區域的資訊得到充分處理;第二條路線專門沿水平方向掃描(使用1×3的橫條窗口);第三條路線專門沿垂直方向掃描(使用3×1的豎條窗口);第四條路線負責感知對角方向(使用帶間隔的2×2窗口)。四條偵察路線各司其職,最後把收集到的資訊合併在一起。
這樣做的結果是:中心位置的權重被提升到1.00(滿分),水平、垂直和對角方向的感知權重維持在0.89-0.99的高水平,整體特徵提取變得均勻而完整,再也不會出現"破洞"問題。更令人滿意的是,這種"四路並行"的設計還大幅降低了參數量——標準3×3卷積需要27×Dg個參數(Dg是特徵維度),而四路解耦編碼器只需要約8.25×Dg個參數,節省了約69.4%的參數開銷。"四路偵察兵"不僅幹得更好,還比單兵作戰便宜得多。
**四、 第二塊拼圖:可以"變焦"的注意力機制**
引導編碼器提取出高解析度的圖像引導特徵之後,下一步是用這些特徵來"指導"低解析度的AI特徵進行放大。RaysUp採用了一種叫做**任意解析度交叉注意力(Any-Resolution Cross-Attention)**的機制來完成這個任務。
"注意力機制"是現代AI里一個非常核心的概念,可以用一個類比來理解:假設你要復原一張模糊的老照片,你手邊有一張拍攝同一場景的清晰新照片作為參考。你的工作是:對於模糊照片裡的每一個區域,在清晰照片裡找到最相似、最相關的區域,然後用清晰照片裡的細節來填補模糊之處。"注意力機制"做的事情與此完全一致——它讓輸出特徵圖上的每個位置,去"詢問"輸入特徵圖里哪些位置與自己最相關,然後加權收集資訊。
"交叉注意力"的意思,是"詢問者"(查詢,Query)和"被詢問者"(鍵值,Key-Value)來自不同的來源:高解析度輸出位置作為Query,低解析度AI特徵作為Key和Value。這樣就能實現:高解析度輸出的每個像素點,都去低解析度特徵圖里找到對應的語義資訊,從而"學到"應該在這個位置呈現什麼樣的特徵。
"任意解析度"的實現方式則相當巧妙:不管輸出解析度是多少(224×224、448×448,還是896×896),都只需要對引導特徵圖做一次自適應平均池化(類似於"適當縮放")就能生成對應的Query和Key,不需要重新訓練任何東西。這就像一個變焦鏡頭,無論你要拍多大的照片,鏡頭本身的光學原理是不變的,只需要調整焦距就行。
**五、 第三塊拼圖:給每條射線一個獨特的"幾何身份證"**
前面兩個模組解決了"如何引導"和"如何交互"的問題,但還有一個深層次的問題沒有解決:如何讓注意力機制真正理解三維幾何關係,而不僅僅是二維坐標關係?
這就是**射線位置編碼(RayPE, Ray Positional Encoding)**要解決的問題。
在AI里,"位置編碼"是一種給序列或空間中的每個位置打上獨特標記的技術,目的是讓模型知道"這個資訊來自哪裡"。傳統的位置編碼(比如RoPE)使用的是二維圖片坐標(第幾行、第幾列),本質上是把圖片理解成一個平鋪的二維格子,不攜帶任何三維資訊。
RayPE的做法是:把每個像素點的"身份"從"圖片裡的第i行第j列"替換為"從相機出發經過這個像素的一條三維射線"。這條射線由兩部分描述:射線的起點(也就是相機在三維空間中的位置)和射線的方向(也就是從相機指向這個像素所對應的三維空間方向)。把這兩個三維向量拼在一起,就得到了一個6維的"射線描述符",專業上叫做6D Plücker坐標。
每個像素因此得到了一張獨特的"三維幾何身份證",不僅記錄了它在圖片裡的位置,還記錄了它在三維空間中對應的觀察方向。兩個像素的"身份證"越相似,說明它們在三維空間中的觀察方向越接近,對應的往往是同一物體表面;反之,即使兩個像素在圖片裡緊挨著,如果它們的射線方向差異大(比如前景的物體邊緣),它們的"身份證"也會截然不同,注意力機制就不會錯誤地讓它們互相借用資訊。
具體的編碼過程採用了一種叫做"多頻諧波相位編碼"的技術:用一組從低頻到高頻排列的數學函數(類似於傅里葉分析中的不同頻率分量)來處理射線描述符,從而在多個空間尺度上捕捉幾何變化。編碼結果再通過旋轉調製(這是RoPE位置編碼的精髓:用旋轉矩陣把位置資訊"烙印"進特徵向量的相位中,而不是簡單地相加)作用於引導特徵,就完成了從二維坐標到三維射線的質變。
這個設計的妙處在於:它完全不增加參數量,只是改變了位置資訊的表示方式,卻讓模型在做特徵上採樣時自動遵循三維幾何規律。消融實驗(即逐一關掉某個模組來測試其貢獻的實驗)證明,去掉RayPE後平均性能下降了約1.12個百分點,而換成傳統的RoPE只能恢復其中一部分性能,用其他射線編碼方案(SinRays)效果也不如RayPE,說明RayPE的三維幾何先驗是真正有效的。
**六、 第四塊拼圖:局部鄰域裡的"幾何感知聚合"**
有了引導特徵、任意解析度的交叉注意力框架,以及三維射線位置編碼,最後一步是真正執行特徵聚合——把低解析度AI特徵"搬運"到高解析度的目標位置上。
RaysUp採用了**幾何感知鄰域交叉注意力(Geometry-Aware Neighborhood Cross-Attention)**來完成這一步。
全局注意力的計算量與解析度的平方成正比:如果要把1024×1024的Query與32×32的Key做全局注意力,計算量是(1024×1024)×(32×32)=約10億次乘加運算,代價極高。鄰域注意力的做法是:對於每個高解析度Query位置,不去詢問所有Key位置,而只詢問其在低解析度Key圖中對應位置附近的k×k個鄰域(RaysUp中k=6,即36個鄰居)。這樣計算量從O(HanyWany × HlrWlr)降低到了O(HanyWany × k?),大幅提升了效率。
為了讓高解析度Query和低解析度Key的鄰域正確對齊,RaysUp引入了膨脹因子:當輸出解析度是輸入解析度的s倍時,鄰域採樣步長也設為s倍,確保覆蓋的空間範圍保持一致。這就像用一個放大鏡看地圖時,你需要讓放大鏡移動的步幅也按比例放大,才能讓視野始終對準同一片區域。
而RayPE編碼後的Query和Key特徵,使得注意力權重的計算自然地反映了三維射線方向的相似性:方向接近的射線(對應同一物體表面的點)之間注意力權重高,方向差異大的射線(跨越深度不連續區域的點)之間注意力權重低。整個聚合過程由此在物理上對應"沿著光滑變化的射線方向進行特徵傳播",保持了三維幾何一致性。
**七、 訓練:只需一塊GPU,一個小時**
RaysUp的訓練策略同樣體現了"輕量"的設計哲學。訓練在標準的ImageNet數據集上進行,使用一塊NVIDIA A100 GPU,耗時約1小時(對比之下,AnyUp需要約5小時,LoftUp訓練流程更為複雜)。
訓練時,隨機選取高解析度圖片,用2到4倍的隨機縮小比例生成低解析度版本,將兩者都輸入凍結的基礎視覺模型(不修改模型參數),分別得到目標高解析度特徵和源低解析度特徵。然後讓RaysUp用低解析度特徵和高解析度原圖重建出高解析度特徵,用重建結果與目標特徵之間的餘弦相似度損失和L2距離損失的組合來優化RaysUp的參數。
研究團隊還設計了一個進階的"局部裁剪"訓練策略:額外從高解析度圖片中隨機裁剪局部小塊,以這些局部小塊提取的特徵作為額外監督信號,迫使RaysUp學會對任意子區域的局部細節也能精確重建。採用這個策略後,在多個語義分割數據集上的性能進一步提升,例如Cityscapes上的mIoU從61.88提升到63.04,ADE20K上從42.34提升到42.60,額外訓練約4小時。
**八、 實驗結果:全面超越對手,以極小代價**
RaysUp在五大類密集預測任務上進行了系統評估,對手包括雙線性插值、FeatUp、LoftUp、JAFAR和AnyUp。
在**語義分割**任務上,研究團隊在COCO-Stuff、Pascal-VOC、ADE20K和Cityscapes四個數據集上測試了用線性探針(僅在凍結特徵上接一個1×1卷積層)進行分割的性能。RaysUp在幾乎所有數據集上都達到了最佳或第二好的結果,例如Pascal-VOC上mIoU為84.64(超過AnyUp的84.18和JAFAR的83.89),Cityscapes上mIoU為61.88(超過AnyUp的60.62)。
在**深度估計和表面法線估計**任務上,體現了RaysUp的射線幾何設計的獨特優勢。在NYUv2數據集的深度估計任務中,RaysUp絕對深度RMSE為0.4658,低於AnyUp的0.4781和JAFAR的0.4693;相對深度RMSE為0.3195,同樣優於所有對手。在表面法線估計中,RaysUp的RMSE為27.69,超過AnyUp的27.83和JAFAR的27.80。這些幾何密集型任務上的優勢,正是三維射線位置編碼設計成效的直接體現。
在**影片目標分割**任務中,RaysUp在DAVIS數據集上的J&F均值為71.47,超過AnyUp的70.98和LoftUp的70.92,展現出更強的時序一致性。這背後的原理是:由於RaysUp產生的特徵具有更好的幾何一致性,跨幀的特徵匹配更為精準,物體邊界在不同幀之間的傳播也更加穩定。
在**零樣本開放詞彙分割**任務中,RaysUp將提取的特徵接入ProxyCLIP框架進行測試,在COCO-Stuff、Pascal-VOC、ADE20K、Cityscapes等數據集上的表現與LoftUp和JAFAR相當或略有差距。研究團隊分析認為,LoftUp在這類任務上的優勢來自於訓練時引入了SAM(Segment Anything Model)生成的掩碼作為額外監督,這是RaysUp(僅用自監督重建目標訓練)沒有的"外掛",因此在語義分割等任務上的少量差距是公平比較下合理的結果。
**在VFM通用性上**,與唯一同樣具備跨模型通用能力的對手AnyUp進行了對比。測試覆蓋DINOv2、DINOv3、SigLIP2、PE Spatial四種基礎模型,以及ViT-S、ViT-M、ViT-L三種規模。在所有12個測試組合中,RaysUp在Pascal-VOC語義分割(mIoU)和NYUv2深度估計(RMSE)兩個指標上全面超過AnyUp。例如,DINOv2-ViT-L上:RaysUp的mIoU為86.33(AnyUp 85.47),絕對深度RMSE為0.376(AnyUp 0.393);DINOv3-ViT-L上:RaysUp mIoU 88.07(AnyUp 87.48),絕對深度RMSE 0.398(AnyUp 0.402)。
**在效率上**,差距更為懸殊。RaysUp僅有0.14M參數(AnyUp為0.87M,JAFAR為0.62M),在224×224解析度下消耗10.17 GFLOPs、1.26GB顯存,推理速度55 FPS;AnyUp在同等解析度下84.21 GFLOPs、2.19GB顯存,僅有11 FPS。在448×448解析度下,RaysUp 27 FPS vs AnyUp 5 FPS;在896×896解析度下,RaysUp 8 FPS vs AnyUp 1 FPS;而在2K×2K解析度下,RaysUp仍然能以1 FPS的速度運行,其他所有方法均內存溢出,完全無法工作。這種在超高解析度下的可運行性,對於需要處理醫學影像、衛星圖像等高解析度場景的應用來說至關重要。
**九、 消融實驗:每一塊拼圖都不可或缺**
為了驗證每個設計選擇的必要性,研究團隊系統地"拆卸"RaysUp的各個零件,分別測試了不同設計方案。
對於引導編碼器的設計,單支路(僅1×1卷積)平均性能81.87%,雙支路(1×1加3×3)81.87%,多支路(四種卷積並聯但包含3×3)82.09%,而空間解耦支路(四方向專職卷積)82.17%且參數最少(0.14M vs 多支路的0.268M)。這說明"方向解耦"而非單純"多路並聯"才是性能提升的關鍵。
對於引導特徵維度,Dg=128時平均性能82.02%,Dg=256時82.17%,Dg=512時82.20%,Dg=768時82.19%。可以看到從256到512的性能提升極為有限(僅0.03%),卻需要約3倍的參數增加,權衡之下256維是最優選擇。
對於位置編碼,完全不使用時平均性能81.05%(最差),使用傳統RoPE時81.92%,使用SinRays時81.59%(參數還更多,達0.47M),使用RayPE時82.17%(最佳,無額外參數)。這組對比最有力地證明了將位置編碼從"二維坐標"升級到"三維射線"的必要性。
對於相機姿態資訊,使用恆等矩陣(即假設所有圖片都是從正前方拍攝的簡化假設)的默認設置達到82.17%;如果引入Depth Anything 3估計的真實相機姿態,性能可進一步提升至82.41%-82.44%,但代價是DA3模型本身需要5至55小時的額外訓練時間。研究團隊綜合考慮效率,選擇了恆等姿態作為默認配置,同時這組實驗也說明RaysUp具備利用更準確相機資訊進一步提升的潛力。
---
歸根結底,RaysUp做了一件看起來並不複雜,但此前沒有人正確係統地做過的事:它把特徵上採樣這個"二維圖像處理"問題,重新理解成了一個"三維幾何推理"問題,然後用極其精簡的方式實現了這個思路轉變,順手還解決了現有方法"太重、太慢、依賴特定模型"的三大頑疾。
對於真實世界的應用來說,這意味著:搭載了大型視覺基礎模型的自動駕駛系統、醫療影像分析軟體、機器人視覺系統,可以用極低的額外計算成本,讓AI的"視力"從模糊的馬賽克升級為清晰的細節圖,而且無論下面用的是哪家的AI基礎模型,這副"放大鏡"都能直接套用,不需要重新訓練。0.14M參數、55幀每秒,在大模型動輒數十億參數的時代,這種極致輕量的設計反而顯得尤為珍貴。當然,RaysUp目前在零樣本開放詞彙分割等部分任務上仍與利用SAM額外監督的LoftUp略有差距,如何在不額外增加監督數據的前提下進一步縮小這一差距,可能是下一步研究值得探索的方向。
有興趣深入了解技術細節的讀者,可以通過arXiv編號2606.22749查閱完整論文,代碼也已在GitHub上公開(賬戶MAP-RaysUp/RaysUp)。
---
Q&A
Q1:RaysUp和普通雙線性插值放大圖片有什麼本質區別?
A:普通雙線性插值只是把周圍像素顏色做加權平均,完全不考慮圖像內容,放大後會模糊。RaysUp則有學習能力:它用原圖作為引導,通過注意力機制判斷高解析度位置應該"參考"哪些低解析度特徵,還引入了三維射線幾何資訊,讓邊界處不同物體的特徵不會相互混淆,最終保留了語義精確性和幾何清晰度。
Q2:RaysUp需要針對每種AI視覺模型單獨訓練嗎?
A:不需要。這正是RaysUp的核心優勢之一。RaysUp只需要在DINOv2-S這一種模型上訓練一次,就能直接用於DINOv2、DINOv3、SigLIP2、PE Spatial等多種不同架構和不同大小的視覺基礎模型,無需任何額外微調或重新訓練,實驗證明在所有測試模型上都超過了同樣具備通用性的AnyUp方法。
Q3:RayPE里用到的"相機參數"在普通應用場景里怎麼獲取?
A:消融實驗表明,即使把相機外參設為單位矩陣(相當於假設所有圖片都從正前方水平拍攝),RaysUp已經能達到最優的效率-性能平衡,這也是論文默認配置。如果使用Depth Anything 3等工具估計真實相機姿態,性能還能進一步小幅提升。所以在實際應用中,不需要拍攝時記錄相機參數,直接使用默認設置即可正常工作。






