楊宗芳1,2,白劍宇2
(1.太原科技大學電子信息工程學院,太原 030024;2.浙江大學寧波理工學院,浙江寧波 315100)
基于機器視覺的西林瓶尺寸檢測
楊宗芳1,2,白劍宇2
(1.太原科技大學電子信息工程學院,太原 030024;2.浙江大學寧波理工學院,浙江寧波 315100)
在西林瓶生產(chǎn)過程中,尺寸是一項重要的產(chǎn)品質(zhì)量判斷標準,與傳統(tǒng)的西林瓶尺寸人工檢測方法相比,基于機器視覺的自動檢測具有巨大優(yōu)越性;為實現(xiàn)西林瓶尺寸的檢測,提出了一種基于機器視覺的西林瓶尺寸檢測方案,設計了系統(tǒng)的圖像采集和背光源照明方案,通過中值濾波對圖像進行去噪,利用對圖像像素點的運算算法,對圖像的灰度進行了校正變換,增強圖像的對比度,采用Canny算子成功提取西林瓶邊緣,在HALCON平臺下實現(xiàn)了西林瓶尺寸測量;設定系統(tǒng)標定方法并選取15個2 m L樣品西林瓶進行測試,結(jié)果表明,該方法對西林瓶尺寸檢測快速準確,邊緣量化精度達到了亞像素級別,檢測精度為0.02 mm,滿足西林瓶生產(chǎn)的參數(shù)測量精度要求,為工業(yè)生產(chǎn)產(chǎn)品尺寸的自動檢測提供了一種有效的新途徑。
機器視覺;中值濾波;邊緣檢測;尺寸檢測
西林瓶是一種玻璃管制注射劑瓶,廣泛應用于口服液、凍干、粉劑等藥品的包裝中。西林瓶生產(chǎn)過程中,其尺寸被作為一項重要的檢測標準。在工業(yè)生產(chǎn)上用基于機器視覺的非接觸式檢測方法代替?zhèn)鹘y(tǒng)的接觸式測量,不僅有效的避免了產(chǎn)品表面損傷,而且提高了工作效率以及產(chǎn)品的測量精度[1-3]。
當今針對機器視覺在產(chǎn)品尺寸檢測上的應用研究存在很多,并取得了一定的成果[4 5]。文獻[4-5]中作者都是基于機器視覺設計出工件尺寸測量系統(tǒng),并且均達到了預期的效果,但是針對西林瓶這種特殊玻璃材料的視覺檢測系統(tǒng)為數(shù)不多,針對此現(xiàn)象,本文設計了一種基于機器視覺的西林瓶尺寸檢測系統(tǒng)方案。該系統(tǒng)在HALCON平臺下,運用一些圖像處理技術(shù),如濾波、邊緣檢測、blob分析、形態(tài)學等,為西林瓶尺寸檢測提供了一種精度高、速度快、穩(wěn)定性好的方法。
檢測系統(tǒng)總的結(jié)構(gòu)如圖1所示,其中圖像獲取系統(tǒng)主要由光源、高速攝像鏡頭、CCD工業(yè)相機和圖像采集卡4部分組成[6]。由于西林瓶為玻璃制品,表面反光較為嚴重,所以一般的打光方式無法采集到高質(zhì)量的圖像,為此本文設計了針對該情況的特殊打光方式,利用鏡面反射LED光源為西林瓶打光,其示意圖如圖2所示,CCD相機與西林瓶保持合適的距離和角度。
圖1 系統(tǒng)結(jié)構(gòu)
圖像的獲取可分為兩種方式:1)在線讀取瓶口圖像,先通過HALCON軟件中的open_framegrabber函數(shù)指明圖像采集設備的接口[7],然后由grab_image函數(shù)實時讀取瓶口圖像;2)采集圖像并存入計算機硬盤,然后利用read_image函數(shù)獲取文件中的圖片。本文主要利用方法1來進行處理的。采集到的西林瓶圖像經(jīng)灰度變換后如圖3所示。
2.1 圖像濾波
由于生產(chǎn)現(xiàn)場復雜環(huán)境的影響,采集到的圖像帶有一定的噪聲干擾,需要經(jīng)過一些圖像濾波技術(shù)對其進行預處理來去除噪聲點影響,以便準確地檢測到圖像的邊緣。
圖2 打光示意圖
圖3 西林瓶圖像
常見的圖像濾波方法有:均值濾波、中值濾波、高斯濾波等[8 9]。經(jīng)過大量實驗對比,本文最終選用中值濾波算法,其優(yōu)點就是可以去除椒鹽噪聲,并且可以有效的保留圖像的邊緣信息[10-11]。
中值濾波可用下式表示:
其中:A為濾波窗口,{fij}代表圖像二維數(shù)據(jù)序列。
經(jīng)過各種濾波方式的選擇對比,我們最終選擇濾波掩膜為圓形,半徑大小為5的中值濾波器對圖像進行平滑濾波,在Halcon平臺上利用median_image(Image,ImageMedian,‘circle’,Radius,‘mirrored’)算子對原始圖像進行濾波處理,結(jié)果如圖4所示。
圖4 圖像平滑
圖5 圖像增強
2.2 圖像增強
圖像經(jīng)過濾波處理之后,其邊緣和輪廓將出現(xiàn)模糊的情況,為了減少這種不利效果的影響,我們需要對圖像進行對比度的增強,使圖像的邊緣變得清晰。圖像增強的算法大體上可以分為兩類:頻率域法和空間域法[12]。本文則直接對圖像的像素點進行運算,對圖像的灰度進行校正變換,以便來增強圖像的對比度。假如原始圖像的灰度值為S0,通過median_image中值濾波后灰度值為S1,結(jié)果圖像灰度值為S2,利用下式對圖像的灰度進行變換:
其中:Factor為系數(shù),本文取值為6,round為整數(shù)的四舍五入運算。
增強后的圖像效果如圖5所示,圖像整體的對比度得到了很大的提高,而圖像的邊緣也更加清晰突出,有利于下一步的邊緣檢測。
2.3 邊緣檢測
為了能夠準確檢測出西林瓶的尺寸,我們需要對西林瓶圖像進行邊緣的提取。邊緣檢測是圖像分割、目標識別、區(qū)域形狀分析等圖像分析和識別領(lǐng)域中十分重要的基礎(chǔ)[13 14]。圖像中物體的邊緣常以局部特征不連續(xù)的形式出現(xiàn),例如灰度值的突變、顏色的突變、紋理結(jié)構(gòu)的突變等。
圖像中的物體邊緣一般具有兩個特征值:梯度向量的幅值和方向,分別對應著灰度的變化率和變換方向。例如函數(shù)f(x,y)在(x,y)出的梯度可以表示為:
利用Gx,Gy模板可以構(gòu)成一個梯度算子。在實際應用中,一般使用圖像和算子進行快速卷積的方法來實現(xiàn)邊緣檢測。常見的微分算子如表1所示。
表1 微分算子
以上常用的微分算子對噪聲抑制和邊緣定位還不是很準確,經(jīng)過大量實驗對比,本文最終選用Canny算子對圖像進行邊緣檢測。
Canny算子具體的實現(xiàn)步驟如下:
1)首先對原始圖像進行濾波,以消除噪聲;
2)使用表1所示的微分算子找到圖像沿兩個方向的灰度導數(shù)Gx,Gy,并求出梯度的幅值和相角:,;
3)根據(jù)邊緣的方向,把邊緣的梯度方向分為:0°、45°、90°和135°,找到該像素梯度方向的鄰接像素;
4)非極大值抑制:遍歷整個圖像,如果某個像素的灰度值與其梯度方向上前后兩個像素的灰度值相比不是最大的,則可判斷該像素不是邊緣點;
5)使用雙閾值檢測:凡是大于高閾值的一定是邊緣,小于低閾值的則不是邊緣。如果結(jié)果處在兩個閾值之間,則看這個像素的鄰接像素中有沒有超過高閾值的像素,如果有,則它就是邊緣,否則不是。
使用Canny算子對西林瓶圖像進行邊緣檢測,最終邊緣檢測結(jié)果如圖6所示所示。
尺寸測量主要是測出西林瓶關(guān)鍵部位的尺寸。西林瓶在制瓶機成型時,需要測量的尺寸如圖7所示有:瓶身外徑d1、瓶脖外徑d2、瓶口外徑d3、瓶口邊厚h1。通過對這4個尺寸進行實時監(jiān)控,來提供生產(chǎn)技術(shù)支持,控制西林瓶成型的走勢,減少次品數(shù)量,以便達到合格的尺寸標準。
圖6 圖像邊緣檢測
圖7 尺寸測量示意圖
3.1 測量區(qū)域邊緣的提取
尺寸的測量關(guān)鍵是找到邊緣線。在提取測量區(qū)域邊緣點之前,我們需要首先判斷工位上是否存在西林瓶,如圖8所示,我們只需判斷藍色矩形框內(nèi)圖像的灰度值,如果不存在西林瓶,則灰度值為0或很小,如果灰度值大于某閾值則可判斷有西林瓶存在。判斷存在西林瓶之后,我們需要定位整個西林瓶位置,然后才能確定測量區(qū)域的位置,最后根據(jù)測量區(qū)域內(nèi)的邊緣線來確定尺寸大小。我們以瓶口邊緣線來定位整個西林瓶位置。以藍色矩形框底線為起始位置,以從左到右從下往上順序搜索,直到找到瓶口位置為止,如圖9所示。確定了西林瓶位置之后,通過Halcon gen_rectangle2(ROI,Row,Column,Phi,Length1,Length2)算子在西林瓶上產(chǎn)生測量瓶身外徑、瓶脖外徑、瓶口外徑、瓶口厚度的矩形感興趣區(qū)域ROI。建立ROI的等效區(qū)域模型,如圖9所示。在ROI內(nèi)水平等距離建立一條投影的線段,等距離一般設為一個像素,然后取線段的中點并連接起來,形成的帶有方向的線段稱為剖面線,其方向也就是ROI的方向,圖10為瓶口ROI剖面線示意圖。
圖8 定位示意圖
圖9 感興趣區(qū)域ROI
圖10 剖面圖
由gen_measure_rectangle2(ROI,Row,Column,Phi,Length1,Length2,Width,Height,Interpolation,Measure-Handle)算子建立測量目標,即ROI區(qū)域。在測量目標內(nèi)沿剖面線方向計算等距離間隔圖像的灰度均值。由此可以計算出沿剖面線物體的輪廓線灰度值,圖11為瓶身ROI的灰度直方圖。
由ROI的灰度直方圖我們可以清楚的看到ROI內(nèi)輪廓的走向,我們選用輪廓線灰度的一階導數(shù)的極值點作為邊緣的候選點,然后設定一個灰度閾值,如果一階導數(shù)極值點的絕對值大于預設的閾值,則該點被選作為邊緣中心點。返回每條邊緣與剖面線的交點位置,則檢測到的ROI邊緣直線段如圖12所示。
圖11 灰度直方圖
圖12 檢測到的邊緣
圖13 測量結(jié)果
3.2 西林瓶的尺寸測量
由3.1節(jié)我們成功提取到ROI邊緣,然后利用測量算子measure_pairs(Image,Measure Handle,Sigma,Threshold,Transition,Select,Row EdgeFirst,Column EdgeFirst,AmplitudeFirst,Row EdgeSecond,Column EdgeSecond,Amplitude-Second,IntraDistance,InterDistance)便可計算出各個邊緣點之間的距離,如圖13所示,有3個ROI區(qū)域提取到兩組邊緣點,IntraDistance代表每個組內(nèi)邊緣點之間的距離,InterDistance代表每組之間的距離,也就是第一組中第二個邊緣點到第二組中第一個邊緣點的距離,所以最終我們測得瓶身外徑為(IntraDistance[0]+InterDistance+IntraDistance[1]),同理可知瓶口外徑、瓶脖外徑、瓶口厚度。
4.1 系統(tǒng)標定
本文采用機器視覺工程中常用的系統(tǒng)標定法,使用物理尺寸和像素的比值將以像素為單位的尺寸轉(zhuǎn)換為以毫米為單位的尺寸[15]。具體步驟如下:
1)選取一個2 m L尺寸已知的標準西林瓶樣品,選定該標準件的瓶身外徑為一量規(guī),設該標準量規(guī)尺寸為Dmm。量規(guī)本身作為傳遞量值的標準計量器件具有很高的精度。
2)將標準樣品放置于測量系統(tǒng)內(nèi)進行測量,此時光源、相機參數(shù)以及標準件與相機之間的相對位置都與正常工作時一樣。這樣條件下,測得瓶身外徑以像素為單位的尺寸為d pixel。
4.2 實驗結(jié)果分析
由以上步驟我們可以準確的測出西林瓶各個部位的尺寸,通過相機標定,我們可以找出圖像坐標系與世界坐標系之間的對應關(guān)系,最終得出本系統(tǒng)像素(pixel)與長度單位毫米(mm)之間的轉(zhuǎn)換關(guān)系,k=0.020 291 mm/pix。以15個2 m L的西林瓶為試驗樣品進行實驗,實際測量得到的尺寸如表2所示。
表2 測量結(jié)果
如表2所示,該西林瓶尺寸測量系統(tǒng)具有良好的穩(wěn)定性,誤差較小,滿足企業(yè)的測量誤差要求,具有一定的可行性和使用價值。
本文對基于機器視覺的西林瓶尺寸檢測系統(tǒng)進行了研究,運用圖像處理相關(guān)算法,利用HALCON平臺設計出了檢測方案并進行了實測。實驗結(jié)果表明,該方法對西林瓶尺寸檢測快速準確,檢測速度60個/分鐘,邊緣量化精度達到了亞像素級別,檢測精度達到了像素級別,測量誤差為0.02 mm,滿足企業(yè)產(chǎn)品檢測要求,對企業(yè)產(chǎn)品的品質(zhì)管理具有一定的幫助。
[1]劉金橋,吳金強.機器視覺系統(tǒng)發(fā)展及其應用[J].機械工程與自動化,2010(1):215-216.
[2]姚峰林.數(shù)字圖像處理及在工程上的應用[M].北京:北京理工大學出版社,2014.
[3]伍濟鋼,賓鴻贊.機器視覺的薄片零件尺寸檢測系統(tǒng)[J].光學精密工程,2007,15(1):124-130.
[4]傅 駿.基于機器視覺的汽車換熱器尺寸測量及外觀檢測系統(tǒng)設計[D].南京:南京理工大學,2014:2-23.
[5]柯國梁.基于機器視覺的密封圈尺寸在線檢測系統(tǒng)的設計[D].蘇州:蘇州大學,2014:4-8.
[6]顧 勇,何明昕.基于機器視覺的啤酒瓶檢測系統(tǒng)研究[J].計算機工程與設計,2012,33(1):248-253.
[7]朱先鋒,潘洪軍.基于Halcon的硒鼓缺陷檢測與一維尺寸測量[J].吉林大學學報(信息科學版),2014,32(3):308-315.
[8]揚 帆.數(shù)字圖像處理與分析[M].北京:北京航空航天大學出版社,2007.
[9]范立南,韓曉薇,張廣淵.圖像處理與模式別[M].北京:科學出版社,2007.
[10]Yang Z F,Bai J Y.Vial Bottle mouth defect detection based on machine vision[A].IEEE International Conference on Information and Automation[C].2015:2638-2642.
[11]陳 云.基于機器視覺的SMD管腳尺寸檢測[D].上海:上海交通大學,2011:5-23.
[12]張東波,王耀南,段 峰,等.粗糙集在智能空瓶檢測感興趣區(qū)域提取中的應用[J].系統(tǒng)仿真學報,2007,19(5):1021-1025.
[13]楊福剛,孫同景,宋松林.基于機器視覺的全自動燈檢機關(guān)鍵技術(shù)研究.儀器儀表學報,2008,29(3):562-566.
[14]艾澤潭,石庚辰,代 俊.微零件圖像亞像素邊緣定位算法[J].北京理工大學學報,2011,31(3):336-339.
[15]Zhang Z Y.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000:1330-1334.
Vial Size Detection Based on Machine Vision
Yang Zongfang1,2,Bai Jianyu2
(1.Institute of Electronic Information Engineering,Taiyuan University of Science and Technology,Taiyuan 030024,China;2.Ningbo Institute of Technology,Zhejiang University,Ningbo 315100,China)
Vial size is an important quality criterion in the production process of vial.Compared with the traditional method of manual inspection vial size,automatic detection has great advantages.To achieve vial size detection,a program of vial size detection based on machine vision is presented,which designed the image acquisition and the backlight lighting scheme of the system,through the median filter for image noise,using the image pixel calculation algorithm to make the image gradation correction transform and enhance the contrast of the image,using Canny operator to extract the edge of the vial successfully,achieving vial size measurement in HALCON platform.Proposed system calibration method and selected 15 samples 2 m L vials for testing.The results show that the detection method is fast and accurate,and the detection accuracy is 0.02 mm,edge quantization accuracy can reach to the sub-pixel level,meet the requirements of the vials production accuracy of parameters measurement,provides an effective and automatic way to detect industrial production size.
machine vision;median filter;edge detection;size detection
1671-4598(2016)08-0063-04
10.16526/j.cnki.11-4762/tp.2016.08.017
:TP391
:A
2016-01-30;
:2016-03-03。
浙江省自然科學基金資助項目(LY15F030016)。
楊宗芳(1989-),男,河北邢臺人,碩士研究生,主要從事模式識別與圖像處理方向的研究。
白劍宇(1967-),男,浙江寧波人,教授,主要從事機器視覺和計算機應用方向的研究。