胡艷麗 劉團結 李世杰 余禮鑫
摘 要:隨著當今社會醫藥行業的發展,對藥瓶缺陷精準檢測尤為重要。系統采用S7-1200PLC作為核心控制器,完成了基于機器視覺的缺陷檢測系統設計,包括機械結構設計、電氣控制系統設計、圖像處理設計、上位機軟件系統設計四大部分。在分析現有缺陷檢測問題的基礎上,對四大模塊進行設計及對內部原理進行剖析,形成以機械、電氣、視覺、軟件為一體的智能制造解決方案。系統通過調試,可以實現對塑制飲料瓶缺陷的穩定、精準檢測。
關鍵詞:機器視覺;缺陷檢測;PLC;圖像處理
中圖分類號:TP273;TP391? 文獻標識碼:A? 文章編號:1673-260X(2021)02-0018-05
隨著科技的發展和人們生活水平的不斷提高,醫療健康和食品安全問題引起了越來越多的關注。藥瓶的質量關系著藥品的貯存、銷售、運輸、和使用等方面,直接影響著藥品的有效性和安全性。藥瓶的生產過程包含多個環節和流程,每個環節都要進行嚴格的質檢,出廠前藥瓶的表面檢測就是很重要的環節,即對氣線、裂紋、斑點等瑕疵進行檢測及瓶身直徑測量,不允許有缺陷存在。
傳統檢測方式為人工燈檢,要求工作人員在暗室中進行操作,即通過目視檢測藥瓶是否有缺陷,存在檢查速度慢、操作繁瑣、可靠性差和漏檢率高等缺點,并且檢測人員容易產生疲勞感[1]。因此,檢測結果受工作環境和工作人員的狀態影響較大。基于機器視覺的缺陷檢測方法和人工相比較,速度快、成本低、準確率高和客觀因素干擾小[2]。本文以注塑藥瓶為對象,針對其在生產過程中可能存在的缺陷,完成了基于機器視覺技術的缺陷檢測系統的研究和設計。該設計已申請發明專利(申請號:20201.505839.6)和實用新型專利(申請號:202021030207.0)。
1 機械結構設計
現在大多數產線不論是生產設備還是打包設備都是依靠傳送帶運輸注塑藥瓶,加大了瓶底檢測的難度。另外,產線運行過程中傳輸帶導軌會造成對藥瓶的二次傷害[3]。
視覺檢測設備應滿足以下檢測要求:
(1)檢測速度須大于或等于產線生產速度(3-4/s);
(2)完成瓶身360°全方位無死角視覺檢測;
(3)應避免非生產缺陷造成的二次損傷。
本設計在原有傳送帶上,增加真空吸附裝置,可以使飲料瓶在不需要導軌的情況下和傳送帶緊密吸合。同時通過設計結構小巧的雙傳送帶加持裝置,將其架設在原有注塑藥瓶產線上,可以輕松解決底部檢測問題,并實現生產設備和打包設備之間的無縫連接。
1.1 瓶底檢測機構設計
由于注塑藥瓶材質極輕,通過對稱放置傳送帶方法,利用傳送帶的摩擦力,可以實現瓶底懸空并且隨傳送帶移動,在傳送帶底部架設瓶底工業相機,以及瓶底環形光源,可以充分解決瓶底無法檢測的技術難題[4]。瓶底檢測機構設計方案如圖1所示。
設計時,通過在傳送帶兩端架設對射傳感器,利用電氣技術實現精準計數,利用圖像處理技術實現精準檢測,并且在軟件系統的調度下,可以充分避免因飲料瓶生產設備速度及節拍變化帶來的漏檢、誤檢問題。
1.2 瓶身檢測機構設計
在瓶身檢測的傳送機構上,本設計采用了在原有傳送帶的基礎上開設真空吸附孔策略,當接入的真空泵吸氣量大于傳送帶真空吸附孔進氣量,便可在吸附孔附近產生吸力,使瓶身保持穩定,并且不會隨傳送帶的運動而發生相應的抖動,此方案無須再次架設導軌裝置,從而充分避免瓶身傾斜或者二次損傷問題。
在瓶身檢測相機及光源架設方案上,設計放棄了以往“單相機+棱鏡”的解決方案,而是率先采取多相機同步檢測策略[5]。瓶身檢測機構設計方案如圖2所示。
1.3 瓶口檢測機構設計
在瓶口相機布置方案方面,設計選擇沿用市場主流方案,在瓶口正上方放置工業相機,相機視野可以覆蓋整個瓶口,并且和瓶身檢測相機視野能夠有重合部分,確保飲料瓶能夠被全方位無死角檢測。瓶口檢測機構設計方案如圖3所示。
1.4 剔除機構設計
剔除機構設計采用漫反射傳感器和電磁閥相互配合的方式,在底部、瓶身、瓶口完成圖像處理后,經由軟件系統調度,當接收到漫反射反饋信號時,軟件系統控制電磁閥動作,從而剔除次品藥瓶。瓶口檢測機構設計方案如圖4所示。
1.5 機械機構整體設計
根據瓶底、瓶身、瓶口、剔除機構四個部分的設計原則及要求,機械設計總圖如圖5所示。
在傳送帶驅動方面,并不需要過大的扭矩,采用步進電機或伺服電機均可以精準控制傳送帶速度。設計選用的檢測方案是非接觸式檢測,傳感器選擇非接觸式傳感器,并且為了保證精準檢測及計數,在瓶底和瓶身部分都采用了對射式不可見光傳感器,可以充分避免因可見光觸感器造成的飲料瓶表面其他光污染情況,便于后期進行圖像處理。
2 電氣控制系統設計
在電氣控制方面,采用PLC作為核心控制器。根據機械部分設計可知系統需驅動兩個電機,接收三個傳感器信號,并且輸出三個執行信號(觸發光源、工業相機及電磁閥),所以控制器選用性價比較高的西門子S7-1214 DC/DC/DC型號的PLC,多余的輸入輸出端口可以用于后期的系統升級改造。
生產設備生產出藥瓶后,經由瓶底傳送帶傳輸至底部傳感器處觸發瓶底光源及瓶底相機,隨后經由瓶身吸附傳送帶運送至瓶身傳感器處并行觸發瓶身挖洞光源-1、瓶身挖洞光源-2、瓶身挖洞光源-3、瓶身挖洞光源-4后,再次觸發瓶身相機-1、瓶身相機-2、瓶身相機-3、瓶身相機-4,最終在剔傳感器處做出是否次品判斷,并動作剔除電磁閥剔除次品,完成在線檢測流程[6]。系統控制流程圖如圖6所示。
3 圖像處理系統設計
在機械執行部分和電氣控制部分相互配合下,將藥瓶精準運輸至檢測預設區域內,并觸發相對應的相機抓拍,然后對抓拍到的圖像進行處理。在這幾款主流圖像處理庫OpenCV、Ni Vision、TensorFlow、Halcon中進行比較,Halcon更適合用作本設計的圖像處理算法庫。
Halcon機器視覺軟件是德國MVtec公司的研發成果,開發者可以根據其可視化界面設計使看到每一步算法的處理結果。Halcon擁有Windows、Linux、Mac OS等操作平臺可視化開發軟件,而且多種編程語言如VB、C、C++、C#和Delphi等都可以調用Halcon函數庫進行開發。
在圖像處理硬件選型方面,根據檢測要求及瓶身大小,選用分辨率為1292*964的大恒水星系列黑白CCD相機,具體型號為:MER-132-30GM/GC。
3.1 圖像處理系統設計要求
相機采集圖片后,對相應的瑕疵分類,并總結缺陷檢測標準:
(1)瓶身尺寸缺陷(瓶身高度、瓶身寬度、瓶口外徑、瓶口內徑):檢測誤差須在2mm以內;
(2)瓶身外觀缺陷(氣泡、雜質、褶皺、粘連、裂紋、刻痕、擦傷及明顯的油臟):肉眼可見瑕疵須剔除(大于等于0.3mm);
(3)瓶底缺陷(瓶底漏洞、黑點):漏洞必須剔除,黑點肉眼可見瑕疵須剔除(大于等于0.3mm);
(4)瓶口缺陷(裂紋、缺口、破口、圓口不齊):裂紋、缺口、破口瑕疵須剔除,圓口直徑誤差應在1mm以內。
3.2 圖像處理流程
在讀取原有采集圖片的基礎上,先將塑料瓶檢測部分特征進行提取,并且降低工控機負載。然后對目標檢測區域進行粗略瑕疵檢測提取,粗提取主要針對大于1mm的肉眼明顯可見瑕疵部分進行篩選,在無明顯可見瑕疵的基礎上再次進行精提取,這一做法是出于縮小檢測范圍以縮短檢測時間、降低工控機負載,并且能夠大幅度提升檢測性能[7]。
3.3 瓶底圖像處理
根據圖像軟件處理中給出的優化原則,首先對瓶底采集的圖片進行目標區域提取,利用fast_threshold函數從輸入圖像中選擇其灰度值g滿足以下條件的像素:MinGray≤g≤MaxGray。
為了減少處理時間,分兩步進行:首先處理位于由其距離Minsize指定的所選水平線上的所有點,其次處理所有先前選擇的點的鄰域范圍:(2*Minsize+1)*(2*Minsize+1)。
在此基礎上利用reduce_domain函數對目標區域進行裁剪得到提取結果,然后交由var_threshold函數進行瑕疵提取,設定Maskwidth和MaskHeight定義的過濾器模板的大小確定了要分割的對象的大小,設定縮放,以反映在局部標準偏差用作圖像中噪聲量度所需的靈敏度。
在圖像的均勻區域中,標準偏差低,因此單個灰度值的影響很大。為了降低操作員在均質區域的靈敏度,可以調整AbsThreshold,并通過設定LightDark參數,最終得以提取出瑕疵,如圖8瓶底瑕疵提取圖。
3.4 瓶身圖像處理
由于機械執行部分在瓶身四周架設了四個瓶身相機,且其拍攝視覺相同,故僅以一個視角的拍攝圖片進行瓶身圖像處理說明。瓶身檢測同樣利用reduce_domain函數縮小檢測目標區域,利用binary_threshold函數檢測瓶身是否有較大瑕疵,檢測效果如圖29所示。在無肉眼可見瑕疵時,使用var_threshold函數對微小瑕疵二次檢測,小于0.3mm的瑕疵可以輕松檢測出來,能夠滿足在設計之處要求的瓶身檢測精度應大于0.3mm的要求。
3.5 瓶口圖像處理
瓶口檢測時,利用reduce_domain函數縮小檢測區域,再次利用var_threshold函數對瑕疵進行提取,在瓶口內徑以內的非必要檢測區域干擾的情況下,也能夠對微小瑕疵提取,檢測圖如圖10所示。若瓶口無瑕疵,利用edges_sub_pix函數對瓶口進行亞像素提取檢測,利用亞像素精度,保證被檢測瓶口直徑誤差能夠控制在0.3mm以內,充分滿足了圖像處理要求中的1mm誤差檢測精度。
4 上位機軟件系統設計
在軟件系統設計方面,要完成將電氣控制部分需要在軟件系統里處理的相關信號進行合理調度,并且能夠使圖像處理部分順利在軟件系統里嵌入,設計可視化界面,方便操作人員實時查看其檢測狀態,并打包部署至本地環境。
4.1 上位機系統設計要求
上位機設計時,需考慮到電氣控制部分、圖像軟件處理部分的兼容調度問題[8],前期設計要求速度須做到5/s,六個相機加在一起也就意味著一秒鐘需要處理30張圖片,且需實時讀寫PLC里的數據。難題主要在于不僅需要考慮可視化界面與圖像軟件處理爭奪系統資源問題,還要考慮在讀寫PLC數據時軟件系統的實時性能。
4.2 上位機軟件設計
在兼容性方面,本設計將采用C#語言進行軟件系統設計并配合VS 2019進行開發,這樣就能夠很方便地進行可視化界面設計,并且能夠很好地適配主流的PLC通訊協議,圖像軟件處理部分也可以得到很好的兼容,開發難度不大,有助于縮短項目周期。
4.2.1 C#語言優勢
C#語言在工業軟件開發領域擁有獨特的優勢,在系統平臺方面,C#是基于Windows平臺打造,而Windows在工業軟件控制領域占據巨大份額。C#語言自帶的庫非常全面,能夠適配各種各樣的通訊協議,使得與PLC硬件通訊變的簡易,并且擁有可視化的設計界面,能夠快速滿足定制界面的開發。
4.2.2 開源通訊協議
設計采用Snap7開源通訊協議,Snap7是一個基于以太網與S7系列的西門子PLC通訊的開源庫。支持包括S7系列的S7-200、S7-200 Smart、S7-300、S7-400、S7-1200以及S7-1500的以太網通信。
支持32/64位英特爾/AMD的所有平臺,例如:Windows、Linux、Oracle Solaris、Apple OSX。支持語言比較廣:Pascal、C#、C++、C、LabVIEW、Python、Node.js、Java。
4.2.3 C#聯合Halcon
圖像處理部分的算法是在Halcon軟件開發的,但在實際部署時,需要將halcon代碼轉換成部署平臺語言能夠兼容的代碼,設計采用C#進行實際部署,故需要將圖像處理算法代碼到處至C#可以識別的.cs文件,選擇存放位置及導出的代碼類型,然后在加載至VS軟件里,從而完成圖像處理部分的代碼融合問題。
4.2.4 上位機軟件界面
設計中六個相機采集到的畫面進行組合,并分別實時顯示檢測過程,對每個畫面的檢測結果實時顯示,并用醒目的綠色“合格”和紅色“不合格”做區分,方便操作人員的實時查看,設計時僅需要一個啟動按鈕,使用機器簡便。
內部通過CPU并行處理能力,采取六個畫面實時處理線程,以及一個PLC偵聽線程,從而解決因實時性過強導致的系統資源巨大浪費問題,設計的可視化界面如圖11所示。
5 總結
基于機器視覺的檢測方法作為當前最為流行的無損檢測技術之一,其在客觀性、準確率、速度上都有著人工目檢無法比擬的優勢。本文完成了基于機器視覺的藥瓶缺陷檢測系統的機械結構設計、電氣控制系統設計、圖像處理設計、上位機軟件系統設計。
通過對系統反復調試,系統能夠實現對瓶身、瓶底、瓶口的準確檢測,誤差精度均符合設計要求。藥瓶缺陷檢測準確率超過97%,檢測速度為在15/s,滿足系統整體設計要求。由于系統準確率高,檢測速度快,運行穩定,因此其具有良好的市場前景和較高的實用價值。
設計將在未來進行持續的優化,嘗試采用C++語言的QT平臺使速度進一步提升,如果能通過FPGA底層電路,完成一系列的檢測,速度將會更快。設計對藥瓶圖像處理系統也進行了大量的研究,速度和精度可以滿足實時檢測的生產要求,在未來研究中,可以在保證處理速度的前提下,進一步優化算法細節,使效果達到最佳。
——————————
參考文獻:
〔1〕周顯恩,王耀南,朱青,吳成中,彭玉.基于機器視覺的瓶口缺陷檢測方法研究[J].電子測量與儀器學報,2016,30(05):702-713.
〔2〕李丹,白國君,金媛媛,童艷.基于機器視覺的包裝袋缺陷檢測算法研究與應用[J].激光與光電子學進展,2019,56(09):188-194.
〔3〕許江淳,岳秋燕,任向陽,王晴.基于機器視覺的藥片表面缺陷識別與分揀系統設計[J].傳感器與微系統,2017,36(06):90-93.
〔4〕鄭魁敬,劉學超,王萌萌.基于機器視覺的手機電池表面缺陷檢測[J].制造技術與機床,2020(04):105-112.
〔5〕王耀南,陳鐵健,賀振東,吳成中.智能制造裝備視覺檢測控制方法綜述[J].控制理論與應用,2015, 32(03):273-286.
〔6〕黃信兵,陳超越.基于PLC技術的指甲鉗體外觀缺陷檢測系統研究[J].液壓與氣動,2020(05):138-144.
〔7〕王永強,李慶利,王偉志.基于Hadoop的衛生陶瓷缺陷檢測研究[J].制造業自動化,2018,40(08):1-4.
〔8〕崔光茫,趙巨峰,辛青.基于工業生產設備表面缺陷檢測的實驗設計[J].實驗室研究與探索,2017, 36(04):164-166+244.