SGM算法原理詳解(上)
在立體匹配技術(shù)領(lǐng)域,半全局匹配(Semi-Global Matching,SGM)算法因其兼顧精度與效率的顯著優(yōu)勢,成為工業(yè)級雙目測距系統(tǒng)中的核心技術(shù)。由 Hirschmüller 于 2005 年提出的 SGM 算法,通過融合局部匹配的快速性與全局匹配的魯棒性,解決了傳統(tǒng)方法在遮擋區(qū)域、弱紋理區(qū)域的匹配難題。立體匹配的本質(zhì)是在左右視圖中為每個像素尋找對應(yīng)匹配點(diǎn),其性能直接決定視差圖質(zhì)量。傳統(tǒng)局部匹配算法(如塊匹配)通過計算像素鄰域的相似度確定匹配點(diǎn),雖速度快但易受噪聲和紋理缺失影響;全局匹配算法(如 Graph-Cut)通過能量函數(shù)優(yōu)化求解全局最優(yōu)解,雖精度高但計算復(fù)雜度呈指數(shù)級增長,難以滿足實時性要求。SGM 算法提出 “半全局” 策略:通過在多個方向上進(jìn)行一維代價聚合,近似實現(xiàn)二維全局優(yōu)化。其核心思想可概括為 “以線代面”—— 在 8 個(或 16 個)不同方向上計算路徑代價,將各方向的聚合代價累加作為最終匹配代價。這種設(shè)計既規(guī)避了全局算法的高復(fù)雜度,又通過多方向信息融合提升了匹配魯棒性,使算法能在普通 GPU 上實現(xiàn)實時運(yùn)行(幀率≥30fps)。
代價計算是 SGM 的第一步,目的是量化左右視圖中像素的匹配程度,生成初始代價體積(Cost Volume)。初始代價需能有效區(qū)分匹配與非匹配像素,常用方法包括基于像素值的度量和基于變換特征的度量?;谙袼刂档亩攘恐?,SAD(Sum of Absolute Differences)計算左右像素塊對應(yīng)位置的灰度差絕對值之和,公式為 SAD (u,v,d) = Σ|I?(u+i,v+j) - I?(u+i-d,v+j)|,其中 (u,v) 為像素坐標(biāo),d 為視差假設(shè),I?、I?分別為左右視圖灰度值,SAD 計算簡單但對光照變化敏感;SSD(Sum of Squared Differences)通過平方差放大像素差異,對噪聲更敏感但能增強(qiáng)匹配峰度。基于特征變換的度量中,Census 變換將像素灰度值轉(zhuǎn)換為二進(jìn)制特征向量,通過比較鄰域像素與中心像素的大小關(guān)系(大于為 1,小于為 0)生成抗光照變化的特征,Census 代價通過計算二進(jìn)制向量的漢明距離獲得,對光照魯棒性強(qiáng),是 SGM 的常用選擇。初始代價體積的維度為 H×W×D(高度 × 寬度 × 最大視差),每個元素代表像素在某視差假設(shè)下的匹配代價,值越小表示匹配度越高。
代價聚合是 SGM 的核心創(chuàng)新,通過在多個方向上傳播匹配代價,實現(xiàn)對局部噪聲的抑制和遮擋區(qū)域的魯棒處理。傳統(tǒng)局部匹配僅在固定窗口內(nèi)聚合代價,易受窗口尺寸影響;而 SGM 通過動態(tài)規(guī)劃在一維路徑上聚合代價,再融合多方向結(jié)果,近似全局優(yōu)化效果。對每個像素 (u,v) 和視差 d,沿某一方向(如水平、垂直、45°、135° 等)的聚合代價 L 可通過遞歸計算:L (u,v,d) = C (u,v,d) + min [L (u',v',d), L (u',v',d-1)+P1, L (u',v',d+1)+P1, min?L (u',v',k)+P2] - min?L (u',v',d),其中 C (u,v,d) 為初始代價,(u',v') 為路徑上的前一個像素,P1 為小懲罰項(用于懲罰視差連續(xù)變化 1 的情況),P2 為大懲罰項(用于懲罰視差跳變超過 1 的情況),最后一項 min?L (...) 用于歸一化,避免代價累積溢出。該公式通過動態(tài)規(guī)劃實現(xiàn):在路徑上傳播時,既考慮當(dāng)前像素的初始代價,也參考前序像素在不同視差下的最優(yōu)代價,通過懲罰視差突變實現(xiàn)平滑約束。SGM 通常選擇 8 個方向(0°、45°、90°、135°、180°、225°、270°、315°)進(jìn)行路徑聚合,每個方向生成獨(dú)立的聚合代價圖,最終聚合代價通過累加所有方向的聚合代價獲得:S (u,v,d) = ΣL?(u,v,d)(i=1..8)。多方向融合的意義在于:不同方向的路徑能捕捉場景中不同結(jié)構(gòu)的連續(xù)性(如水平路徑適合處理地平線,垂直路徑適合處理柱狀物體),通過互補(bǔ)信息抑制局部歧義,尤其對遮擋區(qū)域(某一方向路徑被遮擋時,其他方向仍能提供有效信息)具有顯著優(yōu)化效果。