畢德學,程威盛,郝孝其,丁彥玉
(天津市輕工與食品工程機械裝備集成設計與在線監控重點實驗室天津科技大學,天津 300222)
隨著制造業的發展,硅膠耳機圈作為硅橡膠行業中比較常見的工業產品,其種類和產量也日益增多。硅膠圈質地較軟,遇到外力的擠壓會使其變形不利于檢測,且硅膠耳機套屬于非平面的產品,不能從一個單一視角檢測。對于硅膠圈的檢測,在現今工廠生產中,人工揀選還是占了很大的比例[1]。人工檢測工人需要通過工作時間來積累大量經驗才能獲得較高的檢測準確率;檢測過程在強光下進行,長時間工作,質檢人員容易視覺疲勞導致檢測準確率降低[2]。目前我國也有公司研究這種類型的橡膠圈缺陷檢測系統,例如福州斯普泰克公司所制造的橡膠圈外觀檢測設備。但是硅膠圈的產品多工位檢測還比較少,這里通過在硅膠圈行業內進行研究,通過從檢測方式、算法編寫、實驗和測試等方面工作展開,逐步完成一個旋轉盤式的多工位視覺檢測在線剔除系統。
硅膠圈缺陷檢測系統是由送料及剔除部分、視覺檢測部分、機械傳動部分、電氣控制部分這四部分組成的復雜機電系統。其中送料部分是由振動旋轉送料盤和直線振動送料器組成的延伸式送料系統,剔除收集部分有由缺陷產品剔除系統和良品尾料收集裝置組成。
檢測部分由高速工業相機、工業鏡頭、光纖對射傳感器所組成。機械傳動部分由高透明旋轉平臺、步進電機、減速傳動裝置和軸承支撐裝置組成;電氣控制部分由下位機PLC控制器、電氣控制板構成。
檢測分系統是由3個檢測工位、一個上料工位、一個剔除工位和一個良品收集工位組成,如圖1所示。3個檢測工位通過各自不同的打光方式和采集設備,各工位進行工件各視角圖像采集。

圖1 檢測剔除系統實物示意圖Fig.1 Detection of Elimination System Schematic
1號檢測位通過將工業相機放置在正上方,垂直于檢測旋轉平臺,借助下方的低角度環形光進行打光,得到明場工件檢測圖像,如圖2所示。硅膠圈的圖像不是一個理想平面,采用低角度環形光源對硅膠圈進行打光,效果就會改善由于工件表面復雜的凹凸性造成的光的不均勻性,粘料表現和本體顯得就會非常的明顯。

圖2 一工位明場示意圖和圖像采集效果圖Fig.2 Bright Field Lighting and Picture Acquisition
一工位還需要對硅膠圈的外形輪廓進行檢測,第二次的采集圖像需要進行背光打光,使得輪廓特征變得明顯。打光原理圖和圖像采集效果,如圖3所示。

圖3 一工位背光示意圖和圖像采集效果圖Fig.3 Dark Field Lighting and Image Acquisition
2號工位和3號工位都采用內孔檢測鏡頭對工件內孔的缺陷進行檢測。內孔檢測工位的鏡頭采用視場角為115°內孔檢測鏡頭,這種超廣角的檢測鏡頭可以采集到內孔堵孔缺陷的圖像,如圖4所示。

圖4 內孔檢測工位打光和采集圖像Fig.4 Blocking Hole Lighting and Image Acquisition
硅膠圈在經過上一步的模具熱塑成型,經過裁剪機臺的裁剪后,在出廠前需要將缺陷產品挑出并進行回收。現場實地研究后,將缺陷的種類規劃為3種缺陷,分別是:外層毛邊、表面粘料、內圈堵孔等缺陷。
通過實驗測試,使用傳統機器視覺方法和訓練深度學習卷積神經網絡來進行分類兩種方法,進行對照試驗通過結果選擇算法(本實驗以“大翅膀耳機套L”為檢測產品,其他型號均為混料)。各工位功能和缺陷種類,如表1所示。

