嚴道森,孫 淵
(上海電機學院機械學院,上海201306)
隨著現代工業的快速發展,以注塑成型為基礎的塑料注塑件應用越來越廣泛,外觀質量是影響注塑件品質的一個關鍵因素[1]。因此,對注塑件表面質量進行直觀檢測是檢測注塑件質量的一個重要環節。人工目視檢測仍然是注塑件生產企業主要采用的檢測方法,容易受到人為主觀因素的限制,檢測的準確率難以保證[2]。同時,工人的視覺疲勞和精神疲勞使得檢測的效率難以持續,長期在充滿刺鼻化工塑料氣味的環境工作,也會對工人身體健康產生一定影響。
基于上述問題,機器視覺檢測技術可以很好地克服檢測任務中人工檢測的不足。傳統的機器視覺檢測技術是人工選取特征作為機器學習的參數,通過特征分類算法實現圖像的識別分類,這對人工經驗要求極高,也難以推廣發展。傳統機器視覺檢測方法的不足之處在于無法自動提取圖像分類特征,但卷積神經網絡算法可以很好地實現這些要求。卷積神經網絡主要特點是利用卷積操作,逐層提取特征,通過權值變化使得網絡可以擬合目標分類函數[3-5]。將卷積神經網絡算法應用于注塑件表面缺陷圖像的識別當中,一方面可實現注塑件的表面缺陷視覺檢測識別,另一方面也能克服傳統特征工程算法的局限性等問題。
在國內外,卷積神經網絡應用于表面缺陷檢測的案例也有很多。Lecun等[6]設計的LeNet-5網絡結構,成功實現手寫數字的識別。隨著人工智能研究的進一步興起,Krizhevsky等[7]提出了更深層次的AlexNet網絡結構模型,且在國際大賽上取得較好效果。隨著計算機硬件的不斷發展,以VGGNet[8]等網絡結構為代表的深層次、大規模的卷積神經網絡也不斷出現,為卷積神經網絡在視覺檢測領域的應用提供更多助力。Weimer等[9]通過深度卷積神經網絡替代傳統工業視覺檢測方法,克服了傳統方法高度依賴人工經驗選取缺陷特征的不足,并驗證了卷積神經網絡的方法取得了更好的效果。Celik等[10]通過神經網絡對織物缺陷進行檢測分類,取得了較高的檢測準確率和分類準確率。在國內也有許多相關研究成果。莊新卿等[11]將卷積神經網絡算法與輪廓提取算法結合,用于鋼鐵表面缺陷檢測,實驗取得了較為理想的準確率;王憲保等[12]研究了神經網絡在太陽能板缺陷檢測中的應用;顏偉鑫[13]以鑄造件缺陷檢測為研究任務,提出將快速區域卷積神經網絡和一種新的錨框設定方案相結合的方法,極大提升了缺陷的檢測率;陳雋文[14]以高鐵觸網中的緊固件為檢測對象,提出由3個階段組成的網絡模型,通過實驗結果驗證了算法的可行性;劉孟軻等[15]針對軌道缺陷檢測的研究提出了一種卷積神經網絡結構,實驗證明了該網絡結構在軌道表面缺陷識別中有較高的識別率。
目前,國內外機器視覺檢測方面的研究較多,但應用于注塑件表面缺陷檢測的研究不多。基于上述眾多相關文獻的研究案例,以及來自生產中的實際需求,將卷積神經網絡算法應用于注塑件表面缺陷檢測,具有較強的實際應用意義。
卷積神經網絡內部有著大量的參數,在網絡訓練時,正是由于這些參數的存在,使得卷積神經網絡有強大的擬合能力。
(1)卷積層。卷積層是卷積神經網絡的主要特征,卷積層主要是進行卷積操作,卷積核進行卷積是卷積層的具體方法。在圖像處理的過程中,卷積核與輸入圖像的像素進行卷積操作,輸出結果,形成新的特征圖。
卷積過程的計算如下:

