肖書浩,何 為,吳 蕾
(武昌首義學院,武漢 430064)
隨著機器視覺在工業生產中的應用越來越普及,產品生產流水線上對自動尺寸檢測的需求越來越多。目前,通用尺寸測量軟件基本上為國外品牌[1~3],這些測量軟件也只是提供一個開發平臺,需要用戶針對具體測量任務做二次開發[4~6]。國內也有很多這方面的研究,但主要應用在一些特殊場景[7~13]。本文介紹了一種通用的應用于產品流水線平面尺寸檢測的軟件系統,該系統不需要用戶進行二次開發,只需要通過不同測量工具的組合,就可以完成各種尺寸測量任務。為了達到通用的要求,在軟件結構上設計了識別區(Region of Interest ,簡寫為ROI)和尺寸測量工具(Tool)的靈活層次架構(C++類),在算法上形成了一套完整的計算模型:ROI數據結構表達、邊界點識別、平面曲線擬合和平面尺寸計算。該系統作為尺寸測量子系統已經成功應用在武昌首義學院與亞旭電子科技(江蘇)有限公司合作開發的機器視覺軟件中。
圖1為系統框架示意圖。該系統用C++語言開發,使用OpenCV作為圖像與分析底層平臺,使用QT作為界面和人機交互庫。
軟件界面與交互框架:實現軟件的界面和人機交互框架。
工業相機驅動與配置模塊:各種型號工業相機驅動,相機拍照控制方式設置,相機參數設置。

圖1 平面尺寸檢測系統框架示意圖
工業相機標定模塊:相機畸變矯正,圖像坐標與世界坐標的轉換[14]。
測量任務管理模塊:測量任務命名、保存和打開。
測量工具設定模塊:測量工具的編輯。
自動運行模塊:系統進行自動測量,并輸出測量結果。
流水線上的產品尺寸檢測過程如圖2所示,開始一個新尺寸檢測任務時,必須先進行測量工具設定,然后開始自動運行。
1)測量工具設定
該設定只需在有新的測量任務時才需要(如圖2上圖所示)。選擇多個測量工具(Tool)來完成測量任務,每個工具按以下步驟配置。
(1)選擇是否需要定位器。如果選擇了定位器,需要選取待測零件上幾何特征比較明顯且不易受到周圍形狀干擾的形狀為定位器。
(2)在需要識別平面曲線(直線或圓弧)的地方放置相應ROI。
2)自動運行
當工業相機傳來需要測量的零件圖片時,系統按以下步驟進行每個測量工具的尺寸測量計算(如圖2下圖所示)。
(1)ROI定位:首先識別出定位器位置,并更新所有ROI的位置;
(2)平面曲線識別:通過ROI的識別算法,識別出每個ROI對應的平面曲線(直線、園等);
(3)尺寸計算:通過多個ROI平面曲線計算需測量的尺寸(如:兩個平行線之間的距離)。

圖2 流水線產品尺寸檢測流程示意圖
下面將介紹該系統的關鍵技術:系統底層結構(C++類)設計和平面尺寸測量計算模型(ROI數據結構表達、邊界點識別、平面曲線擬合和平面尺寸計算)。
為了實現尺寸測量的通用性,在軟件的底層設計上必須要有足夠的靈活性[15]。該系統設計了兩大C++類:ROI和Tool(如圖3所示)。ROI負責局部平面曲線的識別,Tool負責測量尺寸計算。圖3(a)表示了部分ROI的類,MeasureROI為曲線識別ROI,下面分直線識別(LineROI)、圓弧識別(CircleROI)等,RangeROI為分析與識別范圍ROI,下面分矩形(RectROI)等。
具體尺寸測量通過工具類Tool來實現(如圖3(b)所示)。例如:DistanceTool為兩平行線間的距離測量,包含兩個LineROI作為成員變量,實現平行間的距離測量。CircleTool為園測量工具,包含一個CircleROI作為成員變量。HoughCircleTool是用霍夫方法測量園的工具,包含一個RectROI作為成員變量,HoughCircleTool常用作定位器使用。

圖3 ROI和Tool類示意圖
在定義了ROI和Tool兩大類后,系統在自動運行時就只需要遍歷所有Tool就可以了(如圖4所示)。

圖4 工具的遍歷示意圖
ROI是平面曲線識別的范圍。分為直線ROI和圓弧ROI(如圖5所示)。直線ROI用來識別直線,圓弧ROI用來識別圓弧。為了便于計算,將所有ROI的數據(像素坐標,像素灰度值等)保存到一組矩陣容器中(或者是一個多通道矩陣容器,例如OpenCV中的Mat數據結構),如圖5所示。這樣做的好處是,后面的算法可以作用在一個統一的容器上。因為ROI的像素與原始圖片的像素不是精確對應,計算中要用到雙線性插值算法。

圖5 ROI與矩陣容器的對應

圖6 圖像特定方向灰度梯度曲線
圖6顯示了在圓弧ROI中沿與圓弧法線方向搜尋邊界點的情形。通過灰度值梯度(一階導數)的變化可以方便識別出邊界點(圖中白色填充的點)[16]。
每個ROI中可以包含多條曲線,本文只討論ROI只包含一條曲線(直線或者圓)。3.1節已經識別出邊界點,本節的任務就是由這些點擬合相應的曲線(直線或圓弧)。
通過邊界點擬合平面曲線有很多算法,被廣泛使用的有:M-估計法(M-estimators)[17]和隨機抽樣一致算法(Random sample consensus,即RANSAC)[18],最小二乘法是M-估值法的一個特例。該系統使用了RANSAC算法,這種算法可以很好剔除異常點,用于直線或圓擬合的流程圖如圖7所示。

