張 鑫, 周向榮, 李小江
(杭州娃哈哈集團有限公司, 浙江 杭州 310018)
飲料行業競爭日趨激烈,用戶對產品質量也愈加看重;而食品企業對食品安全的責任永無止境。在飲料生產線上,瓶蓋、瓶口及旋蓋封裝過程可能存在偏差,導致出現高蓋、歪蓋、安全環斷裂和低液位等問題。由于飲料對密封性要求高,易漏氣變質,發現并剔除不合格產品可以保證產品質量,降低生產損失,減少投訴。目前質量檢測工作依然依靠人工目檢,存在檢查效率不高、崗位價值低等問題。課題組提出的基于視覺的PET封蓋檢測及定位系統可以更加快速和準確地檢測出高蓋、歪蓋、安全環斷裂和低液位等缺陷,將一次性成本投入為固定資產,減少人工成本方面的投入,降低了總成本;同時系統具有反向定位功能,能夠定位出產生封蓋異常的旋蓋機工位,指導生產,降低損失,提高生產效率。該檢測系統只需在車間停機時做適當清潔維護,可無間斷工作,避免了人因疲勞而導致的漏檢和誤檢。
飲料瓶封蓋缺陷主要包括無蓋、高蓋、歪蓋和低液位等,以上缺陷都能通過輪廓判斷來識別。因此在成像方案上課題組選用背光源剪影成像的方式,該方案能夠清晰的采集樣品的輪廓信息。另外,方案采用如圖1所示的3個相機進行拍攝,以保證視場覆蓋瓶蓋外表面。采像設備選用的是130萬像素的CCD相機和12 mm的定焦鏡頭。采集到的圖像能夠有效提取被檢測物的輪廓信息,效果如圖2所示。

圖1 成像方案Figure 1 Scheme of imaging

圖2 瓶子圖像Figure 2 Image of bottle
剔除裝置用于剔除檢測出的不合格產品,用1個電磁閥驅動氣缸伸縮實現。使用時,調整減壓閥的壓力為300~400 kPa。剔除裝置在安裝時,剔除氣缸頭與瓶身的距離控制在15 mm左右。剔除裝置如圖3所示。

圖3 剔除裝置Figure 3 Rejecting device
定位系統能夠找到產生次品瓶蓋的旋蓋頭,從而有針對性地檢修,提高生產效率。原理如下:給每個轉盤的旋蓋頭設置編號,編號區間為 0~n,在0號位置安裝傳感器,PLC記錄起始位置,通過傳送帶編碼器,記錄每個瓶子對應的編號,在剔除工位,PLC將有缺陷的瓶子對應的編號及缺陷類型反饋給界面軟件存檔并顯示。定位系統如圖4所示。

圖4 定位系統Figure 4 Positing system
電氣控制選用西門子S7-1200系列的PLC作為主控單元,主要負責與視覺模塊的通信,利用光電傳感器及編碼器完成旋蓋機定位以及次品的剔除工作。其中與視覺控制器的通信包括接收次品缺陷類型,及反饋對應次品編號。具體的電氣檢測流程如圖5所示。

圖5 電氣控制流程圖Figure 5 Flow chart of electrical control
視覺設計軟件部分,主要分為界面軟件和圖像處理算法2部分。
開發工具采用微軟基礎類庫MFC,集成開發環境選擇的是Visual Studio 2019,主要實現的功能包括采集圖像、調用圖像處理算法、與PLC通信、統計檢測結果并存檔和人機操作等。
3.1.1 圖像采集
相機采用海康工業相機,將原廠相機SDK進行二次開發,其中圖像通過回調函數實時傳遞給應用類,實現圖像采集功能。
3.1.2 調用圖像處理算法
采用動態鏈接庫實現共享函數庫。使用動態鏈接庫可以更為容易地將更新應用于各個模塊,同時不會影響該程序的其他部分,有利于分割研發任務,方便后期的調試和維護。
3.1.3 PLC通信
與PLC的通信采用modbus tcp通信協議[1]。MFC調用CSocket類來實現通信[2-3],相較于winsock,CSocket類提供了阻塞的訪問方式,其成員函數如receive,send,receivefrom,sendto和accept不會像winsock中的函數一樣返回錯誤代碼為WSAEWOULDBLOCK的錯誤,這些函數會自行進入等待狀態,直至操作結束。
3.1.4 數據統計和存檔
實時更新監測數據,包括總檢測數、次品數及各個單項缺陷對應數據,同時統計旋蓋機各工位產生的缺陷類型及數量保存到本地文檔中。
3.1.5 人機操作
四人中,袁安的拳腳功夫可能是最好的吧,一路上,咬吳耕的狗,偷李離的賊,調戲上官星雨的鄉村流氓,都是由他負責打發掉的。他的拳法名叫百花錯拳,卻并不是母親請來的武術師父教會的。
每種類型的瓶蓋會有對應的參數,操作人員可以通過人機調用相應參數;另外,軟件也提供了主要參數的微調功能。比如,不同瓶型的高度會有差異,運行前操作人員需要進入調試模式,調整設備高度,以確保瓶蓋在視場中心。
圖像處理算法是視覺系統的核心,直接影響設備性能。項目集成開發環境選擇的是Visual Studio 2019,調用了開源的視覺算法庫Opencv,最終生成動態鏈接庫DLL,供軟件平臺調用。圖像處理算法主要功能分為:找目標、分割瓶體、各項分類處理和返回結果。圖像處理算法流程如圖6所示。

