羅大思,,王進(jìn)華
?。ǜV荽髮W(xué) 電氣工程與自動化學(xué)院,福建 福州 350108)
摘要:根據(jù)立體匹配原理,,采用雙目攝像頭對圖像進(jìn)行采集,,通過對攝像機(jī)的標(biāo)定和圖像立體校正、圖像分割與立體匹配得到最后的視差圖,;根據(jù)最后的視差圖以及算法的速度來評價算法的性能,。實(shí)驗(yàn)結(jié)果表明,圖像的視差圖十分接近真實(shí)視差圖,,效果明顯,。
關(guān)鍵詞:立體匹配;圖像分割,;視差
中圖分類號:TP391文獻(xiàn)標(biāo)識碼:ADOI: 10.19358/j.issn.1674 7720.2016.20.013
引用格式:羅大思,,王進(jìn)華. 基于雙目視覺的立體匹配算法研究[J].微型機(jī)與應(yīng)用,2016,35(20):49 50,,53.
0引言
立體匹配用于尋找兩張圖像中對應(yīng)待求點(diǎn)或待求物體的共軛像點(diǎn),圖像的立體匹配實(shí)質(zhì)上是為了解決同一物體的多幅圖像信息在不同時間或空間位置下對應(yīng)匹配像素點(diǎn)的問題,。傳統(tǒng)的匹配算法對于弱紋理的區(qū)域、遮擋區(qū)域及光照變化區(qū)域匹配效果都不是很好,。本文以VS2012和OpenCV為開發(fā)平臺,,采用雙目攝像頭,利用MATLAB和OpenCV函數(shù)對攝像頭進(jìn)行標(biāo)定,,采用均值漂移(Mean Shift)對圖像進(jìn)行分割,,利用分割的信息對圖像進(jìn)行立體匹配,以改善匹配的效果,。實(shí)驗(yàn)結(jié)果表明該方法可以提升視差圖的精確度,,對于弱紋理區(qū)域的匹配也有較高的精度,使其更接近真實(shí)視差,。
1立體匹配原理
立體匹配的過程就是在不同的位置對同一個場景的兩幅或者多幅圖像,,尋找圖像像素之間的對應(yīng)關(guān)系[2]雙目視覺中的立體匹配即是對左圖像中的某像素,在右圖像中尋找與它相同空間點(diǎn)對應(yīng)的像素問題,。在立體匹配中,,通過記錄視差值得到視差圖像來表達(dá)這種對應(yīng)關(guān)系,而立體匹配的輸出就是視差圖像[3],。立體匹配中會遇到很多挑戰(zhàn),,比如弱紋理區(qū)域匹配的二義性,,遮擋區(qū)域視差不連續(xù)處的匹配問題、實(shí)時性問題等,,對于其中的一些問題,,比如匹配精度、弱紋理區(qū)域匹配效果不好等,,本文引入圖像分割的方法去改善其匹配效果,。
2圖像分割
圖像分割的實(shí)質(zhì)就是求取每一個像素點(diǎn)的類標(biāo)號,它的目的就是將圖像劃分為若干個子區(qū)域,。如不同目標(biāo)物體所占的圖像區(qū)域,、前景所占的圖像區(qū)域等[4]。現(xiàn)在常用的分割方法有:漫水填充法,、均值漂移法,、分水嶺、金字塔等,;由于均值漂移分割方法精度較高,,分割效果良好,因此本系統(tǒng)采用均值漂移分割方法[5],。
均值漂移分割步驟:
?。?)模點(diǎn)搜索:所謂模點(diǎn),即概率密度的極大值點(diǎn),,模點(diǎn)搜索就是將搜索框內(nèi)的像素極大值點(diǎn)賦值給出發(fā)點(diǎn),,從而達(dá)到圖像平滑的效果。
第一步:若迭代的次數(shù)達(dá)到默認(rèn)值5次就直接執(zhí)行第四步,,否則進(jìn)入下一步
第二步:對第一步幸存下來的點(diǎn)計(jì)算重心點(diǎn),,并朝重心爬。
第三步:判斷是否概率密度極大值點(diǎn),,即模點(diǎn),若是,,則停止迭代,。
第四步:將模點(diǎn)顏色賦值給出發(fā)點(diǎn)。
?。?)合并相似區(qū)域:即將相似模點(diǎn)合并,。
3立體匹配
3.1立體匹配步驟
立體匹配算法主要步驟由以下四步組成:匹配代價的計(jì)算、代價聚合,、視差計(jì)算/優(yōu)化,、視差改良。
按照優(yōu)化的方法可以將匹配算法分為局部匹配算法和全局匹配算法,,分別執(zhí)行不同的步驟,。局部匹配算法:利用局部窗口的信息進(jìn)行匹配代價的計(jì)算和代價的聚合,,利用WTA策略計(jì)算視差。全局匹配算法:全局匹配算法則是通過構(gòu)造一個與視差有關(guān)的能量函數(shù),,并優(yōu)化和求解這個能量函數(shù),,使其達(dá)到最小,從而得到最終視差,。
3.2基于圖像分割的全局匹配算法
全局匹配算法核心是能量方程的構(gòu)造與優(yōu)化的過程,,傳統(tǒng)的全局立體匹配方法是以像素為基元進(jìn)行能量方程的構(gòu)造與優(yōu)化,而基于圖像分割的全局算法是以分割塊為基元來創(chuàng)建和優(yōu)化能量函數(shù)[6],。傳統(tǒng)的能量函數(shù)方程如下:
其中D表示視差圖,,Edata(D)=∑p∈ΩLc(p,dp),ΩL表示圖像中所有像素的集合,C(p,dp)表示像素p在視差dp下的匹配值,dp是視差圖D中像素p對應(yīng)的視差,。平滑項(xiàng)中的權(quán)值因子λ等于0時就退化為局部的方法,,平滑項(xiàng)同時關(guān)聯(lián)兩個像素,而每個像素視差會受其他像素的影響,這樣會導(dǎo)致能量函數(shù)優(yōu)化非常困難,,并且對于弱紋理區(qū)域匹配效果也不好,,需要采用其他優(yōu)化方法求近似解?;诜指罘椒ǖ哪芰亢瘮?shù)方程如下:
其中:
R是所有分割區(qū)域的集合,;S表示某個分割塊;F是視差平面,,由平面方程f構(gòu)成,,表示的是所有分割區(qū)域的平面模板分配;C表示分割區(qū)域在視差平面模板下的匹配代價,。對于分割塊S其對應(yīng)的平面f可以用f(x,y,a,b,c)=a(x)+b(y)+c=d來求解其方程,,其中x、y表示分割塊內(nèi)的像素坐標(biāo),,a,、b、c則是平面系數(shù),d表示視差,,通過區(qū)域內(nèi)的像素點(diǎn)的初始視差值來計(jì)算上述參數(shù),。與傳統(tǒng)的能量函數(shù)相比,新的能量函數(shù)構(gòu)造的優(yōu)點(diǎn)主要體現(xiàn)在: 有較高的計(jì)算效率,,因?yàn)榉指顓^(qū)域數(shù)會明顯小于圖像像素數(shù),;顏色的分割區(qū)域用視差平面方程來描述,可以改進(jìn)弱紋理區(qū)域的匹配效果,。
4實(shí)驗(yàn)平臺
本系統(tǒng)采用的是外接USB口的雙目攝像頭,,利用VS2012作為應(yīng)用程序開發(fā)平臺,調(diào)用OpenCV函數(shù)庫來完成圖像采集、標(biāo)定,、分割和匹配的功能,,在標(biāo)定的時候利用MATLAB標(biāo)定工具箱來輔助標(biāo)定。系統(tǒng)的具體處理過程為:圖像采集,、攝像機(jī)標(biāo)定,、立體校正、圖像分割,、立體匹配,、輸出視差。
5實(shí)驗(yàn)結(jié)果
圖1標(biāo)定棋盤圖本系統(tǒng)分別采用OpenCV和MATLAB標(biāo)定工具箱分別計(jì)算攝像機(jī)的內(nèi)參和外參,,分別對兩次的標(biāo)定結(jié)果進(jìn)行比較以減小對后續(xù)實(shí)驗(yàn)的影響,。
標(biāo)定的結(jié)果如下:
左相機(jī):
焦距:fc=[880.897 05880.500 975]
主點(diǎn)坐標(biāo):cc=[345.777 8265.974 27]
畸變向量:kc=[0.153 670.134 79-0.001 130.000 90.000 00]
像素誤差:err=[0.172 420.290 22]
右相機(jī):
焦距:fc=[882.051 00883.746 23]
主點(diǎn)坐標(biāo):cc=[310.907 04208.242 49]
畸變向量:kc=[0.154 590.019 71-0.020 10-0.000 570.000 00]
像素誤差:err=[0.150 540.198 47]
用OpenCV函數(shù)CVCalibrateCamera2()標(biāo)定出來的結(jié)果如下:
左相機(jī):
焦距:fc=[907.417 04907.417 04]
主點(diǎn)坐標(biāo):cc=[319.500 0239.500 0]
畸變向量:kc=[0.126 94-0.408 89-0.013 91-0.008 950.000 00]
右相機(jī):
焦距:fc=[907.417 04907.417 04]
主點(diǎn)坐標(biāo):cc=[319.500 0239.500 0]
畸變向量:kc=[0.091 1060.796 77-0.006 480.000 2310.000 00]
可以發(fā)現(xiàn)兩次標(biāo)定結(jié)果較為接近,可以近似認(rèn)為此次標(biāo)定結(jié)果是比較準(zhǔn)確的,。利用上述的標(biāo)定參數(shù),,設(shè)定均值漂移參數(shù)空間半徑為2,顏色半徑為40,,分割金字塔級數(shù)為2級,,對比圖2、3實(shí)驗(yàn)結(jié)果:圖2是標(biāo)準(zhǔn)圖像通過對比不同算法得到的實(shí)驗(yàn)結(jié)果,,圖3是對弱紋理圖像以不同算法得到的實(shí)驗(yàn)結(jié)果,。
對比本文算法和全局匹配算法的視差圖與真實(shí)視差圖可以看出,本文算法在細(xì)節(jié)輪廓上更接近真實(shí)視差圖,,比原始算法的視差圖更為精確,,特別是圖3中的梯形弱紋理區(qū)域,通過對比視差圖可以看出,,全局匹配算法對這個區(qū)域的匹配效果不好,,而本文算法對此區(qū)域有較大的改進(jìn)。
圖3弱紋理圖像視差對比
6結(jié)論
基于分割的全局匹配算法,,對于匹配的結(jié)果在精度上有提高,,對于一些弱紋理區(qū)域也有很好的匹配效果。但此類算法也有其局限性,,比如依賴分割的精度,,分割區(qū)域內(nèi)的像素點(diǎn)不一定全部都滿足視差平面方程,引入圖像分割后分割算法的時間過長不適合實(shí)時場景等,,需要進(jìn)一步研究和改進(jìn)。
參考文獻(xiàn)
?。?] 毛星云,冷雪飛. OpenCV3編程入門[M]. 北京:電子工業(yè)出版社,,2015.
[2] MATTOCCIA S. Stereo vision algorithms and applications[N].DISI University of Bplogna,2013-01-12.
[3] Yang Qingxiong.Hardefficient bilateral filtering for stereo matching[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,36(5):1026-1032.
?。?] BRADSKI G, KAEHLER A. 學(xué)習(xí)OpenCV[M]. 于仕琪,,劉瑞禎,譯. 北京:清華大學(xué)出版社,,2009.
?。?] 趙榮椿,趙忠明,,趙歆波. 數(shù)字圖像處理與分析[M]. 北京:清華大學(xué)出版社,,2013.
[6] 朱俊杰,,杜小平,,范濤濤,等. 三種圖像分割算法的對比及圖像分割方法的改進(jìn)[J]. 計(jì)算機(jī)應(yīng)用與軟件,,2014,,31(1):194-200.