基於互信息的匹配代價計算由於需要初始視差值,所以需要通過分層迭代的方式得到較爲準確的匹配代價值,而且概率分佈計算稍顯複雜,這導致代價計算的效率並不高。學者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
ZABIH R, WOODFILL J. Non-parametric local transforms for computing visual correspondence[M]. 1994: 151-158. ↩︎