岳 昊,武栓虎,徐金東,鄭 強,殷 茹
(1.煙臺大學計算機與控制工程學院,山東煙臺 264000;2.煙臺大有數(shù)據(jù)系統(tǒng)有限公司,山東煙臺 264000)
在醫(yī)用瓶蓋生產(chǎn)領(lǐng)域,受生產(chǎn)工藝影響,醫(yī)用鋁塑瓶蓋在生成過程中會產(chǎn)生殘次品,如臟污、變形、缺口、頭發(fā)等。此類殘次品將影響藥品的質(zhì)量,流入市場會危害使用者的健康。
目前,大量醫(yī)用瓶蓋生產(chǎn)企業(yè)仍然依靠傳統(tǒng)的人工方式逐個篩選,速度慢,準確率低,成本高,已不能適應當前企業(yè)大規(guī)模生產(chǎn)需求。雖然國內(nèi)已開發(fā)了幾款瓶蓋檢測系統(tǒng)[1-4],但這些瓶蓋檢測機主要針對酒類金屬瓶蓋正面和背面進行檢測。文獻[1,3-4]采用1個相機對瓶蓋的背面進行采集檢測,文獻[2]采用2個相機對瓶蓋的正面和背面進行檢測。在圖像分割處理、檢測和機械設(shè)計部分相對簡單。醫(yī)用瓶蓋的檢測要求較高,需要對瓶蓋的全方位進行檢測,增加了對側(cè)面的缺陷處理和檢測,而且檢測內(nèi)容也不盡相同。瓶蓋側(cè)面由于形狀的不規(guī)則性,圖像的分割和處理難度較大。
我們基于機器視覺設(shè)計開發(fā)了一套高速智能瓶蓋檢測系統(tǒng)。其中,對傳送部分采用抽真空的方法,使得瓶蓋的傳送更為穩(wěn)定。圖像采集部分采用6個相機對瓶蓋進行全方位檢測。大量的現(xiàn)場測試表明系統(tǒng)可靠性強,誤踢率低,滿足瓶蓋生產(chǎn)的需求,可代替人工檢測,顯著提高生產(chǎn)效率。
系統(tǒng)結(jié)構(gòu)圖如圖1所示。
理料系統(tǒng):瓶蓋倒入理蓋機(參考圖1),然后沿理蓋機內(nèi)軌道螺旋上升,并會在理蓋機內(nèi)自動反轉(zhuǎn)至正面朝上,進入下一級傳動。
圖1 系統(tǒng)結(jié)構(gòu)圖
分料系統(tǒng):瓶蓋進入到分度盤,隨著盤體的旋轉(zhuǎn)瓶蓋被等距離分隔開。
傳送系統(tǒng):由2部分組成,前端皮帶輸送機和后端皮帶輸送機。針對傳送系統(tǒng)設(shè)計,傳送帶被打下一些細密小孔,并在皮帶下方安裝了真空泵進行吸附,這樣可使瓶蓋在傳輸和圖像采集時保持穩(wěn)定。
首先瓶蓋由分度盤進入前端輸送機,由于真空的吸附作用,瓶蓋與皮帶之間沒有相對位移,跟隨皮帶運行到與后端皮帶輸送機頭尾重疊處,此時前端輸送線在尾部進入無真空狀態(tài),而后端輸送線的頭部有真空,真空克服瓶蓋重力將瓶蓋吸起,瓶蓋反轉(zhuǎn)進入后端輸送機(用于檢測背面),后端輸送線尾部無真空,瓶蓋依靠慣性和重力進入到出料口。
視覺檢測單元:瓶蓋在前端輸送線上傳送時會觸發(fā)相機傳感器,傳感器觸發(fā)5個相機分別對側(cè)面和正面進行拍照(4個相機拍側(cè)面,1個相機拍正面)。瓶蓋進入后端皮帶輸送線會反轉(zhuǎn),這時會觸發(fā)相機傳感器對瓶蓋的背面進行圖像采集。得到瓶蓋的全方位圖像后,視覺檢測系統(tǒng)對圖像進行處理,判斷瓶蓋是否合格。若瓶蓋檢測為不合格品,則將剔除信號傳給剔除電磁閥,電磁閥會發(fā)出相應動作,啟動高壓吹氣機將瓶蓋剔除到不合格品收納箱。合格品會自然流入到合格品收納箱,并在出料口處對瓶蓋進行實時計數(shù)。
瓶蓋質(zhì)量檢測部分的難點在于對瓶蓋相關(guān)檢測部位的定位分割。在圖像采集部分由6臺相機對瓶蓋進行全方位圖像采集:1臺相機對正面拍照,1臺相機對背面拍照,4臺工業(yè)相機對側(cè)面進行全方位覆蓋拍照。另外,醫(yī)用瓶蓋塑片有多種顏色,為了使檢測系統(tǒng)穩(wěn)定運行,我們對不同顏色瓶蓋分別建模,設(shè)置不同參數(shù),存檔以備用戶后期使用。采集得到的圖像有3種,側(cè)面(4幅)圖像、正面圖像和背面圖像。如圖2所示。
圖2 不同工位的取相結(jié)果
瓶蓋背面和正面區(qū)域分割相對簡單,可用傳統(tǒng)圖像分割方式快速定位[5]。瓶蓋側(cè)面區(qū)域定位分割相對較難,因為傳送帶皮帶為白色(黑色會吸收光源,采集的圖像不如白色),側(cè)面的部分待檢區(qū)域也為白色(塑片為彩色),無法用閾值[6]或邊緣檢測[7]等傳統(tǒng)的方法進行分割。在設(shè)計時我們采用了合理的光源布局,可采用區(qū)域預測的方式進行分割定位。
對瓶蓋相關(guān)檢測區(qū)域分割完成后,針對不同部位采用不同算法對瑕疵點進行檢測,判斷瓶蓋是否合格。
2.2.1 側(cè)面圖像分割
由于相機設(shè)置為觸發(fā)取像,每次觸發(fā)的位置固定,因此瓶蓋在每張圖片的位置基本固定不變,如圖3(a)所示。因此為了提高速度,可以劃定ROI區(qū)域,縮小處理范圍,加快處理速度。劃定范圍后如圖3(b)所示。
圖3 側(cè)面圖像
對瓶蓋側(cè)面圖像,待定位分割的區(qū)域B為瓶蓋金屬(鋁材)部分,其和傳送帶背景顏色基本一致,因此,傳統(tǒng)算法難于定位分割。區(qū)域C為瓶蓋彩色塑片部分,分割比較容易,可按照傳統(tǒng)方法定位分割。為了對區(qū)域B定位分割,側(cè)面打光方案采用環(huán)形光加遮光片,該打光方案使得區(qū)域B(瓶蓋內(nèi)部)為暗區(qū)。這樣,通過對區(qū)域A的定位分割,結(jié)合其和區(qū)域C的位置關(guān)系對區(qū)域B預測定位。另外,側(cè)面打光方案也使區(qū)域B的污點和瑕疵更加明顯[8]。
側(cè)面分割定位具體過程如下:首先,對區(qū)域A和區(qū)域C定位分割,然后利用A和C的位置關(guān)系,對區(qū)域B進行預測定位。
區(qū)域A的定位相對簡單,可以利用灰度閾值分割[9]和橢圓擬合[10]的方法進行定位。
區(qū)域C為彩色塑片部分,可以利用彩色圖像的分割方法。為此,將圖像轉(zhuǎn)換到HSV色域,在圖像的色調(diào)通道H和飽和度通道S完成分割,分割函數(shù)為
(1)
式中:H1、H2、S1、S2分別為圖像H,S通道的閾值范圍,其值可通過系統(tǒng)的光照條件確定。
分割完成后,可以得到區(qū)域A的坐標集A={(xai,yai)|i=1,2,…,n}與區(qū)域C的坐標集C={(xci,yci)|i=1,2,…,m},在區(qū)域A和C坐標集中分別取滿足y值最大的一個坐標點,即取得區(qū)域A,C的最低點,計算兩個點距離l。如圖4所示。
圖4 側(cè)面平移距離
將區(qū)域A沿圖像y軸正方向平移l,如圖5(b)所示。垂直向下平移過程會形成一個柱形區(qū)域A*,如圖5(c)所示。在區(qū)域A*中減去區(qū)域A、C,即對坐標點集合的相減,就可得到區(qū)域B,結(jié)果如圖5(d)所示。
圖5 側(cè)面區(qū)域預測定位過程
2.2.2 正面與背面圖像分割
對于背面區(qū)域,雖然背景單一,但瓶蓋種類多,背面塑片顏色多變,所以背面同樣采用HSV通道分割方式,分割方法與側(cè)面區(qū)域C的分割方法相同。取分割后的背面區(qū)域的像素坐標點的中心,可得到背面瓶蓋區(qū)域的圓心坐標點,同時,也不難得到區(qū)域半徑。利用圓心坐標和區(qū)域半徑,再建模制作一個模板存儲起來,在瑕疵檢測過程可迅速定位整個背面區(qū)域。
對于正面區(qū)域,情況稍微復雜[參考圖2(b)]。為了提高系統(tǒng)的穩(wěn)定性,我們采集一張正面瓶蓋圖像,使用正面區(qū)域建立模板,定位時采用灰度匹配的方式[11],對其進行定位分割。
2.3.1 臟污檢測
瓶蓋的臟污多為油污,側(cè)面和正面尤為突出,如圖6所示。在實際的應用中,受到生產(chǎn)工藝的影響,在同一批瓶蓋中,鋁片的顏色深淺不一,因此不可直接設(shè)定閾值,判斷油污。
圖6 油污瓶蓋
對于臟污的檢測,采用相鄰灰度值對比法。
首先,為了提高系統(tǒng)的靈活性和穩(wěn)定性,在系統(tǒng)設(shè)置時,在瓶蓋待檢測區(qū)域設(shè)定一定數(shù)量和大小的鄰域塊。在檢測時,分別求各個區(qū)域內(nèi)圖像的平均灰度值,如圖7所示,系統(tǒng)設(shè)置為6個鄰域塊,求1~6號區(qū)域內(nèi)圖像的平均灰度值。對比相鄰區(qū)域平均灰度值的差值,和給定的閾值對比,若大于給定閾值,則記為異常區(qū)域。例如,3號塊和2號塊的平均灰度值之差若大于給定的閾值I,則2號塊為異常塊。
統(tǒng)計異常區(qū)域數(shù)量,若異常區(qū)域數(shù)量大于給定的數(shù)量閾值,則該瓶蓋圖像為異常圖像。
圖7 鄰域?qū)Ρ确?/p>
在實際應用中,可事先對正常瓶蓋數(shù)據(jù)進行采集。根據(jù)測試,可設(shè)定區(qū)域塊的數(shù)量、相鄰閾值的差值和異常區(qū)域數(shù)量。這樣,可有效地控制算法的精度,滿足各類瓶蓋污點檢測的需求。另外,如果瓶蓋的側(cè)面鋁片部分有缺口,圖像效果與臟污類似,同樣可以檢測。
上述檢測過程定義的鄰域塊,可根據(jù)正面和側(cè)面的圖像特點,對整個檢測區(qū)域劃分得到。
瓶蓋正面為圓形,鄰域塊為拱形,此時每個鄰域塊內(nèi)的坐標點p(x,y)需滿足:
(2)
式中:r1 瓶蓋側(cè)面區(qū)域比較規(guī)則,因此可根據(jù)區(qū)域形狀劃分為規(guī)則的鄰域塊。將上邊緣等距離劃分成N個段,每個段的長度即為塊的寬度和高度,此時取每個段的坐標點集合{(xi,yi)|i=1,2,3,4…},將該坐標集向下平移并依次存儲每次得到的每個塊坐標集。如圖8(b)所示。 (a)正面拱形的劃分 (b)側(cè)面單元塊劃分圖8 鄰域?qū)Ρ确ɑ締卧獕K劃分 在系統(tǒng)具體實現(xiàn)時,由于同一批次瓶蓋大小基本一致,采用事先建立模板的方式,即將每個檢測區(qū)域劃分為鄰域塊,在系統(tǒng)初始化時提前計算好。在系統(tǒng)運行時,只需利用待檢測區(qū)域的中心,做一次平移計算,就可得到每個鄰域塊的模板坐標。這樣不僅提高了系統(tǒng)的速度,也提高了穩(wěn)定性。圖9為正面和側(cè)面的污點檢測鄰域基本單元塊實際劃分效果圖。 (a)正面 (b)側(cè)面圖9 實際基本單元塊劃分 2.3.2 圓度與高度檢測 瓶蓋圓度的檢測,即鋁片正面圓度的檢測。 在實驗環(huán)境下,瓶蓋正中拍攝,瓶蓋鋁片部分被塑片部分包圍,產(chǎn)生的圖像外圍會有一圈彩色圓環(huán),通過計算塑片和鋁片交界邊緣的方式就可獲得鋁片圓環(huán)的邊緣,計算其圓度。 但在高速運轉(zhuǎn)的實際生產(chǎn)環(huán)境中,每個鋁蓋在皮帶上傳輸時會有一定的偏移。這樣由于瓶蓋的鋁片部分有一定高度,偏移造成拍攝彩色部分不夠突出,如圖10所示。此時若以檢測鋁片和塑片邊界點檢測鋁片邊緣的方式則會產(chǎn)生大量誤判。 圖10 瓶蓋正面偏移局部圖 因此,我們采用由內(nèi)向外尋找突變點的方式[12],檢測鋁片外圍的邊緣點。首先,在系統(tǒng)設(shè)置和建模時,根據(jù)不同批次大小的實際瓶蓋,會生成一個環(huán)形模板,如圖11所示,環(huán)形模板內(nèi)徑為r1,外徑為r2。然后利用徑向射線[圖11(a)]將其等分。在這些射線的內(nèi)徑r1到外徑r2之間檢測鋁片圓環(huán)的突變點。 圖11 搜尋突變點范圍示意圖 為了提高檢測精度和魯棒性,在每條射線上尋找突變點時,首先將射線中的每個像素點沿像素點所在圓的切線方向擴展n個像素點,求其灰度值的平均值,然后求徑向相鄰像素灰度平均值的差值絕對值。如果檢測的差值絕對值超過設(shè)定閾值,就可判定為鋁片圓環(huán)上的邊緣點。最后,利用檢測到的邊緣點坐標到環(huán)形模板圓心O的距離,與環(huán)形模板中心半徑r作比較。若距離差大于設(shè)定誤差d,則該點為異常點。統(tǒng)計異常點的個數(shù)N,若N大于設(shè)定異常點個數(shù),則該瓶蓋為異常瓶蓋。 瓶蓋高度的計算可根據(jù)前面瓶蓋側(cè)面定位分割直接計算,如圖4所示,根據(jù)得到區(qū)域A、C最大y坐標的差值可計算瓶蓋高度。同樣在系統(tǒng)設(shè)置時可設(shè)定標準高度與誤差范圍,對不滿足標準的瓶蓋進行剔除。 2.3.3 瓶蓋六橋檢測 正面六橋的局部圖如圖12所示,六橋檢測就是要檢測圖中的6個白點是否齊全(總共6個),少一個點的瓶蓋為不合格品。 圖12 正面六橋局部圖 六橋的每個點為圓形,利用這個特點可對六橋進行有效的檢測[13]。同樣的策略,利用建模系統(tǒng),建立一個徑向環(huán)形模板,設(shè)定內(nèi)徑r1和外徑r2,可減少六橋的檢測范圍,提高系統(tǒng)的穩(wěn)定性。根據(jù)閾值法,在此環(huán)形區(qū)域內(nèi)對圖像進行灰度閾值分割,通過每個連通區(qū)域的面積和形狀篩選[14],得到待檢測的可行橋點,如圖13所示。根據(jù)系統(tǒng)設(shè)置的圓度閾值,橋點大小以及檢測到的橋點個數(shù),可判定瓶蓋是否合格。 圖13 六橋分割示意圖 本系統(tǒng)基于C++編程實現(xiàn)。軟件分為2個模塊:系統(tǒng)建模和檢測模塊。 系統(tǒng)建模模塊主要針不同批次和顏色的瓶蓋,采集圖像,建立相應的模板,并設(shè)置相應的參數(shù)。 檢測模塊根據(jù)系統(tǒng)設(shè)置對實際瓶蓋進行檢測。軟件界面運行如圖14所示。系統(tǒng)可以實時顯示3個工位組成:正面背面各1個工位,各由一個相機采集圖像并檢測,側(cè)面1個工位,由4個相機對瓶蓋全方位覆蓋拍照并檢測,每個工位會輸出相應的瑕疵檢測信息,并在界面右側(cè)進行匯總,統(tǒng)計輸出瑕疵瓶蓋數(shù)量,并存檔。 圖14 軟件運行界面示意圖 系統(tǒng)經(jīng)過瓶蓋生產(chǎn)廠家實際驗證,單個瓶蓋的檢測時間少于60 ms,速度達15個/s左右,可抵數(shù)個人工,每天可以不間斷工作20 h以上。整個系統(tǒng)(包括機械設(shè)備)啟動時間小于5 min,更換產(chǎn)品建模時間小于10 min。在檢測精度方面,達到廠家要求的誤踢率小于1/1 000,也就是說對于常規(guī)瓶蓋,缺陷檢測準確性可達到99.99%。目前,開發(fā)的設(shè)備已向俄羅斯和韓國出口,產(chǎn)生了一定的經(jīng)濟效益。 針對目前醫(yī)用瓶蓋檢測依然依靠人工的現(xiàn)狀,設(shè)計了一套基于機器視覺的醫(yī)用鋁塑蓋檢測系統(tǒng)。該系統(tǒng)有兩大特色: (1)機械傳送部分采用真空吸附設(shè)備,瓶蓋的傳輸和圖像采集檢測更加穩(wěn)定; (2)該系統(tǒng)可實現(xiàn)瓶蓋360°全方位無盲區(qū)檢測,可對大多數(shù)產(chǎn)品缺陷和污點進行檢測,符合行業(yè)標準。 本系統(tǒng)也可針對不同的產(chǎn)品快速建模和管理,檢測數(shù)據(jù)存檔入庫。檢測結(jié)果、實時圖像、運動狀態(tài)在用戶界面上動態(tài)顯示,操作簡單,運行穩(wěn)定,維護簡單。當然,本系統(tǒng)不足之處在所難免,后期會對系統(tǒng)進一步優(yōu)化。3 軟件設(shè)計與測試
4 結(jié)束語