表1 產品缺陷種類對照表Tab.1 Product Defect Type Comparison Table
進行感興趣區進行提取,通過閾值分割找出硅膠套本體區域。這里傳統視覺檢測算法針對毛邊缺陷和堵孔缺陷算法進行介紹。借助灰度直方圖,使用多閾值分割二值化,將圖像進行分割。原始圖像為(fx,y),為從背景中提取可感興趣目標的一種直觀方法就是,選擇一個合適的灰度閾值T,達到將物體像素從背景中分離的效果。f(x,y) >T的任何點(x,y)稱為感興趣點,反之該點則被劃分為背景點。單閾值分割后的圖像g(x,y)表達式,如式1所示。
多閾值分割后的圖像g(x,y)表達式,如式(2)所示。
其中,若f(x,y) ≤T1,則多閾值處理把點(x,y)劃分為背景;若T1<f(x,y)≤T2,則可劃分為一類目標;若T2<f(x,y),則可劃分為背景或者另一類目標。
全局閾值處理和局部閾值處理是閾值分割法的主要組成部分。二工位使用內孔監測鏡頭,對硅膠圈內孔堵孔、堵料進行檢測。在使用閾值分割后將硅膠套本體提出后使用形態學將其分割出來[3],如圖5所示。

圖5 一工位暗場閾值直方圖和提取效果Fig.5 Gray Histogram and Defect Renderings
通過計算硅膠圈本體在相機像素坐標系下的像素個數NP,之后對硅膠圈對象進行閉運算和開運算,分別計算像素個數,開運算結果像素個數為NO,閉運算像素計算個數為NC。通過像素求差值來進行判斷是否為毛邊缺陷產品[4],缺陷產品標志位為1,良品標志位為0。
公式如下所示:
p(n)為判斷硅膠套對象是否為缺陷的標志位,通過對毛邊的毛邊缺陷大小進行統計,收集150個產品,繪制缺陷大小的折現圖,并實現毛邊缺陷的特征提取,缺陷大小最小為33pix,最大缺陷面積為756.016pix,平均毛邊缺陷大小122.445pix,缺陷大小的閾值定在(30~800)pix[5]。毛邊缺陷像素面積的統計折線圖和缺陷提取效果,如圖6所示。

圖6 毛邊缺陷像素大小統計圖和特征提取圖Fig.6 Burr Pixel Size Statistics and Extraction Renderings
對于堵孔缺陷,使用如上的閾值分割將硅膠圈本體提取出來。對于硅膠圈本體使用局部閾值提取堵孔區域并使用形態學提取堵孔缺陷,局部閾值的原理公式如下圖所示:
通過模板大小n×n,來改變模板大小內的平均閾值,通過遍歷像素單元,進行篩選,進行二值化。通過形態學計算大小,提取出堵孔的缺陷特征。提取效果,如圖7所示。

圖7 堵孔缺陷特征提取效果圖Fig.7 Block Hole Defect Feature Extraction Effect Drawing
深度學習使用的模型是VGG16[6],VGG 是Oxford 的Visual Geometry Group 的組提出的,該模型采用連續的幾個(3×3)的卷積核代替AlexNet中的較大卷積核(11×11,7×7,5×5)。對于給定的感受野,采用堆積的小卷積核是優于采用大的卷積核,因為多層非線性層可以增加網絡深度來保證學習更復雜的模式,而且代價還比較小。該模型經過多很多研究者的復現實驗和測試改進,在分類任務中表現優異[7]。
3.3.1 模型的搭建
我們搭建模型的工具和環境,如表2所示。下表為這里使用的VGG16的網絡結構,如表3所示。

表2 模型搭建工具和環境參數表Tab.2 Model Building Tools and Environment Tables

表3 VGG16網絡結構表Tab.3 VGG16 Network Structure
3.3.2 模型的訓練數量
硅膠圈的“堵孔缺陷”、“堵孔正?!薄ⅰ懊吶毕荨?、“毛邊正常”、“粘料缺陷”、“粘料正?!边M行6分類,訓練的數據集,如表4所示(分別對應的編號為(0~5)):

表4 訓練樣本參數表Tab.4 Training Sample Parameter
訓練集、驗證集和測試集所占的大致比例分別為6:2:2。采集到的原始圖像分辨率為(1920×1200)和(1280×960),降采樣為(224×224)的圖像大小。訓練模型重要參數,如表5所示。

表5 訓練重要參數表Tab.5 Training Important Parameters
訓練過程中的誤差和準確率,如圖8所示。

圖8 訓練過程loss曲線和準確率曲線Fig.8 Loss and Accuracy in Training Process
通過訓練,使用混淆矩陣將測試集的結果,如圖9所示。

圖9 測試集混淆矩陣Fig.9 Test Set Confusion Matrix
傳統計算機圖形法缺陷提取的準確率和使用CNN神經網絡進行訓練識別結果,如圖10所示。

