孫 寧, 徐桂安, 王冬梅, 陳 田
(上海電機(jī)學(xué)院機(jī)械學(xué)院,上海 201306)
在齒輪接觸疲勞實(shí)驗(yàn)中,需要定期檢查齒面點(diǎn)蝕狀況[1]。若利用傳統(tǒng)表面缺陷自動(dòng)檢測算法進(jìn)行識別[2],得到的金屬缺陷圖像噪聲大,缺陷的特點(diǎn)復(fù)雜多變。機(jī)器視覺是一種非接觸式的檢測方式,具有很多常規(guī)檢測工具難以企及的優(yōu)勢,比如代替人工在危險(xiǎn)的場合以及人眼不便識別的場合進(jìn)行作業(yè)。同時(shí),在工廠車間大規(guī)模重復(fù)性較高的生產(chǎn)活動(dòng)中使用機(jī)器視覺檢測,可以大大減少人力,提高生產(chǎn)效率。如今,機(jī)器視覺技術(shù)已應(yīng)用于千家萬戶,在生活中的應(yīng)用有人臉識別、無人駕駛、智能電器、交通攝像、二維碼識別等,在工業(yè)中的應(yīng)用有外形檢測、定位、測量等,涉及學(xué)科有計(jì)算機(jī)圖形學(xué)、人工智能、神經(jīng)網(wǎng)絡(luò)等等。在現(xiàn)有的文獻(xiàn)中,賈洪雷等[3]通過在玉米收獲機(jī)上安裝圖像采集設(shè)備,利用機(jī)器視覺技術(shù)提取玉米植株的數(shù)量。楊明等[4]利用機(jī)器視覺技術(shù)的圖像模糊化處理和二值化方法,對船舶焊縫缺陷進(jìn)行特征分割。刁智華等[5]利用相機(jī)標(biāo)定技術(shù)結(jié)合圖像處理技術(shù),實(shí)現(xiàn)了對玉米植株的精準(zhǔn)施藥,成功搭建了系統(tǒng),并在實(shí)際運(yùn)作中取得了顯著的效果。張新燕等[6]通過神經(jīng)網(wǎng)絡(luò)辨識了尾流激勵(lì)葉片的氣動(dòng)力。吳忍等[7]將傳統(tǒng)圖形處理與深度學(xué)習(xí)網(wǎng)絡(luò)相結(jié)合,驗(yàn)證了經(jīng)過處理后的數(shù)據(jù)集具有更高的識別精度。嚴(yán)道森等[8]利用直方圖均衡化增強(qiáng)注塑件缺陷特征,對比輸入3種經(jīng)典網(wǎng)絡(luò),提升了注塑件缺陷識別的準(zhǔn)確率。
本文基于上述研究案例,結(jié)合實(shí)際生產(chǎn)需求,將傳統(tǒng)圖像處理與卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks ,CNN)應(yīng)用于加工零件缺陷的檢測。通過工業(yè)相機(jī)采集圖片信息,利用圖像處理算法對圖像進(jìn)行灰度化處理,去除可能存在的噪音問題,并增強(qiáng)圖像特征,使計(jì)算機(jī)能更好地點(diǎn)蝕缺陷識別,最后將圖像輸入CNN 網(wǎng)絡(luò)中,判斷圖像是否存在缺陷。
輸入圖像的質(zhì)量直接決定了CNN 的處理效果,為了保證計(jì)算機(jī)能夠識別出有效的缺陷特征,應(yīng)對圖像進(jìn)行預(yù)處理?;趯?shí)際問題,對原始照片進(jìn)行灰度化、噪音去除以及特征增強(qiáng)處理。本文數(shù)據(jù)集分為點(diǎn)蝕、劃痕和黑斑3 類圖像,來源于Github 與東北大學(xué)的金屬缺陷開源數(shù)據(jù)集組合,分辨率為800×600。從圖像中隨機(jī)抽取訓(xùn)練集與測試集,利用預(yù)處理將圖像縮放至200×200。數(shù)據(jù)集樣本數(shù)據(jù)見表1,樣本實(shí)例見圖1。
表1 數(shù)據(jù)集樣本數(shù)據(jù)
工業(yè)相機(jī)得到的圖片為彩色圖片,一般顏色空間為紅綠藍(lán)三通道,在計(jì)算機(jī)中表現(xiàn)為3個(gè)三維數(shù)字矩陣,若直接輸入CNN 中進(jìn)行處理,會(huì)由于計(jì)算量大而導(dǎo)致耗時(shí)過長。因此,應(yīng)預(yù)先對圖像進(jìn)行灰度化處理,減少圖像的矩陣維數(shù),提升計(jì)算速度。圖像經(jīng)灰度化后顏色信息消失,但依然保留了圖像的梯度信息,通過邊緣檢測算法可識別出圖像中的梯度信息。
圖像灰度化方法有分量法、平均值法、加權(quán)平均法和最大值法。由于肉眼對紅綠藍(lán)3 種顏色敏感度不同,對綠色最敏感,對藍(lán)色最不敏感。本文采用加權(quán)平均法作為圖像灰度處理方法,紅綠藍(lán)3種顏色分配的權(quán)重分別為0.299、0.578、0.114,得出最終灰度圖像的灰度值為
式中:x、y分別為對應(yīng)顏色矩陣的像素坐標(biāo);R(x,y)、G(x,y)、B(x,y)為該像素坐標(biāo)下的紅、綠、藍(lán)度值。
圖像在采集過程中會(huì)不可避免地遇到噪聲問題[9-10],且多數(shù)金屬表面帶有自身紋理特征。這兩個(gè)問題會(huì)對點(diǎn)蝕之類的斑點(diǎn)形缺陷的識別造成極大干擾,因此,數(shù)據(jù)集在輸入CNN 前應(yīng)進(jìn)行降噪處理。降噪濾波器大致分為空域?yàn)V波器和頻域?yàn)V波器??沼?yàn)V波器是直接對圖像上的像素點(diǎn)進(jìn)行處理,空域?yàn)V波可細(xì)分為線性濾波和非線性濾波,在原圖像素點(diǎn)掩膜范圍內(nèi)進(jìn)行加權(quán)求和的稱為線性濾波;非線性濾波較為復(fù)雜,掩膜中的值如何運(yùn)算依算法不同而各不相同。目前比較常見的降噪處理方法有中值濾波、高斯濾波、均值濾波等。這些方法在許多實(shí)際應(yīng)用問題中表現(xiàn)優(yōu)異,但針對斑點(diǎn)形失效,容易過濾掉失效本身的特征信息。
基于以上考慮,本文采用哈爾小波降噪的方式處理圖像,其尺度函數(shù)為
需要的圖像特征往往處于低頻子帶,噪聲特征處于高頻子帶,故設(shè)定一個(gè)合適的閾值即可達(dá)到預(yù)期的圖像效果,而去除噪聲的設(shè)置類似于低通濾波。處理后的圖片與原圖對比保留了圖像中需要的信息特征,如圖2所示。
圖2 降噪預(yù)處理
本文采用高斯拉普拉斯(Laplacian of Gaussian,LoG)算子提取金屬表面的點(diǎn)蝕特征,LoG 是一種將高斯平滑和拉普拉斯算子結(jié)合使用的形態(tài)學(xué)處理方法。拉普拉斯算子就是一個(gè)二階導(dǎo)數(shù)算子,計(jì)算兩個(gè)方向上一階導(dǎo)數(shù)的內(nèi)積,本質(zhì)上屬于一種高通濾波,設(shè)x、y為平面上的笛卡爾坐標(biāo),二維的拉普拉斯算子可表示為
CNN[11-12]的結(jié)構(gòu)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不同,增加了卷積的概念。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)存在著嚴(yán)重的缺陷,輸入圖像像素點(diǎn)與全連接層中的單元數(shù)目很少,在不考慮偏置的情況下計(jì)算參數(shù)量十分巨大。而在CNN 網(wǎng)絡(luò)不同的圖像區(qū)域中,共用同一個(gè)卷積核,這種參數(shù)共享的方法減少了CNN 中的參數(shù)量,故能通過少量參數(shù)訓(xùn)練出效果更好的模型,還可有效地防止過擬合的出現(xiàn)。典型的CNN 中包含以下結(jié)構(gòu):輸入層、卷積層、池化層、全連接層。卷積層的輸入只是上一層的一小部分,其大小根據(jù)卷積核而定,一般情況下大小為3×3,過大會(huì)導(dǎo)致過擬合,過小則會(huì)導(dǎo)致特征提取不足。根據(jù)卷積核個(gè)數(shù)的不同,卷積過程會(huì)加深圖像的深度。設(shè)輸入數(shù)字矩陣的坐標(biāo)為(i,j),卷積核f坐標(biāo)為(m,n),維度為H×W,zli,j為卷積層輸出結(jié)果,即f中每一位置的值與x中對應(yīng)值相乘后再相加,卷積過程可表示為
池化層通常用于簡化神經(jīng)網(wǎng)絡(luò)計(jì)算規(guī)模,消除通過卷積提取到的非必要特征,池化操作不會(huì)影響數(shù)字矩陣的深度,但可大幅度減少最終全連接層的節(jié)點(diǎn)個(gè)數(shù),從而減少訓(xùn)練時(shí)間、提升速度。本文采用最大池化的池化方式,池化核大小為2×2,在相鄰的4個(gè)值中選出最大值,其公式為
全連接層在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中最為常見,經(jīng)上述多輪卷積與池化處理,全連接層將矩陣數(shù)據(jù)轉(zhuǎn)換為一維數(shù)據(jù),并為每一個(gè)神經(jīng)元添加偏差,通過單一或多個(gè)全連接層得出分類結(jié)果。
在實(shí)際應(yīng)用中,通過某些特殊的工業(yè)零件獲取大量的數(shù)據(jù)集是十分困難的,沒有巨量的數(shù)據(jù)集支持,實(shí)現(xiàn)一個(gè)高效的深度學(xué)習(xí)模型幾乎不可能。在這種背景下,使用少量的數(shù)據(jù)集需要學(xué)習(xí)盡可能多的特征,遷移學(xué)習(xí)[13-14]的思想提出就顯得尤為重要。
通過遷移學(xué)習(xí)將已在其他數(shù)據(jù)集中訓(xùn)練好的模型進(jìn)行重復(fù)利用,網(wǎng)絡(luò)中的權(quán)重與其他參數(shù)被大量的數(shù)據(jù)訓(xùn)練完畢,只需要對該模型進(jìn)行卷積層的抽取,與當(dāng)前任務(wù)設(shè)計(jì)的全連接層進(jìn)行組合,形成全新的網(wǎng)絡(luò)模型。經(jīng)該方法處理后,卷積層能對圖像特征進(jìn)行更精確的提取,結(jié)果優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)框架下進(jìn)行的分類與預(yù)測任務(wù)。
本文首先凍結(jié)已訓(xùn)練模型中的卷積層,然后用新設(shè)計(jì)出的全連接層代替舊的全連接層,組合為新網(wǎng)絡(luò)模型后,使用金屬表面缺陷數(shù)據(jù)集對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
本文基于VGG-19 和InceptionV3[15]兩種經(jīng)典網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí),VGG-19網(wǎng)絡(luò)證明了網(wǎng)絡(luò)深度的增加最終能夠影響網(wǎng)絡(luò)的效果,得名于模型中共有19 個(gè)隱藏層、16 個(gè)卷積層和3 個(gè)全連接層,模型結(jié)構(gòu)如圖3所示。
圖3 VGG-19 網(wǎng)絡(luò)結(jié)構(gòu)
InceptionV3 網(wǎng)絡(luò)則是在分類任務(wù)中常用的網(wǎng)絡(luò),具有兩個(gè)主要特點(diǎn),采用非對稱卷積的思想在減少了計(jì)算量的同時(shí),還能處理更多的缺陷特征。此外,使用降維并行結(jié)構(gòu),增加了網(wǎng)絡(luò)寬度,提升了網(wǎng)絡(luò)的精度,最終有效提升分類準(zhǔn)確率。
上述兩種網(wǎng)絡(luò)都已在ImageNet中的百萬級數(shù)據(jù)集進(jìn)行了足夠訓(xùn)練,適合作為遷移學(xué)習(xí)的基礎(chǔ),對網(wǎng)絡(luò)中的卷積池化層進(jìn)行保留,重新設(shè)計(jì)全連接層。新設(shè)計(jì)的全連接層模塊結(jié)構(gòu)如圖4所示。
圖4 改進(jìn)后的全連接模塊結(jié)構(gòu)
圖像的輸入在經(jīng)卷積池化部分處理后,會(huì)輸出一個(gè)向量,由于神經(jīng)網(wǎng)絡(luò)規(guī)模越大越容易遇到過擬合的情況,為了避免過擬合,經(jīng)網(wǎng)絡(luò)前端處理的數(shù)據(jù)會(huì)首先通過隨機(jī)失活層,失活率設(shè)定為0.5,然后通過全連接層1 將數(shù)據(jù)降維,再進(jìn)入非線性激活函數(shù)層,常用的有sigmoid、Tanh 和ReLU3種函數(shù)。本文采用ReLU 函數(shù),ReLU 函數(shù)的收斂速度較快,且梯度不會(huì)飽和,其表達(dá)式為
通過隨機(jī)失活層進(jìn)入全連接層2,數(shù)據(jù)維度不變,采用激活函數(shù)進(jìn)入最后一層全連接層,在該層會(huì)將維度降低至1×3。最終數(shù)據(jù)輸入至指數(shù)歸一化層內(nèi),計(jì)算每一類型的分類概率,即
式中:Zi為第i個(gè)節(jié)點(diǎn)的輸出值;C為分類數(shù),本文C值為3。
通過指數(shù)歸一化函數(shù)的處理,可將概率結(jié)果輸出為[0,1]以內(nèi)的數(shù)字,最終輸出分類結(jié)果。
用新設(shè)計(jì)出的全連接模塊與兩種網(wǎng)絡(luò)的前端模塊組合為全新的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)經(jīng)大量數(shù)據(jù)訓(xùn)練得到的權(quán)重參數(shù)遷移至新結(jié)構(gòu)中,再用缺陷數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果即為本實(shí)驗(yàn)中的理想模型,詳細(xì)流程如圖5所示。
圖5 數(shù)據(jù)集的識別全流程
考慮到硬件設(shè)備上的限制,以及增強(qiáng)實(shí)驗(yàn)效果,實(shí)驗(yàn)過程中每批次訓(xùn)練圖像設(shè)置為32,學(xué)習(xí)率為0.000 1。實(shí)驗(yàn)對比兩種網(wǎng)絡(luò)的遷移學(xué)習(xí)(VGG-19、InceptionV3)進(jìn)行數(shù)據(jù)可視化記錄,采用分類結(jié)果較好的網(wǎng)絡(luò)作為合適的網(wǎng)絡(luò)模型,數(shù)據(jù)集分類后對斑點(diǎn)形缺陷進(jìn)行LoG 檢測,得出最終結(jié)論。
本文的圖像數(shù)據(jù)集分為黑斑缺陷、劃痕缺陷與點(diǎn)蝕缺陷3類,采用程序?qū)?shù)據(jù)集分為訓(xùn)練集和測試集,成功對數(shù)據(jù)集進(jìn)行分類后,輸入遷移學(xué)習(xí)網(wǎng)絡(luò)模型中。經(jīng)20輪訓(xùn)練后,實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 兩種網(wǎng)絡(luò)的訓(xùn)練與測試準(zhǔn)確率
由圖6(a)可知,VGG-19 網(wǎng)絡(luò)需經(jīng)多輪訓(xùn)練,準(zhǔn)確率才能取得較為理想的結(jié)果,且起步準(zhǔn)確率較低;在圖6(b)中,InceptionV3網(wǎng)絡(luò)在迭代收斂過程中有著優(yōu)異的表現(xiàn),在初次訓(xùn)練時(shí)就取得了0.98 以上的準(zhǔn)確率,并且在接下來的訓(xùn)練中逐步收斂,最終達(dá)到0.998,測試集更是多次達(dá)到100%的準(zhǔn)確率,雖呈現(xiàn)一定波動(dòng),但總體范圍在0.03 之間。表明使用InceptionV3網(wǎng)絡(luò)處理該問題可以取得更為理想的效果。
分類后采用LoG識別斑點(diǎn)類表面缺陷,斑點(diǎn)缺陷識別如圖7所示。其中圈出的部分為斑點(diǎn)缺陷,可以看出該方法對點(diǎn)狀缺陷有著良好的辨別能力。
圖7 斑點(diǎn)缺陷識別
根據(jù)實(shí)驗(yàn)結(jié)果,將基于遷移學(xué)習(xí)的InceptionV3網(wǎng)絡(luò)與LoG斑點(diǎn)檢測配合使用,可以有效地提升對點(diǎn)狀缺陷的辨別率。
目前金屬加工過程中,對表面缺陷的檢測大多為人工檢測,本文對圖像進(jìn)行降噪預(yù)處理,并結(jié)合機(jī)器視覺與斑點(diǎn)檢測方法,具有魯棒性強(qiáng)且效率高的優(yōu)點(diǎn)。經(jīng)實(shí)際驗(yàn)證,辨識準(zhǔn)確率也較為精準(zhǔn)。優(yōu)選出的網(wǎng)絡(luò)配合設(shè)計(jì)的全連接層進(jìn)行遷移學(xué)習(xí),能優(yōu)化目標(biāo)檢測任務(wù)效率,節(jié)約了時(shí)間成本。在今后的研究過程中,應(yīng)進(jìn)一步增加數(shù)據(jù)集樣本的數(shù)量與種類,以提高模型在各種環(huán)境、材料上的泛化應(yīng)用能力,以期在工業(yè)金屬缺陷智能檢測上得到廣泛應(yīng)用。