(2)池化層。一般在卷積層提取到特征數據后,需要對其進行降采樣操作,保留主要特征信息,減少網絡運行中的數據量,同時也增加了網絡的泛化能力,減少了過擬合問題的發生。池化操作主要分為平均池化和最大池化,平均池化和最大池化分別是指在池化視場內取平均值和最大值。
(3)全連接層。作為神經網絡中的常規層,全連接層連接其先前層中的所有神經元。該層的主要功能是創建點積,并在每個神經元的輸入中添加偏差。網絡中,最后一個池化層之后全連接層將多維特征映射轉換為一維特征向量,用于進一步的特征表示。
(4)輸出層。輸出層主要是根據全連接層整合后的特征信息,利用分類器對輸入數據進行分類預測,輸出預測分類結果。
(1)LeNet神經網絡模型于1998年由Lecun等[6]提出,該網絡規模很小,但其結構完整,是一個典型的基礎卷積神經網絡結構。后續的許多經典網絡的出現都參考了該網絡的特性。
在網絡的輸入層,圖像大小為32×32,之后是第1個卷積層,擁有6個卷積核,卷積核尺寸大小為5×5,經過卷積運算后,輸出6通道的特征圖,大小為28×28。下一層為池化層,包含了6個特征圖,移動步長為2,經過采樣運算后每個特征圖的大小縮減為14×14。再往后,同樣是一個卷積層加池化層的組合結構,特征圖的數量逐漸增多,尺寸則變小。接著連接兩個全連接層,將上層的結果進行匯總,并輸入Softmax回歸層進行分類任務。
(2)AlexNet神經網絡模型是在LeNet神經網絡模型之后提出的,AlexNet的網絡結構依靠5個卷積層提取主要特征。前2層卷積核較大,特征提取能力較強,在第1~3層設有3個池化層,后面由3個全連接層和1個分類器組成完整的網絡結構。
某種程度上,AlexNet為后續許多網絡提供參考。AlexNet雖然相比LeNet有了更強的能力,但在處理注塑件表面缺陷識別問題時,也存在一些不足。其前兩層卷積核大小分別為11×11和5×5,偏大的卷積核容易造成卷積核在提取圖像特征時能力不足的問題,效果可能會受到影響。
(3)VGGNet神經網絡模型比AlexNet神經網絡模型層次更深,有多個不同的版本,采用了5個卷積結構,但每個卷積層內設有多個卷積核。通過小卷積核的組合達到大卷積核的檢測效果,且不丟失細節特征。
以VGG-16為例,與AlexNet相比,VGGNet普遍采用了小卷積核和保持輸入大小等技巧,目的是在提高網絡深度的同時,確保各層輸入大小隨著深度增加而不會急劇減小。VGGNet所有卷積核的大小均為3×3,最大池化層大小為2×2,使用2個3×3卷積核替代5×5的卷積核。相似的,3個3×3的卷積層串聯則相當于1個7×7的卷積層。在處理注塑件表面缺陷識別問題時,雖然其卷積核提取能力足夠,但網絡結構仍過于復雜。
卷積神經網絡適用于圖像識別處理,主要是依靠多層卷積層不斷提取圖像的特征參數圖。由于本文所涉及的注塑件缺陷圖像的缺陷較小,圖像復雜度也相對較低。因此,綜合考慮注塑件表面缺陷檢測的特性,選定低層的卷積層作為注塑件表面缺陷識別網絡算法。
對于上一章所介紹的3個經典卷積神經網絡模型進行分析可知:①相對于后續的一些模型,LeNet-5規模很小,但網絡結構完整,是較早成功應用于手寫數字圖像識別的卷積神經網絡結構。本文的檢測目標是注塑件的表面缺陷檢測,缺陷特征多變且細小,LeNet-5網絡層數過少,難以實現注塑件表面缺陷的檢測。②AlexNet網絡結構龐大,網絡層數相對較深。但其卷積層中前兩層的卷積核較大,不利于提取注塑件表面缺陷中的細節特征,并不適合注塑件表面缺陷檢測。③VGG網絡可以看作是AlexNet的加深版,優化了卷積核的結構,但其網絡結構仍然較為復雜,難以直接應用于注塑件的表面缺陷檢測。
針對上述常見經典卷積神經網絡在注塑件表面缺陷檢測中存在的不足之處,提出了一種注塑件表面缺陷識別基礎卷積神經網絡結構模型。該模型選取了AlexNet與VGGNet各自的優勢,主要設置了5個卷積層,對應5個池化層,在卷積部分的末端,有3層全連接層。根據輸出的特征數據,由Softmax層做出分類預測。注塑件表面缺陷識別基礎網絡模型結構如表1所示,其網絡模型結構示意圖如圖1所示。
由表1和圖1可知,輸入層為224×224×1的單通道圖像,對卷積核大小進行統一,均為3×3,較小的卷積核更有利于提取細小的缺陷特征。第1層卷積中設定有32個卷積核,數據輸入后,卷積輸出32通道的特征圖,大小為224×224;第1層卷積后,由于數據量過大,需要池化層對其進行降采樣,池化層大小為2×2,特征圖的大小減小一半;經過降采樣的特征圖進入第2層卷積層,有64個卷積核,對由前一層輸入的特征圖卷積,得到64通道的特征圖,再經第2層池化層進行降采樣;特征圖數據再進入第3層卷積層,卷積核數為128,輸出的特征圖通道數為128;第4層和第5層特征通道數均為256,因此,卷積部分最終輸出為256通道的特征圖。

