SGM算法原理詳解(下)
在獲得最終聚合代價(jià) S (u,v,d) 后,通過贏家通吃(Winner-Takes-All,WTA)策略確定每個(gè)像素的最優(yōu)視差:d*(u,v) = argmin?S (u,v,d),即選擇使聚合代價(jià)最小的視差值作為該像素的視差。原始視差圖可能存在噪聲、誤匹配和遮擋導(dǎo)致的異常值,需通過后處理提升質(zhì)量:左右一致性檢查對(duì)左視圖視差 d?和右視圖視差 d?,若 d?(u,v) ≠ d?(u-d?(u,v),v),則標(biāo)記為不可靠像素并通過插值修復(fù);亞像素求精對(duì)初始整數(shù)視差,通過二次曲線擬合代價(jià)函數(shù)最小值附近的 3 個(gè)點(diǎn),計(jì)算亞像素級(jí)視差以提升精度;連通域?yàn)V波去除小面積孤立區(qū)域(通常為誤匹配),通過鄰域有效像素插值填充;中值濾波抑制椒鹽噪聲,平滑視差圖邊緣。后處理步驟能將視差圖的錯(cuò)誤率降低 30% 以上,是 SGM 工程化應(yīng)用的關(guān)鍵環(huán)節(jié)。
SGM 算法的核心優(yōu)勢在于精度與效率的平衡,通過多方向一維聚合近似全局優(yōu)化,在保持與全局算法接近精度的同時(shí),計(jì)算復(fù)雜度降至 O (H×W×D×N)(N 為路徑數(shù),通常取 8),滿足實(shí)時(shí)性需求;其魯棒性強(qiáng),對(duì)弱紋理區(qū)域(通過區(qū)域聚合增強(qiáng)信息)、遮擋區(qū)域(多路徑互補(bǔ))和光照變化(Census 變換)均有良好適應(yīng)性;且易于工程實(shí)現(xiàn),算法邏輯清晰,可通過 GPU 并行加速(如 CUDA)實(shí)現(xiàn)實(shí)時(shí)處理,已廣泛集成于工業(yè)相機(jī)和自動(dòng)駕駛系統(tǒng)。但也存在局限性,在視差不連續(xù)區(qū)域處理不足,強(qiáng)邊緣處的視差跳變可能因平滑懲罰導(dǎo)致過度模糊,需結(jié)合邊緣檢測進(jìn)行自適應(yīng)懲罰調(diào)整;長基線場景精度下降,當(dāng)基線長度增加導(dǎo)致視差范圍擴(kuò)大時(shí),D 值增大使計(jì)算量線性增長,需通過視差范圍約束優(yōu)化;動(dòng)態(tài)場景適應(yīng)性有限,對(duì)于快速運(yùn)動(dòng)物體,左右視圖的時(shí)間差可能導(dǎo)致匹配失效,需結(jié)合運(yùn)動(dòng)估計(jì)進(jìn)行補(bǔ)償。
SGM 算法憑借其優(yōu)異性能,已成為雙目視覺的主流方案,在自動(dòng)駕駛中,特斯拉、蔚來等車型用其生成實(shí)時(shí)深度圖,輔助障礙物檢測和車道線識(shí)別;在工業(yè)檢測中,3C 產(chǎn)品尺寸測量可實(shí)現(xiàn)亞像素級(jí)精度(≤0.1mm),滿足精密制造需求;在機(jī)器人導(dǎo)航中,AGV(自動(dòng)導(dǎo)引車)結(jié)合 SLAM 技術(shù)構(gòu)建環(huán)境三維地圖,實(shí)現(xiàn)自主避障。近年來,SGM 與深度學(xué)習(xí)的融合成為研究熱點(diǎn),通過神經(jīng)網(wǎng)絡(luò)優(yōu)化初始代價(jià)計(jì)算(如引入 CNN 特征替代傳統(tǒng) Census 變換)或動(dòng)態(tài)調(diào)整懲罰項(xiàng) P1、P2,進(jìn)一步提升復(fù)雜場景的匹配精度,例如 2022 年提出的 DSGM(Deep SGM)算法將特征提取與代價(jià)聚合結(jié)合,在 KITTI 數(shù)據(jù)集上的錯(cuò)誤率較傳統(tǒng) SGM 降低 15%。
SGM 算法通過 “多方向一維聚合” 的創(chuàng)新思路,突破了局部匹配與全局匹配的性能瓶頸,成為雙目視覺技術(shù)實(shí)用化的關(guān)鍵支撐。其核心價(jià)值不僅在于兼顧精度與效率的技術(shù)設(shè)計(jì),更在于為立體匹配提供了可工程化的實(shí)現(xiàn)框架。隨著硬件加速技術(shù)的發(fā)展和與深度學(xué)習(xí)的深度融合,SGM 及其改進(jìn)算法將在三維感知領(lǐng)域持續(xù)發(fā)揮重要作用,推動(dòng)自動(dòng)駕駛、機(jī)器人和工業(yè)檢測等場景向更高精度、更魯棒的方向演進(jìn)。