嚴道森,孫 淵
(上海電機學院機械學院,上海201306)
隨著現(xiàn)代工業(yè)的快速發(fā)展,以注塑成型為基礎(chǔ)的塑料注塑件應用越來越廣泛,外觀質(zhì)量是影響注塑件品質(zhì)的一個關(guān)鍵因素[1]。因此,對注塑件表面質(zhì)量進行直觀檢測是檢測注塑件質(zhì)量的一個重要環(huán)節(jié)。人工目視檢測仍然是注塑件生產(chǎn)企業(yè)主要采用的檢測方法,容易受到人為主觀因素的限制,檢測的準確率難以保證[2]。同時,工人的視覺疲勞和精神疲勞使得檢測的效率難以持續(xù),長期在充滿刺鼻化工塑料氣味的環(huán)境工作,也會對工人身體健康產(chǎn)生一定影響。
基于上述問題,機器視覺檢測技術(shù)可以很好地克服檢測任務中人工檢測的不足。傳統(tǒng)的機器視覺檢測技術(shù)是人工選取特征作為機器學習的參數(shù),通過特征分類算法實現(xiàn)圖像的識別分類,這對人工經(jīng)驗要求極高,也難以推廣發(fā)展。傳統(tǒng)機器視覺檢測方法的不足之處在于無法自動提取圖像分類特征,但卷積神經(jīng)網(wǎng)絡算法可以很好地實現(xiàn)這些要求。卷積神經(jīng)網(wǎng)絡主要特點是利用卷積操作,逐層提取特征,通過權(quán)值變化使得網(wǎng)絡可以擬合目標分類函數(shù)[3-5]。將卷積神經(jīng)網(wǎng)絡算法應用于注塑件表面缺陷圖像的識別當中,一方面可實現(xiàn)注塑件的表面缺陷視覺檢測識別,另一方面也能克服傳統(tǒng)特征工程算法的局限性等問題。
在國內(nèi)外,卷積神經(jīng)網(wǎng)絡應用于表面缺陷檢測的案例也有很多。Lecun等[6]設計的LeNet-5網(wǎng)絡結(jié)構(gòu),成功實現(xiàn)手寫數(shù)字的識別。隨著人工智能研究的進一步興起,Krizhevsky等[7]提出了更深層次的AlexNet網(wǎng)絡結(jié)構(gòu)模型,且在國際大賽上取得較好效果。隨著計算機硬件的不斷發(fā)展,以VGGNet[8]等網(wǎng)絡結(jié)構(gòu)為代表的深層次、大規(guī)模的卷積神經(jīng)網(wǎng)絡也不斷出現(xiàn),為卷積神經(jīng)網(wǎng)絡在視覺檢測領(lǐng)域的應用提供更多助力。Weimer等[9]通過深度卷積神經(jīng)網(wǎng)絡替代傳統(tǒng)工業(yè)視覺檢測方法,克服了傳統(tǒng)方法高度依賴人工經(jīng)驗選取缺陷特征的不足,并驗證了卷積神經(jīng)網(wǎng)絡的方法取得了更好的效果。Celik等[10]通過神經(jīng)網(wǎng)絡對織物缺陷進行檢測分類,取得了較高的檢測準確率和分類準確率。在國內(nèi)也有許多相關(guān)研究成果。莊新卿等[11]將卷積神經(jīng)網(wǎng)絡算法與輪廓提取算法結(jié)合,用于鋼鐵表面缺陷檢測,實驗取得了較為理想的準確率;王憲保等[12]研究了神經(jīng)網(wǎng)絡在太陽能板缺陷檢測中的應用;顏偉鑫[13]以鑄造件缺陷檢測為研究任務,提出將快速區(qū)域卷積神經(jīng)網(wǎng)絡和一種新的錨框設定方案相結(jié)合的方法,極大提升了缺陷的檢測率;陳雋文[14]以高鐵觸網(wǎng)中的緊固件為檢測對象,提出由3個階段組成的網(wǎng)絡模型,通過實驗結(jié)果驗證了算法的可行性;劉孟軻等[15]針對軌道缺陷檢測的研究提出了一種卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),實驗證明了該網(wǎng)絡結(jié)構(gòu)在軌道表面缺陷識別中有較高的識別率。
目前,國內(nèi)外機器視覺檢測方面的研究較多,但應用于注塑件表面缺陷檢測的研究不多?;谏鲜霰姸嘞嚓P(guān)文獻的研究案例,以及來自生產(chǎn)中的實際需求,將卷積神經(jīng)網(wǎng)絡算法應用于注塑件表面缺陷檢測,具有較強的實際應用意義。
卷積神經(jīng)網(wǎng)絡內(nèi)部有著大量的參數(shù),在網(wǎng)絡訓練時,正是由于這些參數(shù)的存在,使得卷積神經(jīng)網(wǎng)絡有強大的擬合能力。
(1)卷積層。卷積層是卷積神經(jīng)網(wǎng)絡的主要特征,卷積層主要是進行卷積操作,卷積核進行卷積是卷積層的具體方法。在圖像處理的過程中,卷積核與輸入圖像的像素進行卷積操作,輸出結(jié)果,形成新的特征圖。
卷積過程的計算如下:
(2)池化層。一般在卷積層提取到特征數(shù)據(jù)后,需要對其進行降采樣操作,保留主要特征信息,減少網(wǎng)絡運行中的數(shù)據(jù)量,同時也增加了網(wǎng)絡的泛化能力,減少了過擬合問題的發(fā)生。池化操作主要分為平均池化和最大池化,平均池化和最大池化分別是指在池化視場內(nèi)取平均值和最大值。
(3)全連接層。作為神經(jīng)網(wǎng)絡中的常規(guī)層,全連接層連接其先前層中的所有神經(jīng)元。該層的主要功能是創(chuàng)建點積,并在每個神經(jīng)元的輸入中添加偏差。網(wǎng)絡中,最后一個池化層之后全連接層將多維特征映射轉(zhuǎn)換為一維特征向量,用于進一步的特征表示。
(4)輸出層。輸出層主要是根據(jù)全連接層整合后的特征信息,利用分類器對輸入數(shù)據(jù)進行分類預測,輸出預測分類結(jié)果。
(1)LeNet神經(jīng)網(wǎng)絡模型于1998年由Lecun等[6]提出,該網(wǎng)絡規(guī)模很小,但其結(jié)構(gòu)完整,是一個典型的基礎(chǔ)卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)。后續(xù)的許多經(jīng)典網(wǎng)絡的出現(xiàn)都參考了該網(wǎng)絡的特性。
在網(wǎng)絡的輸入層,圖像大小為32×32,之后是第1個卷積層,擁有6個卷積核,卷積核尺寸大小為5×5,經(jīng)過卷積運算后,輸出6通道的特征圖,大小為28×28。下一層為池化層,包含了6個特征圖,移動步長為2,經(jīng)過采樣運算后每個特征圖的大小縮減為14×14。再往后,同樣是一個卷積層加池化層的組合結(jié)構(gòu),特征圖的數(shù)量逐漸增多,尺寸則變小。接著連接兩個全連接層,將上層的結(jié)果進行匯總,并輸入Softmax回歸層進行分類任務。
(2)AlexNet神經(jīng)網(wǎng)絡模型是在LeNet神經(jīng)網(wǎng)絡模型之后提出的,AlexNet的網(wǎng)絡結(jié)構(gòu)依靠5個卷積層提取主要特征。前2層卷積核較大,特征提取能力較強,在第1~3層設有3個池化層,后面由3個全連接層和1個分類器組成完整的網(wǎng)絡結(jié)構(gòu)。
某種程度上,AlexNet為后續(xù)許多網(wǎng)絡提供參考。AlexNet雖然相比LeNet有了更強的能力,但在處理注塑件表面缺陷識別問題時,也存在一些不足。其前兩層卷積核大小分別為11×11和5×5,偏大的卷積核容易造成卷積核在提取圖像特征時能力不足的問題,效果可能會受到影響。
(3)VGGNet神經(jīng)網(wǎng)絡模型比AlexNet神經(jīng)網(wǎng)絡模型層次更深,有多個不同的版本,采用了5個卷積結(jié)構(gòu),但每個卷積層內(nèi)設有多個卷積核。通過小卷積核的組合達到大卷積核的檢測效果,且不丟失細節(jié)特征。
以VGG-16為例,與AlexNet相比,VGGNet普遍采用了小卷積核和保持輸入大小等技巧,目的是在提高網(wǎng)絡深度的同時,確保各層輸入大小隨著深度增加而不會急劇減小。VGGNet所有卷積核的大小均為3×3,最大池化層大小為2×2,使用2個3×3卷積核替代5×5的卷積核。相似的,3個3×3的卷積層串聯(lián)則相當于1個7×7的卷積層。在處理注塑件表面缺陷識別問題時,雖然其卷積核提取能力足夠,但網(wǎng)絡結(jié)構(gòu)仍過于復雜。
卷積神經(jīng)網(wǎng)絡適用于圖像識別處理,主要是依靠多層卷積層不斷提取圖像的特征參數(shù)圖。由于本文所涉及的注塑件缺陷圖像的缺陷較小,圖像復雜度也相對較低。因此,綜合考慮注塑件表面缺陷檢測的特性,選定低層的卷積層作為注塑件表面缺陷識別網(wǎng)絡算法。
對于上一章所介紹的3個經(jīng)典卷積神經(jīng)網(wǎng)絡模型進行分析可知:①相對于后續(xù)的一些模型,LeNet-5規(guī)模很小,但網(wǎng)絡結(jié)構(gòu)完整,是較早成功應用于手寫數(shù)字圖像識別的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)。本文的檢測目標是注塑件的表面缺陷檢測,缺陷特征多變且細小,LeNet-5網(wǎng)絡層數(shù)過少,難以實現(xiàn)注塑件表面缺陷的檢測。②AlexNet網(wǎng)絡結(jié)構(gòu)龐大,網(wǎng)絡層數(shù)相對較深。但其卷積層中前兩層的卷積核較大,不利于提取注塑件表面缺陷中的細節(jié)特征,并不適合注塑件表面缺陷檢測。③VGG網(wǎng)絡可以看作是AlexNet的加深版,優(yōu)化了卷積核的結(jié)構(gòu),但其網(wǎng)絡結(jié)構(gòu)仍然較為復雜,難以直接應用于注塑件的表面缺陷檢測。
針對上述常見經(jīng)典卷積神經(jīng)網(wǎng)絡在注塑件表面缺陷檢測中存在的不足之處,提出了一種注塑件表面缺陷識別基礎(chǔ)卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)模型。該模型選取了AlexNet與VGGNet各自的優(yōu)勢,主要設置了5個卷積層,對應5個池化層,在卷積部分的末端,有3層全連接層。根據(jù)輸出的特征數(shù)據(jù),由Softmax層做出分類預測。注塑件表面缺陷識別基礎(chǔ)網(wǎng)絡模型結(jié)構(gòu)如表1所示,其網(wǎng)絡模型結(jié)構(gòu)示意圖如圖1所示。
由表1和圖1可知,輸入層為224×224×1的單通道圖像,對卷積核大小進行統(tǒng)一,均為3×3,較小的卷積核更有利于提取細小的缺陷特征。第1層卷積中設定有32個卷積核,數(shù)據(jù)輸入后,卷積輸出32通道的特征圖,大小為224×224;第1層卷積后,由于數(shù)據(jù)量過大,需要池化層對其進行降采樣,池化層大小為2×2,特征圖的大小減小一半;經(jīng)過降采樣的特征圖進入第2層卷積層,有64個卷積核,對由前一層輸入的特征圖卷積,得到64通道的特征圖,再經(jīng)第2層池化層進行降采樣;特征圖數(shù)據(jù)再進入第3層卷積層,卷積核數(shù)為128,輸出的特征圖通道數(shù)為128;第4層和第5層特征通道數(shù)均為256,因此,卷積部分最終輸出為256通道的特征圖。
表1 注塑件表面缺陷識別基礎(chǔ)網(wǎng)絡模型結(jié)構(gòu)
圖1 注塑件表面缺陷識別基礎(chǔ)網(wǎng)絡模型結(jié)構(gòu)示意圖
在注塑件表面缺陷圖像檢測的任務中,首先要獲取高質(zhì)量的注塑件表面缺陷圖像,檢測目標主要為中小型的注塑件。因此,需要結(jié)合檢測目標的特點,搭建一套用于獲取注塑件圖像的圖像采集設備。本文選用海康威視MV-CA030-11GM型號的工業(yè)相機用于采集樣本圖像集,保證圖像的清晰度。缺陷圖像如圖2所示。
圖2 缺陷圖像
樣本圖像的清晰度會對卷積神經(jīng)網(wǎng)絡的識別能力產(chǎn)生一定的影響,越清晰的圖像越有利于提升識別的準確率。因此,在計算機進行機器視覺學習之前,會對圖像進行預處理,強化缺陷圖像的一些特征,便于識別。常見的圖像增強的方法有對比度拉伸變換、圖像銳化、平滑等。本文的檢測對象是注塑件,根據(jù)注塑件缺陷圖像的特征,采用直方圖均衡化的方法對圖像進行增強處理。
灰度直方圖通過統(tǒng)計圖像的灰度值來描述圖像的特征。對于一張數(shù)字圖像,統(tǒng)計所有像素的灰度值出現(xiàn)的次數(shù),直觀展示了灰度圖像的紋理分布特性。原始圖像灰度直方圖如圖3所示。
圖3 原始圖像灰度直方圖
由圖3可知,圖像灰度值較集中,缺陷的特征難以顯現(xiàn)出來。以均衡化灰度直方圖的方法對圖像的特征信息進行增強,像素數(shù)量集中的灰度級適當擴寬,使缺陷圖像更清晰。令M(i,j)為原始圖像像素,G(i,j)為增強后的圖像像素,其中i=1,2,…,m;j=1,2,…,n。具體的直方圖均衡化方法如下:
(1)根據(jù)原始圖像[M(i,j)]m×n的灰度級,求解原始圖像的灰度直方圖,灰度級統(tǒng)計由向量N(k,l)表示。
(2)求解原始圖像灰度分布概率為
式中:NM=n×m為像素總個數(shù);N(k)為灰度級k對應的像素總個數(shù)。
(3)通過原始圖像的分布概率來求解圖像灰度級的累計分布概率為
式中:S(0)=PM(0)。
(4)計算灰度值之間的映射關(guān)系,即原始圖像灰度級k對應的均衡化后的灰度級為
求解直方圖均衡化后的圖像像素值為
最后獲得均衡化后的圖像。
直方圖均衡化變換后,注塑件表面缺陷圖像中的缺陷特征得到顯著的增強,如圖4所示。
圖4 直方圖均衡化
選取4 000幅注塑件圖片作為樣本數(shù)據(jù)庫,其中無缺陷、劃痕、凹坑和黑點的樣本數(shù)各為1 000張。各選取900張圖片作為訓練集樣本,100張作為測試集樣本。對于樣本訓練集和測試集,分別將它們制作成一個tfrecord格式文件。tfrecord格式文件是tensorflow框架中統(tǒng)一存儲的數(shù)據(jù)格式,訓練集和測試集的圖像都存在文件里面,并將圖像數(shù)據(jù)和其相應的類別編號相對應。
本文實驗的運行環(huán)境為64位Win10系統(tǒng),計算機內(nèi)存為32 GB,處理器為Intel(R)Core(TM)i7-7800。使用深度學習框架中的tensorflow架構(gòu)構(gòu)建網(wǎng)絡程序,其作為機器學習和深度神經(jīng)網(wǎng)絡的主流框架之一,具有靈活性,適用于本文的卷積神經(jīng)網(wǎng)絡算法。根據(jù)處理器和顯卡的版本,選用cuda 10.0和cudn 7作為tensorflow gpu 1.14支持,GPU版本的tensorflow在設備上的運行速度遠快于CPU版本。采用Pycharm的集成開發(fā)環(huán)境,通過第3方函數(shù)庫安裝程序anaconda 3作為開發(fā)環(huán)境配置工具。程序語言選用Python 3.6進行編寫。
卷積神經(jīng)網(wǎng)絡應用于缺陷檢測時,需要根據(jù)實際情況對一些參數(shù)進行選擇測試。在注塑件表面缺陷識別基礎(chǔ)網(wǎng)絡模型訓練中,模型結(jié)構(gòu)已經(jīng)確定,因此需要對學習率、訓練批次大小、迭代次數(shù)以及優(yōu)化器進行設定。這些參數(shù)對網(wǎng)絡的訓練效果產(chǎn)生重要影響,根據(jù)訓練集樣本及網(wǎng)絡結(jié)構(gòu)的特點,設置學習率為0.000 1,訓練批次為16,迭代次數(shù)為1 000,選用Adam函數(shù)作為誤差梯度下降優(yōu)化函數(shù)。
針對常見的經(jīng)典卷積神經(jīng)網(wǎng)絡模型,選取LeNet-5,AlexNet和VGGNet(16)與本文中注塑件表面缺陷識別基礎(chǔ)卷積神經(jīng)網(wǎng)絡模型進行對比實驗。使用同一個數(shù)據(jù)集分別對4個網(wǎng)絡進行訓練,并對比檢測結(jié)果。根據(jù)實驗的特點,上述3個經(jīng)典網(wǎng)絡模型需要作出適當?shù)男薷?,因本文的實驗圖像主要有4種分類,所以網(wǎng)絡的分類部分應具備4種分類識別能力,全連接層處需要作出相應調(diào)整,分類器全部使用Softmax進行分類,分別對應黑點、凹坑、劃痕和無缺陷4類。為保證實驗的效果,AlexNet和VGGNet(16)選用與注塑件表面缺陷識別網(wǎng)絡模型相同尺寸的輸入圖像,圖像大小為224×224像素,將LeNet圖像輸入進行圖像大小變換,使其輸入圖像大小為32×32像素。選取各網(wǎng)絡的最優(yōu)識別結(jié)果統(tǒng)計,測試集識別缺陷個數(shù)如表2所示。
表2 識別缺陷個數(shù)
實驗參數(shù)不變,在5次訓練后取總體準確率的平均值進行統(tǒng)計,對比結(jié)果如表3所示。
通過對比試驗可知,傳統(tǒng)算法對注塑件表面缺陷檢測均無法取得較好效果,特別是對于劃痕類缺陷,識別效果較差。主要原因在于劃痕缺陷較細,直接使用經(jīng)典神經(jīng)網(wǎng)絡模型參數(shù)無法有效提取缺陷特征。相比之下,本文提出的注塑件表面缺陷識別基礎(chǔ)網(wǎng)絡模型,在卷積核參數(shù)和網(wǎng)絡結(jié)構(gòu)上進行了針對性構(gòu)建。由表3中的數(shù)據(jù)可知,LeNet取得了48.75%的平均準確率,AlexNet取得了54.4%的平均準確率,VGGNet(16)取得了82.5%的平均準確率,均低于本文所提出的注塑件表面缺陷識別基礎(chǔ)網(wǎng)絡模型所取得的96.0%的平均準確率。針對注塑件表面缺陷的檢測識別,本文提出的網(wǎng)絡模型取得了較好的識別效果。
表3 不同分類算法結(jié)果對比
注塑件表面缺陷識別檢測目前主要依靠人工檢測,而人工檢測目前存在許多不足之處。機器視覺檢測技術(shù)可以克服人工檢測的不足,但傳統(tǒng)機器視覺檢測技術(shù)主要依靠特征工程和分類器模型結(jié)合的方法,對人工經(jīng)驗要求高,且識別精度受人為特征選擇的影響。本文提出使用卷積神經(jīng)網(wǎng)絡的方法實現(xiàn)注塑件表面缺陷圖像的識別檢測,通過對3種經(jīng)典卷積神經(jīng)網(wǎng)絡的結(jié)構(gòu)進行分析,結(jié)合注塑件表面缺陷的特點,提出了注塑件表面缺陷識別網(wǎng)絡模型結(jié)構(gòu)。然后,通過工業(yè)相機采集缺陷圖像,并對圖像進行了適當?shù)脑鰪娞幚?。最后,通過數(shù)據(jù)集訓練網(wǎng)絡模型,統(tǒng)計在注塑件表面缺陷識別檢測中3種經(jīng)典卷積神經(jīng)網(wǎng)絡模型和本文提出的網(wǎng)絡模型的缺陷識別率,對比驗證了本文的網(wǎng)絡模型取得了更好的識別效果。