謝一首1,李慶1,鄭力新1,周凱汀2,潘書萬(wàn)1
?。?.華僑大學(xué) 工業(yè)智能化技術(shù)與系統(tǒng)福建省高校工程研究中心,福建 泉州 362021;2. 華僑大學(xué) 信息科學(xué)與工程學(xué)院,福建 廈門 361021)
摘要:針對(duì)傳統(tǒng)人工肉眼檢測(cè)膠囊缺陷低效率及高誤檢率問(wèn)題,設(shè)計(jì)了一套完整的基于機(jī)器視覺的膠囊缺陷檢測(cè)系統(tǒng),構(gòu)建了從上料到傳送裝置,經(jīng)過(guò)機(jī)器視覺光學(xué)系統(tǒng)圖像采集與工控機(jī)圖像處理,最后由剔除裝置篩選出次品的硬件平臺(tái)。運(yùn)用EmguCV開源計(jì)算機(jī)視覺庫(kù)和C#開發(fā)人機(jī)交互軟件系統(tǒng),包括用戶管理、方案配置、相機(jī)調(diào)參、圖像算法等功能。通過(guò)測(cè)試表明,整個(gè)膠囊檢測(cè)系統(tǒng)可在9~12萬(wàn)粒/h的高速運(yùn)轉(zhuǎn)下穩(wěn)定運(yùn)行,誤檢率小于5%。具有良好的企業(yè)應(yīng)用前景。
關(guān)鍵詞:機(jī)器視覺;缺陷檢測(cè);任務(wù)并行庫(kù);局部自適應(yīng)閾值
0引言
華僑大學(xué)研究生科研創(chuàng)新能力培育計(jì)劃資助項(xiàng)目(1400422006)膠囊是由膠囊殼制造商銷售給藥品企業(yè),由藥品企業(yè)對(duì)空心膠囊殼進(jìn)行藥物填充后的成品,因此空心膠囊的質(zhì)量好壞直接影響膠囊成品的質(zhì)量,對(duì)空心膠囊的缺陷檢測(cè)成為膠囊制造的一道必備工序。本文所指膠囊檢測(cè)都是針對(duì)空心膠囊。在生產(chǎn)過(guò)程中,由于不同工藝、不同環(huán)境條件容易產(chǎn)生各類空心膠囊缺陷,如尺寸長(zhǎng)短缺陷、斑點(diǎn)、端凹、梅花頭、插劈、癟殼等。目前,國(guó)內(nèi)的膠囊檢測(cè)仍以傳統(tǒng)人工燈檢法為主,即在強(qiáng)光照射臺(tái)下,通過(guò)肉眼觀察膠囊外形與表面光澤判定膠囊是否合格。此種方法速度較慢,而且不可避免有人為主觀因素的錯(cuò)檢、漏檢,影響制藥企業(yè)產(chǎn)品質(zhì)量。為提高檢測(cè)效率,節(jié)約勞動(dòng)成本,提升制藥企業(yè)在同行業(yè)的核心競(jìng)爭(zhēng)力,智能化的膠囊缺陷檢測(cè)系統(tǒng)應(yīng)運(yùn)而生。
目前,國(guó)外的膠囊檢測(cè)儀已有較成熟的產(chǎn)品[1],雖然性能相對(duì)穩(wěn)定良好,但高額的售價(jià)讓普通中小型企業(yè)望而卻步。國(guó)內(nèi)也有一些產(chǎn)品,如大恒科技的全自動(dòng)膠囊檢測(cè)儀,然而檢測(cè)效率與系統(tǒng)穩(wěn)定性還無(wú)法與國(guó)外產(chǎn)品媲美?;谏鲜霰尘?,本文對(duì)膠囊缺陷檢測(cè)的各方面技術(shù)進(jìn)行深入的探索和研究,并研制出一套智能化膠囊檢測(cè)系統(tǒng)。
1硬件系統(tǒng)設(shè)計(jì)
1.1系統(tǒng)組成
膠囊缺陷檢測(cè)系統(tǒng)的硬件架構(gòu)主要包括機(jī)器視覺光學(xué)系統(tǒng)、傳送帶及傳感觸發(fā)裝置、基于PC的圖像處理平臺(tái)、剔除裝置及上下料硬件控制模塊。其中機(jī)器視覺光學(xué)系統(tǒng)由三臺(tái)工業(yè)相機(jī)配上光學(xué)鏡頭及適配的光源組成。圖像處理平臺(tái)包括工控上位機(jī)、擴(kuò)展圖像采集卡(本系統(tǒng)為千兆網(wǎng)卡)和串口卡。傳送帶與傳感觸發(fā)裝置有序地傳送膠囊進(jìn)入相機(jī)視野,膠囊借助底板摩擦滾動(dòng),滿足了360°拍攝需要。工控機(jī)與外部硬件控制模塊的交互由串口協(xié)議通信完成,包括硬件系統(tǒng)中振動(dòng)槽的震動(dòng),排序輪的轉(zhuǎn)動(dòng),傳送帶的啟停及狀態(tài)監(jiān)測(cè)的報(bào)警等。系統(tǒng)設(shè)計(jì)圖如圖1?!?/p>
1.2系統(tǒng)工作原理
向料斗中倒入待檢測(cè)膠囊,為避免造成料槽堵塞,在槽中加入振動(dòng)器,通過(guò)振動(dòng)使膠囊順利并逐次進(jìn)入排序輪的孔槽中。當(dāng)膠囊被帶動(dòng)旋轉(zhuǎn)至排序輪底部后,自動(dòng)落入傳送裝置上的膠囊槽中。其中,傳送鏈條由若干片鏈板拼接而成,每片鏈板上有兩個(gè)略大于膠囊大小的膠囊槽,用于在傳送過(guò)程中使膠囊的位置相對(duì)固定。當(dāng)系統(tǒng)運(yùn)行時(shí),直流電機(jī)同時(shí)帶動(dòng)傳送帶和排序輪運(yùn)轉(zhuǎn),兩者的線速度保持一致,從而使排序輪上的膠囊能夠準(zhǔn)確落入膠囊槽中。
為保證后續(xù)圖像采集不受外界光線干擾,將整套機(jī)器視覺光學(xué)系統(tǒng)置于密閉的遮光盒中。其中相機(jī)1采集膠囊端部圖像信息,相機(jī)2與相機(jī)3采集膠囊柱面圖像信息。系統(tǒng)采用了背光源,在相機(jī)視場(chǎng)內(nèi)的底板中嵌入漫反射光源,并蓋上玻璃板。相機(jī)1膠囊端面檢測(cè)另需加上垂直于端面的照射光,為避免對(duì)相機(jī)2、3光線產(chǎn)生干擾,中間用擋板隔開。相機(jī)1拍攝兩個(gè)膠囊端面,相機(jī)2與相機(jī)3分別拍攝四個(gè)膠囊柱面。本系統(tǒng)借鑒傳統(tǒng)人工檢測(cè)中的復(fù)檢工序,若相機(jī)1膠囊在第一個(gè)槽的圖像沒(méi)有檢測(cè)出缺陷,將移入第二個(gè)槽進(jìn)行復(fù)檢;若相機(jī)2中4個(gè)膠囊柱面轉(zhuǎn)動(dòng)過(guò)程沒(méi)有360°完整呈現(xiàn)[2],則相機(jī)3重復(fù)相機(jī)2的工序進(jìn)行復(fù)檢。以此保證膠囊檢測(cè)的全面性與準(zhǔn)確性。
傳送帶每移動(dòng)一個(gè)槽,末端的光電傳感器將觸發(fā)一個(gè)外部信號(hào)促使3臺(tái)相機(jī)進(jìn)行同步采集,相機(jī)開啟外觸發(fā)模式,幀率與傳送帶頻率保持一致。軟件系統(tǒng)部分將對(duì)采集到的圖像進(jìn)行判定,標(biāo)記缺陷膠囊,并計(jì)算缺陷膠囊所在槽與剔除裝置所在槽的間隔個(gè)數(shù),當(dāng)缺陷膠囊到達(dá)剔除噴閥上方時(shí),上位機(jī)通過(guò)串口發(fā)送命令,下位機(jī)接受指令并控制開啟電磁閥將缺陷膠囊噴入次品盒。合格的膠囊通過(guò)傳送帶進(jìn)入成品盒。工作流程圖如圖2。
2.1軟件框架及人機(jī)交互界面
軟件系統(tǒng)為整套膠囊缺陷檢測(cè)的技術(shù)核心部分。為便于操作員對(duì)硬件進(jìn)行控制及對(duì)系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),設(shè)計(jì)了包括用戶管理、歷史數(shù)據(jù)查詢、相機(jī)控制與參數(shù)配置等模塊的簡(jiǎn)易人機(jī)交互界面。為提高開發(fā)效率,縮短開發(fā)周期,選擇Microsoft Visual Studio 2010為開發(fā)環(huán)境,以C#為開發(fā)主體語(yǔ)言,結(jié)合.NET下C#封裝的Opencv即EmguCV圖像處理庫(kù)進(jìn)行圖像算法開發(fā)。選擇SQL Sever為軟件系統(tǒng)開發(fā)數(shù)據(jù)庫(kù)。軟件流程如圖3所示。
首先通過(guò)用戶登錄界面對(duì)用戶進(jìn)行驗(yàn)證,并授予用戶不同權(quán)限。在進(jìn)行膠囊檢測(cè)之前,操作員首先需要根據(jù)不同顏色膠囊設(shè)置相應(yīng)的檢測(cè)參數(shù);通過(guò)相機(jī)設(shè)置界面設(shè)置相機(jī)1、相機(jī)2、相機(jī)3的參數(shù)如增益、曝光時(shí)間等;通過(guò)檢測(cè)方案管理界面,操作員將測(cè)試好的參數(shù)輸入到新方案中,若方案已經(jīng)存在,只需從數(shù)據(jù)庫(kù)中讀取?;氐街鹘鐖D4系統(tǒng)人機(jī)交互主界面面,選擇相應(yīng)方案并點(diǎn)擊“開始”按鈕啟動(dòng)檢測(cè)。實(shí)時(shí)檢測(cè)的圖像將顯示于主界面(圖4),每幀圖像在軟件后臺(tái)進(jìn)行圖像處理并判定膠囊是否存在缺陷。檢測(cè)過(guò)程中,程序設(shè)計(jì)定時(shí)器定時(shí)監(jiān)測(cè)物料狀態(tài),若判定為空則觸發(fā)報(bào)警通知加料,待全批次檢測(cè)完畢,操作員點(diǎn)擊主界面“結(jié)束”按鈕停止檢測(cè)。
2.2圖像處理算法
考慮到程序的實(shí)時(shí)性,本系統(tǒng)在圖像處理方面并沒(méi)有引入耗時(shí)的復(fù)雜算法,而是以精簡(jiǎn)的步驟達(dá)到最優(yōu)效果。柱面缺陷檢測(cè)算法主要分為以下幾步:
(1)用改進(jìn)的中值濾波[3]對(duì)ROI中膠囊圖像進(jìn)行預(yù)處理,消除點(diǎn)噪聲干擾(如圖5(b))。
(2)用形態(tài)學(xué)算子對(duì)膠囊圖像進(jìn)行腐蝕,去除膠囊槽邊框。用OSTU雙閾值分割法提取膠囊輪廓(如圖5(c))。
?。?)對(duì)提取輪廓構(gòu)建凸包(如圖5(d)),將凸包區(qū)域進(jìn)行填充,形成掩碼圖像(如圖5(e))。
?。?)掩碼圖像與原圖進(jìn)行“與”[4]運(yùn)算,分割膠囊本體圖像(如圖5(f))。
?。?)通過(guò)局部自適應(yīng)閾值[5]對(duì)柱面內(nèi)圖像進(jìn)行處理,得到圖像再經(jīng)過(guò)8鄰域連接并貼標(biāo)簽獲取連通域(如圖5(h))。計(jì)算所有的連通域面積,根據(jù)產(chǎn)品檢測(cè)指標(biāo)設(shè)定閾值,若柱面內(nèi)部最大連通域面積(即最大缺陷面積)大于給定閾值,則判定為缺陷膠囊。
膠囊端部缺陷檢測(cè)算法為基于K鄰域鏈碼[67]的拐點(diǎn)檢測(cè),拍攝的“月牙”狀端面圖像正常拐點(diǎn)數(shù)為2,若圖像中拐點(diǎn)數(shù)大于2,則判定為缺陷膠囊。端面檢測(cè)如圖6所示。
2.3任務(wù)并行處理技術(shù)
系統(tǒng)包含三臺(tái)相機(jī),每臺(tái)相機(jī)拍攝的圖像又包含多個(gè)膠囊,若對(duì)三臺(tái)相機(jī)獲得膠囊圖像的10個(gè)ROI(Region of Intrest)進(jìn)行串行計(jì)算,將使圖像處理時(shí)間大大延長(zhǎng),效率大幅降低,不便與硬件架構(gòu)的同步配合。.Net Framework4.0引入了一個(gè)新的關(guān)于異步操作的API,稱為任務(wù)并行庫(kù)(Task Parallel Library,TPL)[8],其使用task關(guān)鍵字創(chuàng)建任務(wù)。TPL可被認(rèn)為是線程池之上的又一個(gè)抽象層。在線程池的基礎(chǔ)上進(jìn)行優(yōu)化誕生了任務(wù)并行庫(kù),相比于線程池,TPL在靈活性上更具有優(yōu)勢(shì)。為優(yōu)化處理時(shí)間,計(jì)算機(jī)會(huì)根據(jù)CPU的負(fù)載自動(dòng)向多個(gè)任務(wù)分配最佳線程數(shù)[9]。本系統(tǒng)采用該技術(shù),通過(guò)引用System.Threading.Tasks命名空間下的Task類創(chuàng)建任務(wù),利用任務(wù)并行庫(kù)對(duì)多幅膠囊圖像進(jìn)行高速處理。如圖7所示,在主線程中創(chuàng)建三個(gè)相機(jī)線
程,每個(gè)相機(jī)線程中再創(chuàng)建對(duì)應(yīng)膠囊個(gè)數(shù)的task,等待處理完畢返回結(jié)果后,自動(dòng)銷毀已建立的線程重新等待下一次調(diào)用。
3現(xiàn)場(chǎng)測(cè)試結(jié)果
在生產(chǎn)現(xiàn)場(chǎng)取樣不同顏色樣本空心膠囊進(jìn)行檢測(cè)測(cè)試。對(duì)檢測(cè)后的成品與次品個(gè)數(shù)進(jìn)行統(tǒng)計(jì)計(jì)算,誤檢率如表1所示。
測(cè)試結(jié)果顯示,不同顏色膠囊誤檢率均控制在5%以下,效果良好。且整套膠囊檢測(cè)系統(tǒng)在9~12萬(wàn)粒/h的高檢測(cè)速度下,可長(zhǎng)時(shí)間保持穩(wěn)定運(yùn)轉(zhuǎn),并無(wú)出現(xiàn)停止工作等異常情況。檢測(cè)速度與系統(tǒng)穩(wěn)定性均達(dá)到預(yù)期水平。
4結(jié)束語(yǔ)
本套設(shè)備是自主研發(fā)的智能化檢測(cè)系統(tǒng),運(yùn)用精簡(jiǎn)而高效的圖像算法結(jié)合任務(wù)并行技術(shù),保證了檢測(cè)系統(tǒng)軟硬件實(shí)時(shí)性配合。檢測(cè)效果、檢測(cè)速率及系統(tǒng)穩(wěn)定性能均可達(dá)到預(yù)期水準(zhǔn),具有可觀的企業(yè)應(yīng)用價(jià)值。
參考文獻(xiàn)
?。?] PICLIN Z, LIKAR B, PERNS F. Realtime print localization on pharmaceutical capsules for automatic visual inspection[C].Industrial Technology (ICIT), 2010 IEEE International Conference on, IEEE, 2010: 279284.
?。?] KARLOFF A C, SCOTT N E, MUSCEDERE R. A flexible design for a cost effective, high throughput inspection system for pharmaceutical capsules[C].Industrial Technology, 2008.ICIT 2008. IEEE International Conference on, IEEE, 2008: 14.
?。?] 李剛,范瑞霞. 一種改進(jìn)的圖像中值濾波算法[J]. 北京理工大學(xué)學(xué)報(bào),2002,22(3):376378.
[4] 王娟,周永霞,徐冰俏,等. 圖像處理在膠囊外形缺陷檢測(cè)中的應(yīng)用[J]. 中國(guó)計(jì)量學(xué)院學(xué)報(bào),2012,23(3):239245.
?。?] BERNSEN J. DYNAMIC thresholding of greylevel images[C].International Conference on Pattern Recognition, 1986: 12511255.
?。?] CHETVERIKOV D. A simple and efficient algorithm for detection of high curvature points in planar curves[C].Computer Analysis of Images and Patterns, Springer Berlin Heidelberg, 2003(2756): 746753.
?。?] SARFRAZ M, MASOOD A, ASIM M R. A new approach to corner detection[J].Computer Vision and Graphics, 2006(32): 528533.
?。?] 錢博文,李濤,韓俊剛,等.多態(tài)并行處理器中的線程管理器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(2):3032.
[9] LEIJEN D, SCHULTE W, BURCKHARDE S. The design of a task parallel library[C].Acm Sigplan Notices, ACM, 2009, 44(10): 227242.