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