羅大思,王進(jìn)華
(福州大學(xué) 電氣工程與自動(dòng)化學(xué)院,福建 福州 350108)
?
基于雙目視覺(jué)的立體匹配算法研究
羅大思,王進(jìn)華
(福州大學(xué) 電氣工程與自動(dòng)化學(xué)院,福建 福州 350108)
根據(jù)立體匹配原理,采用雙目攝像頭對(duì)圖像進(jìn)行采集,通過(guò)對(duì)攝像機(jī)的標(biāo)定和圖像立體校正、圖像分割與立體匹配得到最后的視差圖;根據(jù)最后的視差圖以及算法的速度來(lái)評(píng)價(jià)算法的性能。實(shí)驗(yàn)結(jié)果表明,圖像的視差圖十分接近真實(shí)視差圖,效果明顯。
立體匹配;圖像分割;視差
立體匹配用于尋找兩張圖像中對(duì)應(yīng)待求點(diǎn)或待求物體的共軛像點(diǎn),圖像的立體匹配實(shí)質(zhì)上是為了解決同一物體的多幅圖像信息在不同時(shí)間或空間位置下對(duì)應(yīng)匹配像素點(diǎn)的問(wèn)題。傳統(tǒng)的匹配算法對(duì)于弱紋理的區(qū)域、遮擋區(qū)域及光照變化區(qū)域匹配效果都不是很好。本文以VS2012和OpenCV為開(kāi)發(fā)平臺(tái),采用雙目攝像頭,利用MATLAB和OpenCV函數(shù)對(duì)攝像頭進(jìn)行標(biāo)定,采用均值漂移(Mean Shift)對(duì)圖像進(jìn)行分割,利用分割的信息對(duì)圖像進(jìn)行立體匹配,以改善匹配的效果。實(shí)驗(yàn)結(jié)果表明該方法可以提升視差圖的精確度,對(duì)于弱紋理區(qū)域的匹配也有較高的精度,使其更接近真實(shí)視差。
立體匹配的過(guò)程就是在不同的位置對(duì)同一個(gè)場(chǎng)景的兩幅或者多幅圖像,尋找圖像像素之間的對(duì)應(yīng)關(guān)系[2]雙目視覺(jué)中的立體匹配即是對(duì)左圖像中的某像素,在右圖像中尋找與它相同空間點(diǎn)對(duì)應(yīng)的像素問(wèn)題。在立體匹配中,通過(guò)記錄視差值得到視差圖像來(lái)表達(dá)這種對(duì)應(yīng)關(guān)系,而立體匹配的輸出就是視差圖像[3]。立體匹配中會(huì)遇到很多挑戰(zhàn),比如弱紋理區(qū)域匹配的二義性,遮擋區(qū)域視差不連續(xù)處的匹配問(wèn)題、實(shí)時(shí)性問(wèn)題等,對(duì)于其中的一些問(wèn)題,比如匹配精度、弱紋理區(qū)域匹配效果不好等,本文引入圖像分割的方法去改善其匹配效果。
圖像分割的實(shí)質(zhì)就是求取每一個(gè)像素點(diǎn)的類標(biāo)號(hào),它的目的就是將圖像劃分為若干個(gè)子區(qū)域。如不同目標(biāo)物體所占的圖像區(qū)域、前景所占的圖像區(qū)域等[4]?,F(xiàn)在常用的分割方法有:漫水填充法、均值漂移法、分水嶺、金字塔等;由于均值漂移分割方法精度較高,分割效果良好,因此本系統(tǒng)采用均值漂移分割方法[5]。
均值漂移分割步驟:
(1)模點(diǎn)搜索:所謂模點(diǎn),即概率密度的極大值點(diǎn),模點(diǎn)搜索就是將搜索框內(nèi)的像素極大值點(diǎn)賦值給出發(fā)點(diǎn),從而達(dá)到圖像平滑的效果。
第一步:若迭代的次數(shù)達(dá)到默認(rèn)值5次就直接執(zhí)行第四步,否則進(jìn)入下一步
第二步:對(duì)第一步幸存下來(lái)的點(diǎn)計(jì)算重心點(diǎn),并朝重心爬。
第三步:判斷是否概率密度極大值點(diǎn),即模點(diǎn),若是,則停止迭代。
第四步:將模點(diǎn)顏色賦值給出發(fā)點(diǎn)。
(2)合并相似區(qū)域:即將相似模點(diǎn)合并。
3.1 立體匹配步驟
立體匹配算法主要步驟由以下四步組成:匹配代價(jià)的計(jì)算、代價(jià)聚合、視差計(jì)算/優(yōu)化、視差改良。
按照優(yōu)化的方法可以將匹配算法分為局部匹配算法和全局匹配算法,分別執(zhí)行不同的步驟。局部匹配算法:利用局部窗口的信息進(jìn)行匹配代價(jià)的計(jì)算和代價(jià)的聚合,利用WTA策略計(jì)算視差。全局匹配算法:全局匹配算法則是通過(guò)構(gòu)造一個(gè)與視差有關(guān)的能量函數(shù),并優(yōu)化和求解這個(gè)能量函數(shù),使其達(dá)到最小,從而得到最終視差。
3.2 基于圖像分割的全局匹配算法
全局匹配算法核心是能量方程的構(gòu)造與優(yōu)化的過(guò)程,傳統(tǒng)的全局立體匹配方法是以像素為基元進(jìn)行能量方程的構(gòu)造與優(yōu)化,而基于圖像分割的全局算法是以分割塊為基元來(lái)創(chuàng)建和優(yōu)化能量函數(shù)[6]。傳統(tǒng)的能量函數(shù)方程如下:E(D)=Edata(D)+λ(Esmooth(D))
其中D表示視差圖,Edata(D)=∑p∈ΩLc(p,dp),ΩL表示圖像中所有像素的集合,C(p,dp)表示像素p在視差dp下的匹配值,dp是視差圖D中像素p對(duì)應(yīng)的視差。平滑項(xiàng)中的權(quán)值因子λ等于0時(shí)就退化為局部的方法,平滑項(xiàng)同時(shí)關(guān)聯(lián)兩個(gè)像素,而每個(gè)像素視差會(huì)受其他像素的影響,這樣會(huì)導(dǎo)致能量函數(shù)優(yōu)化非常困難,并且對(duì)于弱紋理區(qū)域匹配效果也不好,需要采用其他優(yōu)化方法求近似解。基于分割方法的能量函數(shù)方程如下:
E(F)=Edata(F)+λ(Esmooth(F))
其中:
R是所有分割區(qū)域的集合;S表示某個(gè)分割塊;F是視差平面,由平面方程f構(gòu)成,表示的是所有分割區(qū)域的平面模板分配;C表示分割區(qū)域在視差平面模板下的匹配代價(jià)。對(duì)于分割塊S其對(duì)應(yīng)的平面f可以用f(x,y,a,b,c)=a(x)+b(y)+c=d來(lái)求解其方程,其中x、y表示分割塊內(nèi)的像素坐標(biāo),a、b、c則是平面系數(shù),d表示視差,通過(guò)區(qū)域內(nèi)的像素點(diǎn)的初始視差值來(lái)計(jì)算上述參數(shù)。與傳統(tǒng)的能量函數(shù)相比,新的能量函數(shù)構(gòu)造的優(yōu)點(diǎn)主要體現(xiàn)在: 有較高的計(jì)算效率,因?yàn)榉指顓^(qū)域數(shù)會(huì)明顯小于圖像像素?cái)?shù);顏色的分割區(qū)域用視差平面方程來(lái)描述,可以改進(jìn)弱紋理區(qū)域的匹配效果。
本系統(tǒng)采用的是外接USB口的雙目攝像頭,利用VS2012作為應(yīng)用程序開(kāi)發(fā)平臺(tái),調(diào)用OpenCV函數(shù)庫(kù)來(lái)完成圖像采集、標(biāo)定、分割和匹配的功能,在標(biāo)定的時(shí)候利用MATLAB標(biāo)定工具箱來(lái)輔助標(biāo)定。系統(tǒng)的具體處理過(guò)程為:圖像采集、攝像機(jī)標(biāo)定、立體校正、圖像分割、立體匹配、輸出視差。
圖1 標(biāo)定棋盤(pán)圖
本系統(tǒng)分別采用OpenCV和MATLAB標(biāo)定工具箱分別計(jì)算攝像機(jī)的內(nèi)參和外參,分別對(duì)兩次的標(biāo)定結(jié)果進(jìn)行比較以減小對(duì)后續(xù)實(shí)驗(yàn)的影響。圖1是用來(lái)標(biāo)定攝像頭拍的棋盤(pán)圖像。
標(biāo)定的結(jié)果如下:
左相機(jī):
焦距:fc=[880.897 05 880.500 975]
主點(diǎn)坐標(biāo):cc=[345.777 8 265.974 27]
畸變向量:kc=[0.153 67 0.134 79 -0.001 13 0.000 9 0.000 00]
像素誤差:err=[0.172 42 0.290 22]
右相機(jī):
焦距:fc=[882.051 00 883.746 23]
主點(diǎn)坐標(biāo):cc=[310.907 04 208.242 49]
畸變向量:kc=[0.154 59 0.019 71 -0.020 10 -0.000 57 0.000 00]
像素誤差:err=[0.150 54 0.198 47]
用OpenCV函數(shù)CVCalibrateCamera2()標(biāo)定出來(lái)的結(jié)果如下:
左相機(jī):
焦距:fc=[907.417 04 907.417 04]
主點(diǎn)坐標(biāo):cc=[319.500 0 239.500 0]
畸變向量:kc=[0.126 94 -0.408 89 -0.013 91 -0.008 95 0.000 00]
右相機(jī):
焦距:fc=[907.417 04 907.417 04]
主點(diǎn)坐標(biāo):cc=[319.500 0 239.500 0]
畸變向量:kc=[0.091 106 0.796 77 -0.006 48 0.000 231 0.000 00]
可以發(fā)現(xiàn)兩次標(biāo)定結(jié)果較為接近,可以近似認(rèn)為此次標(biāo)定結(jié)果是比較準(zhǔn)確的。利用上述的標(biāo)定參數(shù),設(shè)定均值漂移參數(shù)空間半徑為2,顏色半徑為40,分割金字塔級(jí)數(shù)為2級(jí),對(duì)比圖2、3實(shí)驗(yàn)結(jié)果:圖2是標(biāo)準(zhǔn)圖像通過(guò)對(duì)比不同算法得到的實(shí)驗(yàn)結(jié)果,圖3是對(duì)弱紋理圖像以不同算法得到的實(shí)驗(yàn)結(jié)果。
圖2 標(biāo)準(zhǔn)圖像視差對(duì)比
圖3 弱紋理圖像視差對(duì)比
理區(qū)域,通過(guò)對(duì)比視差圖可以看出,全局匹配算法對(duì)這個(gè)區(qū)域的匹配效果不好,而本文算法對(duì)此區(qū)域有較大的改進(jìn)。
基于分割的全局匹配算法,對(duì)于匹配的結(jié)果在精度上有提高,對(duì)于一些弱紋理區(qū)域也有很好的匹配效果。但此類算法也有其局限性,比如依賴分割的精度,分割區(qū)域內(nèi)的像素點(diǎn)不一定全部都滿足視差平面方程,引入圖像分割后分割算法的時(shí)間過(guò)長(zhǎng)不適合實(shí)時(shí)場(chǎng)景等,需要進(jìn)一步研究和改進(jìn)。
[1] 毛星云,冷雪飛. OpenCV3編程入門(mén)[M]. 北京:電子工業(yè)出版社,2015.
[2] MATTOCCIA S. Stereo vision algorithms and applications[N].DISI University of Bplogna,2013-01-12.
[3] Yang Qingxiong.Hard-efficient bilateral filtering for stereo matching[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,36(5):1026-1032.
[4] BRADSKI G, KAEHLER A. 學(xué)習(xí)OpenCV[M]. 于仕琪,劉瑞禎,譯. 北京:清華大學(xué)出版社,2009.
[5] 趙榮椿,趙忠明,趙歆波. 數(shù)字圖像處理與分析[M]. 北京:清華大學(xué)出版社,2013.
[6] 朱俊杰,杜小平,范濤濤,等. 三種圖像分割算法的對(duì)比及圖像分割方法的改進(jìn)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2014,31(1):194-200.
The research of stereo matching algorithm based on binocular vision
Luo Dasi, Wang Jinhua
(College of Electrical Engineering and Automation, Fuzhou University, Fuzhou 350108, China)
According to the principle of stereo matching, using binocular cameras for image acquisition, through the camera calibration and stereo image correction, image segmentation and stereo matching, the system finally gets the parallax figure. The result of parallax diagram and the speed of the algorithm are used to evaluate the performance of the algorithm . The experimental results show that the image of the parallax figure is very close to the real parallax figure. Its effect is obvious.
stereo matching;image segmentation;parallax
TP391
A
10.19358/j.issn.1674- 7720.2016.20.013
羅大思,王進(jìn)華. 基于雙目視覺(jué)的立體匹配算法研究[J].微型機(jī)與應(yīng)用,2016,35(20):49-50,53.
2016-07-19)
羅大思(1992-),男,碩士研究生,主要研究方向:計(jì)算機(jī)視覺(jué)。
王進(jìn)華(1963-),男,博士,博士生導(dǎo)師,教授,主要研究方向:魯棒控制、非線性系統(tǒng)控制、嵌入式系統(tǒng)。
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2016年20期