雙目立體匹配

2021-09-24 12:51:27 字數 2638 閱讀 6058

公式...

其中資料項描述了匹配程度,平滑項體現了定義場景的約束,c是匹配代價(或稱penalty),p是不同兩畫素p和q視差的函式,一般稱之為平滑項.

考慮到能量優化問題在一維空間的複雜度是多項式級的,因此一些研究試圖做一些近似來降低演算法的複雜度。例如,半全域性演算法(sgm)就利用了這一特性將二維問題簡化為8到16個一維問題,以實現一種較好的近似。其在各個方向上計算累積代價後,將各方向代價相加得到總代價,這樣就模擬了二維的優化問題。sgm是立體匹配逐漸取代雷射雷達生成視差圖的技術關鍵,同時也是商業軟體中應用最多的立體匹配演算法。

區域性立體匹配演算法又稱基於視窗的方法或基於支援區域的方法。演算法對參考影象中的每個畫素計算乙個合適大小、形狀和權重的視窗,然後對這個視窗內的視差值進行加權平均。理想的支援視窗應該完全覆蓋弱紋理區域,並在視窗內深度連續。與全域性立體匹配演算法相似,通過優化乙個代價函式的方法計算最佳視差。但是,在區域性立體匹配演算法的能量函式中,只有基於區域性區域的約束資料項,沒有平滑項。區域性匹配演算法僅利用某一點鄰域的灰度、顏色、梯度等資訊進行計算匹配代價,計算複雜度較低,大多實時的立體匹配演算法都屬於區域性立體匹配的範疇,但區域性立體匹配演算法對低紋理區域、重複紋理區域、視差不連續和遮擋區域匹配效果不理想。

1)匹配代價計算(cost computation):

計算匹配代價,即計算參考影象上每個畫素點ir§,以所有視差可能性去匹配目標影象上對應點it(pd)的代價值,因此計算得到的代價值可以儲存在乙個hwd(max)的三維陣列中,通常稱這個三維陣列為視差空間圖(disparity space image,dsi)。匹配代價時立體匹配的基礎,設計抗雜訊干擾、對光照變化不敏感的匹配代價,能提高立體匹配的精度。因此,匹配代價的設計在全域性演算法和區域性演算法中都是研究的重點。

2)代價聚合(cost aggregation)

通常全域性演算法不需要代價聚合,而區域性演算法需要通過求和、求均值或其他方法對乙個支援視窗內的匹配代價進行聚合而得到參考影象上一點p在視差d處的累積代價ca(p,d),這一過程稱為代價聚合。通過匹配代價聚合,可以降低異常點的影響,提高訊雜比(snr,signal noise ratio)進而提高匹配精度。代價聚合策略通常是區域性匹配演算法的核心,策略的好壞直接關係到最終視差圖(disparity maps)的質量。

3)視差計算(disparity computation):

區域性立體匹配演算法的思想,在支援視窗內聚合完匹配代價後,獲取視差的過程就比較簡單。通常採用『勝者為王』策略(wta,winner take all),即在視差搜尋範圍內選擇累積代價最優的點作為對應匹配點,與之對應的視差即為所求的視差。即p點的視差為。

4)後處理(post process)

一般的,分別以左右兩圖為參考影象,完成上述三個步驟後可以得到左右兩幅視差影象。但所得的視差圖還存在一些問題,如遮擋點視差不準確、雜訊點、誤匹配點等存在,因此還需要對視差圖進行優化,採用進一步執行後處理步驟對視差圖進行修正。常用的方法有插值(interpolation)、亞畫素增強(subpixel enhancement)、精細化(refinement)、影象濾波(image filtering)等操作。

①最常見的三種匹配代價為絕對差值和(sum of absolute differences,sad)、截斷絕對差值和(sum of truncated absolute differences,stad)、差值平方和(sum of squared differences, ssd)。

注意:式中n§表示p的支援視窗,當n§退化為只含有p點時,即逐畫素計算匹配代價。這三種匹配代價對**強度變化非常敏感,對相機內參和**非常敏感(lsd-slam直接法的缺點)。計算上述匹配代價的時間複雜度為o(whn§),可以使用積分圖(integral image)或方框濾波(box filtering)的方法使時間複雜度下降到o(w*h)。

②z.gu最早提出將rank變換函式引入到立體匹配中,與其他相似性測度相比,rank變換對影象雜訊和立體影象的亮度差異不那麼敏感,且計算快,實時性好。rank變換函式公式如下:

③census代價是充分考慮了影象區域性相關的特性,而不是直接使用灰度值做差,具有抗光影畸變的作用,效率高、穩定性強,其核心思想與lbp演算法的思想相近,是一種非常有效的代價計算方法。census匹配代價計算如下:

其中hamming(a,b)用來計算二進位制序列a和b的海明距離(hamming distance),可以用異或操作計算。seq[i§]函式根據p點畫素值和p的支援視窗內畫素值生成乙個二進位制序列。

④另外常用的匹配代價還有歸一化互相關ncc(normalized cross correlation)、bt代價函式(s.birchfield & c.tomasi)等。

①middlebury測試平台:提供了專門用於評價立體匹配演算法的測試影象對(stereo pair),包括tsukuba測試影象對,venus測試影象對,teddy測試影象對和cones測試影象對,它們的解析度分別為384288,434383和450*375,同時還給出了這些測試影象對的真實視差圖。

②kitti演算法評測平台:旨在評測物件(機動車、非機動車、行人等)檢測、目標跟蹤等計算機視覺技術在車載環境下的效能,為機動車輔助駕駛應用做技術評估與技術儲備。kitti包含市區、鄉村和高速公路等場景採集的真實影象資料。

雙目立體匹配回顧筆記

1.基於視窗的全域性演算法視窗設定問題 匹配是假設表面前向平行的,而事實上與此會違背,另外在不連續的區域背景部分是無法對準的,因此視窗太大不利於匹配的準確性,另外視窗太小的話對於若紋理和重複紋理區域引入更多的outlier,試驗中比較難把握乙個最優值 根據影象區域的性質動態選擇視窗大小是乙個可以考慮...

雙目立體匹配演算法漫談

雙目立體匹配演算法是計算機視覺中比較經典的問題。有大量經典的雙目立體匹配演算法。本文簡要介紹一下雙目立體匹配的常用基本流程,也可以說是套路。第一次寫這麼長的博文,我想到 寫 更詳細內容的可見文章a taxonomy and evaluation of dense two frame stereo c...

立體匹配 立體匹配過程

立體匹配就4個步驟 匹配代價計算,代價聚合,計算視差,視差精化 匹配代價計算 一般是通過計算左右兩圖對應畫素3個通道的灰度值差來決定匹配代價的,常用的就是基於畫素點匹配代價計算,一般有ad,sd,tad什麼的,基於區域的匹配代價計算一般有sad,ssd,stad之類的。匹配代價計算會生成乙個disp...