?

復雜環境下的多工件定位研究*

2015-02-21 07:50鄒湘軍羅陸鋒王成琳
電子技術應用 2015年12期
關鍵詞:單目攝像機坐標系

劉 念 ,鄒湘軍 ,葉 敏 ,羅陸鋒 ,2,王成琳

(1.華南農業大學 工程學院,廣東 廣州 510642;2.天津職業技術師范大學 機械工程學院,天津 300222)

0 引言

機器視覺技術具有非接觸、工作穩定、實時性高等優點[1]。單目視覺作為機器視覺中的重要組成部分,多被應用于目標的檢測和測量中,且能獲得較高的精度[2-4]。然而在工業生產中,常常需要視覺系統在復雜作業環境下為抓取機器人提供精確的工件位姿信息,即為單目視覺下的工件定位問題。文獻[5]中給出了一種單目視覺下的機器人定位系統,但該系統需要對每個工件進行人為標記,無法滿足實時性要求。文獻[6]中設計了一種處理簡單、計算準確的單目視覺定位系統,該系統只針對單一目標且無法適應多目標、光線變化等復雜環境。文獻[7]則提出基于共面兩點一線特征的單目視覺定位,由于需要給定共面特征點和直線特征,因此對定位工件要求特殊,無法滿足通用性。以上研究的工作對象多為單一目標且定位環境較為適宜。但是,在實際車間作業中,工件往往處在多目標雜亂分布、光照不均勻及部分遮擋等條件下。鑒于工業生產環境的復雜性,本文首先討論了雜亂背景、部分遮擋及非線性光照條件下魯棒的多目標識別方法,在張正友棋盤標定法確定攝像機內參數的基礎上,結合最小二乘法將目標在圖像坐標系下的位置轉換到世界坐標系中,完成目標的精確定位。

1 多目標的定位系統構成及工作原理

多目標的平面定位系統主要由圖像采集、照明光源、機械支架及計算機軟件4部分構成,圖像采集由維視公司型號MV120SC定焦工業攝像機完成,照明光源由LED環形光源構成,機械支架上的豎直導軌確保CCD攝像機視場可調,計算機軟件部分則由OpenCV開源視覺庫開發,其具體結構示意圖如圖1所示。

圖1 系統結構示意圖

圖2為該定位系統的主要工作流程圖,系統的工作原理為:CCD攝像機獲取目標圖像,經過圖像預處理后與離線生成的模板邊緣圖像進行匹配,確定目標所在的圖像像素坐標(u,v)。借助精度為0.2 mm的標定板通過最小二乘法獲取攝像機坐標系與世界坐標系之間的轉換矩陣,結合單目攝像機標定結果及目標的像素坐標(u,v),經過坐標轉換完成目標在世界坐標系下的位姿定位。

圖2 系統算法流程圖

2 基于邊緣梯度的模板匹配

傳統的模板匹配算法,對噪點、光照變化、遮擋及小角度旋轉等因素干擾的適應性和魯棒性不高[8],很難滿足工業生產中惡劣環境的要求。本文采用一種基于邊緣梯度的模板匹配算法,先利用邊緣檢測算子獲取模板圖像精確的邊緣信息,然后計算對應邊緣點的梯度,最后根據定義的相似度度量計算匹配得分[8-10],完成匹配過程。其中,采用圖像金字塔和邊緣點采樣減少計算量并加快算法運行時間。

2.1 相似性度量函數

設目標模板圖像的所有邊緣像素點組成點集pi=(xi,yi)T,與之對應的梯度為di=(ti,ui)T,i=1,…,n。 其中,邊緣點的梯度可由Sobel邊緣檢測算子濾波得到。對于待搜索圖像,也通過Sobel邊緣檢測算子濾波,計算出圖像 中 每個 點(x,y)的 梯 度為ex,y=(vx,y,wx,y)T。 在待搜 索 圖像的某一點q=(x,y)T處,模板圖像與待搜索圖像進行匹配,計算模板中所有邊緣點的歸一化梯度和待搜索圖像對應點處的歸一化梯度點積的總和,作為匹配得分。變換后的模板在待搜索圖像點q處的相似性度量表示如下:

2.2 算法的加速策略

2.2.1 圖像金字塔分層搜索

采用圖像金字塔搜索策略,可以指數級地減少計算量,加快算法運行時間[11-12]。分別創建待搜索圖像和模板的圖像金字塔,為盡可能獲得匹配目標,通常在金字塔的頂層需要進行遍歷搜索。每個潛在的匹配位置的得分都必須要大于smin,并且需要確定該位置的匹配分值為局部最大值。在圖像金字塔頂層獲得了潛在的匹配位置后,圖像金字塔的下一層在一個5×5×5的鄰域內進行搜索,尋找得分最大值并篩選誤匹配點,直至圖像金字塔最底層。

