立體匹配 是什麼?

Stereo Matching:立體匹配 的完整解釋

利用立體影像對(左右視圖)的對應像素差異估計深度信息,是三維重建的基礎。

立體匹配(Stereo Matching)是三維視覺的基礎技術,基於人類兩眼視覺系統的原理。當左右眼看同一物體時,因視角不同,物體在左右視網膜上的位置略有差異,大腦透過這個差異(立體視差)推斷深度。

基本原理與幾何

給定一對標定後的立體相機,設左相機捕捉的像素點為 (x_l, y),其對應的右相機點為 (x_r, y)(假設影像行對齐,即 y 座標相同)。視差定義為: d = x_l - x_r

根據立體幾何,深度 Z 可由視差計算: Z = f × B / d 其中 f 是焦距,B 是基線(兩相機之間的距離)。

立體匹配的核心任務是在右影像中找到左影像點的對應點,或等價地,為每個左影像像素估計視差 d。

傳統立體匹配算法

  1. 塊匹配法(Block Matching)

    • 取左影像中的小窗口,在右影像的對應區域內尋找最相似的塊。
    • 相似度度量:SAD(Sum of Absolute Differences)、SSD(Sum of Squared Differences)、NCC(Normalized Cross Correlation)等。
    • 優點:簡單、速度快。
    • 缺點:邊界附近不準確、無紋理區域效果差、窗口大小固定。
  2. 半全局匹配(Semi-Global Matching, SGM)

    • 由 Hirschmuller 提出(2005),結合局部與全局優化。
    • 步驟:計算像素匹配成本 → 聚合多方向的成本 → 獲得視差圖。
    • 優點:邊界保留好、填充缺失值、速度與精度平衡。
    • 缺點:對光度失真敏感。
    • 長期以來是商用立體相機(如 Intel RealSense)的標準算法。
  3. 圖割與信念傳播(Graph Cut & Belief Propagation)

    • 將立體匹配建模為馬爾科夫隨機場(MRF)或條件隨機場(CRF)。
    • 通過最小割或信念傳播求解。
    • 優點:全局優化,邊界與紋理無區域效果好。
    • 缺點:計算複雜,推論時間長,不適合實時應用。
  4. 平面 + 八叉樹法

    • 假設深度在小區域內是分段平面。
    • 用平面參數表示深度,減少搜索空間。

深度學習立體匹配

  1. 早期卷積方法(2014-2016)

    • DispNet:輸入立體影像對,輸出視差圖。
    • FlowNet 架構的立體版本。
    • 優點:無需手工設計相似度。
    • 缺點:對推廣、細節保留不足。
  2. 成本卷積與多尺度融合(2016-2019)

    • GCNet:構造成本卷積(cost volume),再用 3D CNN 正則化。
    • PSMNet(Pyramid Stereo Matching Network):多尺度金字塔特徵,改善細節與邊界。
    • 思路類似 SGM 的成本聚合,但用深度學習替代傳統方法。
  3. 迭代精化(2020 年後)

    • RAFT-Stereo:基於 RAFT 光流模型改進,迭代更新視差圖。
    • 反复利用光學與幾何約束。
    • 成為當前的高效標準方法。
  4. 自監督與無監督方法

    • 利用視圖一致性(photometric consistency)、左右一致性(left-right consistency)作為無監督信號。
    • 無需視差標註資料。

評估指標

  • 視差誤差:估計視差與真實視差的絕對或相對誤差。
  • 壞像素比例(Bad Pixel Ratio):誤差超過閾值的像素百分比(通常 1 或 3 像素)。
  • 根均方誤差(RMSE):視差誤差的均方根。
  • 深度誤差:由視差誤差換算的深度誤差。

常用基準資料集:KITTI Stereo、Middlebury、SceneFlow 等。

應用場景

  • 自動駕駛:測距與障礙物檢測基礎。
  • 三維重建:從多視圖立體對重建場景 3D 模型。
  • 無人機與機器人視覺:導航與避障的深度感知。
  • 動作捕捉:結合多角度立體對重建人體 3D 姿態。
  • 立體視覺投影儀(如 Kinect v1 時期的結構光):雖然結構光另有機制,但立體匹配是後繼技術。
  • 工業檢測:精密零件的 3D 測量與缺陷檢測。

主要挑戰

  1. 無紋理區域(Textureless Regions):光滑表面如白牆無法進行匹配。
  2. 反射與高光:鏡面反射違反朗伯反射模型(Lambertian model),造成匹配困難。
  3. 遮擋:物體邊界附近左右影像的內容差異大,容易誤匹配。
  4. 不連續邊界:邊界處深度梯度大,窗口匹配易跨越邊界。
  5. 立體對外部校準誤差:相機標定精度直接影響視差精度。

立體匹配 vs. 其他深度估計方法

  • 立體匹配:需成對影像,精度相對高。
  • 單目深度估計:只需單張影像,但無絕對尺度。
  • ToF(Time of Flight)相機:直接測量光波往返時間,但分辨率低、噪聲大。
  • 結構光:投影已知圖案,消除紋理問題,但成本高、不適戶外。

實務部署建議

立體匹配系統的部署需考量多方面因素:

  1. 相機選擇:基線越大深度精度越高,但視場角越小;焦距越大視差越大但視場角越小。
  2. 相機標定:定期標定相機內外參數,標定精度直接決定深度精度。
  3. 演算法選擇:實時應用選輕量化模型(如 RAFT-Stereo 量化版),高精度應用選完整 PSMNet。
  4. 後處理:使用一致性檢驗(左右視差檢驗)、邊界保留濾波、視差填充等步驟改善結果。
  5. 光照環境:避免過度曝光或陰影,使用輔助光源改善無紋理區域。

常見問題