圖6 圖像算法流程圖Figure 6 Flow chart of image process arithmetic
3.2.1 找目標
將單通道灰度圖轉化為二值化圖像,利用Canny算子[4-5]找到邊緣,再利用8鄰域找輪廓并填充[6-7],屏蔽面積小于閾值的區域,剩下輪廓數≠1,則說明視場中無檢測物或者存在多個檢測物,結束流程并返回結果為合格。如輪廓數=1,遍歷目標輪廓坐標[8-9],如圖像邊緣是輪廓的一部分,則判為目標不完整,結束流程并返回結果為合格;反之,判為目標單一且完整,進入下一環節。
3.2.2 分割瓶體
這個環節的關鍵是找到支撐環,再根據支撐環找到瓶蓋、防盜環和液位區。為了設計出針對各個部位的單獨的識別算法:
1)首先,運行前手動調整支撐環在圖像中的初始位置,保證其在圖像中線位置上。
3.2.3 各項分類處理
采用串行處理的方式,依次順序為:無蓋、高蓋、歪蓋、低液位和環缺陷。一旦某一項檢測到異常,則直接退出,返回異常項;如果所有檢測都正常,返回結果為合格,并結束流程。
1)無蓋:判斷瓶蓋ROI灰度均值,大于閾值即為無蓋。灰度均值在有蓋和無蓋2種情況下差異較大,閾值比較容易設置,判斷結果較為準確。
2)高蓋:計算蓋頂中心到支撐環擬合線的距離,與設定閾值比較,大于閾值即為高蓋,反之合格。
3)歪蓋:利用最小二乘法[10-12]擬合蓋頂輪廓線,計算其與支撐環擬合線的夾角,與設定閾值比較,大于閾值即為歪蓋,反之合格。
4)低液位:對液位ROI做Y方向投影,計算每行像素灰度均值,根據均值可以分為液體區、泡沫區(或者是晃動導致液位傾斜區)和空氣區;對泡沫區繼續劃分,主要參數為泡沫密度閾值,即泡沫點(黑點)的比例,大于閾值即為液體,從而可以得到實際液位。不同產品閾值參數變化較大,如碳酸飲料和乳飲料對應的閾值比純凈水的閾值大很多。
在實際生產線進行了項目試驗檢測,主要步驟:①制作無蓋、高蓋、歪蓋、低液、無環和卷邊標準異常品,每種異常品連續測試10次;②實際生產測試,運行0.5 h,現場安排工人將漏檢產品拿出,最后人工復檢設備剔除的產品,統計相關數據;③人為拆除其中2個旋蓋機工位,制造無蓋產品,測試異常定位系統。
實際測試結果:無蓋、高蓋、低液、無環和卷邊蓋均可檢出;連線觀察飲料瓶數為15 765,誤剔瓶數為15,漏剔數為0,檢測準確率99.90%,不良品檢出率100.00%,誤剔率0.08%;定位系統能夠實時顯示異常旋蓋機工位和缺陷種類,并能查看累計數據,現場測試能夠準確定位。測試結果表明,設備符合設計要求,檢測能力滿足實際生產線質量標準。
圖7所示為歪蓋檢測的效果對比圖,左邊為正常蓋,右邊為歪蓋。

圖7 檢測效果圖Figure 7 Detection effect diagram
圖7中:kcapk表示蓋頂斜率,kringk表示支撐環斜率,Δk表示斜率差。
針對目前飲料灌裝質量檢測工作依靠人工目檢,存在檢查效率不高、檢出率低等缺點。筆者設計了基于視覺的PET封蓋檢測及定位系統。通過反復實驗測試表明:采用背光源剪影的成像方式能夠有效采集PET封裝的圖像信息,3相機方案能夠滿足瓶蓋柱面全檢測,穩定有效的成像系統有助于算法模塊更加高效準確地識別目標缺陷。該設計采用的圖像處理算法對硬件要求低、速度快,能夠較大程度降低成本。在實際使用中,采用該系統的設備能夠有效檢測出PET封裝線上存在的缺陷并剔除,并能準確定位造成缺陷的旋蓋機工位。