圖10 兩算法檢測準確率對照圖Fig.10 Comparison of Detection Accuracy of the Two Algorithms
如圖10所示,通過使用傳統檢測方法和深度學習訓練模型這兩種不同的識別缺陷[8]的方法,在三種缺陷上,傳統檢測方法表現很穩定,檢測準確率都能夠維持在98%以上;反觀通過深度學習訓練模型的方法在小樣本條件未獲得理想的表現,表現在毛邊和堵孔兩種缺陷上尤其的明顯,準確率不足50%。分析原因,通過深度學習訓練模型方法受制于這里數據集的數量過小,無法從數據集中學習到特征信息。
通過上述采用對三種缺陷的檢測使用傳統視覺檢測方法和深度學習訓練模型的方法作為對照實驗,這里所受制于缺陷樣本過少的情況下,深度學習訓練模型的方法沒有達到理想的訓練結果。
QT 作為一種圖像用戶界面應用程序開發框架,可在win‐dows、Linux 等平臺下運行。本系統的中控視覺系統使用的QT(MSVC)為編程語言來搭建的。通過在VS2015(Visual Studio)中進行開發,配置添加了Mysql、opencv、Pylon等庫和軟件完成中控軟件的搭建[9]。
中控系統的UI 界面包括了六個部分:登錄界面、功能選擇窗口、實時生產界面、產品管理界面、傳感器調試界面和報表回查界面。通過Basler 官方提供的相機SDK 對相機進行二次開發,實現相機觸發并采集和調試界面中對相機參數的調整。
通過繼承Qt 中的QThread 類完成了多線程設計模式的編寫,使得中控系統的缺陷信息能夠做到在線缺陷檢測并剔除不良品的這一功能。
軟件控制系統必須要進行控制控制多工位的工業相機進行觸發相機并采集到圖像,各工位的相機需要并行采集圖像,并行圖像處理,將檢測的工件結果信息進行匯總處理,之后發送給下位機進行剔除處理。程序中多線程功能是基于Qt 的多線程類QThread實現,實例化多個線程類。程序中包括了3個采集線程、3個圖像處理線程。在這個數據入緩存區和出緩存區的過程中,因涉及到了對同一隊列進行存取,所以要保證緩存區存取的線程安全和隊列的安全性。解決這一問題我們利用互斥鎖和信號量來控制隊列的安全,如圖11所示。

圖11 進出隊列示意圖Fig.11 Diagram of Inward and Outward Queue
在檢測同一個硅膠圈的缺陷時,每個處理線程都會在本工位的檢測中判斷是否為缺陷產品。提出一種多工位循環剔除的方法。該方法借助“時間戳”來判斷是否為同一個工件。檢測系統的下半段也就是剔除的部分流程原理圖,如圖12所示。

圖12 剔除原理圖Fig.12 Elimination Schematic Diagram
“時間戳”就是當前的系統時刻時間,在剔除信號處理的線程中,循環獲取當前時刻。通過相機視野下工件的位置結合標定的結果,獲得檢測工件位于相機視野中心的距離DL≈Dx,轉盤運行的角速度為,線速度為,檢測工件的缺陷標識為布爾變量DM,工位編號WLN記錄檢測圖像的工位序號(從(1~3)),采集圖像時的系統時刻GM。
將其的空間距離轉到時間尺度上,通過在時間尺度上判斷剔除的時刻。某一時刻在相機觸發時,工件位于視野中的位置,如圖13所示。

圖13 工件視野下位置變化Fig.13 Position Changes in the Visual Field of the Product
各檢測工位距離剔除工位相對于旋轉檢測平臺的圓心坐標系下的弧長距離為L,工位之間的空間尺度關系,如圖14所示。

圖14 各工位間的空間維度Fig.14 Spatial Dimensions Between Stations
工件在某一工位檢測時被拍照的那一瞬間距離提出工位的時間尺度上的距離為ET。
在缺陷處理線程,通過循環來記錄當前的系統時刻CM。通過公式來計算該檢測工件的剔除系統時刻ST。
滿足的剔除條件判斷(1代表剔除,0代表無動作):
通過Qt的UI模塊進行搭建運行檢測界面[10],界面具有實時檢測性、美觀性和易操作性,方便調試和操作人員進行使用,如圖15所示。

圖15 檢測界面Fig.15 Processing Interface
這里對機器視覺在硅膠圈實時檢測和剔除方面的應用進行了研究。通過對這里產品的缺陷通過傳統的視覺檢測對缺陷特征進行提取和對檢測產品進行VGG卷積神經網絡訓練模型進行分類缺陷產品。綜合檢測結果,最終選擇在小樣本下選用傳統視覺的方法作為視覺處理算法。產品剔除的綜合準確率高達98%以上,系統具有可行性。