袁泉,鄒沖,閔鋒*
1.昆明理工大學信息工程與自動化學院,云南昆明 650504;
2.武漢工程大學計算機科學與工程學院,湖北武漢 430205
雙目視覺在類人機器人測距中的應用
袁泉1,鄒沖2,閔鋒2*
1.昆明理工大學信息工程與自動化學院,云南昆明 650504;
2.武漢工程大學計算機科學與工程學院,湖北武漢 430205
為實現類人機器人對復雜目標高精度識別并測量出目標實際距離,提出一種雙目目標識別與測距方法.首先利用棋盤標定法對攝像機進行標定并捕獲圖像;然后利用局部二值模式算子(LBP)和優化后支持向量機(SVM)對目標進行識別;在識別的基礎上,再采用尺度不變特征變換(SIFT)算法對特征點進行匹配并根據三角測距原理計算出目標實際距離.實驗結果表明該方法不但減少了人為參數指定,并且提高了特征點匹配效率,測距精度能夠達到94%以上,滿足類人機器人高精度測距和實時性要求.
類人機器人;雙目視覺;目標識別;雙目測距;立體匹配
基于雙目立體視覺的測距技術是國內外學者研究的主要熱點,在機器人定位、導航、避障以及工業技術測量等領域有著廣泛的前景[1].基于機器人的雙目立體視覺技術從兩個不同的視角去捕獲世界中的同一個物體,從而得到不同的感知圖像,最后依據三角測量的原理得出兩幅圖像的位置偏差,從而得到物體的三維坐標[2].文獻[3]提出了一種用張正友棋盤標定法與“絕對誤差累計”的小窗口匹配法相結合的方法來實現雙目立體視覺的測距.文獻[4]采用基于外極線約束和灰度相關性的立體匹配算法.在雙目測距的研究中,立體匹配可以說是最困難、最熱門的研究問題之一.為了能夠獲得更好的匹配效果以及使得測距更加精準,在進行特征點提取與匹配之前,本文采用基于局部二值模式算子(LBP)中旋轉不變統一模式算子和優化后支持向量機(SVM)的方法來對目標進行識別.這樣則無需人為的去選擇目標點或線區域,只需對少量的特征點進行匹配,從而提高了計算效率.本文基于雙目視覺原理,對類人機器人測距的方法進行了改進,在一定程度上,提高了類人機器人測距的效率和準確性.
雙目立體視覺屬于機器視覺的一種重要形式.雙目立體成像原理圖如圖1所示.2臺焦距均為f且平行放置的攝像機在同一時間獲取同一物體P;基線距B為左攝像頭的投影中心與右攝像頭的投影中心之間的距離,分別在2個攝像機上獲取了物體P的圖像且分別成像于位置O1(X2,Y2) X1,Y1,O2(X2,Y2).

圖1 雙目立體成像Fig.1X-Z plane imaging of binocular stereo
根據三角形相似關系,由此可以得到

其中視差D=X1-X2,公式中B和f可以在立體標定中得到,X1與X2則在圖像處理中得到.因此本文只需要找到目標物體在左右兩攝像機上的投影并計算出其坐標,便可實現距離的測量.
攝像機標定的主要目的是為了獲得設備的內參數和表示兩個攝像頭相對位置的外參數,可以由已知特征點的世界坐標以及圖像坐標來求得攝像機參數[5-7].其中內參數有:焦距fx、fy和基準距u0、v0;外參數有:旋轉矩陣R和平移向量T.本文采用的是棋盤標定法[8]來對攝像機進行標定.利用對10幅以上不同方向的棋盤提取若干角點.由于相機成像可以被看作是針孔模型,依據成像原理可得圖像坐標與世界坐標之間的轉換關系如下:

其中,[u v 1]T為圖像坐標,[XwYwZw1]T為世界坐標.
一般攝像機很難保證左右攝像機圖像嚴格的平行對準,為了避免畸變,需要通過數學計算的方法來校正圖像,從而使得左右攝像機圖像極線平行,這樣可以大大節省匹配時間.
在實際的賽場上,由于足球會受到光照的影響而引起較大的顏色畸變,單純地依靠顏色對目標球體進行識別效果不佳.由于球體表面有顯著的紋理特征,因此本文使用LBP算子[9]提取樣本的紋理特征并利用SVM對檢測對象進行分類的方法來實現對目標球體的識別.
3.1 LBP算子獲取樣本紋理特征
首先在HSL(色相、飽和度、亮度)空間下對圖像做分割處理,初步確定待檢區域.將待檢區域轉化為灰度圖像,以備下一步操作.然后利用LBP算子提取該區域的紋理特征.局部二值模式(LBP)紋理描述算子分為灰度不變LBP算子、旋轉不變LBP算子、uniform旋轉不變LBP算子3種方法.經過實驗發現,其中,uniform旋轉不變LBP模式更能滿足目標球體在平移、旋轉時特征不變的需求,并且計算量最小.
提取LBP的特征向量的具體步驟如下:首先將待檢部分劃分為16×16的小模塊;然后將每個小區域中的每個像素依次與相鄰位置8個像素的灰度值進行比較,如果相鄰像素點的灰度值大于中心像素點的灰度值,則該像素點所在的位置被標記為1,否則標記為0.因此,經過計算可以產生8位二進制數,從而該區域中心位置像素點的LBP值可以獲得;再計算每個小區域的直方圖,并對其進行歸一化處理;最后將每個小區域的統計直方圖組合成為一個特征向量,即可得到整個待檢區域的紋理特征向量.
目標識別算法具體流程,如圖2所示.

圖2 目標識別算法流程Fig.2Flowchart of target recognition algorithm
3.2 GA優化的SVM分類模型
利用SVM分類器對樣本進行分類,SVM[10]通過某一種事先選擇的非線性映射將輸入向量映射到一個高維特征空間,在此構造一個最優分類超平面[11].首先需要對訓練樣本以及測試樣本進行特征數據歸一化預處理;然后對樣本進行分類,SVM分類決策函數為:

其中,非線性變換通過核函數來實現,本文內積核函數選用徑向基核函數(RBF),公式如下:

核函數參數的選取十分關鍵,將影響到分類器的性能,在所有的參數中最重要的參數是模型的懲罰因子C以及核函數參數g.本文利用遺傳算法GA優化SVM模型的參數[12],具體步驟如下:
1)對C和g進行二進制編碼,從而得到初始化的種群;
2)對種群中的各染色體進行解碼,從而獲得C和g的值;
3)利用訓練樣本集來訓練SVM分類器模型,并利用訓練好的模型來計算測試樣本的識別率;
4)最后依據識別率來作為遺傳算法是否終止的條件,若滿足條件則停止迭代,并輸出最優參數,否則繼續遺傳迭代,直至得到最優解為止.
對于已經識別為目標的圖像,使用霍夫圓擬合確定目標球的具體位置.
圖像匹配的實質在于已知其中一幅圖像中的一點,去尋找另外一幅圖像中相對應的點,從而滿足這兩個點為空間中同一個點的投影[4].機器人在實際的運動中必然會受到光照強度的影響或者會存在視角的改變,而sift算法無論改變旋轉角度,圖像亮度還是拍攝視角,仍然能夠得到較好的檢測效果.但是實際上機器人所識別的圖像中大量的包含著相似的結構,為了提高特征匹配的精度,選用基于極線約束的SIFT特征匹配算法[13]對左右攝像機圖像進行立體匹配.根據目標識別中所得到的目標球的位置,利用此算法檢測并選取目標球上少量特征點,將這些特征點標識在圖像上,最后根據特征點與雙目圖像的相對目標關鍵點進行匹配.算法的主要步驟如圖3所示.

