蒼巖, 尹鳳鳴, 畢曉君
(哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001)
改進的雙目立體視覺算法及其應用
蒼巖, 尹鳳鳴, 畢曉君
(哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001)
為了提高雙目立體視覺算法正確匹配率,本文改進了特征點提取及立體匹配算法。特征點提取部分,定義了尺度方向不變角點;在匹配計算部分,利用極線約束計算特征點的候選匹配角點,采用視差梯度約束和最大向量角準則多約束條件實現精確匹配。對本文的改進算法進行了實驗室以及水池試驗驗證:實驗室中采集小盒圖片;水池試驗中,拖車帶動船模在試驗水池航行時,采集船后部的波浪圖片。實驗結果顯示,改進算法在水池實驗圖片處理中的正確匹配率比尺度不變特征變換(SIFT)算法高14%。
雙目視覺;SIFT算法;角點檢測;測量;特征提取;匹配算法
雙目立體視覺是機器視覺的一種重要形式。雙目立體視覺測量系統主要分為圖像獲取、攝像機標定、特征提取與匹配、三維重建。由于空間的三維景物被投影到二維圖像時,視角問題、場景中的光照條件、景物幾何形狀和物理特性、噪聲干擾和畸變、相機特性等都被綜合到了圖像的灰度值中,因此,要準確地對包含諸多不利因素的圖像進行無歧義的特征提取與匹配是很困難的。特征提取是為了得到匹配賴以進行的圖像匹配基元,發展至今,有Soble算子[2]、Canny算子[3],Moravec算子[4]、Harris角點檢測[5]和尺度不變特征變換(scale invariant feature transform,SIFT)[6]特征提取算法。特征匹配主要利用匹配基元間的相似屬性建立相似測度函數,在約束條件下得到雙目圖像的匹配點對。約束條件主要集中在尋找搜索的范圍和相似度的計算兩個方面。Marr提出的唯一性約束、相容性約束、視差梯度約束、連續性約束[7]都圍繞這兩個方面。Marr提出的約束條件是最基本的,隨著立體匹配的發展,視差范圍約束、最大向量角準則[8]、極線約束[9-10]等也被發展與應用。
針對立體視覺算法中冗余特征點以及誤匹配的問題,提出了尺度旋轉不變角點的檢測方法,解決冗余特征點多、計算量大的問題。本文將極線約束匹配算法、最大視差梯度算法以及最大向量角準則相結合,提高匹配正確率。利用實驗室室內拍攝的盒子圖像以及水池拍攝的水波紋圖像對本文改進的算法進行驗證。
利用特征點代替圖像中所有像素點能夠減少計算量。依據算法應用的背景不同,特征點的分類也不同。本文選擇角點作為感興趣的特征點。針對Harris算法冗余角點過多的問題,引入尺度旋轉不變角點,兼具尺度不變性和旋轉不變性。尺度不變性角點,即為同時存在于多個尺度空間的角點。對尺度不變角點及其附近像素點計算方向描述子,選定幅值最大的方向為主方向,幅值不低于最大值80%的方向為輔方向。具有單一主輔方向的角點為尺度旋轉不變角點。若存在多個輔方向,說明該點在任何一方向上的變化都很緩慢,屬于空白部分,或者該點在任何一方向上變化都很快,屬于噪聲部分。提取尺度旋轉不變角點的具體步驟如下:
1) 生成多尺度空間。假設一個圖像I(x,y)的尺度函數定義為L(x,y,σ),則可以通過該圖像I(x,y)與高斯函數G(x,y,σ)卷積運算得到尺度函數L(x,y,σ):
L(x,y,σ)=G(x,y,σ)?I(x,y)
式中:L(x,y,kσ)表示第k層尺度空間函數,G(x,y,kσ)表示為高斯卷積核函數,其高斯正態分布的標準偏差為kσ,k>1。
2) 對每一層尺度空間圖像,分別計算其角點響應值R,并設定一個合適的閾值,對于小于閾值的角點響應值R,將其置零:
R={R:detMk-α(traceMk)2 3) 在5×5的窗口中進行局部非極大值抑制,取其中極大值點的位置點作為每一層尺度空間圖像L(x,y,kσ)中的角點。 4) 確定方向,圖像中任意角點的幅值m(x,y)和方向θ(x,y)計算公式如下 式中:L是檢測到的每一個角點各自所位于多尺度空間圖像上的尺度。 立體匹配算法將左右圖中的特征點實現一對一匹配。立體匹配過程中,經常出現一對多誤匹配現象。針對該問題,本文采用多約束條件匹配,提高匹配的精度。首先采用極線約束,計算左圖特征點在右圖上的極線,取極線上下20像素范圍內的角點作為候選點,結合視差梯度與最大向量角約束,實現一對一精確匹配。具體計算步驟如下: 1)對左圖中的角點pl,計算其右圖對應的極線約束方程: lpr=Fpl 式中:F為相機的基礎矩陣。利用極線條件約束后,能夠減少一定數量的無匹配角點。 式中:Gd為視差梯度,K為視差梯度約束的閾值,一般取值為2。如果視差梯度值大于設定的閾值K時,則認為該點對違反了視差梯度約束,統計其違反的次數。 圖1 視差梯度約束Fig.1 Disparity gradient constraint 3)依次計算出其他的匹配點對的視差梯度以及其違反的次數,找出其中違反次數最多的一組,剔除該組匹配點對,更新角點對。 4)重復2)、3),直到沒有違反視差度約束條件為止。 式中:N為左圖中其他候選角點對個數。最大向量角準則是找出θsum最大的點,這點即是錯誤的匹配點,將其刪除,繼續尋找剔除,直到最精確的那一點作為最后的匹配角點。 雙目攝像機固定在三腳架上,攝像的高度、攝像機的間距以及夾角均可調。雙目攝像機通過網絡交換機與主控電腦相連。主控電腦采用ThinkPad T440計算機。主控平臺上運行雙目測量測試開發平臺軟件,由Visual C++6.0語言編寫,實現圖像的采集,標定等功能。本系統所采集的圖像均為480×640。 3.1 小盒試驗 通過雙目視覺系統對盒子進行拍攝,將雙目攝像機調到與盒子等高的位置,調整兩攝像機之間的角度,使左右攝像機均能拍到盒子。得到的左右兩幅原圖如圖2所示。 圖2 雙目攝像機攝取的小盒左右原圖片Fig.2 Binocular camera capturing left and right original images 從圖3~5可以看出,Harris算法檢測出的角點非常密集,過多的角點里面包含冗余信息,增加匹配算法的計算量,也會增加誤匹配率。SIFT算法剔除了冗余角點,但是能夠提供給后續匹配處理的角點數據量相對較少,匹配點的數量較少,導致后續的三維測量的精度較低。本文改進的算法所保留的角點數量介于兩者之間,有效去處了冗余角點,同時還能保證足夠的角點數量,為后續的匹配處理提供最優的角點數據庫。雖然降低SIFT算法的角點響應閾值,能夠增加角點數量,但這相當于增加了角點檢測算法的噪聲,給后續的匹配算法增加了計算量和誤匹配率。本文提出的尺度方向不變角點在保證每層角點提取總基數的基礎上,利用方向算子抑制冗余角點,提高角點提取的質量。 圖3 Harris角點檢測算法檢測到的角點圖Fig.3 Corners showed by Harris corner detection algorithm 圖4 SIFT算法檢測到的角點圖Fig.4 Corner showed by SIFT detection algorithm 圖5 改進的角點檢測算法檢測到的角點圖Fig.5 Corners showed by improved corner detection algorithm 左右圖匹配計算中,本文提出了在極線約束算法基礎上,結合最大視差梯度以及最大向量角算法提高左右圖匹配的準確率和后期三維測量精度。由于篇幅所限,本文只選取了一個點作為描述舉例。圖6(a)是左圖的角點(842,758),利用極線約束算法,取上下20個像素范圍,在圖6(b)所描述的右圖中找到了67個符合極線約束的角點,從圖6中可以看出,由于極線是一條貫穿右圖的直線,因此可以用圖中視差梯度以及最大向量角準則進一步剔除誤匹配點。 將視差梯度約束閾值設為2,視差約束后,右圖剩余64個點,剔除3個點,如圖7(a)所示,利用最大向量角約束后,剩余一個角點(791,783),如圖7(b)所示。 圖6 極限約束一對多的情況Fig.6 One to many example of pole line contraint 圖7 視差梯度約束取2匹配結果Fig.7 Matching results of gradient of disparity value being 2 視差梯度約束閾值為1時,視差梯度約束后,剩余59個點,剔除8個點,如圖8(a)所示。利用最大向量角準則后,實現了匹配一對一結果,匹配點(791,783),結果如圖8(b)所示。 圖8 視差梯度約束取1匹配結果Fig.8 Matching results of disparity gradient constraint value being 1 處理結果顯示,一對多的“多”較集中在正確匹配點周圍。當視差梯度約束的閾值取2時,剔除的誤匹配點較少,最終還是最大向量角準則的作用,得到一對一匹配結果。當一對多的“多”不集中在正確匹配點周圍時,視差梯度約束2能剔除離正確匹配點較遠的點,保留集中在正確匹配點周圍的點集,再采用最大向量角準則,得到一對一。從實驗效果來看,當視差梯度約束閾值為1時,能更有效地剔除那些遠離正確匹配點的點集,保留更集中于正確匹配點周圍的點集。因此,視差梯度約束閾值選擇1較好。 選擇的定位角點為小盒的上表面的三個角點以及底部的三個角點,標號1~6。特征值比值約束為[0.2,10],相關系數閾值取0.7。利用本文算法得到113對匹配點,錯誤匹配21對,如圖9所示。 圖9 左右匹配效果圖Fig.9 Matching results of the improved algorithm 采用SIFT算法時,distRatio 采用建議的0.65,匹配結果為匹配了18對,錯誤匹配2對,正確匹配16對,如圖10所示。 圖10 SIFT算法的匹配結果Fig.10 Matching results of SIFT algorithm 從實驗結果可以看出,SIFT算法所提取的特征角點少,正確匹配率高。匹配點對太少,導致后期的三維測量是離散點少,進行擬合時誤差較高。 3.2 水池試驗 本文采集的實驗圖片是在哈爾濱工程大學船模實驗室水池中船模航行時船側水波紋圖像。船模長度1.2 m。試驗中,在船艏,船舯,船艉處分別放置了三組雙目攝像設備,同時拍攝船模以不同的速度航行時,船周圍所泛起的波浪照片,用于繪制船側的波浪等高線圖。圖11表示航模速度為1.701 kn時船模后部位置產生的波浪經過預處理后的圖片。由于水池實驗環境有許多噪聲干擾,如光照影響,相機自身干擾,波浪反光等,獲得的圖片噪聲太多,不能直接應用處理。本文改進的特征點提取算法處理結果如圖12所示。 本文所提出算法的匹配結果如圖13所示。視差梯度約束閾值為1,極線約束上下20像素,區域對應查找,特征值比值范圍[0.2,10]。左右匹配兩點之間的距離范圍為[2 085,2 170],匹配點之間相關系數的閾值選取為0.7。 圖14 為Harris檢測結果,閾值取0.000 000 4。左圖檢測出角點2 349個,右圖檢測出角點1 882。 SIFT算法檢測出左圖角點993個,右圖角點750個, distRatio 采用建議的0.65,匹配點3對,正確匹配2,錯誤匹配1。SIFT算法檢測出的特征點如圖15所示,圖16給出了SIFT算法最終的匹配結果。 將小盒以及水池照片所有參數的各種對比數據統計在表1中。 圖11 預處理原始左右灰度圖的結果Fig.11 The left and right original grayscale images after de-noising 圖12 改進算法的左右兩圖角點檢測Fig.12 The corner detection results of the improved algorithm 圖13 改進算法匹配結果Fig.13 Matching results of the improved algorithm 圖14 Harris角點檢測結果Fig.14 The corner detection results of Harris 圖15 SIFT算法檢測的特征點Fig.15 The corner detection results of SIFT algorithm 圖16 SIFT算法匹配結果Fig.16 Matching results of SIFT algorithm 從表1的統計數據中可以看出,SIFT算法在小盒圖片的匹配中運算時間以及正確匹配率高于本文的算法。但在水池船后圖片處理中,本文提出的算法正確匹配率遠遠高于SIFT算法,運算時間雖然高于SIFT算法,但是在合理運算時間范圍內。主要原因在于兩次實驗所選取的角點響應閾值不同,因此可以看出角點響應閾值參數是一個非常重要并且敏感的參數,未來研究中將閾值參數定義為一個自適應參數算法會更加穩健。本文所進行的研究工作是基于立體雙目波浪等高線繪制算法中的基礎部分,是后續所進行三維波浪等高線繪制的基礎,所匹配的點對數目直接影響等高線擬合精度。從上述數據對比可以看出,本文所提出的算法在處理基于雙目立體視覺的水面圖片時,在匹配率參數性能上面要高于SIFT算法。 表1 匹配結果分析 雙目立體視覺算法主要分為兩個步驟,特征點提取以及立體匹配。本文以船模航行時船側的波浪等高線測量為應用背景,提出了一種有效的立體視覺測量方法,主要貢獻有以下兩點: 1)引入尺度方向不變算子,將其作為待提取的特征點,提高了特征點提取的質量,降低了冗余特征點數量,減少了匹配算法部分的計算量; 2)在立體匹配算法部分,將極線約束方法與視差梯度和最大向量角算法相結合,提高了匹配精度。實驗結果顯示本文提出的算法在檢測水面圖片中,正確匹配率達到了81%。 [1]陳小天, 沈振康. 機器人視覺導航[J]. 系統仿真學報, 2008, 20(10): 5501-5503. CHEN Xiaotian, SHEN Zhenkang. Robot visual navigation [J]. Journal of system simulation, 2008, 20(10): 5501-5503. [2]GONZALEZ R C, WOODS R E. Digital image processing[M]. 3rd ed. India: Pearson Education, 2009. [3]CANNY J. A computational approach to edge detection[J]. IEEE transactions on pattern analysis and machine intelligence, 1986, PAMI-8(6): 679-698. [4]MORAVEC H P. Obstacle avoidance and navigation in the real world by a seeing robot rover[D]. Stanford: Stanford University, 1980. [5]HARRIS C, STEPHENS M. A combined corner and edge detector[C] // Proceedings of the 4th Alvey vision conference. Manchester, UK: AVC, 1988: 147-150. [6]LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International journal of computer vision, 2004, 60(2): 91-110. [7]MARR D, VISION A. A Computational Investigation into the Human Representation and Processing of Visual Information[M]. San Francisco: Freeman and Company, 1982. [8]解則曉, 陸文娟. 基于圖像相似幾何特征的雙目匹配算法[J]. 中國激光, 2014, 41(5): 0508002. XIE Zexiao, LU Wenjuan. Binocular matching algorithm based on similar geometric Features[J]. Chinese journal of lasers, 2014, 41(5): 0508002. [9]TAN Xiao, SUN Changming, SIRAULT X, et al. Feature matching in stereo images encouraging uniform spatial distribution[J]. Pattern recognition, 2015, 48(8): 2530-2542. [10]SONG Tao, TANG Baoping, ZHAO Minghang, et al. An accurate 3-D fire location method based on sub-pixel edge detection and non-parametric stereo matching[J]. Measurement, 2014, 50: 160-171. Improvement and application of a binocular stereo vision algorithm CANG Yan, YIN Fengming, BI Xiaojun (College of Information and Communication Engineering, Harbin Engineering University, Harbin 150001, China) This paper aims at improving the feature point extraction and stereo match algorithm to increase the right matching rate of binocular stereo vision. For the feature point extraction, we defined corners with a fixed scale and direction. To calculate the stereo match algorithm, a pole line constraint was used to match the corners. A disparity gradient constraint and maximum vector angle criterion were combined as a multi-constraint condition to determine a one-to-one exact match. A box image collected in the lab room and wave images generated by a ship model towed by a trailer in the experiment pool were used as objects to test the proposed algorithm. The results show that the correct match rate of the proposed algorithm is 14% higher than the scale invariant feature transform (SIFT) algorithm. binocular vision; scale invariant feature transform (SIFT); corner detection; measurement; feature extraction; match algorithm 2016-03-22. 日期:2017-01-11. 國家國際科技合作專項項目(KY10800150002);國家自然科學基金項目(61371175). 蒼巖(1978-), 女, 講師,博士; 畢曉君(1964-), 女, 教授,博士生導師. 蒼巖, E-mail: cangyan@hrbeu.edu.cn. 10.11990/jheu.201603076 TP911 A 1006-7043(2017)03-0465-06 蒼巖, 尹鳳鳴, 畢曉君. 改進的雙目立體視覺算法及其應用[J]. 哈爾濱工程大學學報, 2017, 38(3):465-470. CANG Yan,YIN Fengming,BI Xiaojun. Improvement and application of a binocular stereo vision algorithm[J]. Journal of Harbin Engineering University, 2017, 38(3):465-470. 網絡出版地址:http://www.cnki.net/kcms/detail/23.1390.u.20170111.1443.002.html2 立體匹配算法



3 試驗結果與分析
















4 結論