何仁杰,郭秀娟
吉林建筑大學(xué) 電氣與計(jì)算機(jī)學(xué)院,長(zhǎng)春 130118
由于工業(yè)化的發(fā)展,各種類的噴漆產(chǎn)品層出不窮,給人類社會(huì)添加了更為豐富的物質(zhì)材料,極大地提升了人們的生活質(zhì)量.噴漆產(chǎn)品的應(yīng)用非常廣泛,例如:汽車、航天飛機(jī)、軍事裝備、醫(yī)療器件等等.傳統(tǒng)工業(yè)中為了保證產(chǎn)品的質(zhì)量,需要依賴各種高精度的設(shè)備、對(duì)環(huán)境要求十分高的噴漆房和一整套的相關(guān)技術(shù).然而在判別工業(yè)產(chǎn)品的優(yōu)劣方面,大多數(shù)卻依靠人工檢測(cè),這就在一定程度上影響了產(chǎn)品的絕對(duì)合格率.
世界經(jīng)濟(jì)的飛速發(fā)展,離不開堅(jiān)實(shí)的科學(xué)技術(shù)支持.5G時(shí)代的來(lái)臨,人工智能必將成為科學(xué)技術(shù)發(fā)展的領(lǐng)頭羊,而卷積神經(jīng)網(wǎng)絡(luò)在人工智能領(lǐng)域也必將舉足輕重.從20世紀(jì)初,由LeCun等人主導(dǎo)設(shè)計(jì)的LeNet神經(jīng)網(wǎng)絡(luò)[1](現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)的雛形)到現(xiàn)如今各種卷積模型的誕生.如:AlexNet,VGGNet,R-CNN等一系列衍生網(wǎng)絡(luò)模型,彰顯了卷積神經(jīng)網(wǎng)絡(luò)不可阻擋的發(fā)展趨勢(shì).神經(jīng)網(wǎng)絡(luò)在誕生之初就在圖片分析處理的應(yīng)用上,展現(xiàn)出不俗的能力.卷積神經(jīng)網(wǎng)絡(luò)的誕生,更是對(duì)這一能力極大的加強(qiáng).但是卷積神經(jīng)網(wǎng)絡(luò)在工廠噴漆產(chǎn)品的應(yīng)用上,還處于匱乏階段.
本文提出利用簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,簡(jiǎn)稱:CNN)[2].對(duì)噴漆產(chǎn)品進(jìn)行優(yōu)劣分類,在大幅度提高判斷精確度的同時(shí),也極大地降低了生產(chǎn)成本.
卷積神經(jīng)網(wǎng)絡(luò)(Convolution neural network,英文縮為CNN)是一種前饋神經(jīng)網(wǎng)絡(luò)或特殊的多層感知器[3].標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)路一般是由輸入層(Inputlayer)、交替的卷積層(Convolution layer)和池化層(Pooling layer)、全連接層(Softmax layer)構(gòu)成.卷積神經(jīng)網(wǎng)絡(luò)作為計(jì)算機(jī)視覺(jué)領(lǐng)域最成功的一種深度學(xué)習(xí)模型,在圖片處理上表現(xiàn)得尤為出色,圖1是一個(gè)標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)模型.
圖1 卷積神經(jīng)網(wǎng)絡(luò)模型Fig.1 Convolution neural network model
模型中交替的卷積層(Convolution layer)和池化層(Pooling layer)被稱為隱藏層,是整個(gè)CNN的核心.各種重要的卷積計(jì)算以及各種算法就是在這些隱藏層中實(shí)現(xiàn)的.隱藏層中各層的卷積核權(quán)重與偏置是根據(jù)多次實(shí)驗(yàn)預(yù)測(cè)和梯度算法最后驗(yàn)證得到的.實(shí)驗(yàn)預(yù)測(cè)過(guò)程中采集的實(shí)驗(yàn)數(shù)據(jù)集越大,檢測(cè)的目標(biāo)越多,隱藏層中蘊(yùn)含的權(quán)重、偏置等參數(shù)也就更加精確,因此整個(gè)網(wǎng)絡(luò)的性能也就越好[4].
圖2 內(nèi)飾板樣本Fig.2 Interior panel sample
因?yàn)閲娖岙a(chǎn)品的種類繁多,顏色、形狀等特征也不盡相同,
所以在這篇論文中,采用汽車內(nèi)飾板的一種單一產(chǎn)品如圖2所示,以驗(yàn)證使用CNN為核心技術(shù)手段檢測(cè)產(chǎn)品合格率的可行性.
在圖2中,可以看到產(chǎn)品兩邊的色彩沉淀寬度不一樣,上下亮度也有一定差距.所以,把圖片分成上、中、下3個(gè)部分,分別標(biāo)記為上邊緣、表面和下邊緣3個(gè)特征,用這3個(gè)特征來(lái)鑒別產(chǎn)品的優(yōu)劣性.為了建立這個(gè)數(shù)據(jù)集,采用TOPSUN托新精密公司的汽車內(nèi)飾裝飾板中的300張單一產(chǎn)品,其中包括100張訓(xùn)練數(shù)據(jù)集、100張測(cè)試數(shù)據(jù)集,100張驗(yàn)證集,經(jīng)過(guò)批量裁剪把每一張圖片裁剪成3張600×200的圖片,這樣訓(xùn)練集、測(cè)試集、驗(yàn)證集都有300張圖片.
考慮到產(chǎn)品檢測(cè)中算法對(duì)精確度和速度的要求,本文采用輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)—全卷積網(wǎng)絡(luò)FCN[5],結(jié)構(gòu)如表1所示,利用全卷積網(wǎng)絡(luò)的語(yǔ)義分割和實(shí)例分割這兩大特性,可以處理更精細(xì)的噴漆產(chǎn)品.
對(duì)數(shù)據(jù)集進(jìn)行均值處理是卷積神經(jīng)網(wǎng)絡(luò)常用的處理方法,為了更好地利用數(shù)據(jù)集,采用批標(biāo)準(zhǔn)化Batch Normalize(BN)網(wǎng)絡(luò)對(duì)數(shù)據(jù)集的圖片進(jìn)行歸一化處理[6],并通過(guò)網(wǎng)絡(luò)學(xué)習(xí)實(shí)現(xiàn)適度微調(diào).相對(duì)于其他的歸一化算法,BN的優(yōu)點(diǎn)在于它擁有防止“梯度彌散”、加速網(wǎng)絡(luò)收斂速度、可以使用較大的學(xué)習(xí)率等優(yōu)點(diǎn)[7].公式如下:
(1)
(2)
(3)
(4)
式中,μB與σB2是mini-batch的m個(gè)輸入數(shù)據(jù)的集合B={x1,x2,…,xm}的均值和方差.公式(2)是將輸入數(shù)據(jù)變換為均值為0、方差為1的數(shù)據(jù).式(3)中,ε是一個(gè)微小值,它是為了避免分母為0的情況.通過(guò)這樣正規(guī)化處理插入到激活函數(shù)的前面,可以減少數(shù)據(jù)分布的偏向[8].公式(4)yi是BN層對(duì)正規(guī)化后的數(shù)據(jù)進(jìn)行縮放和平移交換的一個(gè)輸出,其中γ和β是參數(shù).初始值分別為1和0,通過(guò)學(xué)習(xí)調(diào)整到合適的值.
表1 CNN網(wǎng)絡(luò)結(jié)構(gòu)Table 1 CNN network structure
由表1結(jié)構(gòu)可以看出,在卷積層首層,采用了5×5的卷積核,且步長(zhǎng)2×2.填充選擇了可以在前向傳播的過(guò)程中讓特征圖的大小保持不變的模式(簡(jiǎn)稱:SAME模式).在池化層中就是下采樣,選擇了2×2與2×2的組合,根據(jù)公式推算輸出.最后一個(gè)卷積層選擇3×3與1×1的配合,是想將圖片輸出大小進(jìn)一步縮小.在最后加上全連接層,輸出為4×1×2其實(shí)就是利用softmax函數(shù)將最后一層卷積層的輸出正規(guī)化,從而得到概率性數(shù)據(jù),進(jìn)而達(dá)到一個(gè)分類功能的目的.計(jì)算公式如下:
(5)
(6)
式中,輸入大小(H,W);特征提取器(Filtle)大小(FH,FW);輸出大小(OH,OW);步長(zhǎng)S;填充P.
在每一層的激活函數(shù)選擇上,選擇了ReLu函數(shù),相比較于sigmoid激活函數(shù),ReLu函數(shù)不存在梯度消失的問(wèn)題,使得模型的收斂速度維持在一個(gè)穩(wěn)定狀態(tài)[9].
圖片經(jīng)過(guò)BN網(wǎng)絡(luò)歸一化處理之后輸入到第一個(gè)卷積層,最后得到32×32×16的結(jié)果.因?yàn)榈谝粚釉O(shè)置了16個(gè)特征提取器(Filtle)進(jìn)行上采樣,經(jīng)過(guò)第一層的卷積得到如圖3所示的上邊緣卷積圖像.
圖3 上邊緣卷積圖像Fig.3 Upper edge curly image
由圖3可以清楚地看到邊緣部分顏色較深,說(shuō)明油漆在晾干過(guò)程中邊緣沉淀較厚.這就體現(xiàn)出機(jī)器噴頭參數(shù)過(guò)大的問(wèn)題,導(dǎo)致油漆噴量多,在表面多余的油漆會(huì)向邊緣沉淀.
使用網(wǎng)絡(luò)模型對(duì)訓(xùn)練集測(cè)試得到的實(shí)驗(yàn)結(jié)果如表2所示.
表2 訓(xùn)練集產(chǎn)品各部位檢測(cè)結(jié)果Table 2 Test results for each part of trainingset product
由表2可知,上下邊緣準(zhǔn)確率略小于表面,這是由于邊緣部位有外界對(duì)比色和邊緣結(jié)構(gòu)較為復(fù)雜等因素影響,而中間表面的結(jié)構(gòu)平滑、結(jié)構(gòu)單一,所以準(zhǔn)確率誤差較小.因此,為防止過(guò)擬合,需要在數(shù)據(jù)集上增加大量圖片數(shù)據(jù)集,模型結(jié)構(gòu)上添加Dropout層[10],其主要功能是在訓(xùn)練時(shí),每一次傳遞數(shù)據(jù)就會(huì)隨機(jī)的選擇一些需要?jiǎng)h除隱藏的神經(jīng)元,等到在測(cè)試時(shí),雖然所有的神經(jīng)元信號(hào)都是傳遞,但是它會(huì)將每個(gè)神經(jīng)元的輸出與訓(xùn)練時(shí)刪除比例相乘后輸出.訓(xùn)練損失值如圖4所示,訓(xùn)練集與測(cè)試集結(jié)果如圖5所示.
圖4 損失值曲線Fig.4 Loss value curve
圖5 訓(xùn)練集與測(cè)試集準(zhǔn)確率Fig.5 Training set and test set accuracy
從圖4中可以明顯看到,在訓(xùn)練集測(cè)試之前,損失值特別大,一旦開始訓(xùn)練損失值則立即減少,迅速降到0.5左右.從圖5中看出,測(cè)試準(zhǔn)確率在測(cè)試之前也是0.5左右,這就是模型盲猜.隨著訓(xùn)練步數(shù)的增加,訓(xùn)練與測(cè)試準(zhǔn)確率也逐漸升高,最后穩(wěn)定在80 %以上.測(cè)試集甚至可以達(dá)到90 %以上,倘若實(shí)驗(yàn)允許,當(dāng)實(shí)驗(yàn)步數(shù)增加到10 000以上,準(zhǔn)確率會(huì)穩(wěn)定在95 %左右.但是因?yàn)楸敬螌?shí)驗(yàn)使用的設(shè)備是win 10+i 5+GTX 950 M,受設(shè)備運(yùn)算能力影響不能進(jìn)行大量數(shù)據(jù)集的訓(xùn)練與檢測(cè).
利用CNN檢測(cè)噴漆產(chǎn)品是否合格是具有可行性的,并且有一定的準(zhǔn)確率與參考價(jià)值,如果條件允許可以在兩個(gè)方面進(jìn)一步完善檢測(cè)模型.
(1) 數(shù)據(jù)集的建立可以增加大量的數(shù)據(jù)集,這樣不但可以防止欠擬合,還可以使實(shí)驗(yàn)結(jié)論更具有說(shuō)服力.
(2) 計(jì)算機(jī)計(jì)算能力,本次使用是CPU版本的計(jì)算機(jī),搭建的tensorflow+keras的卷積神經(jīng)網(wǎng)絡(luò)框架.如果有機(jī)會(huì)使用GPU算力更強(qiáng)勁的計(jì)算機(jī),增加訓(xùn)練步驟,降低學(xué)習(xí)率,使得模型具有更高的可靠性,更符合市場(chǎng)需求.