圖3 基于極線約束的SIFT特征匹配算法主要流程Fig.3Main process of SIFT feature matching algorithm based on pole constraint
基于雙目視覺基本原理,在原有的單目類人機器人上安裝了兩個高清攝像頭,左右兩個攝像頭處于同一平面水平位置,其中心距離為6 cm,距離地面的高度為40 cm.同時從雙目攝像機中獲取兩幅圖像,分別對它們進行目標識別、特征提取和立體匹配等操作,并得到相應二維像素匹配點坐標;然后將匹配點坐標帶入攝像機標定后所建立的方程中構建方程組進行求解,即能得到相應特征點的三維坐標,以此計算出雙目類人機器人與目標的距離.
在進行立體標定之前需要對兩個攝像機進行單個的標定.在程序計算之后,會得到攝像機的內外參數,右攝像頭與左攝像頭的標定方法相同.實驗之后,分別保存左右攝像頭參數結果.通過兩臺攝像機標定的結果來進行立體標定,從而得到表示兩個攝像頭之間的位置關系的旋轉矩陣和平移向量,導入OpenCV中,結果如下.
左攝像頭內參數矩陣:

右攝像頭內參數矩陣:

本文按文獻[14]中提及的校正算法對左右圖像進行校正.在OpenCV中提供了一個校正算法,通過調用cvStereoRectify函數、cvInitUndistortRectify-Map函數、cvRemap函數來消除畸變,從而進行校正.經過立體校正后的左右攝像機圖像如圖4所示.

圖4 校正圖像Fig.4Images after correction
機器人目標識別階段,首先在HSL空間下對圖像進行分割,初步確定待檢區域,并將待檢區域轉化為灰度圖.然后利用LBP算子獲取樣本紋理特征,本文對LBP算子的3種方法進行了實驗,分別為灰度不變LBP、旋轉不變LBP、uniform旋轉不變LBP,效果如圖5所示.

圖5 LBP算子實驗結果(a)灰度不變LBP紋理特征;(b)旋轉不變LBP紋理特征;(c)uniform旋轉不變LBP紋理特征Fig.5Experimental results of LBP operators(a)Texture feature of gray-scale LBP;(b)Texture feature of rotational invariant LBP;(c)Texture feature of uniform rotational invariant LBP
其中采樣點數量均為8,采樣半徑均為10.由實驗結果可知,3種LBP算子分別得到256個特征、36個特征、9個特征,分別用時60 ms、52 ms、49 ms.因此選取計算量小、耗時短的uniform旋轉不變LBP算子來提取樣本紋理.
接下來使用優化后的SVM分類模型對樣本進行訓練和測試.本文選取200個訓練樣本,其中150張為目標球圖片,50張為非目標球圖片,經LBP處理后,將紋理特征矩陣輸入SVM進行訓練.將測試樣本集的紋理特征矩陣輸入GA優化的SVM分類模型進行分類處理,并輸出識別結果和識別率.其中,GA終止代數設為100,種群大小設為50,交叉概率為0.4,變異概率為0.01,選擇算子采用輪盤賭算法確定.實驗發現大約21次左右即可達到最優分類精度,平均識別率為92.7%.對于已經識別為目標的圖像,使用霍夫圓擬合確定目標球的具體位置,效果如圖6所示.

圖6 霍夫圓擬合確定目標球位置Fig.6Determined target ball position by hough circles
由標定部分的分析可得轉換關系,根據此關系代入已知點的像素坐標可得,左目攝像頭的坐標轉換公式為:

右目攝像頭的坐標轉換公式為:

采用最小二乘法求解[15][X,Y,Z]T.再根據相對位置求出攝像機到目標的距離.為了驗證本文所使用算法的有效性,將本文算法與所對比的算法分別進行實驗,運算結果如表1所示.其中,算法1為張正友棋盤標定法與“絕對誤差累計”的小窗口匹配法相結合的雙目測距方法;算法2將改進的平面攝像機標定法與基于外極線約束以及灰度相關性特征點匹配相結合的雙目視覺目標定位方法;算法3為本文算法.

