文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.032
中文引用格式: 劉念,鄒湘軍,葉敏,等. 復(fù)雜環(huán)境下的多工件定位研究究[J].電子技術(shù)應(yīng)用,2015,41(12):120-123,128.
英文引用格式: Liu Nian,Zou Xiangjun,Ye Min,et al. Research of multiple workpieces positioning under complex environment[J].Application of Electronic Technique,2015,41(12):120-123,128.
0 引言
機器視覺技術(shù)具有非接觸、工作穩(wěn)定、實時性高等優(yōu)點[1]。單目視覺作為機器視覺中的重要組成部分,多被應(yīng)用于目標(biāo)的檢測和測量中,且能獲得較高的精度[2-4]。然而在工業(yè)生產(chǎn)中,常常需要視覺系統(tǒng)在復(fù)雜作業(yè)環(huán)境下為抓取機器人提供精確的工件位姿信息,即為單目視覺下的工件定位問題。文獻[5]中給出了一種單目視覺下的機器人定位系統(tǒng),但該系統(tǒng)需要對每個工件進行人為標(biāo)記,無法滿足實時性要求。文獻[6]中設(shè)計了一種處理簡單、計算準(zhǔn)確的單目視覺定位系統(tǒng),該系統(tǒng)只針對單一目標(biāo)且無法適應(yīng)多目標(biāo)、光線變化等復(fù)雜環(huán)境。文獻[7]則提出基于共面兩點一線特征的單目視覺定位,由于需要給定共面特征點和直線特征,因此對定位工件要求特殊,無法滿足通用性。以上研究的工作對象多為單一目標(biāo)且定位環(huán)境較為適宜。但是,在實際車間作業(yè)中,工件往往處在多目標(biāo)雜亂分布、光照不均勻及部分遮擋等條件下。鑒于工業(yè)生產(chǎn)環(huán)境的復(fù)雜性,本文首先討論了雜亂背景、部分遮擋及非線性光照條件下魯棒的多目標(biāo)識別方法,在張正友棋盤標(biāo)定法確定攝像機內(nèi)參數(shù)的基礎(chǔ)上,結(jié)合最小二乘法將目標(biāo)在圖像坐標(biāo)系下的位置轉(zhuǎn)換到世界坐標(biāo)系中,完成目標(biāo)的精確定位。
1 多目標(biāo)的定位系統(tǒng)構(gòu)成及工作原理
多目標(biāo)的平面定位系統(tǒng)主要由圖像采集、照明光源、機械支架及計算機軟件4部分構(gòu)成,圖像采集由維視公司型號MV120SC定焦工業(yè)攝像機完成,照明光源由LED環(huán)形光源構(gòu)成,機械支架上的豎直導(dǎo)軌確保CCD攝像機視場可調(diào),計算機軟件部分則由OpenCV開源視覺庫開發(fā),其具體結(jié)構(gòu)示意圖如圖1所示。
圖2為該定位系統(tǒng)的主要工作流程圖,系統(tǒng)的工作原理為:CCD攝像機獲取目標(biāo)圖像,經(jīng)過圖像預(yù)處理后與離線生成的模板邊緣圖像進行匹配,確定目標(biāo)所在的圖像像素坐標(biāo)(u,v)。借助精度為0.2 mm的標(biāo)定板通過最小二乘法獲取攝像機坐標(biāo)系與世界坐標(biāo)系之間的轉(zhuǎn)換矩陣,結(jié)合單目攝像機標(biāo)定結(jié)果及目標(biāo)的像素坐標(biāo)(u,v),經(jīng)過坐標(biāo)轉(zhuǎn)換完成目標(biāo)在世界坐標(biāo)系下的位姿定位。
2 基于邊緣梯度的模板匹配
傳統(tǒng)的模板匹配算法,對噪點、光照變化、遮擋及小角度旋轉(zhuǎn)等因素干擾的適應(yīng)性和魯棒性不高[8],很難滿足工業(yè)生產(chǎn)中惡劣環(huán)境的要求。本文采用一種基于邊緣梯度的模板匹配算法,先利用邊緣檢測算子獲取模板圖像精確的邊緣信息,然后計算對應(yīng)邊緣點的梯度,最后根據(jù)定義的相似度度量計算匹配得分[8-10],完成匹配過程。其中,采用圖像金字塔和邊緣點采樣減少計算量并加快算法運行時間。
2.1 相似性度量函數(shù)
設(shè)目標(biāo)模板圖像的所有邊緣像素點組成點集pi=(xi,yi)T,與之對應(yīng)的梯度為di=(ti,ui)T,i=1,…,n。其中,邊緣點的梯度可由Sobel邊緣檢測算子濾波得到。對于待搜索圖像,也通過Sobel邊緣檢測算子濾波,計算出圖像中每個點(x,y)的梯度為ex,y=(vx,y,wx,y)T。在待搜索圖像的某一點q=(x,y)T處,模板圖像與待搜索圖像進行匹配,計算模板中所有邊緣點的歸一化梯度和待搜索圖像對應(yīng)點處的歸一化梯度點積的總和,作為匹配得分。變換后的模板在待搜索圖像點q處的相似性度量表示如下:
2.2 算法的加速策略
2.2.1 圖像金字塔分層搜索
采用圖像金字塔搜索策略,可以指數(shù)級地減少計算量,加快算法運行時間[11-12]。分別創(chuàng)建待搜索圖像和模板的圖像金字塔,為盡可能獲得匹配目標(biāo),通常在金字塔的頂層需要進行遍歷搜索。每個潛在的匹配位置的得分都必須要大于smin,并且需要確定該位置的匹配分值為局部最大值。在圖像金字塔頂層獲得了潛在的匹配位置后,圖像金字塔的下一層在一個5×5×5的鄰域內(nèi)進行搜索,尋找得分最大值并篩選誤匹配點,直至圖像金字塔最底層。
2.2.2 邊緣點采樣
在圖像的底層搜索時,由于模板圖像逐漸變大而使邊緣點個數(shù)顯著增加,會帶來更多的算法時間消耗。故提出一種邊緣點采樣的方法,即:在底層搜素時,首先運用canny邊緣檢測算子確定初始邊緣點,然后選取圖像中偶數(shù)行和偶數(shù)列的邊緣點作為最終的邊緣點,代入算法中進行計算。
3 坐標(biāo)系轉(zhuǎn)換
在圖像的模板匹配完成后,可以得到目標(biāo)在圖像坐標(biāo)系下的像素坐標(biāo)(u,v)。結(jié)合攝像機標(biāo)定的結(jié)果,可以將(u,v)轉(zhuǎn)換到攝像機坐標(biāo)系下。由于相機制造工藝的影響,攝像機坐標(biāo)系Oc-xyz無法準(zhǔn)確測定,因此還需將目標(biāo)位置信息轉(zhuǎn)換到可見的世界坐標(biāo)系Ow-xyz下。各坐標(biāo)系之間關(guān)系如圖3所示。
3.1 攝像機標(biāo)定
攝像機想要精確地獲得主點、焦距及畸變等內(nèi)部參數(shù),只能通過攝像機標(biāo)定來獲得。張正友等人提出的棋盤平面靶標(biāo)的標(biāo)定方法[13]簡單易行,只需將相機從不同角度拍攝棋盤的多幅圖像進行運算即可。本文采用張正友棋盤標(biāo)定法,結(jié)合OpenCV2.3.1庫中的函數(shù)在VS2008平臺上運行自行編寫的標(biāo)定程序,求解出相機的內(nèi)參數(shù)矩陣M及鏡頭畸變系數(shù)d。其中:
式中:fx、fy分別為圖像軸X、Y軸上的像素焦距,(cx,cy)為光軸中心點的像素坐標(biāo)。k1、k2為徑向畸變參數(shù),p1、p2為切向畸變參數(shù)。
3.2 世界坐標(biāo)系設(shè)定
以目標(biāo)所在的棋盤格平面為世界坐標(biāo)系的x-o-y平面,世界坐標(biāo)系的z軸垂直x-o-y平面向上。選取棋盤上左上角的角點為坐標(biāo)系原點,如圖4所示。
3.3 攝像機外參數(shù)描述
結(jié)合攝像機標(biāo)定的結(jié)果式(2)、式(3),可以將目標(biāo)的像素坐標(biāo)(u,v)轉(zhuǎn)換成攝像機坐標(biāo)系下的三維坐標(biāo)。其轉(zhuǎn)換過程如下:
式中,(u′,v′)為矯正后的像素坐標(biāo),f為矯正函數(shù),M為攝像機內(nèi)參數(shù)矩陣,(xc,yc,zc)為目標(biāo)在攝像機坐標(biāo)系下的三維坐標(biāo)。
攝像機外參數(shù)模型描述了攝像機坐標(biāo)系在世界坐標(biāo)系中的空間位置信息,設(shè)目標(biāo)點P在攝像機坐標(biāo)系下的坐標(biāo)為(xc,yc,zc),在世界坐標(biāo)系下的坐標(biāo)為(xw,yw,zw),則攝像機外參數(shù)矩陣可以表示為[15]:
式中,r1=[r1x r1y r1z]T、r2=[r2x r2y r2z]T、r3=[r3x r3y r3z]T分別為xw、yw、zw軸在攝像機坐標(biāo)系下的旋轉(zhuǎn)向量,t=[tx ty tz]T為世界坐標(biāo)系原點在攝像機坐標(biāo)系下的平移向量。
由于目標(biāo)點落在棋盤格平面上,故zw=0,結(jié)合式(4)、式(5)有:
由式(7)可知,tz≠0,故求出m中的8個未知數(shù)即可確定世界坐標(biāo)系與圖像坐標(biāo)系的轉(zhuǎn)換關(guān)系。棋盤格上的每個角點提供兩個方程,至少需要4個角點便可以求出m。將式(6)記為:A·m=B,對于整幅棋盤上的77個角點,采用最小二乘法求解參數(shù)矩陣m:
4 實驗結(jié)果與分析
攝像機采集到4種不同環(huán)境下的200張圖片,通過Opencv庫中的函數(shù)結(jié)合C++編程實現(xiàn)算法編程并對圖片進行分析處理,實驗環(huán)境為VS2008,實驗?zāi)繕?biāo)為工業(yè)用矩形工件,實驗平臺如圖4所示。將會以3個標(biāo)準(zhǔn)來評價多目標(biāo)復(fù)雜環(huán)境下的工件定位結(jié)果:多目標(biāo)復(fù)雜環(huán)境下的工件識別率、完成單個目標(biāo)定位所需的時間和工件的位姿定位誤差。
4.1 工件識別的準(zhǔn)確率
圖5給出4組實驗圖像來驗證工件識別的正確性和魯棒性:圖5(a)為正常條件下的工件識別匹配結(jié)果,圖5(b)為非線性光照條件下的工件識別匹配結(jié)果,圖5(c)為遮擋條件下的工件識別匹配結(jié)果,圖5(d)為雜亂背景下的工件識別匹配結(jié)果。4種不同場景下的實驗圖片各有50張,每張圖片中的目標(biāo)隨機分布、工件個數(shù)為4到10個不等。運行本文的工件識別算法,并依次統(tǒng)計算法識別率,不同環(huán)境下的結(jié)果如圖5和表1所示。
上述實驗結(jié)果表明,對于部分遮擋、雜亂背景及非線性光照等條件下,該方法對多目標(biāo)進行識別匹配具有較強的魯棒性。通過調(diào)節(jié)匹配閾值,可以提高多目標(biāo)條件下識別目標(biāo)的數(shù)量,但同時會存在誤匹配。在多目標(biāo)、復(fù)雜環(huán)境下,工件正確匹配的識別率均達到80%以上。
4.2 定位單個工件的時間及定位誤差
工件完成識別定位的時間與獲取圖像的大小與計算機硬件處理速度有關(guān)。本文中選取的模板大小為50×50,待搜索圖像大小為1 280×960。在不同計算機硬件平臺下的算法運行時間見表2。由表2可知,本文算法與計算機處理器類型密切相關(guān);在正常背景、雜亂背景和非線性光照下,算法的平均匹配時間相差不大;部分遮擋條件下,算法運算時間最長,這是由于遮擋條件下識別的準(zhǔn)確率較其他3種條件下低;算法的運行時間均在0.5 s以內(nèi)。
4.3 工件的位姿定位誤差
對于工件的姿態(tài)角度定位精度,由于實現(xiàn)條件的限制,故采用仿真圖像進行驗證。隨機截取10幅工件目標(biāo)圖像,分別將該工件目標(biāo)圖像旋轉(zhuǎn)25°、55°、75°、105°、135°后,運行本文算法求解工件姿態(tài)角度并與實際旋轉(zhuǎn)角度比較,計算姿態(tài)角度的定位誤差。
本實驗中,由于工件呈規(guī)則的中心對稱,因此目標(biāo)的定位誤差基準(zhǔn)為工件的幾何中心點,即孔的中心。工件幾何中心的像素坐標(biāo),在式(3)中由算法給出,經(jīng)過式(4)轉(zhuǎn)換成世界坐標(biāo)系下平面坐標(biāo)。經(jīng)過實驗統(tǒng)計,得到200組實驗數(shù)據(jù),根據(jù)測量所得工件實際平面坐標(biāo),求出工件目標(biāo)的定位誤差如表3所示。
由表3可知:均方根誤差衡量了觀測值與真值之間的偏差,故工件的定位誤差小于1 mm,姿態(tài)角度的定位精度小于1°。誤差的主要來源包括:算法的定位誤差及實驗過程中工件中心的測量誤差等。由于實驗中攝像機的光軸垂直于x-o-y平面,因此x、y方向上的誤差雖略有差別,但差別較小。由于識別算法的旋轉(zhuǎn)角度搜索步長設(shè)置為1°,而仿真實驗的結(jié)果也驗證了該算法的姿態(tài)角度定位精度小于1°。
5 結(jié)論
本文研究了多目標(biāo)復(fù)雜環(huán)境下的工件定位方法,通過快速、魯棒性高的基于邊緣梯度的模板匹配方法識別目標(biāo),并確定目標(biāo)在圖像中的位置。結(jié)合單目攝像機標(biāo)定結(jié)果,獲取圖像坐標(biāo)到實際世界坐標(biāo)系的投影轉(zhuǎn)換關(guān)系,最終得到目標(biāo)在三維空間中的精確平面位置信息。實驗表明,該方法在復(fù)雜背景、非線性光照等惡劣環(huán)境下,能夠穩(wěn)定地識別多個目標(biāo),目標(biāo)定位的平均時間為0.5 s以內(nèi),目標(biāo)在x-o-y平面的定位精度小于1 mm,姿態(tài)角度定位精度小于1°,能滿足實際應(yīng)用要求。
參考文獻
[1] 張興華.基于機器視覺的目標(biāo)識別與測量算法的研究[D].濟南:山東大學(xué),2012.
[2] 趙連軍.單目三點位置測量精度分析[J].光學(xué)精密工程,2014,22(5):1192-1197.
[3] 惠鵬飛,苗鳳娟,陶佰睿,等.一種適用于PCB檢測的彩色圖像分割算法[J].電子技術(shù)應(yīng)用,2013,36(03):138-143.
[4] 張宇.一種基于機器視覺的圓型零件檢測技術(shù)[J].計算機工程,2008,34(19):185-187.
[5] 梁利嘉.基于單目視覺的機器人定位技術(shù)研究[D].秦皇島:燕山大學(xué),2014.
[6] 李星云.基于單目視覺的工業(yè)機器人定位系統(tǒng)的設(shè)計[J].機床與液壓,2015,43(9):35-38.
[7] 劉昶.基于共面二點一線特征的單目視覺定位[J].計算機應(yīng)用研究,2012,29(8):3145-3147.
[8] CARSTEN S.Similarity measures for occlusion,clutter,and illumination invariant object recognition[J].Lecture Notes in Computer Science,2001,2191:148-154.
[9] CARSTEN S.Occlusion,clutter,and illumination invariant object recognition[J].International Archives of Photogrammetry and Remote Sensing,2002:345-350.
[10] 趙振民,彭國華,符立梅.基于形狀模板的快速高精度可靠圖像匹配[J].計算機應(yīng)用,2010,30(2):441-444.
[11] TANIMOTO S L.Template matching in pyramids[J].Computer Graphics and Image Processing,1981,16(4):356-369.
[12] Rafael C.Gonzalez,Richard E.Wood.數(shù)字圖像處理(第三版)[M].北京:電子工業(yè)出版社,2013.
[13] ZHANG Z Y.A flexible new technique for camera calibration[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[14] 劉瑞禎,于仕琪.OpenCV教程[M].北京:北京航空航天大學(xué)出版社,2007.