杜思傲,尹業(yè)安,吳文俊
?
基于互信息的立體匹配方法
杜思傲,尹業(yè)安*,吳文俊
(武漢紡織大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北 武漢 430200)
介紹一種基于灰度互信息的立體匹配方法,用于從雙目圖中獲得視差圖。該方法將灰度互信息作為衡量輸入圖像對(duì)相似度的指標(biāo),先構(gòu)建單像素點(diǎn)的代價(jià),再在代價(jià)聚合環(huán)節(jié)加入鄰域點(diǎn)的約束,使用多方向的掃描線優(yōu)化來(lái)優(yōu)化代價(jià)聚合函數(shù)。反復(fù)地進(jìn)行優(yōu)化過程,讓輸出的視差圖漸漸地接近于真實(shí)情況,使用隨機(jī)圖作為迭代初始狀態(tài),迭代固定次數(shù)后輸出?;叶然バ畔⒆鳛榇鷥r(jià)標(biāo)準(zhǔn),使得該方法在代價(jià)的計(jì)算環(huán)節(jié)比一般的全局匹配方法更快,并對(duì)光照具有一定魯棒性,領(lǐng)域點(diǎn)的約束讓視差圖更加平滑稠密。
立體匹配;互信息;代價(jià);優(yōu)化
獲取場(chǎng)景深度是計(jì)算機(jī)視覺的重要課題之一,獲得的深度圖可以用于三維重建、SLAM、汽車導(dǎo)航、目標(biāo)跟蹤、非接觸測(cè)量等。結(jié)構(gòu)光、光度立體、SFM、雙目立體視覺都是目前主流的方法,雙目立體視覺相對(duì)于其他方法,具有設(shè)備簡(jiǎn)單、實(shí)現(xiàn)容易等特點(diǎn)。將兩個(gè)同型號(hào)的攝像頭并排固定,保證兩個(gè)攝像頭的成像平面在同一平面,控制其同時(shí)拍照成像,就構(gòu)建了理想的雙目立體視覺系統(tǒng)[1]。理論上,已知世界坐標(biāo)系中某一點(diǎn)在雙目圖像中的位置,以及相機(jī)的內(nèi)參和外參,計(jì)算兩個(gè)點(diǎn)在像素尺寸上的差值,通過三角測(cè)距原理,就能獲取該世界坐標(biāo)系中點(diǎn)相對(duì)于相機(jī)的深度[1]。所以雙目立體視覺的核心問題就是如何獲取任一物理點(diǎn)在雙目圖像中的位置,及立體匹配。立體匹配的方法根據(jù)采用的最優(yōu)化理論方法,主要分為兩大類:局部匹配法和全局匹配法。
局部匹配算法主要對(duì)像素點(diǎn)周圍小范圍區(qū)域進(jìn)行約束,將局部區(qū)域匹配代價(jià)最小或者匹配度最高的視差值作為輸出值,特點(diǎn)是速度快、實(shí)現(xiàn)簡(jiǎn)單、精度高,但是局部匹配算法比較依賴圖像中的紋理和特征,不適合低紋理區(qū)域的匹配,而且對(duì)噪聲非常敏感,不具有魯棒性。
全局匹配算法采用全局優(yōu)化理論方法估計(jì)視差,Zhang Kang設(shè)計(jì)了一種一般化的代價(jià)聚合模型[2],先建立全局的代價(jià)函數(shù),再通過最小化全局代價(jià)函數(shù)得到最優(yōu)視差值作為輸出值,代表性的全局算法有Graph cuts[3,4],belief propagation[5,6],DoubleBP[7]等。用于建立全局立體匹配的能量函數(shù)的方法有很多,包括水平滑動(dòng)的模板匹配窗、最小生成樹[8,9]、色彩權(quán)重[7]等,有些全局匹配方法在能量函數(shù)的建立上并不需要圖像所有點(diǎn)都參與計(jì)算,通常這種做法也被稱為也被稱為并不需要圖像括水平滑動(dòng)的模板匹配窗、最小生成。
本文將使用灰度互信息構(gòu)建能量函數(shù),灰度互信息是一種評(píng)估匹配程度的標(biāo)準(zhǔn),具有計(jì)算量小而且對(duì)光照具有魯棒性的特點(diǎn),優(yōu)化方法將采用多方向的掃描線優(yōu)化,多方向的掃描線可以減少掃描線優(yōu)化所造成的條紋瑕疵。
在信息論中使用熵來(lái)表示隨機(jī)變量的不確定性[10],即變量的信息量,不確定性越強(qiáng)那么熵的值就會(huì)越大,連續(xù)變量的熵公式如下。
圖像的熵則表示為圖像的信息量,在使用255分度的灰度值作為變量值域時(shí),熵表示為離散形式,離散變量的熵公式如下。
圖1 雙目圖與聯(lián)合熵圖
可以把互信息看成由于知道y值而造成的x的不確定性的減小,帶入條件熵的公式,則獲取互信息的熵和聯(lián)合熵的表達(dá)式。
計(jì)算兩幅圖的灰度互信息是比較兩幅圖相似程度的重要指標(biāo),灰度互信息可以在計(jì)算機(jī)系統(tǒng)中構(gòu)建256*256的查詢表,所以使用灰度互信息構(gòu)建每個(gè)像素的代價(jià)函數(shù)可以從256*256的表中查詢對(duì)應(yīng)的代價(jià)值,極大地降低了計(jì)算成本。
連續(xù)系統(tǒng)的熵和聯(lián)合熵為積分形式。
在灰度值只有0-255的圖像系統(tǒng)中,熵和聯(lián)合熵都可以簡(jiǎn)化為離散的求和形式,其中圖像灰度值空間的熵如式(10)。
相似的聯(lián)合熵也有對(duì)應(yīng)的離散表達(dá)式。
加入高斯濾波的熵和聯(lián)合熵的公式如下。
圖2 聯(lián)合熵計(jì)算流程圖
現(xiàn)在就有了圖像中每個(gè)點(diǎn)對(duì)于不同視差值的代價(jià)函數(shù),整體的匹配代價(jià)就是所有像素點(diǎn)代價(jià)的和。如果逐像素點(diǎn)地優(yōu)化每個(gè)像素的代價(jià)函數(shù)使其最小化,將無(wú)法考慮鄰域像素點(diǎn)間的約束,因?yàn)閳D像會(huì)受到光照和噪聲的影響,左右圖對(duì)同一位置的值可能不同,獲得的視差圖可能難以連續(xù)稠密,甚至產(chǎn)生大量誤匹配的情況,所以需要將圖像中像素間的約束加入到代價(jià)計(jì)算的環(huán)節(jié),引入代價(jià)聚合環(huán)節(jié)。
如果不考慮像素間的約束,整體的代價(jià)就等于每個(gè)像素代價(jià)值的簡(jiǎn)單疊加,即下式。
加入了正則化項(xiàng)的代價(jià)聚合函數(shù)如下。
圖3 單方向的掃描線優(yōu)化圖
圖4 多方向的優(yōu)化圖
圖5 WTA原理圖
其中單方向的代價(jià)函數(shù)如下。
在迭代的第一步?jīng)]有可用的視差圖,所以迭代第一步的輸入視差圖可以是任意一張圖,通常的做法是使用一張隨機(jī)圖作為迭代的初始條件,隨機(jī)圖可以保證迭代的第一步可以有效地使代價(jià)下降,使得后面的迭代可以向期望的方向進(jìn)行,程序迭代流程圖如下。
圖6 程序迭代流程圖
因?yàn)榻o定的初始條件不同和雙目圖像內(nèi)容不同,所有每次迭代代價(jià)下降的趨勢(shì)會(huì)有差異,但是通過實(shí)驗(yàn)數(shù)據(jù)觀測(cè),五次迭代后輸出的視差圖就沒有顯著變化,互信息值趨于穩(wěn)定,所以本文實(shí)驗(yàn)選擇相對(duì)保守的迭代次數(shù),所有數(shù)據(jù)集都是迭代優(yōu)化五次的結(jié)果。
本文使用的雙目圖像數(shù)據(jù)集來(lái)自http://vision.middlebury.edu/stereo/eval/,硬件選用AMD Ryzen1600處理器,兩路8G DDR4 2400Hz內(nèi)存,顯卡為GTX1050TI,軟件平臺(tái)為Ubuntu18.04操作系統(tǒng),Cmake編譯器,OpencCV3.2圖像處理框架,未使用并行計(jì)算框架和算法。
圖7 本文實(shí)驗(yàn)結(jié)果的視差圖
圖8 局部匹配算法SAD的視差圖
使用cvkit軟件測(cè)試視差的數(shù)值,除了邊緣誤匹配點(diǎn)和無(wú)效匹配區(qū)域,大部分區(qū)域視差值的誤差很小。
圖10 本文算法使用不同輸出的視差圖
邊緣的誤匹配點(diǎn)的原因有很多,有可能來(lái)自于圖像的噪聲、算法的正則化項(xiàng)、代價(jià)模型等,在保持細(xì)節(jié)和保持完整稠密中本文算法選擇了偏向后者。本文的視差圖都是左視差圖,所以視差圖的左邊區(qū)域會(huì)有大面積無(wú)效區(qū)域,屬于正常情況。
對(duì)于低紋理區(qū)域也能有比較好的效果,基本不會(huì)有局部匹配算法中低紋理區(qū)域匹配出現(xiàn)大面積空洞的情況,這是全局匹配對(duì)于局部匹配最明顯的優(yōu)勢(shì),將全局點(diǎn)都帶入代價(jià)計(jì)算環(huán)節(jié),在代價(jià)聚合環(huán)節(jié)加入鄰域點(diǎn)的約束,讓匹配算法可以像素點(diǎn)視差的計(jì)算考慮到圖像整體的內(nèi)容,除了鄰域點(diǎn)的約束外Qingxiong Yang還提出一種多尺度間的約束方法[8],但是全局匹配的代價(jià)也是巨大的,參與代價(jià)計(jì)算的點(diǎn)會(huì)非常多,而且計(jì)算量會(huì)隨著圖像尺寸指數(shù)型增長(zhǎng),計(jì)算步驟也比較復(fù)雜,計(jì)算成本比較高,所以如果需要投入到實(shí)時(shí)的應(yīng)用場(chǎng)景中,計(jì)算平臺(tái)的優(yōu)化和算法底層的優(yōu)化就會(huì)十分重要。
單一的左圖作為基準(zhǔn)圖右圖作為匹配圖的策略,對(duì)于右圖中的遮攔點(diǎn)無(wú)法很好地估計(jì)視差,會(huì)出現(xiàn)錯(cuò)誤匹配值,甚至是沒有匹配結(jié)果,所以將左右圖對(duì)應(yīng)基準(zhǔn)圖和匹配圖的策略調(diào)整,生成左、右視差圖,然后通過視差圖后處理[11],對(duì)遮攔區(qū)域的點(diǎn)進(jìn)行估計(jì),得到完整的視差圖,這也是立體匹配算法領(lǐng)域中常用的手段,對(duì)于不同的匹配算法可以選擇合適的后處理的方法,用來(lái)解決不同匹配算法的缺陷。
[1] Kaehler Adrian,Bradski Gary. Learning OpenCV3[M].O Reilly Media,2016. 704-710.
[2] Zhang Kang,F(xiàn)ang Yuqiang,Min Dongbo,et al.The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)[C]. 2014. 1590-1597.
[3] Boykov Y,Veksler O,Zabih R.Fast Approximate Energy Minimization via Graph Cuts[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2001,23(11).
[4] Kolmogorov V,Zabih R.Computing Visual Correspondence with Occlusions using Graph Cuts[J].IEEE International Conference on Computer Vision,2001,I:508-515.
[5] Sun J,Zheng N-N,Shum H-Y.Stereo Matching Using Belief Propagation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003,25(7).
[6] Sun J,Li Y,Kang S B,et al. Symmetric Stereo Matching for Occlusion Handling[J].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2005,II:399-406.
[7] Yang Qingxiong,Yang Ruigang.Stereo Matching with Color-Weighted Correlation[J]. Hierarchical Belief Propagation and Occlusion Handling, IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(3).
[8] Yang Qingxiong. A non-local cost aggregation method for stereo matching[C].IEEE Conference on Computer Vision and Pattern Recognition, 2012.26.
[9] Yang Qingxiong. Stereo Matching Using Tree Filtering[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015,37(4).
[10]Bishop Christopher M. pattern recognition and machine learning[M].London: Springer,2011.39-45.
[11]Egnal Geoffrey,Wildes Richard P. Detecting Binocular Half-Occlusions: Empirical Comparisons of Five Approaches[J].Pattern Analysis and Machine Intelligence,2002,24(8):1127-1133.
[12]范海瑞,楊帆,潘旭冉,等. 一種改進(jìn)Census變換與梯度融合的立體匹配算法[J].光學(xué)學(xué)報(bào),2018,(02).
[13]周文暉,林麗莉,顧偉康.一種魯棒的基于互信息的實(shí)時(shí)立體匹配算法[J].傳感技術(shù)學(xué)報(bào),2006,(04).
[14]李金鳳.立體匹配算法的研究[J].黑龍江科技信息,2015,(27).
[15]羅大思,王進(jìn)華.基于雙目視覺的立體匹配算法研究[J].微型機(jī)與應(yīng)用,2016,(20).
Stereo Matching Method based on Mutual Information
DU Si-ao, YIN Ye-an, WU Wen-jun
(School of Mathematics and Computer Science, Wuhan Textile University, Wuhan Hubei 430200, China)
This paper introduces a stereo matching method based on grayscale mutual information, which is used to obtain disparity map from binocular map. In this method, the gray-scale mutual information is used as an index to measure the similarity of the input image, and the cost of the single-pixel point is constructed. Then the constraint of the neighborhood point is added in the cost aggregation, and finally the multi-directional sweep line optimization is used to optimize the cost aggregate function. Repeating the optimization process is to make the output disparity map gradually close to the real situation. This method uses a random graph as the initial state of the iteration, iterates a fixed number of times and output. Gray-scale mutual information as a cost criterion makes the method faster in the calculation of the cost than the general global matching method, and has certain robustness to illumination. The constraint of the domain point makes the disparity map more smooth and dense.
stereo matching; mutual information; cost; optimization
尹業(yè)安(1959-),男,教授,博士,研究方向:模式識(shí)別與計(jì)算機(jī)系統(tǒng)集成.
TP391.4
A
2095-414X(2019)02-0057-08