圖7 曲線(圓或者直線)擬合RANSAC算法流程圖

圖8 不同測量工具(Tool)通過ROI的組合完成測量任務
測量要達到通用的目的,必須能完成各種各樣的尺寸測量任務。本系統通過不同ROI之間的組合可以完成不同的測量任務,圖8列舉了部分測量工具的ROI組合。
為了完成具體測量的計算,系統必須建立幾何計算的數學模型。下面介紹部分數學計算模型和具體公式。
為了避免數據計算的溢出,直線可以用以下兩種方式表達:
1)直線的通用表達式:

2)直線通過一個點(x0,y0),方向矢量為(u,v)的參數方程為:

圓心在(x0,y0),半徑為r的圓用參數方程表示:


圖9 點到直線距離
圖9中兩直線的方程表示為:

解方程可求出:

進而可求出(xN,yN),最后可求出d。

圖10 直線與圓關系示意圖
如圖10所示,需要判斷直線(通過點(x0,y0),方向矢量為(u,v))與圓(圓心為(xc,yc),半徑為r)的關系(相切、相離和相交)。通過4.2節可以計算出點(xc,yc)到直線L的垂足(xN,yN)和距離d。

給定閾值deltaD(大于零的值),得到以下結論:1)如 果直 線 與 圓 相 切 ;2) 如 果d?r >deltaD ,直線與圓相離;3)如果d? r < ?deltaD ,直線與圓相交。
HoughCircleTool使用了霍夫變換(Hough transform)[19,20]的原理,將候選形狀從圖像空間映射到參數空間,并用統計學方式確定概率最大的形狀為識別結果。HoughCircleTool相比CricleTool,魯棒性更強,可以大范圍搜尋幾何體,但識別精度較差,比較適用于定位器工具。霍夫變換內容不在本文詳細討論。
本文介紹的系統通過底層靈活的類設計和任務設定功能,實現了流水線上通用產品尺寸測量。該系統作為尺寸測量子系統已經成功應用在武昌首義學院與亞旭電子科技(江蘇)有限公司合作開發的機器視覺軟件中。圖11顯示的是多個尺寸同時測量的情形,ROI中較粗的灰色線條為尺寸計算結果。

圖11 多個尺寸同時測量情形
[1]MVTec Software GmbH. Solution Guide I-Basic[Z].2014.
[2]Teledyne DALSA Incorporated. iNspect Express Software Users Manual[Z].2014.
【】【】
[3]Cognex Corporation.VisionPro 9.1 SR1 About This Release.2017.
[4]唐松,楊其華,劉剛海.基于Halcon的閥芯尺寸亞像素級測量[J].計算機工程與應用,2017,53(3):237-241.
[5]朱先鋒,潘洪軍.基于Halcon的硒鼓缺陷檢測與一維尺寸測量[J].吉林大學學報(信息科學版),2014(3):308-315.
[6]郭超,馬麟.基于機器視覺的尺寸測量方法研究[J].機械工程與自動化,2012(1):15-17.
[7]劉艷雄,張亮杰,毛華杰,等.基于機器視覺的精沖零件斷面缺陷檢測系統研究[J].制造業自動化,2016,38(4):3-7.
[8]楊琨,高勇.基于機器視覺的夏比試樣缺口測量系統[J].制造業自動化,2016,38(11):37-39.
[9]周應斌,何林,劉持平,等.基于機器視覺的銑刀鈍化鈍圓半徑檢測[J].制造業自動化,2015(2):46-49.
[10]李釗寶,汪新新,賈茜媛.基于機器視覺的工件尺寸高精度測量方法[J].計算機測量與控制,2015,23(6):1866-1870.
[11]郭瑞峰,袁超峰,楊柳,等.基于OpenCV的機器視覺尺寸測量研究[J].計算機工程與應用,2017,53(9):253-257.
[12]張平生,張桂梅.基于機器視覺的管孔類零件尺寸測量方法[J].機械設計與制造,2012(12):139-141.
[13]王冠英,胡心平,刁維龍.基于機器視覺的復雜形狀模具尺寸測量[J].計算機測量與控制,2015,23(3).
[14]尹英杰,徐德,張正濤,等.基于單目視覺的平面測量[J].電子測量與儀器學報,2013,27(4):347-352.
[15]JohnLakos,洛科什,Lakos,等.大規模C++程序設計[M].機械工業出版社,2014.
[16]Steger C, Ulrich M,Wiedemann C. Machine Vision Algorithms and Applications[M].2008.
[17]Vaart A W V D, Wellner J A. M-Estimators[M].Weak Convergence and Empirical Processes. Springer New York,1996.
[18]Fischler M A, Bolles R C. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography[M].ACM, 1981.
[19]Hough P V C.Method and means for recognizing complex patterns[P].u.s:No.3019654,1962.
[20]Duda R O,Hart P E. Use of the Hough transformation to detect lines and curves in pictures[J].Communications of the Acm,1972,15(1):11-15.