表1 注塑件表面缺陷識別基礎網絡模型結構

圖1 注塑件表面缺陷識別基礎網絡模型結構示意圖
在注塑件表面缺陷圖像檢測的任務中,首先要獲取高質量的注塑件表面缺陷圖像,檢測目標主要為中小型的注塑件。因此,需要結合檢測目標的特點,搭建一套用于獲取注塑件圖像的圖像采集設備。本文選用海康威視MV-CA030-11GM型號的工業相機用于采集樣本圖像集,保證圖像的清晰度。缺陷圖像如圖2所示。

圖2 缺陷圖像
樣本圖像的清晰度會對卷積神經網絡的識別能力產生一定的影響,越清晰的圖像越有利于提升識別的準確率。因此,在計算機進行機器視覺學習之前,會對圖像進行預處理,強化缺陷圖像的一些特征,便于識別。常見的圖像增強的方法有對比度拉伸變換、圖像銳化、平滑等。本文的檢測對象是注塑件,根據注塑件缺陷圖像的特征,采用直方圖均衡化的方法對圖像進行增強處理。
灰度直方圖通過統計圖像的灰度值來描述圖像的特征。對于一張數字圖像,統計所有像素的灰度值出現的次數,直觀展示了灰度圖像的紋理分布特性。原始圖像灰度直方圖如圖3所示。

圖3 原始圖像灰度直方圖
由圖3可知,圖像灰度值較集中,缺陷的特征難以顯現出來。以均衡化灰度直方圖的方法對圖像的特征信息進行增強,像素數量集中的灰度級適當擴寬,使缺陷圖像更清晰。令M(i,j)為原始圖像像素,G(i,j)為增強后的圖像像素,其中i=1,2,…,m;j=1,2,…,n。具體的直方圖均衡化方法如下:
(1)根據原始圖像[M(i,j)]m×n的灰度級,求解原始圖像的灰度直方圖,灰度級統計由向量N(k,l)表示。
(2)求解原始圖像灰度分布概率為

式中:NM=n×m為像素總個數;N(k)為灰度級k對應的像素總個數。
(3)通過原始圖像的分布概率來求解圖像灰度級的累計分布概率為

式中:S(0)=PM(0)。
(4)計算灰度值之間的映射關系,即原始圖像灰度級k對應的均衡化后的灰度級為

求解直方圖均衡化后的圖像像素值為

最后獲得均衡化后的圖像。
直方圖均衡化變換后,注塑件表面缺陷圖像中的缺陷特征得到顯著的增強,如圖4所示。

