陶 沙 司 偉 王 奎
(1.銅陵學院,安徽 銅陵 240061;2.中國聯合網絡通信有限公司,北京 100032)
隨著我國工業的發展,尤其是納米和集成技術的不斷進步,對其檢測的精度和速度要求越來越高,受到人主觀性影響,檢測結果往往存在一定偏差,傳統的利用顯微鏡測量顯然已經達不到要求。隨著計算機的發展,利用計算機視覺去測量微小零件可以獲得較高的精確度,但是這種方法有一定的局限性,是由于缺陷特征的選取需要人為的進行,必然會造成測試的準確率有所偏差,卷積網絡的誕生解決了測量精度低的問題,為零件檢測提供了新的方法。
卷積神經網絡是深度學習[1-2]的一種,最近發展比較迅速并廣泛應用于各個行業當中。20世紀60年代,Hubel和Wiesel在研究貓腦皮層中用于局部敏感和方向選擇的神經元時發現其獨特的網絡結構可以有效地降低反饋神經網絡的復雜性,繼而提出了卷積神經網絡(Convolutional Neural Networks-簡 稱CNN),卷積神經網絡相對別的神經網絡有自己的優勢,尤其在圖像分類上,檢測的準確率相對較高。比如在ILSVRC2012比賽事中,Alex Krizhevsky等提出的Alex Net就是以卷積神經網絡作為模型對任務進行分類,準確率比第二名高10%,隨后又提出VGGNet-Goog Le Net等新的網絡結構,進一步提高了準確率。
針對以上問題,本文提出了一種基于遺傳算法(GA)優化的卷積神經網絡混合模型 (GA-CNN)算法。遺傳卷積神經網絡的高精度零件缺陷分類結構如圖1所示,利用CCD視覺采集圖像并對圖像進行預處理以及樣本標注,對采集到的表面缺陷數據通過遺傳卷積算法簡稱(GA-CNN)進行試驗性訓練,其中預處理是利用局部區域假設的亞像素邊緣算法去提高采集零件圖像邊緣的清晰度。樣本標注針對零件的劃痕、殘缺、端口進行分類,對處理后的零件進行標記以便于遺傳卷積神經網絡的缺陷分類。遺傳算法解決了訓練容易陷入局部最小值、收斂速度慢等問題。基于遺傳卷積神經網絡明顯提高了測量精度,解決了單一的網絡模型預測精度不高的缺點。

圖1 零件缺陷分類系統框圖
本研究采用的是局部區域假設檢測算法對采集的數據進行預處理,這種處理數據得到的圖像精度高,有利于神經網絡對零件缺陷的分類。
如圖2所示,圖像采集是利用CCD相機視覺抓取技術抓拍待測工件,由于相機的亮度有限以及捕獲圖像不夠完整,所以圖像要進行預處理,相機是采集圖像的重要設備,選擇合適的相機可以在一定程度上提升采集到圖像的質量。采集的相機參數如表1所示。

表1 相機參數

圖2 測試環境
在本文中檢測的零件邊緣清晰度對于后面GACNN算法缺陷分類是很重要,需要進行邊緣檢測[3-4],主要原理如下:圖像的邊緣形狀可以由近似曲線表示,近似曲線可以用方向,曲率,距離等參數表示。假設曲線邊緣y=a+bx+cx2由來表示,以3×5的區域進行研究,如圖3所示,L,M,R分別表示直線下方每列面積,計算公式如式1,2,3所示:

圖3 曲線邊緣3×5的區域圖

SL,SM,SR表達式與直線相同,從而可以得出系數a,b,c的表達式,如式4,5,6所示。


