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