![]()
立體匹配的前端已經進入視覺基座模型時代,后端卻還停留在基于卷積的局部遞歸更新。LinStereo 關注的正是這個斷層:當 Depth Anything V3 已經能提供全局語義和多尺度表征時,ConvGRU 式的局部傳播反而成了遮擋、弱紋理和水下退化場景中的瓶頸。
悉尼大學澳大利亞機器人中心的 Yiran Wang、Oliver Turner 和 Viorela Ila 在 ECCV 2026 論文中提出用位置感知線性注意力模塊替代卷積迭代,讓每輪迭代都能聚合全圖上下文,并輔以多尺度代價體積和單目深度初始化提升幾何收斂。
更關鍵的是,LinStereo在凍結視覺基座模型編碼器,僅用 Scene Flow 合成數據訓練下游 stereo 模塊,其零樣本泛化能力就將 Middlebury 遮擋區域把誤差壓低了 37%,在多項標準評估數據上以 ViT-B 的體量戰勝了更大參數量的模型,甚至在在水下等跨域場景也展現了明顯的優勢。
![]()
- 論文標題:LinStereo: Linear-Complexity Global Attention for Multi-Scale Iterative Stereo Matching
- 作者:Yiran Wang?, Oliver Turner, Viorela Ila?
- 單位:Australian Centre for Robotics, The University of Sydney
- 會議:ECCV 2026(已接收)
- 論文鏈接:https://arxiv.org/abs/2606.25437
- 代碼:https://github.com/u7079256/LinStereo
現有迭代式匹配的瓶頸在哪
目前主流立體匹配的流程大同小異:預訓練 backbone 出特征,建代價體積,ConvGRU 迭代回歸視差。問題出在后半段。
backbone 輸出了好幾層不同分辨率的特征,但建代價體積的時候一般只用其中一層,多尺度信息被丟掉了不少。ConvGRU 每輪迭代感受野比較局限,碰到大面積弱紋理或者水下這種退化場景,有用的匹配信號得跑好幾輪才傳得到遠處。再加上大多數方法都從零視差起步,頭幾輪迭代基本在摸場景大致輪廓,實際用來精細化的輪次并不多。
LinStereo 對應地做了三件事:PALA換掉ConvGRU 解決傳播問題,HSCV 保留多尺度特征,DPI 用單目深度給一個靠譜的起點。
![]()
圖 1:LinStereo 整體架構。(a)多尺度層次化語義 cost volume(HSCV);(b)coarse-to-fine 迭代更新;(c)位置感知線性注意力更新模塊(PALA)。
PALA:全局注意力,但只要線性復雜度
PALA 做的事情說起來很直觀,就是把 ConvGRU 的局部更新換成全局注意力,讓每個像素每次迭代都能看到整張圖。難點在于 softmax attention 是 O (N2) 的,直接用在高分辨率視差圖上跑不動。
PALA 的做法是對 query 和 key 做 kernel 激活(ELU+1),利用矩陣乘法結合律把復雜度降到 O (N?C_h2)。實測 3.50 ms 一次迭代,ConvGRU 是 3.63 ms,基本沒差別。
但線性注意力有個已知的毛病:kernel 化之后位置信息會丟失。PALA 用 2D RoPE 來補,這里有個比較巧妙的處理 ——RoPE 只加在注意力公式的分子上,分母不加。作者把這個叫 "非對稱 RoPE"。為什么不兩邊都加?因為分母端加了 RoPE 之后歸一化會引入位置偏移,注意力分布反而不穩定。消融也驗證了這一點:KITTI 上差別不算大(EPE 1.05 vs 1.01),但換到水下 TartanAir-UW,RMSE 從 2.18 掉到 2.08,差了將近 5%。
![]()
圖 2:PALA 模塊架構,展示 kernel-activated attention、非對稱 2D RoPE 和門控更新機制。
HSCV 和 DPI
HSCV 比較好理解:在 1/4、1/8、1/16 三個尺度上分別建代價體積,每個尺度內部再做 4 層視差金字塔。這樣 PALA 每輪迭代能查到不同粒度的匹配信息 —— 淺層管紋理,深層管語義。去掉多尺度之后 KITTI EPE 漲了 0.06,水下 AbsRel 漲了 0.003,看著不大,但跟 PALA 配合起來效果會放大。
DPI 更直接。Depth Anything V3 的 backbone 本身能出一張單目深度圖,雖然是 affine-invariant 的(只有相對遠近,沒有絕對尺度),但拿 SIFT 在左右圖上匹配幾個點就能把 scale 和 shift 算出來,轉成度量視差當初始值。為什么不用 SuperPoint 或 LightGlue?因為這些學習型匹配器在水下之類的跨域場景可能失靈,SIFT 純靠幾何約束反而穩。SQUID 上 SIFT 的失敗率只有 3.7%,失敗了就退回零初始化,EPE 性能略降 0.08 個像素。
實驗:標準 benchmark 和跨域泛化
標準 benchmark
LinStereo 的 backbone 是 ViT-B,參數量和數據量都比用 ViT-L 的 FoundationStereo、MonSter 小一截。從下表來看,常規場景上基本打平,遮擋場景上優勢明顯。
![]()
Middlebury 遮擋區域是最能體現全局注意力價值的指標。EPE 1.33,比排第二的 FoundationStereo 低了 16%,比之前的 DEFOM-Stereo(2.11)低了 37%。道理也好理解:被遮擋的像素附近沒有可靠的匹配線索,ConvGRU 的局部窗口傳不過來,PALA 可以直接從遠處拿信息。
![]()
圖 3:標準 benchmark 定性對比,LinStereo 在物體邊緣和遮擋區域的深度圖更干凈。
跨域泛化:水下 zero-shot
全局傳播的另一個受益場景是水下。光在水里按波長衰減,紅色最先消失,再加上懸浮顆粒的散射,遠處的紋理基本不可用。ConvGRU 在這種大面積退化的場景里傳播太慢,PALA 就不存在這個問題。
LinStereo 沒用過任何水下數據訓練,但在水下 benchmark 上全面領先。
![]()
![]()
圖 4:水下場景定性對比。退化嚴重的區域里,LinStereo 的深度圖仍然連貫。
精準度和推理速度兩手抓
T=2 迭代就能跑到 12.5 FPS(480×640),這個配置下 SQUID AbsRel 0.05 -> 在有計算性能受限的情況下, Linstereo 只需兩次迭代優化(等效推理速度12.5FPS)仍可以保持SQUID AbsRel 0.05
三個模塊,協同才是關鍵
三個模塊單獨加都有提升,但組合在一起效果遠超單獨疊加:
![]()
還有一個有意思的現象:PALA block 堆到 3 個(參數從 127M 漲到 147M),KITTI EPE 反而從 1.01 漲到 1.05。迭代本身已經在做隱式的深度堆疊,再顯式加層數可能過擬合了。
SeaStereo 數據集
論文還發布了 SeaStereo-Dataset——40,320 對水下立體圖像,帶稠密視差標注,7 種 Jerlov 水體類型,用 Blender 做物理級水下光學渲染,前景是 ShapeNetCore 物體,背景是真實海洋照片。水下立體匹配一直缺公開數據,這個數據集對后續研究會比較有用。
參數高效:以小博大
得益于我們的參數高效設計,127M 參數中超過 100M 來自凍結的 Depth Anything V3 backbone,真正需要訓練的僅約 10M。這充分驗證了我們輕量 decoder 的有效性:小參數量同樣能撬動大規模預訓練的強大先驗,在小樣本水下場景下達到當前性能。面向水下機器人等邊緣算力平臺,我們正進一步通過知識蒸餾壓縮編碼器,把推理延遲推向更極致的水平。
- ECCV 2026 論文鏈接:https://arxiv.org/abs/2606.25437
- GitHub:https://github.com/u7079256/LinStereo
作者簡介
Yiran Wang,悉尼大學澳大利亞機器人中心(Australian Centre for Robotics)博士生,導師為 Viorela Ila 博士。本科畢業于澳大利亞國立大學(ANU)高級計算專業(榮譽學位)。研究方向涵蓋計算機視覺、立體深度估計、運動生成與三維視覺,近期聚焦于利用 Vision Foundation Model 提升立體匹配在退化視覺條件下的魯棒性。相關工作發表于 ECCV、NeurIPS、ICRA 等國際會議。
Viorela Ila,悉尼大學航空航天與機電工程學院高級講師(Senior Lecturer),澳大利亞機器人中心核心研究員。2005 年獲西班牙赫羅納大學博士學位,后赴佐治亞理工學院從事博士后研究。研究方向涵蓋視覺 SLAM、三維重建、圖模型優化與水下機器人感知,近期代表工作包括動態 SLAM 框架 DynoSAM 等。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.