夏賢華;謝經(jīng)明;柯豐愷;張代林;陳幼平
(華中科技大學(xué)機(jī)械科學(xué)與工程學(xué)院,湖北 武漢430074)
玻璃瓶在食品、藥品、飲料等產(chǎn)品的包裝中得到了廣泛的使用[1]。傳統(tǒng)的玻璃瓶檢測方法為人工檢測,人工檢測一方面存在效率低,勞動強(qiáng)度大,而且檢測精度易受環(huán)境和心情的影響,無法保證檢測結(jié)果的可靠性[2]。另一方面,隨著工業(yè)自動化的發(fā)展,產(chǎn)品的生產(chǎn)線速度也在不斷提升,在酒行業(yè)中,生產(chǎn)線速度為13 000瓶/min,人工檢測根本無法達(dá)到檢測速度的要求。
近年來,隨著機(jī)器視覺技術(shù)的發(fā)展,該技術(shù)已廣泛應(yīng)用于各種產(chǎn)品的在線檢測中。提出了一種應(yīng)用于玻璃瓶在線檢測的實(shí)時(shí)檢測系統(tǒng),利用高速觸發(fā)相機(jī)采集圖像,配合圖像處理算法檢測缺陷,最后通過剔除機(jī)構(gòu)實(shí)現(xiàn)缺陷瓶的實(shí)時(shí)剔除。
玻璃瓶在線檢測系統(tǒng)要求能同時(shí)檢測出瓶口上端面缺陷和瓶頸部分缺陷。由于缺陷出現(xiàn)的位置是隨機(jī)的,因此,必須完整的檢測整個(gè)瓶口才能判斷有無缺陷。系統(tǒng)采用4個(gè)相機(jī)實(shí)現(xiàn)這一功能,其中,一個(gè)相機(jī)用于檢測瓶口上端面缺陷,另外3個(gè)相機(jī)間隔120°放置,實(shí)現(xiàn)360°全方位覆蓋瓶頸。系統(tǒng)主要包括相機(jī)系統(tǒng)、控制系統(tǒng)和剔除系統(tǒng)3大部分,其構(gòu)成如圖1所示。
系統(tǒng)的工作原理:當(dāng)生產(chǎn)線上的瓶子經(jīng)過第1個(gè)光電開關(guān)后,由于瓶子經(jīng)過沒有反射光線返回,因此,光電開關(guān)產(chǎn)生一個(gè)脈沖信號送給PLC,PLC再通過工控機(jī)觸發(fā)相機(jī)1進(jìn)行拍照,獲得瓶口圖像,接著通過第2個(gè)、第3個(gè)光電開關(guān)后,觸發(fā)剩余的相機(jī)采集瓶頸圖像,然后再將采集得到的圖像送回工控機(jī)進(jìn)行處理,并將處理結(jié)果送到平板電腦上進(jìn)行顯示。同時(shí)若檢測到缺陷,則通過工控機(jī)發(fā)送控制信號給PLC,由PLC控制剔除機(jī)構(gòu)進(jìn)行缺陷瓶的剔除。由于編碼器不受傳送帶速度波動的影響,只和瓶子走過的距離有關(guān),因此,可以通過編碼器和光電開關(guān)的配合來實(shí)現(xiàn)缺陷瓶的準(zhǔn)確剔除。剔除機(jī)構(gòu)選用SMC的高頻高速氣缸,有效行程30 mm,剔除頻率大于10 Hz,經(jīng)測試符合生產(chǎn)實(shí)際需要。
圖1 系統(tǒng)結(jié)構(gòu)
在機(jī)器視覺檢測系統(tǒng)中,獲得良好的圖像往往是系統(tǒng)成功與否的關(guān)鍵。而良好的照明系統(tǒng)則是獲得高質(zhì)量圖像的關(guān)鍵因素[3]。由于LED光源具有效率高、壽命長和可靠性高等優(yōu)點(diǎn),因此,系統(tǒng)選用LED光源。同時(shí)為了獲得較好的圖像質(zhì)量,必須保證瓶口和瓶頸各部分的均勻照明,因此瓶口采用環(huán)形光源照射,瓶頸采用大于瓶身面積的平板光源照射,瓶口的照射方式為基于發(fā)射光的前向照明,而瓶身采用基于透射光的背向照明,照射方如圖2、圖3所示。為了獲得可靠的圖像數(shù)據(jù),采用了具有專利技術(shù)的“一種四自由度可調(diào)工業(yè)攝像機(jī)裝夾機(jī)構(gòu)”,可以對相機(jī)的位置和角度進(jìn)行自由調(diào)節(jié),方便現(xiàn)場調(diào)試和固定。
圖2 瓶口照射方式
圖3 瓶身照射方式
圖像處理一般包括圖像的預(yù)處理,圖像分割,特征提取,缺陷分類[4]等。在系統(tǒng)中,由于相機(jī)性能較好,在圖像的形成、傳輸?shù)冗^程中基本沒引入噪聲,同時(shí)由于特征圖像和背景圖像的對比度較高,因此可以不進(jìn)行圖像的預(yù)處理。
以瓶口檢測為例,為了獲得較好的瓶口圖像,方便后面的進(jìn)一步處理,有必要對圖像進(jìn)行分割,突出圖像的關(guān)鍵信息。常用的圖像分割算法有閾值法、區(qū)域增長法、邊緣檢測法和模糊法等。由于本圖像的背景和特征圖像對比度較高且系統(tǒng)的實(shí)時(shí)性要求也比較高,因此,采用分割速度較快,實(shí)現(xiàn)較簡單的閾值分割算法。所謂閾值分割[5],就是選擇一個(gè)合適的圖像閾值后,將圖像分為背景圖像和目標(biāo)圖像。常用的閾值算法有固定閾值法和動態(tài)閾值法。固定閾值法適用于圖像灰度已知且基本不隨外界條件變化的情況下使用,這里考慮到光照等因素的影響,采用動態(tài)閾值法進(jìn)行圖像的分割。常用的動態(tài)閾值法有最大熵法、P-title法和Otsu法。經(jīng)試驗(yàn)知,和Otsu法相比,最大熵法的分割效果較為理想,和P-title法相比,最大熵法有明顯的速度優(yōu)勢,因此,采用最大熵法進(jìn)行閾值分割。最大熵法檢測原理如下所示。
在瓶口檢測中,圖像的對象比較單一,同時(shí)圖像本身基本不存在噪聲,因此,圖像相當(dāng)于只有目標(biāo)和背景兩個(gè)特征。因此,假定一個(gè)閾值T,便可將圖像分為兩個(gè)區(qū)域(目標(biāo)和背景),其中,灰度值小于T的區(qū)域?yàn)楸尘皡^(qū)域,大于T的區(qū)域?yàn)槟繕?biāo)區(qū)域。熵是信息論中的重要概念,其定義為[6]:
在圖像處理中,p(x)代表像素x發(fā)生的概率;ni代表灰度級x的像素?cái)?shù)量;N代表圖像的總像素?cái)?shù)。則
圖像背景區(qū)域的灰度級概率為所有灰度值小于T的概率之和,背景區(qū)域?yàn)椋?/p>
圖像目標(biāo)區(qū)域的灰度級概率為所有灰度值大于等于T且小于L的概率之和,目標(biāo)區(qū)域?yàn)椋?/p>
x=T,T+1,T+2,…,L
L代表圖像的灰度級數(shù)。
因此,背景區(qū)域和目標(biāo)區(qū)域的熵的定義為:
因此,圖像的熵定義為背景區(qū)域和目標(biāo)區(qū)域的熵之和為:
根據(jù)最大熵法的原理可知,使得H(T)取得最大值的T即為所求的閾值為:
在實(shí)際的生產(chǎn)線中,玻璃瓶在垂直傳送帶的方向上存在著一定的位置偏移,如圖4所示。在圖像處理之前,首先要對瓶口圖像進(jìn)行定位,而瓶口的定位可以通過定位圓心來檢測。傳統(tǒng)的定位法有重心法[7]、基本 Hough變換[8]法。重心法對于外界的條件要求很高,當(dāng)存在干擾時(shí),很容易使檢測到的重心偏離圓心,而且對于有缺陷的瓶口圖像來說,其重心和圓心本來就存在偏差,因此,重心法并不適用于瓶口定位。傳統(tǒng)的Hough檢測方法能較好的定位圓心的位置,但其計(jì)算量很大,難以滿足實(shí)時(shí)性的要求,所以,也不適合用于瓶口定位。
圖4 瓶口位置浮動
提出了一種基于2D中垂線的Hough變換改進(jìn)算法,利用圓上弦的中垂線的交點(diǎn)必過圓心這一性質(zhì)來定位瓶口位置。其算法流程如下所述。
a.對閾值分割后的圖像進(jìn)行邊界檢測,提取瓶口的邊緣圖像。
b.在提取到的邊緣圖像上隨機(jī)選取一點(diǎn)作為起點(diǎn)A,沿順時(shí)針方向經(jīng)過特定像素點(diǎn)個(gè)數(shù)后選擇第二點(diǎn)B,此時(shí)AB即為圓的一條弦,將AB順時(shí)針移動選定像素后,便得到另一條弦CD,如此重復(fù)直至弦的端點(diǎn)接近A點(diǎn)為止,可以得到一系列的弦。
c.根據(jù)b所得到的弦的集合,每2條弦就可以求得一個(gè)圓心的坐標(biāo)。以AB、CD 2條弦為例,設(shè)其坐標(biāo)為(Xa,Ya)、(Xb,Yb)、(Xc,Yc)、(Xd,Yd),則可以求得AB,CD的中垂線方程為:
聯(lián)立式(9)、式(10)即可求得瓶口的圓心坐標(biāo)。同理,可以求得一系列的圓心坐標(biāo),并將這些圓心坐標(biāo)以動態(tài)鏈表的形式進(jìn)行存儲。
d.統(tǒng)計(jì)動態(tài)鏈表中的結(jié)點(diǎn)值,結(jié)點(diǎn)值最大所對應(yīng)的坐標(biāo)即為圓心坐標(biāo)。
檢測效果如圖5所示。
圖5 瓶口定位
對采集到的100幅瓶口圖像分別用Hough變換和本文提出的改進(jìn)的Hough變換進(jìn)行測試,得到如表1所示結(jié)果。
表1 瓶口定位試驗(yàn)
從表1中可以看出,改進(jìn)的Hough變換算法不僅檢測精度能達(dá)到系統(tǒng)要求,而且其大大加快了系統(tǒng)的檢測時(shí)間,為系統(tǒng)進(jìn)行實(shí)時(shí)檢測提供了有力的保障。
在完成了瓶口定位以后,就可以對瓶口的缺陷進(jìn)行檢測了。常見的瓶口缺陷有裂紋、缺口和凹陷等,常用的檢測方法有模板匹配法、徑向投影法[7]等。模板匹配法對于圖像的定位精度要求比較高,而且對于瓶子的晃動比較敏感,魯棒性能差,不能很好地檢測出瓶口缺陷。徑向投影法雖然對定位精度要求不高,但其很難檢測出非徑向的裂紋,因此,實(shí)際中也沒采用該算法。系統(tǒng)采用的檢測算法為切向差分法,其檢測原理:正常的瓶口圖像沿切線方向灰度變化緩慢,而有缺陷的圖像其切向差分比較大,因此可以據(jù)此來判斷是否存在缺陷。首先沿著瓶口圖像的邊緣計(jì)算其差分,然后將計(jì)算所得的差分根據(jù)設(shè)定的閾值進(jìn)行二值化,再去除周長較小的區(qū)域,這樣就可以得到瓶口的缺陷圖像,從而判定瓶口是否存在缺陷。通過對100幅圖像進(jìn)行檢測,發(fā)現(xiàn)該算法的準(zhǔn)確率可以達(dá)到96%。
系統(tǒng)將機(jī)器視覺系統(tǒng)與PLC系統(tǒng)相結(jié)合,成功完成了玻璃瓶瓶口和瓶頸的在線檢測,目前該系統(tǒng)已在生產(chǎn)線上投入使用,經(jīng)測試運(yùn)行各部分功能正常,缺陷瓶檢測率達(dá)到100%,提高了玻璃瓶生產(chǎn)的自動化水平。機(jī)器視覺系統(tǒng)作為正在蓬勃發(fā)展的新興技術(shù),隨著勞動力成本的提高,今后必將在各行各業(yè)獲得更為廣泛的應(yīng)用。
[1] 王華榮.玻璃瓶缺陷檢測技術(shù)綜述[J].福建電腦,2012,(8):39-41.
[2] 倪 征,蘇光大,馬慧敏,等.玻璃瓶在線檢測系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2004,(3):218-220.
[3] Duan Feng,Wang Yaonan,Liu Huanjun.A machine vision inspector for beer bottle.Engineering Application of Artificial Intelligence[J].2007,20(7):1013-1021.
[4] 張宏林.?dāng)?shù)字圖像處理典型算法及實(shí)現(xiàn)[M].北京:人民郵電出版社,2008.
[5] Ma Sile,Wang Huiquan,Hao Zengben.Application research of machine vision technique in intelligent empty bottle inspection system[A].Proceedings of the 8th World Congress on Intelligent Control and Automation[C].Jinan,China,2010.4462-4466.
[6] 王文淵,王芳梅.改進(jìn)的最大熵算法在圖像分割中的應(yīng)用[J].計(jì)算機(jī)仿真,2011,(28):291-294.
[7] 段 峰.啤酒瓶視覺檢測機(jī)器人研究[D].長沙:湖南大學(xué),2007.
[8] 嚴(yán)筱永,閻 浩,沈維燕,等.基于改進(jìn)的Hough變換的圓檢測[J].金陵科技學(xué)院學(xué)報(bào),2009,25(1):18-21.