雙目立體匹配經典算法之Semi-Global Matching(SGM)概述:匹配代價計算之Census變換(Census Transform,CT)

  基於互信息的匹配代價計算由於需要初始視差值,所以需要通過分層迭代的方式得到較爲準確的匹配代價值,而且概率分佈計算稍顯複雜,這導致代價計算的效率並不高。學者Zabih和Woodfill 1 提出的基於Census變換法也被廣泛用於匹配代價計算。Census變換是使用像素鄰域內的局部灰度差異將像素灰度轉換爲比特串,思路非常簡單,通過將鄰域窗口(窗口大小爲n×m,n和m都爲奇數)內的像素灰度值與窗口中心像素的灰度值進行比較,將比較得到的布爾值映射到一個比特串中,最後用比特串的值作爲中心像素的Census變換值Cs,如公式1所示:

式1

其中,n’和m’分別爲不大於n和m的一半的最大整數,爲比特位的逐位連接運算,ξ運算則由公式2定義:

式2

基於Census變換的匹配代價計算方法是計算左右影像對應的兩個像素的Census變換值的漢明(Hamming)距離,即

式3

  Hamming距離即兩個比特串的對應位不相同的數量,計算方法爲將兩個比特串進行亦或運算,再統計亦或運算結果的比特位中不爲1的個數。

  基於Census變換的匹配代價計算方法如圖1所示,

圖1 漢明距離示意圖

  從圖1可以看出,Census變換對整體的明暗變化並不敏感,因爲是比較的相對灰度關係,所以即使左右影像亮度不一致,也能得到較好的匹配效果。

  Census相比互信息還具有並行度高的優點,因爲Census變換值是局部窗口運算,所以每個像素可以獨立運算,這個特性讓其可以很好的設計多線程並行計算模型,無論是CPU並行還是GPU並行都能達到非常高的並行效率。

  在實際匹配過程中,簡單的執行匹配代價計算並不能得到高質量的視差圖,必須經過代價聚合步驟,聚合後的代價能夠更準確地反應匹配相似度,下篇博客中,將爲大家詳解SGM的代價聚合步驟,查看請點擊 >> link


  1. ZABIH R, WOODFILL J. Non-parametric local transforms for computing visual correspondence[M]. 1994: 151-158. ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章