2.2.2 邊緣點采樣

在圖像的底層搜索時,由于模板圖像逐漸變大而使邊緣點個數顯著增加,會帶來更多的算法時間消耗。故提出一種邊緣點采樣的方法,即:在底層搜素時,首先運用canny邊緣檢測算子確定初始邊緣點,然后選取圖像中偶數行和偶數列的邊緣點作為最終的邊緣點,代入算法中進行計算。

3 坐標系轉換

在圖像的模板匹配完成后, 可以得到目標在圖像坐標系下的像素坐標 (u,v)。結合攝像機標定的結果,可以將(u,v)轉換到攝像機坐標系下。由于相機制造工藝的影響,攝像機坐標系Oc-xyz無法準確測定,因此還需將目標位置信息轉換到可見的世界坐標系Ow-xyz下。各坐標系之間關系如圖3 所示。

圖3 坐標系轉換示意圖

3.1 攝像機標定

攝像機想要精確地獲得主點、焦距及畸變等內部參數,只能通過攝像機標定來獲得。張正友等人提出的棋盤平面靶標的標定方法[13]簡單易行,只需將相機從不同角度拍攝棋盤的多幅圖像進行運算即可。本文采用張正友棋盤標定法,結合OpenCV2.3.1庫中的函數在VS2008平臺上運行自行編寫的標定程序,求解出相機的內參數矩陣M及鏡頭畸變系數d。其中:

式中:fx、fy分別為圖像軸X、Y軸上的像素焦距,(cx,cy)為光軸中心點的像素坐標。k1、k2為徑向畸變參數,p1、p2為切向畸變參數。

3.2 世界坐標系設定

以目標所在的棋盤格平面為世界坐標系的x-o-y平面,世界坐標系的z軸垂直x-o-y平面向上。選取棋盤上左上角的角點為坐標系原點,如圖4所示。

圖4 實驗平臺

3.3 攝像機外參數描述

結合攝像機標定的結果式(2)、式(3),可以將目標的像素坐標(u,v)轉換成攝像機坐標系下的三維坐標。其轉換過程如下:

式中,(u′,v′)為矯正后的像素坐標,f為矯正函數,M 為攝像機內參數矩陣,(xc,yc,zc)為目標在攝像機坐標系下的三維坐標。

攝像機外參數模型描述了攝像機坐標系在世界坐標系中的空間位置信息,設目標點P在攝像機坐標系下的坐標為(xc,yc,zc),在世界坐標系下的坐標為(xw,yw,zw),則攝像機外參數矩陣可以表示為[15]:

式 中 ,r1=[r1xr1yr1z]T、r2=[r2xr2yr2z]T、r3=[r3xr3yr3z]T分別為xw、yw、zw軸在攝像機坐標系下的旋轉向量,t=[txtytz]T為世界坐標系原點在攝像機坐標系下的平移向量。

由于目標點落在棋盤格平面上,故zw=0,結合式(4)、式(5)有:

式中,m=[r1xr1yr1zr2xr2yr2ztxtytz]T

由式(7)可知,tz≠0,故求出m中的 8個未知數即可確定世界坐標系與圖像坐標系的轉換關系。棋盤格上的每個角點提供兩個方程,至少需要4個角點便可以求出m。將式(6)記為:A·m=B,對于整幅棋盤上的 77個角點,采用最小二乘法求解參數矩陣m:

m=(ATA)-1ATB

4 實驗結果與分析

攝像機采集到4種不同環境下的200張圖片,通過Opencv庫中的函數結合C++編程實現算法編程并對圖片進行分析處理,實驗環境為VS2008,實驗目標為工業用矩形工件,實驗平臺如圖4所示。將會以3個標準來評價多目標復雜環境下的工件定位結果:多目標復雜環境下的工件識別率、完成單個目標定位所需的時間和工件的位姿定位誤差。

4.1 工件識別的準確率

圖5給出4組實驗圖像來驗證工件識別的正確性和魯棒性:圖5(a)為正常條件下的工件識別匹配結果,圖5(b)為非線性光照條件下的工件識別匹配結果,圖5(c)為遮擋條件下的工件識別匹配結果,圖5(d)為雜亂背景下的工件識別匹配結果。4種不同場景下的實驗圖片各有50張,每張圖片中的目標隨機分布、工件個數為4到10個不等。運行本文的工件識別算法,并依次統計算法識別率,不同環境下的結果如圖5和表1所示。