表1 測距結果Tab.1Ranging resultsmm
對3種算法的誤差進行分析,結果如圖7所示.其中,星號線為算法1的誤差,虛線為算法2的誤差,實線為本文測距算法的誤差.本文算法平均誤差相比算法1和算法2分別下降了18.9%和23.9%.由測距結果可知,實現了對目標的測距,誤差在允許的范圍內,基本上滿足了雙目類人機器人對目標測距的要求.由誤差對比可知,本文所使用的方法在大部分情況下測距的精度更高、穩定性更好.

圖7 三種算法的誤差對比Fig.7Error comparison of three algorithms
對3種算法的時間復雜度進行分析,結果如圖8所示.其中,統計了4組實驗數據,實際距離分別為300 mm、700 mm、1 500 mm、2 300 mm時3種算法運行的時間.本文算法運行時間相比算法1和算法2分別下降了25.6%和54.1%.由數據結果可知,運行時間在允許的范圍內,基本上滿足了雙目類人機器人對目標測距的實時性要求.由時間復雜度對比可知,本文所使用的方法在保證較高測距精度的情況下,降低了運算的時間復雜度.

圖8 3種算法運行時間對比Fig.8Comparison of running time of three algorithms
鑒于雙目視覺系統模擬了人眼及眾多生物的視覺處理方式,在視覺處理技術日趨成熟的今天,雙目視覺乃至多目視覺將會成為未來視覺技術發展的風向標,并被廣泛運用到各個領域.本文建立了一套基于改造后的雙目類人機器人實驗平臺,提出了一種簡單可靠地對目標進行識別、測距的方法.本文提出的目標識別的方法相比較于傳統方法,在精度以及計算速度上都有了明顯的提高.該方法經過多次測試,測試結果表明,該方法在類人機器人測距中具有測量精度較高、實時性好、對目標的識別更為準確等優點.本文算法提高了系統的魯棒性并且取得了較為理想的結果.今后可以進一步研究目標運動軌跡預測,從而實現機器人完成高難度動作.
[1]李旭港.計算機視覺及其發展與應用[J].中國科技縱橫,2010(6):42.
LI X G.Computer vision and its development and application[J].China Science&Technology,2010(6):42.
[2]張蓬,王金磊,趙弘.機器人雙目立體視覺測距技術研究與實現[J].計算機測量與控制,2013,21(7):1775-1778.
ZHANG P,WANG J L,ZHAO H.Research and implementation of robotic binocular visual distance measuring technology[J].Computer Measurement& Control,2013,21(7):1775-1778.
[3]沈彤,劉文波,王京.基于雙目立體視覺的目標測距系統[J].電子測量技術,2015,38(4):52-54.
SHEN T,LIU W B,WANG J.Distance measurement system based on binocular stereo vision[J].Electronic Measurement Technology,2015,38(4):52-54.
[4]時洪光,張鳳生,鄭春蘭.基于雙目視覺的目標定位系統設計[J].現代儀器與醫療,2010,16(4):45-47.
SHI H G,ZHANG F S,ZHENG C L.Design of target location system based on binocular vision[J].Modern Instruments&Medical Treatment,2010,16(4):45-47.
[5]姜雨彤,楊進華,劉釗,等.雙目CCD測距系統的高精度標定[J].計算機工程,2013,39(7):228-232.
JIANG Y T,YANG J H,LIU Z,et al.High precision calibrationofbinocularCCDrangingsystem[J]. Computer Engineering,2013,39(7):228-232.
[6]陳念,李進,王海暉.雙目立體視覺測量系統的研究與實現[J].武漢工程大學學報,2011,33(5):101-105.
CHENN,LIJ,WANGHH.Researchand implementationofmeasurementsystembasedon binocular stereo vision[J].Journal of Wuhan Institute of Technology,2011,33(5):101-105.
[7]楊明,王海暉,陳君,等.雙目標定系統精度提高的方法[J].武漢工程大學學報,2012,34(1):69-73.
YANG M,WANG H H,CHEN J,et al.Methods of accuracy improvement based on binocular calibration system[J].Journal of Wuhan Institute of Technology,2012,34(1):69-73.
[8]汪柏勝,高幼年,沈文忠.基于OpenCV的攝像機標定方法的實現[J].上海電力學院學報,2010,26(4):383-386.
WANG B S,GAO Y N,SHEN W Z.Method on camera calibration based on OpenCV[J].Journal of Shanghai University of Electric Power,2010,26(4):383-386.
[9]OJALA T,PIETIK,LNEN M,et al.Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(7):971-987.
[10]BURGES C J C.A tutorial on support vector machines for pattern recognition[J].Data Mining and Knowledge Discovery,1998,2(2):121-167.
[11]嚴云洋,唐巖巖,劉以安,等.使用多尺度LBP特征和SVM的火焰識別算法[J].山東大學學報(工學版),2012,42(5):47-52.
YAN Y Y,TANG Y Y,LIU Y A,et al.Flame detection based on LBP features with multi-scales and SVM[J]. Journal of Shandong University(Engineering Science),2012,42(5):47-52.
[12]趙強,崔暢.基于多尺度LBP和SVM的掌紋識別算法研究[J].激光雜志,2015(1):27-30.
ZHAO Q,CUI C.Research of palmprint identification algorithm based on multiscale LBP and SVM[J].Laser Journal,2015(1):27-30.
[13]吳楚,劉士榮,楊帆,等.基于極線約束的SIFT特征匹配算法研究[J].南京理工大學學報(自然科學版),2011,35(增刊):78-84.
WU C,LIU S R,YANG F,et al.Research on SIFT featurematchingbasedonepipolarconstraint[J]. Journal of Nanjing University of Science and Technology(Nature Science),2011,35(suppl.):78-84.
[14]BRADSKIG,KAEBLERA.LearningOpenCV:computer vision with the OpenCV library[M].Beijing:Tsinghua University Press,2009.
[15]鄒樂強.最小二乘法原理及其簡單應用[J].科技信息,2010,23(2):282-283.
ZOULQ.Leastsquaremethodanditssimple application[J].Science&Technology Information,2010,23(2):282-283.
本文編輯:陳小平
Application of Binocular Vision Range Measuring in Humanoid Robots
YUAN Quan1,ZOU Chong2,MIN Feng2*
1.Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650504,China;
2.School of Computer Science and Engineering,Wuhan Institute of Technology,Wuhan 430205,China
To realize the idea that humanoid robots can recognize complicated targets with high accuracy and measure the actual distance of the target,a binocular method was proposed for recognizing target and measuring distance.Firstly,the camera calibration was realized by the checkerboard method to capture images afterwards. Then Local Binary Pattern operator and optimized Support Vector Machine were employed to identify the target. On the basis of recognition,Scale-invariant Feature Transform algorithm was used to match feature points and to determine the actual distance based on the principle of triangulation.Experimental results show that this method can reduce the designation of artificial parameters and improve the efficiency of matching features,and the accuracy of measuring actual distance is more than 94%,satisfying real-time and high-accuracy requirements of humanoid robots.
humanoid robot;binocular vision;object recognition;binocular ranging;stereo matching
TP242
A
10.3969/j.issn.1674-2869.2017.02.016
1674-2869(2017)02-0193-06
2016-11-01
袁泉,碩士研究生.E-mail:1978005001@qq.com
*通訊作者:閔鋒,博士,副教授.E-mail:23018298@qq.com
袁泉,鄒沖,閔鋒.雙目視覺在類人機器人測距中的應用[J].武漢工程大學學報,2017,39(2):193-198.
YUAN Q,ZOU C,MIN F.Application of binocular vision range measuring in humanoid robots[J].Journal of Wuhan Institute of Technology,2017,39(2):193-198.