龍智帆,孫志海,孔萬增
(杭州電子科技大學(xué)計(jì)算機(jī)應(yīng)用技術(shù)研究所,浙江杭州310018)
機(jī)器視覺系統(tǒng)是一種非接觸式的光學(xué)傳感系統(tǒng),通過機(jī)器視覺工具(即圖像攝取裝置)抓取圖像,然后將該圖像傳送給圖像處理單元進(jìn)行數(shù)字化處理,并根據(jù)處理結(jié)果控制現(xiàn)場(chǎng)設(shè)備動(dòng)作[1]。近幾年,工業(yè)機(jī)器視覺在工業(yè)生產(chǎn)過程中的應(yīng)用越發(fā)得到生產(chǎn)流水線設(shè)計(jì)人員及研發(fā)人員的青睞。但目前我國(guó)多數(shù)工業(yè)視覺系統(tǒng)軟件所涉及的圖像處理算法針對(duì)性強(qiáng),重構(gòu)、重組性能較差。為此,本文以工業(yè)機(jī)器視覺系統(tǒng)軟件中圖像處理算法可重構(gòu)性作為設(shè)計(jì)出發(fā)點(diǎn),給出了一種算法可重構(gòu)的工業(yè)機(jī)器視覺飲料瓶蓋缺陷檢測(cè)軟件的設(shè)計(jì)方案。
該檢測(cè)系統(tǒng)分為硬件和軟件2部分。系統(tǒng)硬件主要負(fù)責(zé)對(duì)飲料瓶的傳感、圖像采集的觸發(fā)及執(zhí)行機(jī)構(gòu)的控制。系統(tǒng)軟件主要負(fù)責(zé)飲料瓶圖像檢測(cè)區(qū)域的定位、處理及缺陷檢測(cè)。系統(tǒng)工作原理是系統(tǒng)軟件將相機(jī)采集過來的原始圖像進(jìn)行預(yù)處理,包括閾值化、邊緣檢測(cè)等一系列步驟;最后,對(duì)預(yù)處理圖像進(jìn)行缺陷檢測(cè)并給出判定結(jié)果,并由工控機(jī)向剔除機(jī)發(fā)出控制命令。系統(tǒng)硬件和軟件結(jié)構(gòu)分別如圖1(a)、(b)所示。
算法重構(gòu)是系統(tǒng)軟件的核心,針對(duì)不同的作業(yè)流程,選擇所需的算法模塊和與之對(duì)應(yīng)的具體算法,并加以組合就能裝配出所需的算法序列。本軟件的算法重構(gòu)流程如圖2所示。
圖1 系統(tǒng)硬件及軟件結(jié)構(gòu)示意圖
圖2 算法重構(gòu)模塊流程圖
圖2中,算法重構(gòu)流程可描述如下:針對(duì)特定的作業(yè)流程,從算法庫中選擇所需的算法并將其送入算法過濾模塊。若所選算法滿足其所需的約束條件,則將算法送入算法裝配模塊,否則,須重新選擇算法。最后,算法裝配模塊把選擇的所有算法進(jìn)行組裝并輸出。
算法庫由內(nèi)置算法庫和外部算法庫構(gòu)成。算法庫目前共支持16種算法[2,3],有36個(gè)API函數(shù)。已實(shí)現(xiàn)的算法模塊有如閾值化、邊緣檢測(cè)、形態(tài)學(xué)處理等模塊。其中,閾值化模塊包括Otsu閾值化、Ni-Black閾值化[4,5]等算法;邊緣檢測(cè)模塊包括Sobel3×3邊緣算子、Prewitt3×3邊緣算子和Canny3種算法[6,7]。外部算法庫是一個(gè)用戶自定義算法集合,本文提供了一個(gè)圖像處理算法擴(kuò)展槽,通過該算法擴(kuò)展槽用戶可以把定義在外部的算法添加至算法庫。
由于一些圖像處理算法之間存在著一定的依賴關(guān)系,如某些算法必須以另外其它的算法作為自己的先行算法等。因此,為了增加算法重構(gòu)的成功率,降低對(duì)用戶圖像處理算法知識(shí)的要求,本文在算法裝配之前增加了算法過濾流程,如圖3所示。
圖3 算法過濾流程示意圖
算法過濾步驟如下:
(1)通過對(duì)圖像存儲(chǔ)位深的檢測(cè),判斷所選算法是否滿足接口需求,若滿足,則跳到(2),否則,重新選擇算法;
(2)檢測(cè)算法模塊間的依賴關(guān)系,如若要選擇膨脹和腐蝕算法,則在它們之前必須有“二值化”這個(gè)先行算法。如果所選算法滿足和已成功選擇的算法之間的依賴關(guān)系,則添加算法成功;否則,重新選擇算法。
算法裝配支持以下3種重構(gòu)模式,只需滿足3種之一就能完成算法裝配,并生成符合需求的算法序列,它們分別是:
(1)通用模式。從算法庫中選擇通用的圖像處理算法并進(jìn)行合理的組合排列;
(2)應(yīng)用模式。從算法庫中選擇針對(duì)特定應(yīng)用的圖像處理算法并進(jìn)行合理的組合排列;
(3)混合模式。在(1)和(2)的基礎(chǔ)之上,對(duì)以上兩種算法模式進(jìn)行合理的組合排列。
飲料瓶蓋缺陷檢測(cè)只是針對(duì)采集圖像中的瓶蓋區(qū)域進(jìn)行處理,所以,在對(duì)圖像進(jìn)行處理前,先提取出圖像感興趣區(qū)域,有利于提高整個(gè)流程的處理速度,縮短瓶蓋缺陷檢測(cè)時(shí)間。本文設(shè)計(jì)并實(shí)現(xiàn)了3種圖像感興趣區(qū)域提取方法,它們分別是:(1)固定感興趣區(qū)域提取;(2)手動(dòng)感興趣區(qū)域提取;(3)自適應(yīng)感興趣區(qū)域提取。3種提取方法的示意圖如圖4所示。
圖4 感興趣區(qū)域提取方法示意圖
其中,圖4(a)為固定感興趣區(qū)域提取,該方法利用圖形工具在圖像上繪制1個(gè)矩形框,便能完成感興趣區(qū)域的提取。圖4(b)為手動(dòng)感興趣區(qū)域提取,該方法利用圖形工具在圖像上繪制3條線段A、B、C,然后獲取的a、b、c3個(gè)邊緣點(diǎn),并利用這3點(diǎn)和已知提取高度,完成感興趣區(qū)域的提取。圖4(c)為自適應(yīng)感興趣區(qū)域提取,該方法的思路是:首先,從圖像上邊緣1/2處,按E方向向下搜索邊緣點(diǎn)e;然后,以點(diǎn)e為基準(zhǔn)點(diǎn)向下偏移半個(gè)瓶蓋高度,按F和G方向分別向左、向右查找左、右邊緣點(diǎn)f和g了;最后,利用e、f、g3個(gè)邊緣點(diǎn)和已知提取高度完成感興趣區(qū)域的提取。但該方法的處理速度要慢于其它兩種提取方法。
瓶蓋缺陷檢測(cè)模塊利用構(gòu)造好的圖像處理算法序列對(duì)圖像感興趣區(qū)域進(jìn)行缺陷檢測(cè)。瓶蓋缺陷檢測(cè)分為圖像預(yù)處理和缺陷檢測(cè)兩部分,檢測(cè)流程如圖5所示。
圖5 瓶蓋缺陷檢測(cè)流程
圖像預(yù)處理由灰度化、閾值化、反色和邊緣檢測(cè)4部分組成。其中,對(duì)圖像進(jìn)行反色處理,主要是為了突出圖像中的白點(diǎn),以利于邊緣檢測(cè)(針對(duì)圖像中的白點(diǎn))操作。
為了進(jìn)一步說明本檢測(cè)軟件的有效性。在CPU為Intel(R)Core(TM)2 Duo E8400@3.00GHz,操作系統(tǒng)為Windows XP的PC機(jī)上,對(duì)工業(yè)流水線上的一系列飲料瓶進(jìn)行檢測(cè)實(shí)驗(yàn)。本文針對(duì)的瓶蓋缺陷檢測(cè)主要有兩部分:一部分是判斷內(nèi)高度差(左右內(nèi)徑的長(zhǎng)度差)是否大于給定的誤差值;另一部分是判讀外高度差(左右外徑的長(zhǎng)度差)是否大于給定誤差值。若內(nèi)、外高度差都小于相應(yīng)的誤差值,則說明瓶蓋合格;否則,說明瓶蓋存在缺陷。感興趣區(qū)域提取測(cè)試如表1所示,瓶蓋缺陷檢測(cè)過程如圖6所示,部分檢測(cè)數(shù)據(jù)如表2所示。
由表1可知,當(dāng)瓶蓋在采集圖像中的位置偏差較大時(shí),自適應(yīng)感興趣區(qū)域提取方法的精度高且穩(wěn)定,而其它兩種方法的穩(wěn)定性較差,因此,本實(shí)驗(yàn)采用自適應(yīng)區(qū)域提取方法。
表1 圖像感興趣區(qū)域提取效果比較
表2 瓶蓋缺陷檢測(cè)數(shù)據(jù)
圖6 瓶蓋缺陷檢測(cè)過程示意圖
實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)能準(zhǔn)確的將80個(gè)飲料瓶中的7個(gè)次品剔除,且具有較好的穩(wěn)定性。同時(shí),由表2可知,每瓶處理的時(shí)間不超過10ms,說明本文采用的自適應(yīng)感興趣提取方法也能很好的滿足系統(tǒng)實(shí)時(shí)處理的要求。
本文給出了一種算法可重構(gòu)的飲料瓶蓋缺陷檢測(cè)的實(shí)現(xiàn)方案,描述了重構(gòu)飲料瓶缺陷檢測(cè)算法序列、提取瓶蓋感興趣區(qū)域及檢測(cè)瓶蓋缺陷的整個(gè)流程。實(shí)驗(yàn)結(jié)果表明本文所設(shè)計(jì)的系統(tǒng)軟件具有較好實(shí)用性和檢測(cè)性能。
[1]Galbiati Jr,Louis J.Machine vision—an emerging technology[J].The International journal of applied engineering education,1986,2(4):221-225.
[2]Rafael C Gonzalez,Richard E Woods.數(shù)字圖像處理[M].北京:機(jī)械工業(yè)出版社,2002:460-479.
[3]何斌,馬天予,王運(yùn)堅(jiān),等.Visual C++數(shù)字圖像處理[M].北京:人民郵電出版社,2001:335-358.
[4]Farid S,Ahmed F.Application of Niblack’s method on images[C].Islamabad:IEEE Computer Society,2009:280-286.
[5]韓思奇,王蕾.圖像分割的閾值法綜述[J].系統(tǒng)工程與電子技術(shù),2002,24(6):91-94.
[6]Gao Wenshuo,Yang Lei,Zhang Xiaoguang,et al.An improved Sobel edge detection[C].Chengdu:IEEE Computer Society,2010:67-71
[7]呂哲,王福利,常玉清.一種改進(jìn)的Canny邊緣檢測(cè)算法[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,28(12):1 681-1 684.