文獻(xiàn)標(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 引言
機(jī)器視覺技術(shù)具有非接觸,、工作穩(wěn)定、實時性高等優(yōu)點[1],。單目視覺作為機(jī)器視覺中的重要組成部分,,多被應(yīng)用于目標(biāo)的檢測和測量中,且能獲得較高的精度[2-4],。然而在工業(yè)生產(chǎn)中,,常常需要視覺系統(tǒng)在復(fù)雜作業(yè)環(huán)境下為抓取機(jī)器人提供精確的工件位姿信息,即為單目視覺下的工件定位問題,。文獻(xiàn)[5]中給出了一種單目視覺下的機(jī)器人定位系統(tǒng),,但該系統(tǒng)需要對每個工件進(jìn)行人為標(biāo)記,無法滿足實時性要求,。文獻(xiàn)[6]中設(shè)計了一種處理簡單,、計算準(zhǔn)確的單目視覺定位系統(tǒng),該系統(tǒng)只針對單一目標(biāo)且無法適應(yīng)多目標(biāo),、光線變化等復(fù)雜環(huán)境,。文獻(xiàn)[7]則提出基于共面兩點一線特征的單目視覺定位,由于需要給定共面特征點和直線特征,,因此對定位工件要求特殊,,無法滿足通用性。以上研究的工作對象多為單一目標(biāo)且定位環(huán)境較為適宜,。但是,,在實際車間作業(yè)中,工件往往處在多目標(biāo)雜亂分布,、光照不均勻及部分遮擋等條件下,。鑒于工業(yè)生產(chǎn)環(huán)境的復(fù)雜性,本文首先討論了雜亂背景,、部分遮擋及非線性光照條件下魯棒的多目標(biāo)識別方法,,在張正友棋盤標(biāo)定法確定攝像機(jī)內(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)主要由圖像采集、照明光源,、機(jī)械支架及計算機(jī)軟件4部分構(gòu)成,,圖像采集由維視公司型號MV120SC定焦工業(yè)攝像機(jī)完成,照明光源由LED環(huán)形光源構(gòu)成,,機(jī)械支架上的豎直導(dǎo)軌確保CCD攝像機(jī)視場可調(diào),,計算機(jī)軟件部分則由OpenCV開源視覺庫開發(fā),其具體結(jié)構(gòu)示意圖如圖1所示,。
圖2為該定位系統(tǒng)的主要工作流程圖,,系統(tǒng)的工作原理為:CCD攝像機(jī)獲取目標(biāo)圖像,,經(jīng)過圖像預(yù)處理后與離線生成的模板邊緣圖像進(jìn)行匹配,確定目標(biāo)所在的圖像像素坐標(biāo)(u,,v),。借助精度為0.2 mm的標(biāo)定板通過最小二乘法獲取攝像機(jī)坐標(biāo)系與世界坐標(biāo)系之間的轉(zhuǎn)換矩陣,結(jié)合單目攝像機(jī)標(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處,,模板圖像與待搜索圖像進(jìn)行匹配,,計算模板中所有邊緣點的歸一化梯度和待搜索圖像對應(yīng)點處的歸一化梯度點積的總和,作為匹配得分,。變換后的模板在待搜索圖像點q處的相似性度量表示如下:
2.2 算法的加速策略
2.2.1 圖像金字塔分層搜索
采用圖像金字塔搜索策略,,可以指數(shù)級地減少計算量,加快算法運行時間[11-12],。分別創(chuàng)建待搜索圖像和模板的圖像金字塔,,為盡可能獲得匹配目標(biāo),通常在金字塔的頂層需要進(jìn)行遍歷搜索,。每個潛在的匹配位置的得分都必須要大于smin,,并且需要確定該位置的匹配分值為局部最大值。在圖像金字塔頂層獲得了潛在的匹配位置后,,圖像金字塔的下一層在一個5×5×5的鄰域內(nèi)進(jìn)行搜索,,尋找得分最大值并篩選誤匹配點,直至圖像金字塔最底層,。
2.2.2 邊緣點采樣
在圖像的底層搜索時,,由于模板圖像逐漸變大而使邊緣點個數(shù)顯著增加,會帶來更多的算法時間消耗,。故提出一種邊緣點采樣的方法,,即:在底層搜素時,首先運用canny邊緣檢測算子確定初始邊緣點,,然后選取圖像中偶數(shù)行和偶數(shù)列的邊緣點作為最終的邊緣點,,代入算法中進(jìn)行計算。
3 坐標(biāo)系轉(zhuǎn)換
在圖像的模板匹配完成后,,可以得到目標(biāo)在圖像坐標(biāo)系下的像素坐標(biāo)(u,,v)。結(jié)合攝像機(jī)標(biāo)定的結(jié)果,,可以將(u,,v)轉(zhuǎn)換到攝像機(jī)坐標(biāo)系下。由于相機(jī)制造工藝的影響,,攝像機(jī)坐標(biāo)系Oc-xyz無法準(zhǔn)確測定,,因此還需將目標(biāo)位置信息轉(zhuǎn)換到可見的世界坐標(biāo)系Ow-xyz下。各坐標(biāo)系之間關(guān)系如圖3所示,。
3.1 攝像機(jī)標(biāo)定
攝像機(jī)想要精確地獲得主點,、焦距及畸變等內(nèi)部參數(shù),只能通過攝像機(jī)標(biāo)定來獲得,。張正友等人提出的棋盤平面靶標(biāo)的標(biāo)定方法[13]簡單易行,,只需將相機(jī)從不同角度拍攝棋盤的多幅圖像進(jìn)行運算即可。本文采用張正友棋盤標(biāo)定法,結(jié)合OpenCV2.3.1庫中的函數(shù)在VS2008平臺上運行自行編寫的標(biāo)定程序,,求解出相機(jī)的內(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 攝像機(jī)外參數(shù)描述
結(jié)合攝像機(jī)標(biāo)定的結(jié)果式(2),、式(3),可以將目標(biāo)的像素坐標(biāo)(u,,v)轉(zhuǎn)換成攝像機(jī)坐標(biāo)系下的三維坐標(biāo),。其轉(zhuǎn)換過程如下:
式中,(u′,,v′)為矯正后的像素坐標(biāo),,f為矯正函數(shù),M為攝像機(jī)內(nèi)參數(shù)矩陣,,(xc,,yc,zc)為目標(biāo)在攝像機(jī)坐標(biāo)系下的三維坐標(biāo),。
攝像機(jī)外參數(shù)模型描述了攝像機(jī)坐標(biāo)系在世界坐標(biāo)系中的空間位置信息,,設(shè)目標(biāo)點P在攝像機(jī)坐標(biāo)系下的坐標(biāo)為(xc,yc,,zc),,在世界坐標(biāo)系下的坐標(biāo)為(xw,yw,,zw),,則攝像機(jī)外參數(shù)矩陣可以表示為[15]:
式中,r1=[r1x r1y r1z]T,、r2=[r2x r2y r2z]T,、r3=[r3x r3y r3z]T分別為xw、yw、zw軸在攝像機(jī)坐標(biāo)系下的旋轉(zhuǎn)向量,,t=[tx ty tz]T為世界坐標(biāo)系原點在攝像機(jī)坐標(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é)果與分析
攝像機(jī)采集到4種不同環(huán)境下的200張圖片,,通過Opencv庫中的函數(shù)結(jié)合C++編程實現(xiàn)算法編程并對圖片進(jì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)隨機(jī)分布,、工件個數(shù)為4到10個不等,。運行本文的工件識別算法,并依次統(tǒng)計算法識別率,,不同環(huán)境下的結(jié)果如圖5和表1所示,。
上述實驗結(jié)果表明,對于部分遮擋,、雜亂背景及非線性光照等條件下,,該方法對多目標(biāo)進(jìn)行識別匹配具有較強(qiáng)的魯棒性。通過調(diào)節(jié)匹配閾值,,可以提高多目標(biāo)條件下識別目標(biāo)的數(shù)量,,但同時會存在誤匹配。在多目標(biāo),、復(fù)雜環(huán)境下,,工件正確匹配的識別率均達(dá)到80%以上。
4.2 定位單個工件的時間及定位誤差
工件完成識別定位的時間與獲取圖像的大小與計算機(jī)硬件處理速度有關(guān)。本文中選取的模板大小為50×50,,待搜索圖像大小為1 280×960,。在不同計算機(jī)硬件平臺下的算法運行時間見表2。由表2可知,,本文算法與計算機(jī)處理器類型密切相關(guān),;在正常背景、雜亂背景和非線性光照下,,算法的平均匹配時間相差不大,;部分遮擋條件下,算法運算時間最長,,這是由于遮擋條件下識別的準(zhǔn)確率較其他3種條件下低,;算法的運行時間均在0.5 s以內(nèi)。
4.3 工件的位姿定位誤差
對于工件的姿態(tài)角度定位精度,,由于實現(xiàn)條件的限制,,故采用仿真圖像進(jìn)行驗證。隨機(jī)截取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°,。誤差的主要來源包括:算法的定位誤差及實驗過程中工件中心的測量誤差等。由于實驗中攝像機(jī)的光軸垂直于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é)合單目攝像機(jī)標(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)用要求,。
參考文獻(xiàn)
[1] 張興華.基于機(jī)器視覺的目標(biāo)識別與測量算法的研究[D].濟(jì)南:山東大學(xué),2012.
[2] 趙連軍.單目三點位置測量精度分析[J].光學(xué)精密工程,,2014,,22(5):1192-1197.
[3] 惠鵬飛,苗鳳娟,,陶佰睿,,等.一種適用于PCB檢測的彩色圖像分割算法[J].電子技術(shù)應(yīng)用,2013,,36(03):138-143.
[4] 張宇.一種基于機(jī)器視覺的圓型零件檢測技術(shù)[J].計算機(jī)工程,,2008,34(19):185-187.
[5] 梁利嘉.基于單目視覺的機(jī)器人定位技術(shù)研究[D].秦皇島:燕山大學(xué),,2014.
[6] 李星云.基于單目視覺的工業(yè)機(jī)器人定位系統(tǒng)的設(shè)計[J].機(jī)床與液壓,,2015,43(9):35-38.
[7] 劉昶.基于共面二點一線特征的單目視覺定位[J].計算機(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].計算機(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.