圖4 直方圖均衡化
選取4 000幅注塑件圖片作為樣本數據庫,其中無缺陷、劃痕、凹坑和黑點的樣本數各為1 000張。各選取900張圖片作為訓練集樣本,100張作為測試集樣本。對于樣本訓練集和測試集,分別將它們制作成一個tfrecord格式文件。tfrecord格式文件是tensorflow框架中統一存儲的數據格式,訓練集和測試集的圖像都存在文件里面,并將圖像數據和其相應的類別編號相對應。
本文實驗的運行環境為64位Win10系統,計算機內存為32 GB,處理器為Intel(R)Core(TM)i7-7800。使用深度學習框架中的tensorflow架構構建網絡程序,其作為機器學習和深度神經網絡的主流框架之一,具有靈活性,適用于本文的卷積神經網絡算法。根據處理器和顯卡的版本,選用cuda 10.0和cudn 7作為tensorflow gpu 1.14支持,GPU版本的tensorflow在設備上的運行速度遠快于CPU版本。采用Pycharm的集成開發環境,通過第3方函數庫安裝程序anaconda 3作為開發環境配置工具。程序語言選用Python 3.6進行編寫。
卷積神經網絡應用于缺陷檢測時,需要根據實際情況對一些參數進行選擇測試。在注塑件表面缺陷識別基礎網絡模型訓練中,模型結構已經確定,因此需要對學習率、訓練批次大小、迭代次數以及優化器進行設定。這些參數對網絡的訓練效果產生重要影響,根據訓練集樣本及網絡結構的特點,設置學習率為0.000 1,訓練批次為16,迭代次數為1 000,選用Adam函數作為誤差梯度下降優化函數。
針對常見的經典卷積神經網絡模型,選取LeNet-5,AlexNet和VGGNet(16)與本文中注塑件表面缺陷識別基礎卷積神經網絡模型進行對比實驗。使用同一個數據集分別對4個網絡進行訓練,并對比檢測結果。根據實驗的特點,上述3個經典網絡模型需要作出適當的修改,因本文的實驗圖像主要有4種分類,所以網絡的分類部分應具備4種分類識別能力,全連接層處需要作出相應調整,分類器全部使用Softmax進行分類,分別對應黑點、凹坑、劃痕和無缺陷4類。為保證實驗的效果,AlexNet和VGGNet(16)選用與注塑件表面缺陷識別網絡模型相同尺寸的輸入圖像,圖像大小為224×224像素,將LeNet圖像輸入進行圖像大小變換,使其輸入圖像大小為32×32像素。選取各網絡的最優識別結果統計,測試集識別缺陷個數如表2所示。

表2 識別缺陷個數
實驗參數不變,在5次訓練后取總體準確率的平均值進行統計,對比結果如表3所示。
通過對比試驗可知,傳統算法對注塑件表面缺陷檢測均無法取得較好效果,特別是對于劃痕類缺陷,識別效果較差。主要原因在于劃痕缺陷較細,直接使用經典神經網絡模型參數無法有效提取缺陷特征。相比之下,本文提出的注塑件表面缺陷識別基礎網絡模型,在卷積核參數和網絡結構上進行了針對性構建。由表3中的數據可知,LeNet取得了48.75%的平均準確率,AlexNet取得了54.4%的平均準確率,VGGNet(16)取得了82.5%的平均準確率,均低于本文所提出的注塑件表面缺陷識別基礎網絡模型所取得的96.0%的平均準確率。針對注塑件表面缺陷的檢測識別,本文提出的網絡模型取得了較好的識別效果。

表3 不同分類算法結果對比
注塑件表面缺陷識別檢測目前主要依靠人工檢測,而人工檢測目前存在許多不足之處。機器視覺檢測技術可以克服人工檢測的不足,但傳統機器視覺檢測技術主要依靠特征工程和分類器模型結合的方法,對人工經驗要求高,且識別精度受人為特征選擇的影響。本文提出使用卷積神經網絡的方法實現注塑件表面缺陷圖像的識別檢測,通過對3種經典卷積神經網絡的結構進行分析,結合注塑件表面缺陷的特點,提出了注塑件表面缺陷識別網絡模型結構。然后,通過工業相機采集缺陷圖像,并對圖像進行了適當的增強處理。最后,通過數據集訓練網絡模型,統計在注塑件表面缺陷識別檢測中3種經典卷積神經網絡模型和本文提出的網絡模型的缺陷識別率,對比驗證了本文的網絡模型取得了更好的識別效果。