摘 要: 在研究區(qū)域匹配算法和特征匹配算法的基礎(chǔ)上,,提出了改進的基于視差梯度的區(qū)域匹配算法和基于尺度不變性的Harris角點特征匹配算法,,并進一步利用互補策略將兩種算法結(jié)合起來,提出了一種區(qū)域和特征匹配相結(jié)合的立體匹配算法,,該算法具有速度快,、精度高和魯棒性強等優(yōu)點。利用該算法提取視差圖,,進而提取深度圖,,最后利用OpenGL進行三維重建,,獲得了良好的重建效果。
關(guān)鍵詞: 視差梯度,;尺度不變性,;互補策略;OpenGL
三維重建技術(shù)是計算機視覺,、人工智能,、虛擬現(xiàn)實等前沿領(lǐng)域的熱點和難點,也是人類在基礎(chǔ)研究和應(yīng)用研究中面臨的重大挑戰(zhàn)之一[1],?;陔p目立體視覺的三維重建技術(shù)在機器人視覺、工業(yè)制造以及醫(yī)學(xué)影像診斷等多個領(lǐng)域具有廣闊的應(yīng)用前景,。
基于雙目立體視覺的三維重建技術(shù)的首要條件是對左右圖像對進行立體匹配從而獲得高質(zhì)量的視差圖像,。在獲取視差圖像后,通過計算這些視差圖像上對應(yīng)點之間的視差提取出場景的深度,,得到反映空間物體縱深關(guān)系的深度圖像,,最后利用OpenGL進行三維重建。
本文在對經(jīng)典的區(qū)域匹配和特征匹配算法進行研究的基礎(chǔ)上對算法進行改進,,并將兩種算法結(jié)合起來提出新的立體匹配算法,。利用該算法提取出質(zhì)量較好的視差圖,然后利用平行雙目視覺三角測量原理來計算物體深度值進而獲得物體的深度圖像,,獲得了良好的深度圖像,,最后利用OpenGL對深度數(shù)據(jù)進行三維重建,取得了較好的重建效果,。
1 基于雙目立體視覺的視差圖像提取
提取高質(zhì)量的視差圖像是基于雙目立體視覺的三維重建技術(shù)的首要條件[2],。立體匹配算法的實質(zhì)是在匹配基元相似性準(zhǔn)則下的最佳搜索問題。根據(jù)匹配基元的不同,,目前的立體匹配算法可分為基于區(qū)域的匹配算法,、基于特征的匹配算法和基于相位的匹配算法3類。本文重點研究區(qū)域匹配與特征匹配算法,。
1.1 區(qū)域匹配算法研究及改進
根據(jù)區(qū)域匹配算法的原理可知,,計算匹配代價以及對匹配代價進行累積是區(qū)域匹配算法的重點[3]。本文從測度函數(shù)以及窗口大小的選擇兩方面進行改進,,提出一種新的基于視差梯度的區(qū)域匹配算法,。
在區(qū)域匹配算法中,當(dāng)圖像對中存在像素的灰度分布與常態(tài)不同的點或者是有很大的噪聲時,,常用的測度函數(shù)在匹配中就會產(chǎn)生誤匹配[4],。本文采用一種新的函數(shù)作為相似性測度函數(shù)來解決該問題,該函數(shù)的表達式及其導(dǎo)數(shù)的表達式為:
采用改進的Harris檢測算子從位置和尺度上提取具有尺度不變性的角點之后,,接下來就要為每個Harris角點構(gòu)造特征描述子即特征向量,。這樣,,特征匹配算法就轉(zhuǎn)化為利用測度函數(shù)來判斷特征向量的相似程度從而確定所提取的角點是否就是匹配的。在具體實現(xiàn)時,,為了進一步減少匹配誤差,,采用雙向匹配的策略。
1.3 區(qū)域和特征匹配相結(jié)合算法的研究
基于視差梯度的區(qū)域匹配算法能夠半自適應(yīng)地選擇匹配窗口,,而且搜索范圍的減少使得匹配的速度提高了,,但是區(qū)域匹配算法的特點還是決定了該算法具有對輻射畸變及仿射畸變較敏感、計算量大以及速度較慢等缺陷,;而基于尺度不變特征的Harris角點特征匹配算法在匹配的穩(wěn)定性以及匹配結(jié)果的精度方面有很大的提高,,但是由于特征匹配的特點,得到的視差圖還是稀疏的,。針對這兩種算法的不足,,本文采用互補策略,充分利用區(qū)域匹配的致密性以及特征匹配的魯棒性,,將兩種算法結(jié)合起來,,以彌補相互的缺陷?;诖怂枷?,提出了在邊緣和角點提取的基礎(chǔ)上進行區(qū)域和特征相結(jié)合的立體匹配算法。
區(qū)域和特征相結(jié)合的立體匹配算法的具體實現(xiàn)步驟是:首先對左右立體圖像對進行灰度化,、濾波降噪,、銳化等預(yù)處理,然后對預(yù)處理后的圖像對運用Canny算子提取邊緣特征,,在此基礎(chǔ)上采用改進的Harris檢測算子提取角點,,再對提取邊緣后的圖像對求取視差梯度δd,對于1.2<|δd|<2的圖像邊緣點進行基于邊緣區(qū)域的特征匹配,,最后借助于區(qū)域的灰度對特征匹配后得到的圖像對中視差梯度|δd|<1.2的平滑區(qū)域進行基于視差梯度的區(qū)域匹配,,從而得到最終的視差圖。區(qū)域和特征匹配相結(jié)合算法的匹配流程圖如圖1所示,。
1.4 算法分析
利用本文提出的算法對標(biāo)準(zhǔn)的TsuKuba立體圖像對提取視差圖,。標(biāo)準(zhǔn)的TsuKuba立體圖像對如圖2所示,相應(yīng)的基于梯度的區(qū)域匹配算法,、基于尺度不變特性的Harris角點特征匹配算法和本文提出的基于區(qū)域和特征匹配相結(jié)合的算法提取的視差圖如圖3所示,。實驗結(jié)果表明,,本算法比基于梯度的區(qū)域匹配算法,、尺度不變特性的Harris角點特征匹配算法匹配效果更好。
本文提出的區(qū)域和特征匹配相結(jié)合算法具有以下優(yōu)勢:(1)較為快速,,因為在區(qū)域匹配中引入視差梯度,,這樣可以減少匹配時不必要的搜索從而提高匹配的精度和速度,;(2)得到的是較為密集的視差圖,可以得到高精度的匹配結(jié)果,; (3)由于基于尺度不變特征的Harris角點匹配算法的引入而具有了很好的穩(wěn)定性,,提升了算法的魯棒性。綜合以上特點,,本文的算法成功綜合了基于梯度的區(qū)域匹配算法和基于尺度不變特性的Harris角點特征匹配算法的優(yōu)點,。
2 基于OpenGL平臺的物體三維重建
OpenGL是目前國際上通用的開放式三維圖形標(biāo)準(zhǔn)。OpenGL實際上是一個開放的三維圖形軟件包,,它獨立于窗口系統(tǒng)和操作系統(tǒng),,以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺間移植,它強大的圖形庫函數(shù)為圖形圖像的開發(fā)提供了方便,。
2.1 OpenGL中深度數(shù)據(jù)的三維重建方法
由于三角形能保證3個頂點在同一平面上,,本文采用Delaunay三角剖分方法將所有的數(shù)據(jù)點連成三角網(wǎng)格,很好地重現(xiàn)了原始物體表面的拓撲結(jié)構(gòu),,并利用OpenGL實現(xiàn)三維重建,,其具體步驟如下:
(1)對OpenGL進行初始化,,即設(shè)置像素格式,,為OpenGL提供繪制風(fēng)格、顏色模式,、顏色位元數(shù)和深度位元數(shù)等信息,。
(2)根據(jù)基本像素建立景物的三維模型,,并對模型進行數(shù)學(xué)描述,。這里需要利用OpenGL的函數(shù)GL_POLYGON和glVertex3d等函數(shù)。
?。?)把景物放置在三維空間的適當(dāng)位置,,設(shè)置三維透視視覺體以觀察場景。
?。?)加入光照及光照條件,、材質(zhì)。
?。?)把景物及其顏色信息轉(zhuǎn)化為可在屏幕上顯示的像素信息,。
2.2 三維重建結(jié)果
重建的三維模型如圖4所示。實驗結(jié)果表明,,重建的三維物體逼真,、真實感強,通過放大、縮小,、平移和旋轉(zhuǎn)等方式展示各個方向的三維模型,,視覺效果令人滿意。
本文研究并改進了經(jīng)典的區(qū)域匹配和特征匹配算法,,在改進的基礎(chǔ)上提出了區(qū)域匹配和特征匹配相結(jié)合的立體匹配算法,,該算法充分發(fā)揮了兩種算法的優(yōu)勢。利用該算法進行立體匹配,,獲得了高質(zhì)量的視差圖,;然后根據(jù)三角測量原理利用獲得的視差圖進行深度的計算提取深度圖;最后在基于MFC的OpenGL平臺下進行三維重建,,取得了較好的重建效果,。要想進一步提高重建模型的效果,可以在立體匹配算法上進行進一步研究,,以期獲得更好的視差圖和深度圖,。
參考文獻
[1] OKADA K, INABA M. Integration of real-time binocular stereo vision and whole body information for dynamic walking navigation of humanoid robot[J]. IEEE Conference on Multisensor Fusion and Integration for Intelligence Systems,, 2003:131-136.
[2] 馬頌德,,張正友.計算機視覺——計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[3] 周秀芝,,文貢堅,,王潤生.自適應(yīng)窗口快速立體匹配[J].中國圖象圖形學(xué)報,2006,,29(3):473-479.
[4] 羅小燕.一種基于目標(biāo)區(qū)域綜合特征的圖像檢索方法[J].微計算機信息,,2005(17):214-216.
[5] 周東翔,蔡宣平,,孫茂印.一種基于特征約束的立體匹配算法[J].中國圖象圖形學(xué)報,,2001,6(7):563-656.