董惠心+任鵬+余興瑞+王廷偉
摘 要: 提出一種基于“客觀度量”和“深度學(xué)習(xí)”共同驅(qū)動(dòng)的立體匹配方法,互補(bǔ)“度量”和“學(xué)習(xí)”特征,提升立體匹配視差圖的精度。將基于灰度差絕對(duì)和(SAD)與灰度梯度差絕對(duì)和(GRAD)兩類算子的客觀計(jì)算特征和基于數(shù)據(jù)驅(qū)動(dòng)的深度學(xué)習(xí)特征進(jìn)行加權(quán)融合,構(gòu)建匹配代價(jià)模型;采用引導(dǎo)濾波器對(duì)匹配代價(jià)進(jìn)行聚合;通過(guò)勝者全贏算法得到初始視差圖;最后,運(yùn)用左右一致性校驗(yàn)和加權(quán)中值濾波器優(yōu)化視差圖,去除誤匹配點(diǎn),得到最優(yōu)視差圖。在Middlebury立體匹配評(píng)估平臺(tái)上的測(cè)試實(shí)驗(yàn)表明,所提算法能有效降低視差圖平均絕對(duì)誤差和均方根誤差。
關(guān)鍵詞: 立體匹配; 深度學(xué)習(xí); 特征融合; 引導(dǎo)濾波器; 勝者全贏算法; 視差圖
中圖分類號(hào): TN911.73?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)01?0062?05
Abstract: A novel stereo matching approach based on objective measurement and deep learning is proposed to complement the features of measurement and learning, and improve the accuracy of stereo matching parallax map. The weight fusion is performed for the objective computing feature based on the sum of absolute intensity differences (SAD) and sum of grayscale gradient absolute differences (GRAD), and the deep learning feature based on data driver to construct the matching cost model. The guiding filter is used to aggregate the matching costs. The initial parallax map is obtained by means of the winner?take?all (WTA) algorithm. The left?right consistency check and weighted median filter are adopted to optimize the parallax map, remove the mismatching points, and get the optimal parallax map. The stereo matching approach was tested on Middlebury stereo matching evaluation platform. The experimental results demonstrate that the proposed approach can reduce the average absolute error and root?mean?square error of the parallax map greatly.
Keywords: stereo matching; deep learning; feature fusion; guiding filter; WTA algorithm; parallax map
0 引 言
立體匹配旨在通過(guò)二維圖像信息重構(gòu)出三維場(chǎng)景,是計(jì)算機(jī)視覺(jué)研究領(lǐng)域的關(guān)鍵課題之一。立體匹配已被廣泛應(yīng)用在機(jī)器人視覺(jué)、無(wú)人車自主導(dǎo)航、航空航天探測(cè)、三維表面建模、三維目標(biāo)識(shí)別等領(lǐng)域[1?2]。立體匹配算法[2]通常按4個(gè)步驟進(jìn)行:匹配代價(jià)計(jì)算、匹配代價(jià)聚合、初始視差計(jì)算、視差圖后續(xù)優(yōu)化處理。文獻(xiàn)[3]將立體匹配算法劃分為局部匹配算法和全局匹配算法。常用的全局匹配算法有圖割法[4]、置信傳播法[5]、動(dòng)態(tài)規(guī)劃法[6]等。全局匹配算法匹配精度高,但計(jì)算復(fù)雜,實(shí)時(shí)性差。局部匹配算法也稱基于窗口的立體匹配算法,其側(cè)重點(diǎn)在于匹配代價(jià)計(jì)算和匹配代價(jià)聚合。局部匹配算法計(jì)算復(fù)雜度低,運(yùn)行速度快,但匹配精度不及全局匹配算法。因此,提升局部匹配算法的精度是目前立體匹配研究中的重要課題。
局部匹配算法中的差異度量函數(shù)(或相似性度量函數(shù))決定著匹配代價(jià)計(jì)算的準(zhǔn)確性,因此匹配精度在很大程度上依賴于差異度量函數(shù)(或相似性度量函數(shù))的特性。常用的差異度量函數(shù)有灰度差平方和(the Sum of Squared Intensity Differences,SSD)[7]、灰度差絕對(duì)和(Sum of Absolute Intensity Differences,SAD)[8?9]等。SAD計(jì)算簡(jiǎn)單高效,易于硬件實(shí)現(xiàn),但該算法是基于像素灰度值的差異度量,因而對(duì)攝像機(jī)自身偏差或光強(qiáng)度變化引起的圖像對(duì)失真較為敏感。文獻(xiàn)[10]提出的基于梯度的差異度量受圖像對(duì)失真影響較小,魯棒性好,但此度量函數(shù)僅考慮了梯度的幅值信息,幅值信息容易受輸入圖像對(duì)增益失真的影響,進(jìn)而造成匹配誤差。文獻(xiàn)[11]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于立體匹配算法中,用于匹配代價(jià)計(jì)算。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種端到端的網(wǎng)絡(luò)結(jié)構(gòu),能夠充分利用輸入圖像的二維結(jié)構(gòu)及其統(tǒng)計(jì)特性來(lái)提取圖像特征,但是僅由卷積神經(jīng)網(wǎng)絡(luò)輸出作為相似性度量函數(shù)來(lái)計(jì)算匹配代價(jià),不能準(zhǔn)確得出稠密視差圖,該方法在處理低紋理和遮擋區(qū)域存在一定誤差。
為克服上述差異度量函數(shù)(或相似性度量函數(shù))中出現(xiàn)的問(wèn)題,并且進(jìn)一步提高匹配代價(jià)計(jì)算準(zhǔn)確性,本文提出一種基于“客觀度量”和“深度學(xué)習(xí)”共同驅(qū)動(dòng)的立體匹配方法。首先,將SAD和灰度梯度差絕對(duì)和(Gradient Absolute Difference,GRAD)兩類客觀計(jì)算特征和基于數(shù)據(jù)驅(qū)動(dòng)深度學(xué)習(xí)的相似度特征進(jìn)行加權(quán)融合,構(gòu)建匹配代價(jià)模型;然后,采用引導(dǎo)濾波器[12]對(duì)匹配代價(jià)進(jìn)行聚合;最后,用勝者全贏(Winner?Take?All, WTA)算法求出初始視差,通過(guò)左右一致性校驗(yàn)和加權(quán)中值濾波方法處理得到最優(yōu)視差圖。endprint
1 基于“客觀度量”和“深度學(xué)習(xí)”共同驅(qū)動(dòng)的立
體匹配方法
1.1 基于客觀度量的匹配代價(jià)
SAD是局部匹配方法中常用的一種差異度量函數(shù),因其運(yùn)算簡(jiǎn)單高效而被廣泛運(yùn)用于匹配代價(jià)的計(jì)算中。SAD匹配代價(jià)的公式如下:
[CSADp,d=i,j∈NpI1i,j-I2i+d,j] (1)
式中:[I1]和[I2]分別表示左右圖像灰度信息;[Np]表示以像素點(diǎn)[p]為中心的窗口。
在圖像對(duì)匹配過(guò)程中,存在一些深度不同,但灰度相近的區(qū)域。SAD無(wú)法區(qū)分上述區(qū)域,會(huì)造成視差誤匹配?;谔荻鹊牟町惗攘磕茉谝欢ǔ潭壬峡朔@類問(wèn)題,GRAD匹配代價(jià)公式如下:
[CGRADp,d=i,j∈Nxp?xI1i,j-?xI2i+d,j+i,j∈Nyp?yI1i,j-?yI2i+d,j] (2)
式中[?x]和[?y]分別為水平和垂直方向梯度算子。
基于客觀度量的匹配代價(jià)計(jì)算往往運(yùn)用特定的算子(例如差算子、梯度算子等)進(jìn)行左右視圖的特征提取,用于求取規(guī)則客觀的局部特征。然而,特定算子遵循確定的計(jì)算模式獲得的局部特征,忽略了視圖景象的全局布局。同時(shí),特定算子對(duì)所有數(shù)據(jù)進(jìn)行無(wú)差別操作,對(duì)數(shù)據(jù)多樣性特點(diǎn)適應(yīng)性不足,在場(chǎng)景與環(huán)境條件變化時(shí)魯棒性差。
1.2 基于深度學(xué)習(xí)的匹配代價(jià)
CNN在多層神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上發(fā)展而來(lái),包含卷積層、全連接層、池化層,此結(jié)構(gòu)使得卷積神經(jīng)網(wǎng)絡(luò)能夠充分利用輸入數(shù)據(jù)的二維結(jié)構(gòu)。本文匹配代價(jià)的計(jì)算參考Siamese網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)訓(xùn)練出的卷積神經(jīng)網(wǎng)絡(luò)判斷已知真實(shí)視差值的圖像對(duì)之間的匹配程度[11],并以此得到相似性度量函數(shù)來(lái)計(jì)算匹配代價(jià),過(guò)程如圖1所示。
卷積神經(jīng)網(wǎng)絡(luò)通過(guò)局部感受野來(lái)提取圖像初級(jí)特征信息,對(duì)局部特征信息綜合進(jìn)而得到全局特征信息。圖1中的Siamese網(wǎng)絡(luò)結(jié)構(gòu)輸入分別為參考圖像和匹配圖像上選取的[n×n]大小的圖像塊,經(jīng)過(guò)若干以修正線性單元(Rectified Linear Units,ReLU)為激活函數(shù)的卷積層提取出復(fù)雜性特征,并對(duì)得到的結(jié)果進(jìn)行綜合,再經(jīng)過(guò)若干以修正線性單元(ReLU)為激活函數(shù)的全連接層,最后經(jīng)過(guò)由全連接層和Sigmoid激活函數(shù)構(gòu)成的輸出層得到輸出結(jié)果。
基于圖1中網(wǎng)絡(luò)的輸出來(lái)計(jì)算圖像對(duì)之間的匹配代價(jià),公式如下:
[CCNNp,d=-s(
式中[s(
基于深度卷積神經(jīng)網(wǎng)絡(luò)的匹配代價(jià)計(jì)算方法能夠充分利用輸入圖像的全部信息,不需要考慮傳統(tǒng)局部匹配算法中支持窗口選取等問(wèn)題,對(duì)于數(shù)據(jù)的適應(yīng)性強(qiáng)。但是,深度模型完全依賴數(shù)據(jù)驅(qū)動(dòng),忽視了獨(dú)立于數(shù)據(jù)的客觀度量,容易由數(shù)據(jù)異常值造成計(jì)算偏差。
1.3 基于“度量”和“學(xué)習(xí)”特征融合的匹配代價(jià)
針對(duì)“客觀度量”和“深度學(xué)習(xí)”在匹配代價(jià)計(jì)算中的各自特點(diǎn)和不足,將兩類方法互補(bǔ),得到特征加權(quán)融合的匹配代價(jià),計(jì)算公式如下:
[Cp,d=α1?minCSADp,d,τ1+ α2?minCGRADp,d,τ2+ α3? CCNNp,d ] (4)
式中:[α1,][α2,][α3]是能夠平衡式中三項(xiàng)關(guān)系的平衡參數(shù),[α1+α2+α3=1;][τ1]和[τ2]為對(duì)應(yīng)顏色和梯度的截?cái)嘀担籟CSAD]和[CGRAD]是客觀度量特征,用以彌補(bǔ)[CCNN]中數(shù)據(jù)異常值造成的代價(jià)偏差;[CCNN]是深度學(xué)習(xí)特征,用于增強(qiáng)[CSAD]和[CGRAD]客觀度量對(duì)于多樣數(shù)據(jù)和環(huán)境條件的適應(yīng)性。兩類特征互為補(bǔ)充,得到魯棒性強(qiáng)的特征融合匹配代價(jià)。
1.4 基于引導(dǎo)濾波的匹配代價(jià)聚合
為了能夠使得到的初始視差圖包含更多的邊緣信息,從而得到稠密視差圖,本文使用引導(dǎo)濾波方法對(duì)匹配代價(jià)進(jìn)行聚合[13],定義如下:
[Cp,d=q∈NpWp,q?Cq,d] (5)
式中[Wp,q]為濾波器權(quán)重,定義引導(dǎo)濾波器權(quán)重為:
[Wp,qI=1ω2k: p,q∈ωk1+Ip-μkIq-μkσ2k+ε] (6)
式中:[μk]和[σ2k]是[I]以[k]為中心,[2r+1×2r+1]維窗口[ωk]中的平均值和協(xié)方差矩陣;[ω]是窗口[ωk]中像素的數(shù)量;[ε]為平滑參數(shù)。
引導(dǎo)濾波器具有保持圖像邊緣,平滑噪聲的特點(diǎn),能夠有效克服圖像邊緣梯度反轉(zhuǎn)現(xiàn)象,在引導(dǎo)濾波器作用下,可以使得輸出圖像包含豐富的邊緣信息,提高初始視差計(jì)算的準(zhǔn)確性。
1.5 初始視差計(jì)算及后續(xù)處理
匹配代價(jià)聚合后,利用勝者全贏(WTA)算法在視差范圍內(nèi)選取匹配代價(jià)聚合后最優(yōu)的點(diǎn),得出初始視差圖,公式如下:
[d*=argmind∈DCp,d] (7)
式中:[D]表示視差搜索范圍[dmin,…,dmax]。
通過(guò)左右一致性校驗(yàn)和加權(quán)中值濾波方法對(duì)初始視差圖進(jìn)行優(yōu)化。左右一致性校驗(yàn)是以左右兩幅輸入圖像為基準(zhǔn),分別得到左右兩幅視差圖,對(duì)于左圖中的任意一點(diǎn)[p,]求得的視差值為[d1,][p]點(diǎn)在右圖中的對(duì)應(yīng)點(diǎn)為[p+d1],求得視差為[d2]。由于[d1]和[d2]為一組對(duì)應(yīng)視差值,因而應(yīng)該有[d1=d2,]然而在圖像像素點(diǎn)匹配過(guò)程中,某些弱紋理區(qū)域圖像信噪比低,得到的視差圖出現(xiàn)誤匹配點(diǎn),因此使用下式得到去除誤匹配點(diǎn)的視差圖[14]:
[Dp=d1+d22,0, d1-d2≤1其他] (8)
誤匹配點(diǎn)去除后,得到存在孤立點(diǎn)的不完整視差圖,通過(guò)加權(quán)中值濾波方法可以填充視差圖上不完整的像素點(diǎn),有效改善弱紋理區(qū)域和遮擋區(qū)域的誤匹配。加權(quán)中值濾波器權(quán)重為:
[Wbfp,q=1Kpexp-p-q2σ2sexp-Ip-Iq2σ2c] (9)
式中:[Kp]為歸一化系數(shù);[σs]和[σc]是能夠控制空間域和值域的權(quán)重因子,防止衰減程度過(guò)大或過(guò)小。
綜上所述,本文所提算法流程圖如圖2所示。
2 實(shí)驗(yàn)結(jié)果和分析
本文使用Middlebury版本3[15]提供的圖像,對(duì)本文算法性能進(jìn)行測(cè)試。以訓(xùn)練數(shù)據(jù)集圖像的非遮擋區(qū)域平均絕對(duì)誤差(avgErr)和均方根誤差(rms)作為度量標(biāo)準(zhǔn)進(jìn)行比較。分別以Costfilter[13]、MC?CNN?art[11]、 CNNcost、本文算法作為對(duì)比。其中,CNNcost算法利用文獻(xiàn)[11]中卷積神經(jīng)網(wǎng)絡(luò)輸出的相似性度量函數(shù)為匹配代價(jià)計(jì)算模型,其他步驟與本文算法一致。實(shí)驗(yàn)結(jié)果如下:
圖3表示Costfilter、MC?CNN?art、CNNcost以及本文算法分別在不同度量標(biāo)準(zhǔn)(非遮擋區(qū)域的平均絕對(duì)誤差(avgErr)和均方根誤差(rms))下的平均權(quán)重(Avg)對(duì)比圖。在同一度量標(biāo)準(zhǔn)下平均權(quán)重(Avg)越小,說(shuō)明算法性能越好。從圖3中可以看出本文算法的平均權(quán)重(Avg)在兩種不同度量標(biāo)準(zhǔn)下均比Costfilter算法小,說(shuō)明本文算法處理非遮擋區(qū)域的平均絕對(duì)誤差(avgErr)和均方根誤差(rms)優(yōu)于Costfilter算法。
圖4,圖5分別表示Costfilter、MC?CNN?art、CNNcost以及本文算法在非遮擋區(qū)域平均絕對(duì)誤差(avgErr)和均方根誤差(rms)對(duì)比圖,圖中以訓(xùn)練集15幅圖結(jié)果為例。對(duì)于同一幅圖像,不同算法處理得到的平均絕對(duì)誤差(avgErr)和均方根誤差(rms)越小,說(shuō)明算法匹配精度越高。
圖6,圖7分別表示Costfilter算法與本文算法在非遮擋區(qū)域平均絕對(duì)誤差(avgErr)和均方根誤差(rms)對(duì)比圖。從圖中標(biāo)識(shí)出的紅框區(qū)域可以看出,本文算法在處理邊緣和噪聲方面優(yōu)于Costfilter算法。
3 結(jié) 語(yǔ)
本文提出的基于“客觀度量”和“深度學(xué)習(xí)”共同驅(qū)動(dòng)的立體匹配方法,通過(guò)融合“度量特征”和“學(xué)習(xí)特征”,構(gòu)建魯棒性高的新的匹配代價(jià)模型。利用Middlebury立體匹配評(píng)估平臺(tái)對(duì)本文算法進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果表明本文算法在平均絕對(duì)誤差和均方根誤差方面均小于Costfilter等前沿的立體匹配算法,進(jìn)而驗(yàn)證了通過(guò)特征融合計(jì)算匹配代價(jià)的有效性。
參考文獻(xiàn)
[1] ZITNICK C L, KANG S B. Stereo for image?based rendering using image over?segmentation [J]. International journal of computer vision, 2007, 75(1): 49?65.
[2] 孫文健,肖渤濤,駱春波,等.一種基于PandaBoard的運(yùn)動(dòng)物體檢測(cè)系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(2):104?107.
SUN Wenjian, XIAO Botao, LUO Chunbo. Design of a moving object detection system based on PandaBoard [J]. Modern electronics technique, 2015, 38(2): 104?107.
[3] SCHARSTEIN D, SZELISKI R. A taxonomy and evaluation of dense two?frame stereo correspondence algorithms [J]. International journal of computer vision, 2002, 47(1/3): 7?42.
[4] 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): 1222?1239.
[5] FELZENSZWALB P F, HUTTENLOCHER D P. Efficient belief propagation for early vision [J]. International journal of computer vision, 2006, 70(1): 41?54.
[6] FORSTMANN S, KANOU Y, OHYA J, et al. Real?time stereo by using dynamic programming [C]// Proceedings of 2004 Conference on Computer Vision and Pattern Recognition Workshop. Washington DC: IEEE, 2004: 29.
[7] KLAUS A, SORMANN M, KARNER K. Segment?based stereo matching using belief propagation and a self?adapting dissimilarity measure [C]// Proceedings of the 18th International Conference on Pattern Recognition. Hongkong, China: IEEE, 2006: 15?18.endprint
[8] KANADE T, KANO H, KIMURA S, et al. Development of a video?rate stereo machine [C]// Proceedings of 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems. Pittsburgh: IEEE, 1995: 3095?4100.
[9] 何人杰.雙目立體視覺(jué)區(qū)域局部匹配算法的改進(jìn)及其實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009,32(12):68?70.
HE Renjie. Improvement of regional related match algorithm for binocular stereo vision and its implementation [J]. Modern electronics technique, 2009, 32(12): 68?70.
[10] SCHARSTEIN D. Matching images by comparing their gradient fields [C]// Proceedings of 1994 the 12th IAPR International Conference on Pattern Recognition. Jerusalem: IEEE, 1994: 572?575.
[11] ZBONTAR J, LECUN Y. Stereo matching by training a convolutional neural network to compare image patches [J]. Journal of machine learning research, 2016, 17: 1?32.
[12] HE K, SUN J, TANG X. Guided image filtering [J]. IEEE transactions on pattern analysis and machine intelligence, 2013, 35(6): 1397?1409.
[13] HOSNI A, RHEMANN C, BLEYER M, et al. Fast cost?volume filtering for visual correspondence and beyond [J]. IEEE tran?sactions on pattern analysis and machine intelligence, 2013, 35(2): 504?511.
[14] 張浩峰,趙春霞.一種利用動(dòng)態(tài)規(guī)劃和左右一致性的立體匹配算法[J].中國(guó)圖象圖形學(xué)報(bào),2008(4):756?760.
ZHANG Haofeng, ZHAO Chunxia. A stereo matching algorithm using dynamic programming and left?right consistency [J]. Journal of image and graphics, 2008(4): 756?760.
[15] SCHARSTEIN D, SZELISKI R. The Middlebury stereo vision page [EB/OL]. [2014?10?23]. http://vision.middlebury.edu/stereo/eval3/,2014.endprint