双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之互信息(Mutual Information,MI)...
??半全局立體匹配算法Semi-Global Matching,SGM由學者Hirschmüller在2005年所提出1,提出的背景是一方面高效率的局部算法由于所基于的局部窗口視差相同的假設在很多情況下并不成立導致匹配效果較差;而另一方面全局算法雖然通過二維相鄰像素視差之間的約束(如平滑性約束)而得到更好的匹配效果,但是對內存的占用量大,速度慢。為了結合兩者的優點,同時避免兩者的缺點,SGM算法依舊采用全局框架,但是在計算能量函數最小化的步驟時使用高效率的一維路徑聚合方法來代替全局算法中的二維最小化算法,使用一維最優來近似二維最優,得到的視差圖在效果上和全局算法沒有太大的差別,但是算法效率卻有非常大的提升。接下來的幾篇博客將從匹配算法的四個步驟出發,來對SGM算法做一個詳細介紹。
??本篇首先介紹SGM算法第一步:匹配代價計算 的典型算法之一:基于互信息(Mutual Information,MI)的匹配代價計算法。
基于互信息的匹配代價計算
??從上一篇文章中可知,匹配代價計算是雙目立體匹配的第一步,在雙目匹配算法中,大部分算法會為每個像素預先設置一個固定的視差搜索范圍D(dmin ~ dmax),將像素的視差真值限定在范圍D內,并引入一個大小為W×H×D的三維代價空間C,C中的每個元素映射左影像每個像素在視差范圍內每個視差下的匹配代價值,而匹配代價計算即是通過計算像素之間的相關性來填充C的步驟,計算的時間復雜度為O(W H D)。
??在SGM被提出的文獻12中,Hirschmüller使用基于互信息(Mutual Information,MI)的匹配測度計算算法來計算匹配代價,互信息是一種對影像明暗變化不敏感的相關性測度,它通過兩張影像各自的熵H以及兩者的聯合熵來定義,熵代表影像的信息量,是基于灰度的概率分布所得到的統計量,圖像的熵越大代表包含的像素灰度越豐富,灰度分布越均勻。互信息MI通過公式1來計算,
式1
??其中, 為圖像I1和I2的互信息,HI1 、HI2 分別為I1、I2的熵, HI1,I2為兩張圖像的聯合熵。圖像的熵及聯合熵通過灰度的概率分布P計算,計算公式分別如公式2及3所示。
式2
式3
??對于兩幅配準好的影像來說,它們的聯合熵是很小的,因為其中一張影像可以通過另外一張影像預測,這表示兩者的的可區分度很低,所包含的信息很少,而由公式1可知它們的互信息會相對更大,這也是互信息可以作為相關性測度的理論依據,當兩者的相關性越高,則互信息越大。
在使用互信息的立體匹配中,首先必須將其中一幅圖像根據視差圖進行糾正,使得同名點在兩張圖像中處于同一位置,假設基準影像為Im,匹配影像為Ib,則糾正方式可表示為
式4
??公式1是針對全圖計算互信息的公式,而不是像素之間獨立計算,無法直接用于匹配代價計算,Kim等3使用泰勒展開方法將聯合熵的計算轉換為通過數據項累加的方式,數據項的計算依賴于同名點對且對每個像素獨立,如公式5所示,
式5
??其中,數據項 hI1,I2通過左右影像同名點灰度的概率分布 來計算,若影像內同名點數為n,通過基于高斯卷積g(i,k) 的Parzen窗估計法3來計算數據項,見公式6:
式6
??上式中,i, k為參與計算數據項的兩個灰度,它們的聯合概率分布使用公式7計算
式7
??其中,T函數若其參數為真,則返回1,反之返回0,實際上就是統計灰度對與(i, k)相同的同名點對在全圖中所占的比例。
??Kim等人3認為基準影像的熵HI1是固定的,而匹配影像的熵HI2也基本是固定的因為糾正函數fD(Ib)只不過是對匹配影像的灰度進行了重新位置分配,但是由于有遮擋的存在,基準影像被遮擋的區域沒有正確的視差值,這些區域也就不存在同名點,不能參與熵計算,而由于這些區域的位置是無法預先被告知,所以只能認定兩張影像的熵都是不固定的,因此一般來說,采用計算聯合熵相類似的方式來計算影像各自的熵,如公式8所示:
式8
??概率分布的計算需要遍歷全圖,但只需要統計同名點對所在的區域。實際上PI(i)可以直接使用聯合概率分布來計算,即
式9
??最終,互信息的定義可以用公式10來描述:
式10
??基于互信息的匹配代價可通過公式11來計算:
式11
??其中,q表示像素p的同名點。
??從以上描述可以看到,要計算互信息,必須預先知道視差圖來對匹配影像進行糾正,這仿佛類似于雞生蛋蛋生雞的問題,論文1中采用的是一種分層迭代的方案,對影像進行逐級降采樣得到多層影像對,為最上層影像對隨機生成一張視差圖,然后計算得到的代價數組作為初始代價數組計算新的視差圖并作為下一層影像對的視差圖,如此迭代至最下層影像,一般迭代三次即可達到較好的匹配結果。
??互信息法代價計算原理較為復雜,且計算需要迭代,計算效率不高,在實際應用中,更簡單有效的方法如Census變換、BT法會得到更多的青睞。下一篇中,將為大家詳細介紹實用高效且簡單易懂的Census變換法。
??查看下篇Census變換法請點擊>> link
HIRSCHMULLER H. Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information: Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on, 2005[C]. ?? ?? ??
HIRSCHMüLLER H. Hirschmüller, H.: Stereo processing by semiglobal matching and mutual information. IEEE PAMI 30(2), 328-341[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2008,30(2):328-341. ??
KIM J, KOLMOGOROV V, ZABIH R. Visual Correspondence Using Energy Minimization and Mutual Information: IEEE International Conference on Computer Vision, 2003. Proceedings, 2008[C]. ?? ?? ??
轉載于:https://www.cnblogs.com/ethan-li/p/10216646.html
總結
以上是生活随笔為你收集整理的双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之互信息(Mutual Information,MI)...的全部內容,希望文章能夠幫你解決所遇到的問題。