蔡立明,李 威,高永發(fā),張文亮,張玉強(qiáng)
(1.北京航天控制儀器研究所, 北京 100039; 2.青島海洋科學(xué)與技術(shù)試點(diǎn)國(guó)家實(shí)驗(yàn)室, 青島 266237; 3.航天物聯(lián)網(wǎng)技術(shù)有限公司, 北京 100094)
航天用電子元器件在導(dǎo)彈、火箭等武器系統(tǒng)中具有極其重要的作用,電子元器件的自動(dòng)分類(lèi)關(guān)系到元器件生產(chǎn)過(guò)程中的應(yīng)用與回收等環(huán)節(jié)[1]。因此,電子元器件自動(dòng)分類(lèi)系統(tǒng)在智能制造領(lǐng)域具有重要的地位。
目前,電子元器件自動(dòng)分類(lèi)系統(tǒng)中使用的算法主要包含兩種:1)基于圖像特征空間與變換域的元器件分類(lèi)算法;2)基于機(jī)器學(xué)習(xí)的元器件分類(lèi)算法。第一類(lèi)算法將采集到的圖像進(jìn)行簡(jiǎn)單預(yù)處理,提取圖像的淺層特征,利用這些特征對(duì)圖像中的電子元器件進(jìn)行分類(lèi)。如杜思思等[2]提出利用Hough變換與最小二乘法相結(jié)合精確檢測(cè)電子元器件管腳直線段,鄭秀蓮等[3]提出利用顏色空間轉(zhuǎn)換、圖像分割和紋理特征對(duì)器件缺陷進(jìn)行檢測(cè)。上述分類(lèi)算法無(wú)法處理海量圖片,且檢測(cè)準(zhǔn)確度依賴采集圖像的質(zhì)量,無(wú)法實(shí)現(xiàn)對(duì)多種元器件的同時(shí)在位分類(lèi)。第二類(lèi)基于機(jī)器學(xué)習(xí)的元器件分類(lèi)算法,如胡藝[4]提出的基于BP神經(jīng)網(wǎng)絡(luò)的電路板缺陷檢測(cè)算法,車(chē)尚岳[5]提出的基于SVM的電路板電阻元器件檢測(cè)算法。上述算法主要根據(jù)目標(biāo)的淺層特征進(jìn)行模型訓(xùn)練,存在模型收斂速度慢、檢測(cè)結(jié)果易受圖像噪聲影響等缺點(diǎn)[4-6]。
目前,在圖像識(shí)別領(lǐng)域,機(jī)器學(xué)習(xí)算法-深度卷積神經(jīng)網(wǎng)絡(luò)得到了廣泛應(yīng)用,并成為學(xué)術(shù)界與工業(yè)界的研究熱點(diǎn)[5-7]。深度卷積神經(jīng)網(wǎng)絡(luò)相對(duì)于傳統(tǒng)的分類(lèi)方法具有識(shí)別準(zhǔn)確率高、不受圖像畸變影響等優(yōu)點(diǎn),深度卷積神經(jīng)網(wǎng)絡(luò)通過(guò)卷積層、池化層、全連接層等提取待測(cè)圖像的深度特征,并自動(dòng)對(duì)海量圖像進(jìn)行分類(lèi)。但隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,神經(jīng)網(wǎng)絡(luò)的計(jì)算需要更多的資源,并且出現(xiàn)過(guò)擬合現(xiàn)象。因此,GoogleNet[8]提出利用模塊間級(jí)聯(lián)方式提取多尺度、多類(lèi)型特征來(lái)提高算法的效率。這種系統(tǒng)類(lèi)似于人類(lèi)視覺(jué)系統(tǒng),能夠?qū)π螤?、方向和顏色特征進(jìn)行深度挖掘,突出檢測(cè)物邊界信息,抑制背景雜波干擾,并通過(guò)結(jié)合局部、區(qū)域和總體三個(gè)層次特征提升物體檢測(cè)精度?;谏鲜鲅芯浚瑸榱诉M(jìn)一步提升檢測(cè)精度并減少網(wǎng)絡(luò)訓(xùn)練存在的參數(shù),減少過(guò)擬合現(xiàn)象的出現(xiàn),本文提出了一種基于多特征圖像增強(qiáng)深度卷積神經(jīng)網(wǎng)絡(luò)(Multi-feature Image Enhanced Deep Convolution Neural Network,MFIE-DCNN)的航天用電子元器件分類(lèi)算法。MFIE-DCNN算法創(chuàng)新點(diǎn)在于整合了多特征學(xué)習(xí)(Multi-feature Learning,MFL)和深度學(xué)習(xí)(Deep Learning,DL),用于提升算法的準(zhǔn)確性與魯棒性。多特征學(xué)習(xí)的優(yōu)點(diǎn)在于剔除了光照不均造成的圖像干擾,突出原圖像中可分性較大的統(tǒng)計(jì)信息和待檢測(cè)元器件的邊緣紋理信息[9-11]。深度學(xué)習(xí)部分具備提取圖像表達(dá)特征子圖中的板載元器件建立監(jiān)督樣本庫(kù)的能力,用于訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò),并創(chuàng)建分類(lèi)模型。深度卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)在于防止淺層神經(jīng)網(wǎng)絡(luò)中過(guò)擬合現(xiàn)象的出現(xiàn),保證檢測(cè)結(jié)果的魯棒性[12]。將MFIE-DCNN、支持向量機(jī)(SVM)、基于稀疏自動(dòng)編碼器的深度神經(jīng)網(wǎng)絡(luò)(SAE-DNN)及隨機(jī)森林算法(RF)的總體分類(lèi)精度(OA)和Kappa系數(shù)進(jìn)行比較,證明所提出算法的分類(lèi)效果優(yōu)于上述對(duì)比算法。
MFIE-DCNN算法包含兩個(gè)部分:多特征學(xué)習(xí)與深度學(xué)習(xí),如圖1所示。多特征學(xué)習(xí)包含如下步驟:1)將電路板板載元器件的RGB圖像映射到HSV圖像空間,利用同態(tài)濾波得到增強(qiáng)亮度分量Vs,用于剔除光照不均造成的圖像干擾;2)利用主成分分析(Principal Component Analysis)提取RGB圖像的第一主成分信息(PC1),用于突出原圖像中可分性較大的統(tǒng)計(jì)信息;3)提取PC1的Gabor紋理特征(Gabor-texture,Gt),用于突出圖像中元器件的紋理信息。利用Vs、PC1和Gt構(gòu)建圖像表達(dá)特征子圖。深度學(xué)習(xí)采用類(lèi)VGG-16網(wǎng)絡(luò),網(wǎng)絡(luò)包含八個(gè)層。其中,前五層為卷積層,卷積層結(jié)構(gòu)為Convolution+Pool+ReLU;后三層為全連接層,利用Softmax輸出5類(lèi)(電阻、兩類(lèi)電容、兩類(lèi)芯片)。
1)獲取亮度分量V:在RGB顏色空間中,圖像的亮度和飽和度無(wú)法有效分離,對(duì)圖像RGB三通道分別進(jìn)行增強(qiáng)容易導(dǎo)致圖像色度失真。HSV空間能夠有效分離圖像的亮度、色度及飽和度,并將圖像的亮度、色度及飽和度映射到近似正交的空間中,通過(guò)調(diào)整HSV空間的亮度分量,對(duì)圖像進(jìn)行增強(qiáng)[9]。
圖1 MFIE-DCNN結(jié)構(gòu)圖Fig.1 Structure diagram of MFIE-DCNN
HSV空間中,亮度分量由V表示
式(1)中,RGB為圖像中每個(gè)像素的(R,G,B)通道的值。獲得亮度分量V后,利用同態(tài)濾波器處理V波段得到增強(qiáng)后的圖像Vs,同態(tài)濾波的作用為增強(qiáng)圖像暗區(qū)細(xì)節(jié)并保留亮區(qū)細(xì)節(jié)[9]。圖像V(x,y)可以被表示為
式(2)中,I(x,y)為照射強(qiáng)度,R(x,y)為反射強(qiáng)度。通常情況下,照射強(qiáng)度是均勻漸變的,故I為低頻分量;不同物體對(duì)光照的反射率是不同的,故R通常為高頻分量。將V(x,y)取對(duì)數(shù)進(jìn)行同態(tài)變換,映射到空間域用于分離照射強(qiáng)度I(x,y)和反射強(qiáng)度R(x,y),具體步驟如式(3)和式(4)所示。
利用低通濾波器LPF濾除lnI(x,y)
用lnV(x,y)減去低通濾波后的圖像lnIl(x,y),得到高頻增強(qiáng)圖像lnVs(x,y)。對(duì)lnVs(x,y)進(jìn)行e指數(shù)運(yùn)算
2)主成分分析主要用于凸顯圖像波段各成分之間的最大差異,利用正交變換將原圖像中的隨機(jī)分量映射到不相關(guān)的分量中[13]。
式(6)中,pi為第i個(gè)波段的主成分。
3)Gabor濾波器工作過(guò)程與人眼的視覺(jué)處理過(guò)程相近,具備提取圖像紋理特征的能力[14]。Gabor濾波函數(shù)如下
最終,利用Vs(x,y)、P(x,y)和GTs,d(x,y)構(gòu)成圖像表達(dá)特征子圖。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為一種具備多層結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),通常包含輸入層、卷積層、池化層、全連接層及輸出層。卷積層中的卷積核作為卷積神經(jīng)網(wǎng)絡(luò)的核心,用于提取圖像的平移不變特征。不同的卷積核提取不同的特征,所提取的特征通常包含邊緣、顏色和形狀[6,8,12]。
卷積神經(jīng)網(wǎng)絡(luò)處理過(guò)程如下:將輸入圖像數(shù)據(jù)與卷積核進(jìn)行卷積,然后利用激活函數(shù)提取待測(cè)圖像的特征圖像,表達(dá)式如下
式(9)中,f[·]為ReLU激活函數(shù),為卷積核矩陣,為特征偏置,為k-1層輸入的特征或圖像數(shù)據(jù),為進(jìn)行卷積運(yùn)算和激活函數(shù)計(jì)算后的特征圖。
池化(Pooling)也叫下采樣運(yùn)算,即對(duì)圖像局部位置進(jìn)行聚合統(tǒng)計(jì),稀疏化特征圖像,減少需要處理的數(shù)據(jù)量及防止過(guò)擬合,并減少網(wǎng)絡(luò)的訓(xùn)練時(shí)間。輸入和輸出可表示為
式(10)中,d(·)為下采樣函數(shù),為加性偏置,為第k層第j個(gè)特征圖的乘性偏置。
在CNN中,經(jīng)過(guò)卷積層與全連接層得到具有類(lèi)別區(qū)分性的深度局部信息。全連接層中,同層神經(jīng)元無(wú)連接,而上一層和下一層的神經(jīng)元是互聯(lián)的。將卷積層和下采樣運(yùn)算提取到的深度特征信息寄存于全連接層用于分類(lèi)。接著,根據(jù)損失函數(shù)反向優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)中的權(quán)重向量,并利用柔性最大值歸一化函數(shù)(Softmax)進(jìn)行分類(lèi)運(yùn)算
式(11)中,y為期望輸出,d為神經(jīng)網(wǎng)絡(luò)輸出。代表向量x的2-范數(shù)。
MFIE-DCNN算法使用Python語(yǔ)言,采用Keras作為人工神經(jīng)網(wǎng)絡(luò)庫(kù),并采用tensorflow作為后端,實(shí)驗(yàn)機(jī)配備了Inter-i5 CPU、8G內(nèi)存、Win10操作系統(tǒng)。電路板板載元器件圖像由500萬(wàn)像素工業(yè)相機(jī)采集,圖像的理論分辨率為2592×1944。從采集圖像中提取板載元器件建立監(jiān)督樣本庫(kù),樣本庫(kù)中包含:電容(200張)、電阻(100張)、芯片(200張)等,元器件輪廓周邊白光由光源反光導(dǎo)致,如圖2所示。
圖2 電阻、兩類(lèi)電容、兩類(lèi)芯片示例Fig.2 Examples of resistances,capacitors and chips
深度卷積神經(jīng)網(wǎng)絡(luò)能夠提取待測(cè)圖像的深度特征。通常,低層卷積層主要提取顏色和邊緣等特征,高層卷積層提取輪廓和形狀等特征。如表1所示,所用深度卷積神經(jīng)網(wǎng)絡(luò)類(lèi)似于VGG-16,包含八個(gè)層,前五層為卷積層,卷積層結(jié)構(gòu)為Convolution+Pool+ReLU;后三層為全連接層,全連接層作用為特征加權(quán),并利用Softmax對(duì)圖像表達(dá)特征子圖中各元器件進(jìn)行分類(lèi)。
表1 MFIE-DCNN 網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Network structure of MFIE-DCNN
圖3 四種元器件的深度特征Fig.3 Deep features of four components
圖3展示了四種元器件的深度特征,首先為四種元器件的輸入圖像,第一特征和第二特征為輸入元器件的特征圖1和特征圖2,第一特征-ReLU和第二特征-ReLU為特征圖1和特征圖2經(jīng)過(guò)ReLU函數(shù)處理過(guò)的圖像,第一特征-ReLUPooling和第二特征-ReLU-Pooling為特征圖1和特征圖2經(jīng)過(guò)ReLU函數(shù)處理和池化運(yùn)算后的特征圖像。由圖3可知,經(jīng)過(guò)處理后圖像的物體與背景具有較強(qiáng)的對(duì)比度,為后續(xù)分類(lèi)提供型不變特征。
利用訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集對(duì)模型的收斂區(qū)間和穩(wěn)定性進(jìn)行評(píng)估,將數(shù)據(jù)集分為兩個(gè)部分,即訓(xùn)練數(shù)據(jù)(60%)和測(cè)試數(shù)據(jù)(40%)。將訓(xùn)練數(shù)據(jù)輸入MFIE-DCNN中,得到如圖4所示的訓(xùn)練數(shù)據(jù)集與測(cè)試數(shù)據(jù)集準(zhǔn)確率的曲線圖。可以看出,經(jīng)過(guò)約20次迭代訓(xùn)練,MFIE-DCNN開(kāi)始收斂。
圖4 訓(xùn)練數(shù)據(jù)集與測(cè)試數(shù)據(jù)集準(zhǔn)確率曲線圖Fig.4 Accuracy curves of training dataset and testing dataset
首先將RGB圖像映射到HSV圖像空間,利用直方圖均衡化亮度分量V,通過(guò)主成分分析得到RGB圖像的第一主成分(PC1),并提取第一主成分(PC1)的Gabor紋理特征。利用Vs、PC1和Gt構(gòu)建圖像表達(dá)特征子圖,增強(qiáng)圖像細(xì)節(jié)。MFIEDCNN包含八個(gè)層,前五層為卷積層,后三層為全連接層。Batch_size設(shè)為5,使用Dropout稀疏化全連接層中的節(jié)點(diǎn),激活函數(shù)采用ReLU。Dropout的值設(shè)置為0.1,學(xué)習(xí)率采用系統(tǒng)默認(rèn)的最優(yōu)值[15],對(duì)比算法包含SVM-linear、SVM-RBF、RF和SAEDNN。利用GridSearchCV法,可獲得SVM-RBF中g(shù)amma值和懲罰項(xiàng)的值。SAE-DNN包含3個(gè)稀疏自動(dòng)編碼器,每個(gè)編碼器包含300個(gè)隱藏單元,每個(gè)編碼器的迭代次數(shù)為8000次。五種分類(lèi)器分別運(yùn)行10次,計(jì)算總體分類(lèi)精度(OA)、Kappa系數(shù)和混淆矩陣[16-17]。
總體分類(lèi)精度(OA)、Kappa系數(shù)和混淆矩陣被用于評(píng)估MFIE-DCNN算法的性能:總體分類(lèi)精度(OA)為正確分類(lèi)的類(lèi)別圖像數(shù)與總的類(lèi)別個(gè)數(shù)的比值[18],Kappa系數(shù)為分類(lèi)與完全隨機(jī)的分類(lèi)結(jié)果產(chǎn)生錯(cuò)誤減少的比例[19],混淆矩陣用于計(jì)算分類(lèi)器預(yù)測(cè)結(jié)果和輸入數(shù)據(jù)類(lèi)別真值之間的差距[20]。圖5為五種算法的混淆矩陣,表2為五種算法的分類(lèi)結(jié)果對(duì)比。
圖5 五種算法的混淆矩陣Fig.5 Confusion matrix of the five algorithms
表2 分類(lèi)結(jié)果對(duì)比Table 2 Comparison of classification results
由表2可知,RF、SVM-RBF、SVM-linear、SAE-DNN和MFIE-DCNN的Kappa系數(shù)分別為44%、28%、28%、64%和93%,RF、SVM-RBF、SVM-linear、SAE-DNN和MFIE-DCNN的總體分類(lèi)精度分別為56%、44%、44%、72%和95%。SVM-RBF、SVM-linear的總體分類(lèi)精度較差,MFIE-DCNN的總體分類(lèi)精度最高,較SAE-DNN提升了近20%。
針對(duì)傳統(tǒng)的航天用電子元器件分類(lèi)算法的不足,本文提出了一種基于多特征圖像增強(qiáng)深度卷積神經(jīng)網(wǎng)絡(luò)(MFIE-DCNN)的航天用電子元器件分類(lèi)算法。MFIE-DCNN算法首先將工業(yè)相機(jī)采集到的電子元器件圖像由RGB空間映射到HSV空間,然后利用同態(tài)濾波增強(qiáng)亮度分量V,提取RGB圖像的第一主成分(PC1)和第一主成分的Gabor紋理特征,利用Vs、PC1和Gt構(gòu)建圖像表達(dá)特征子圖。將圖像表達(dá)特征子圖輸入類(lèi)VGG-16卷積神經(jīng)網(wǎng)絡(luò)用于訓(xùn)練模型,利用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)進(jìn)行電子元器件分類(lèi)。實(shí)驗(yàn)表明,該算法的精度較SAE-DNN算法提升了近20%,能夠滿足實(shí)際應(yīng)用。后續(xù)研究工作將繼續(xù)采集電子元器件圖像,擴(kuò)充監(jiān)督樣本庫(kù),訓(xùn)練MFIE-DCNN,提高檢測(cè)效果。