圖5 識別算法試驗

表1 不同環境下的算法識別率

上述實驗結果表明,對于部分遮擋、雜亂背景及非線性光照等條件下,該方法對多目標進行識別匹配具有較強的魯棒性。通過調節匹配閾值,可以提高多目標條件下識別目標的數量,但同時會存在誤匹配。在多目標、復雜環境下,工件正確匹配的識別率均達到80%以上。

4.2 定位單個工件的時間及定位誤差

工件完成識別定位的時間與獲取圖像的大小與計算機硬件處理速度有關。本文中選取的模板大小為50×50,待搜索圖像大小為1 280×960。在不同計算機硬件平臺下的算法運行時間見表2。由表2可知,本文算法與計算機處理器類型密切相關;在正常背景、雜亂背景和非線性光照下,算法的平均匹配時間相差不大;部分遮擋條件下,算法運算時間最長,這是由于遮擋條件下識別的準確率較其他3種條件下低;算法的運行時間均在0.5 s以內。

表2 不同平臺下的算法平均運行時間

4.3 工件的位姿定位誤差

對于工件的姿態角度定位精度,由于實現條件的限制,故采用仿真圖像進行驗證。隨機截取10幅工件目標圖像, 分別將該工件目標圖像旋轉 25°、55°、75°、105°、135°后,運行本文算法求解工件姿態角度并與實際旋轉角度比較,計算姿態角度的定位誤差。

本實驗中,由于工件呈規則的中心對稱,因此目標的定位誤差基準為工件的幾何中心點,即孔的中心。工件幾何中心的像素坐標,在式(3)中由算法給出,經過式(4)轉換成世界坐標系下平面坐標。經過實驗統計,得到200組實驗數據,根據測量所得工件實際平面坐標,求出工件目標的定位誤差如表3所示。

表3 x、y方向的均值誤差和均方根(RMS)誤差

由表3可知:均方根誤差衡量了觀測值與真值之間的偏差,故工件的定位誤差小于1 mm,姿態角度的定位精度小于1°。誤差的主要來源包括:算法的定位誤差及實驗過程中工件中心的測量誤差等。由于實驗中攝像機的光軸垂直于x-o-y平面,因此x、y方向上的誤差雖略有差別,但差別較小。由于識別算法的旋轉角度搜索步長設置為1°,而仿真實驗的結果也驗證了該算法的姿態角度定位精度小于1°。

5 結論

本文研究了多目標復雜環境下的工件定位方法,通過快速、魯棒性高的基于邊緣梯度的模板匹配方法識別目標,并確定目標在圖像中的位置。結合單目攝像機標定結果,獲取圖像坐標到實際世界坐標系的投影轉換關系,最終得到目標在三維空間中的精確平面位置信息。實驗表明,該方法在復雜背景、非線性光照等惡劣環境下,能夠穩定地識別多個目標,目標定位的平均時間為0.5 s以內,目標在x-o-y平面的定位精度小于1 mm,姿態角度定位精度小于1°,能滿足實際應用要求。

[1]張興華.基于機器視覺的目標識別與測量算法的研究[D].濟南:山東大學,2012.

[2]趙連軍.單目三點位置測量精度分析[J].光學精密工程,2014,22(5):1192-1197.

[3]惠鵬飛,苗鳳娟,陶佰睿,等.一種適用于PCB檢測的彩色圖像分割算法[J].電子技術應用,2013,36(03):138-143.

[4]張宇.一種基于機器視覺的圓型零件檢測技術[J].計算機工程,2008,34(19):185-187.

[5]梁利嘉.基于單目視覺的機器人定位技術研究[D].秦皇島:燕山大學,2014.

[6]李星云.基于單目視覺的工業機器人定位系統的設計[J].機床與液壓,2015,43(9):35-38.

[7]劉昶.基于共面二點一線特征的單目視覺定位[J].計算機應用研究,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].計算機應用,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.數字圖像處理(第三版)[M].北京:電子工業出版社,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].北京:北京航空航天大學出版社,2007.

猜你喜歡
單目攝像機坐標系
一種單目相機/三軸陀螺儀/里程計緊組合導航算法
基于單目視覺的倉儲物流機器人定位方法探討
解密坐標系中的平移變換
坐標系背后的故事
單目SLAM直線匹配增強平面發現方法
基于重心坐標系的平面幾何證明的探討
攝像機低照成像的前世今生
新安訊士Q6155-E PTZ攝像機
基于CAD模型的單目六自由度位姿測量
如何消除和緩解“攝像機恐懼癥”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合