由上述3個公式得到的三個特征參數,可以算出邊緣曲率表達式為:
圖像邊緣檢測作為圖像處理中最基本的操作,但卻具有十分關鍵的作用,邊緣能顯示圖像的大致輪廓,具有很多有用信息,后續的圖像特征提取,識別定位,測量擬合都是基于圖像邊緣進行,因此準確的提取圖像的邊緣在零件檢測中至關重要。圖像中灰度值變化較大的邊界即為圖像的邊緣。
本文采用遺傳算法(GA)優化后CNN算法模型,卷積神經網絡提取數據的空間特征,網絡的權重系數和偏置值由GA更新計算,替換了傳統的梯度下降法的訓練方法,使得整個訓練學習的過程得到了優化,可以有效提升該系統對于圖像識別的效率,從而減少圖像識別誤差,下面介紹卷積神經網絡和遺傳算法。
卷積神經網絡[5-8](CNN)是一種前饋網絡,該網絡模型通過采用梯度下降法最小化損失函數對網絡中的權重參數逐層反向調節,通過頻繁的迭代訓練提高網絡的精度,網絡結構主要分為輸入層,隱含層和輸出層。其中隱含層包括卷積層(C)、下采樣層(S)和全連接層,如圖4所示,輸入層用來提取特征,可以處理多維數據。卷積層對輸入數據進行特征提取,其內部包含多個卷積核構,卷積層參數包括卷積核大小、步長和填充,三者共同決定了卷積層輸出特征圖的尺寸。下采樣層是對特征選擇和信息過濾,全連接層主要作用就是對網絡進行分類,輸出層直接輸出每個像素的分類結果。

圖4 卷積神經網絡
遺傳算法[9]具體是針對卷積神經網絡的卷積層和全連接層的初始權重,由遺傳算法生成多組權重,經過選擇、交叉和變異操作得到的最優權重,用這些權重作為初始權重,其效果要優于最陡下降算法隨機選擇的初始權重。同時,由遺傳算法生成的多組權重可以構建多個卷積神經網尺絡分類器,將這些分類器聯合在一起進行分類,可以進一步降低分類錯誤率。
如圖5所示對于初始化群中適應度計算,進行選擇、交叉和變異。假設神經網絡卷積層數為k,第i個卷積層掩膜數量為2i-1,那么總的掩膜數量為,卷積層總的權重數量為生成的GA算法染色體位數如式11所示,

圖5 遺傳算法流程圖

GA算法位數的前位用于編碼卷積掩膜,位用于初始化全連接層,遺傳算法與卷積神經網絡的混合方式,根據上述原理計算染色體編碼以及染色體的適應度值。
實驗對本文提出的GA-CNN算法模型進行測試,同時與未優化的CNN神經網絡模型的預測結果進行比較。本文主要對零件的劃痕、殘缺、斷口和無缺陷四種情況進行分類,分類之前要對缺陷進行標記,標記包括缺席的名稱、尺寸和位置坐標,主要用于神經網絡進行檢測學習。選用Caffe[10]作為實驗用深度學習架構去實現卷積神經網絡。通過前面的理論學習,把卷積神經網絡結構分為卷積層5個,3×3卷積核;下采樣層4個,2×2大池化;全連接層2個,共11層網絡。對500個零件圖像進行按照訓練、驗證、測試集的占比大致60∶20∶20的比例進行劃分,分別利用卷積神經網絡和遺傳卷積神經網絡進行缺陷分類,兩種網絡訓練準確率如圖6所示。

圖6 缺陷分類網絡準確率
單一卷積神經網絡和遺傳神經網絡在測試集上缺陷的分類準確率如表2,3所示。

表2 單一卷積神經網絡網絡測試分類準確率

表3 遺傳神經網絡網絡測試分類準確率
通過上述實驗可以說明,遺傳神經網絡模型比單一神經網絡模型要比測試的分類準確率要高。
本文利用利用基于局部區域假設檢測算法獲取圖像,獲取的圖像進行卷積算法進行分類,在此基礎上加入混合型遺傳算法,用改進后的算法對工件的區域進行測量,通過數據處理和算法模型實驗分析表明:利用基于局部區域假設檢測算法,提高了圖形獲取的精度,誤差小,遺傳卷積神經網絡模型,改進了傳統梯度下降法的訓練缺點,比未經優化的單一神經網絡算法模型表現出更高的預測精度。綜合上面所述,遺傳卷積神經網絡在現代制造業零件檢測中具有一定的應用價值。