張京愛,王江濤,2*
(1.淮北師范大學(xué)物理與電子信息學(xué)院,安徽淮北 235000;2.淮北師范大學(xué)信息學(xué)院,安徽淮北 235000)
磁瓦是永磁體直流電機(jī)的核心部件之一,常用來代替?zhèn)鹘y(tǒng)的電勵(lì)磁。據(jù)中國磁性材料及行業(yè)協(xié)會估計(jì),2017 年我國對磁瓦的需求規(guī)模將達(dá)50 億元以上,到2020 年該規(guī)模將達(dá)60 億元。磁瓦產(chǎn)業(yè)已成為國民經(jīng)濟(jì)中一股重要的力量。在磁瓦生產(chǎn)過程中,由于生產(chǎn)工藝或者碰撞原因,不可避免地會產(chǎn)生殘次品。因此對磁瓦質(zhì)量進(jìn)行挑選,剔除殘次品,成為當(dāng)前磁瓦生產(chǎn)中的必需工序。當(dāng)前的殘次品剔除主要依賴于人工進(jìn)行,成本高,效率低,且人工易于疲勞,錯(cuò)檢漏檢現(xiàn)象時(shí)常發(fā)生。為了克服上述困難,提高磁瓦檢測的效率和自動化水平,機(jī)器視覺技術(shù)[1-4]被引入到各類檢測和識別應(yīng)用中。
基于機(jī)器視覺技術(shù)的磁瓦檢測可以分為兩類:一類直接在圖像的灰度空間中進(jìn)行處理判斷是否存在缺陷;另一類則首先對磁瓦圖像進(jìn)行某類變換,然后在此類變換下進(jìn)行缺陷判斷。胡浩等[5]在圖像的灰度空間下,綜合考慮了形狀、紋理、邊緣等特征,將磁瓦缺陷分為3 類,采用不同的特征組合來對三類缺陷進(jìn)行檢測。劉國平等[6]為了解決磁瓦表面灰度分布均勻、噪聲較多等問題,從獲取掃描行更穩(wěn)定的灰度出發(fā),提出下包絡(luò)線灰度對比度來分割出缺陷區(qū)域。李雪琴等[7]則將磁瓦圖像進(jìn)行Contourlet 變換,以變換后得到的子帶系數(shù)作為研究對象,通過對比確定是否存在缺陷。同樣從圖像變換的角度出發(fā),文獻(xiàn)[8]則采用平穩(wěn)小波變換構(gòu)造輪廓波包,首先利用相關(guān)去噪消減圖像的噪聲,然后通過輪廓波包逆變換來得到缺陷圖像。
經(jīng)過多年的研究,盡管先后已出現(xiàn)多種不同的缺陷識別方法,然而由于磁瓦形狀的不規(guī)則性,大多數(shù)方法還是局限于實(shí)驗(yàn)環(huán)境中。首先,已發(fā)表的文獻(xiàn)中進(jìn)行實(shí)驗(yàn)時(shí)樣本量大多為幾百個(gè),數(shù)據(jù)集規(guī)模偏小,不足以反映工廠環(huán)境下的實(shí)際性能。其次,多數(shù)算法需要人工的確定一系列的閾值,這不利于在實(shí)際多變的環(huán)境中推廣應(yīng)用。再次,磁瓦的曲面形狀給照明設(shè)計(jì)帶來困難,往往難以得到理想均勻的光照效果。
近年來,深度卷積網(wǎng)絡(luò)在計(jì)算機(jī)視覺分類和檢測任務(wù)中都表現(xiàn)出了優(yōu)異的性能[9-10],但在磁瓦質(zhì)量識別領(lǐng)域相關(guān)的工作較少。針對上述問題,本文在構(gòu)造符合實(shí)際生產(chǎn)場景樣本集的基礎(chǔ)上,通過將深度卷積網(wǎng)絡(luò)引入缺陷識別系統(tǒng),設(shè)計(jì)一類端到端的,不需要人工干預(yù),且對光照不敏感的磁瓦缺陷識別算法,以提高磁瓦缺陷識別系統(tǒng)的識別精度和推廣能力。
通過對大量的帶缺陷的磁瓦進(jìn)行分析,發(fā)現(xiàn)絕大多數(shù)的磁瓦缺陷發(fā)生在磁瓦兩端。由于磁瓦表面形狀為凸起曲面,在采用單一相機(jī)自頂朝下進(jìn)行拍攝時(shí),兩端邊角無法包含在視野內(nèi),因此,本文采用了如圖1 所示的攝像機(jī)布局,通過兩個(gè)互相對角的攝像機(jī),不但可以更加清晰地對兩端圖像進(jìn)行采集,而且利用攝像機(jī)的視場互補(bǔ),也可以獲取整個(gè)凸起曲面的圖片。對于光照來說,在這里希望所研發(fā)的缺陷識別系統(tǒng)能夠不依賴于嚴(yán)格的光照條件,因此在磁瓦工件兩側(cè)各設(shè)置一個(gè)發(fā)光二極管面光源來進(jìn)行照明,并沒有進(jìn)行更加優(yōu)化的布局設(shè)計(jì)。
圖1 攝像機(jī)布局結(jié)構(gòu)Fig.1 Layout structure of cameras
在檢測磁瓦時(shí),難以保證所有磁瓦都處于相同的姿態(tài),因此需要從采集圖像中得到姿態(tài)歸一化的目標(biāo)圖片。假定采集到的磁瓦工件圖像如圖2(a)和圖2(c)所示,此時(shí)為了獲取標(biāo)準(zhǔn)的磁瓦樣本。采用如下的步驟來進(jìn)行處理:
第一步 對采集到的圖像進(jìn)行閾值分割,獲得磁瓦所在的矩形區(qū)域(圖2中白色實(shí)線矩形框所示)。
第二步 進(jìn)一步尋找磁瓦目標(biāo)的最小外接矩形,如圖2中白色虛線矩形框所示。
第三步 將獲取的最小外接矩形區(qū)域進(jìn)行旋轉(zhuǎn),得到標(biāo)準(zhǔn)的磁瓦樣本圖像,如圖2(b)和圖2(d)所示。
在訓(xùn)練和測試階段,均采用上述的方法,首先采集到原始圖像,然后獲取要訓(xùn)練或測試的磁瓦樣本進(jìn)行對應(yīng)的操作。
通過對磁瓦殘次品進(jìn)行分析發(fā)現(xiàn),盡管缺陷發(fā)生部位集中于磁瓦兩端,但缺陷類別多種多樣。圖3 給出了常見的缺陷類型,主要包括掉塊、磕邊、裂縫、坑洞等。從圖中可以看出,不同類型的缺陷外觀差異較大,難以采用傳統(tǒng)的圖像處理方法進(jìn)行統(tǒng)一的特征描述。鑒于此,本文不考慮缺陷的類型,通過設(shè)計(jì)端到端的深度學(xué)習(xí)系統(tǒng)直接對磁瓦進(jìn)行表面質(zhì)量識別。
圖2 采集到的圖像及獲取的磁瓦樣本Fig.2 Collected images and corresponding megnetic tile samples
圖3 常見的缺陷類型Fig.3 Common types of defects
采用深度學(xué)習(xí)進(jìn)行磁瓦識別時(shí),首先需要設(shè)計(jì)深度卷積網(wǎng)絡(luò)模型來構(gòu)建磁瓦質(zhì)量識別系統(tǒng)。當(dāng)前存在多種不同的網(wǎng)絡(luò)框架可供選擇,比如VGG(Visual Geometry Group)系列[11]、殘差網(wǎng)絡(luò)(Residual Network,ResNet)系列[12]等??紤]到系統(tǒng)的實(shí)時(shí)性、訓(xùn)練樣本集的規(guī)模、卷積網(wǎng)絡(luò)自身的性能等因素,綜合進(jìn)行衡量,選定ResNet18作為識別系統(tǒng)的主框架。
如圖4 所示,不考慮池化、批歸一化等操作,ResNet18 一共由18層網(wǎng)絡(luò)組成,其中包含4個(gè)殘差模塊,每個(gè)殘差模塊包含兩個(gè)殘差單元,其內(nèi)部結(jié)構(gòu)可參考圖5,殘差單元采用如下的形式來得到:
其中:x為模塊的輸入,y為模塊的輸出,F(xiàn)為模塊對x的映射。
圖4 ResNet18網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Network architecture of ResNet18
上述模型中輸入圖像的尺度為224×224×3,整個(gè)網(wǎng)絡(luò)經(jīng)過一系列的池化和下采樣將圖像縮小至原來的1/32,殘差模塊4輸出大小為7×7×512,該輸出與全連接層相連進(jìn)行最終分類。由于磁瓦表面缺陷可能以任意的外觀和尺寸出現(xiàn),如圖6 所示,不同的缺陷之間存在著較大的尺度差異。因此將原圖下采樣為7×7的卷積結(jié)果不利于識別微小尺度缺陷。為了解決這一問題,本文對原始的ResNet18 進(jìn)行微調(diào),同時(shí)采用殘差模塊3 和殘差模塊4 的結(jié)果進(jìn)行全連接分類識別。如圖7 所示,將殘差模塊3 的輸出結(jié)果引入分支連接一全連接層,并將該全連接層與原全連接層進(jìn)行拼接,共同進(jìn)行分類得到識別結(jié)果。
圖5 殘差模塊結(jié)構(gòu)示意圖Fig.5 Schematic diagram of residual module architecture
圖6 磁瓦表面缺陷區(qū)域存在較大尺度差Fig.6 Significant scale differences among tile surface defects
圖7 多尺度ResNet18網(wǎng)絡(luò)結(jié)構(gòu)Fig.7 Network structure of multiscale ResNet18
磁瓦表面質(zhì)量識別問題可以看作為二分類問題,因此采用兩類交叉熵函數(shù)作為深度卷積網(wǎng)絡(luò)的損失函數(shù),該函數(shù)如式(2)所示:
其中:z為樣本真實(shí)標(biāo)簽,p為網(wǎng)絡(luò)預(yù)測標(biāo)簽。通過損失函數(shù)就可以采用梯度下降法來更新網(wǎng)絡(luò)參數(shù),直至收斂或達(dá)到訓(xùn)練迭代次數(shù)為止。
在訓(xùn)練深度卷積網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)的規(guī)模受限于樣本的數(shù)量,而訓(xùn)練樣本的多樣性則直接關(guān)系到深度卷積網(wǎng)絡(luò)的識別能力。因此,數(shù)據(jù)增廣已成為提高樣本多樣性的常用手段。數(shù)據(jù)增廣方法一般可以分為兩類:一類是對原樣本施加亮度偏移、色彩偏移、角度偏移等簡單運(yùn)算得到增廣后的樣本;另一類則以原樣本為基礎(chǔ)生成新的虛擬樣本。這里,同時(shí)采用了兩種不同的增廣策略來擴(kuò)充樣本,首先通過隨機(jī)偏移樣本的亮度來完成第一類數(shù)據(jù)擴(kuò)充,因?yàn)樵跇?gòu)建樣本集時(shí)沒有對磁瓦的姿態(tài)方向進(jìn)行限制,因此不需要再進(jìn)行旋轉(zhuǎn)操作對樣本進(jìn)行增廣。對于第二類擴(kuò)充策略,本文在構(gòu)建虛擬樣本時(shí)以Zhang 等[13]提出的mixup 方法為基礎(chǔ),并對其進(jìn)行了拓展。傳統(tǒng)的mixup 方法使神經(jīng)網(wǎng)絡(luò)的訓(xùn)練得以在樣本對及其對應(yīng)標(biāo)簽的凸組合上進(jìn)行,對樣本泛化能力有著明顯的提升作用。mixup采用如下的操作來生成虛擬樣本:
其中(xi,yi)和(xj,yj)為從訓(xùn)練集中隨機(jī)選擇的兩個(gè)樣本,且λ~Beta(α,α),α∈(0,∞)。從式(3)可以看出,新生成的虛擬樣本實(shí)際上是原樣本的線性疊加,通過該方式可以讓不同樣本間的分布更為平滑。
對于本文所研究的問題來講,由于磁瓦的缺陷可能以細(xì)小、微弱的形式出現(xiàn),因此如果采用類間形式進(jìn)行mixup,容易使樣本混淆。一般來說,一個(gè)有缺陷的樣本與無缺陷的樣本疊加,得到的結(jié)果依然為有缺陷的樣本,而式(3)并不能支撐該理論。考慮到該問題,這里對疊加樣本的類別進(jìn)行了限制:
在式(4)中,僅當(dāng)隨機(jī)選擇的樣本屬于同一類別時(shí)才進(jìn)行疊加,在這里將其稱為類內(nèi)mixup。由于僅在類內(nèi)進(jìn)行線性平滑,可以對缺陷類型進(jìn)行進(jìn)一步的泛化,從而有助于提升網(wǎng)絡(luò)的推廣能力。
為了盡可能地貼近實(shí)用場合,更加客觀地評估算法在實(shí)用中的分類性能,采用實(shí)際生產(chǎn)的磁瓦構(gòu)建缺陷樣本集。該樣本集包含了7 759 個(gè)有缺陷樣本(負(fù)樣本)、4 452 個(gè)無缺陷樣本(正樣本),其中訓(xùn)練集由6 692 個(gè)負(fù)樣本和3 984 個(gè)正樣本組成,其余樣本構(gòu)成測試集。在構(gòu)建樣本的時(shí)候,為了體現(xiàn)環(huán)境的復(fù)雜性,并沒有對磁瓦的位置和角度進(jìn)行嚴(yán)格限制,因此樣本集中的磁瓦以不同的姿態(tài)和不同的反光區(qū)域呈現(xiàn)。如圖8所示給出了部分的樣本示例。
圖8 磁瓦樣本圖像示例Fig.8 Schematic diagram of tile samples
所有實(shí)驗(yàn)均在顯卡型號為GTX1080TI、內(nèi)存為16 GB 的機(jī)器上進(jìn)行,所采用的深度學(xué)習(xí)工具為Pytorch。由于本文的重點(diǎn)在于評估所提出系統(tǒng)的性能,在進(jìn)行網(wǎng)絡(luò)訓(xùn)練時(shí)采用了通用的超參數(shù)設(shè)置,訓(xùn)練所用的學(xué)習(xí)率設(shè)為0.001,訓(xùn)練迭代次數(shù)為100 個(gè)epoch,每個(gè)batch 大小為50,采用隨機(jī)梯度下降學(xué)習(xí)到網(wǎng)絡(luò)的最終參數(shù)。為了更加直觀地觀測所研究系統(tǒng)的性能,分別對采用VGG16、ResNet18、多尺度ResNet18(本文算法)的識別系統(tǒng)進(jìn)行了對比。如圖9 所示,給出了3 種方法的訓(xùn)練loss曲線。從曲線可以看出,3種網(wǎng)絡(luò)結(jié)構(gòu)均可在最終達(dá)到收斂,但ResNet18 結(jié)構(gòu)明顯比VGG16 具有更好的收斂性能。而多尺度ResNet18和傳統(tǒng)的ResNet18具有相似的loss曲線,而多尺度的結(jié)構(gòu)可以取得更小的代價(jià)。
在訓(xùn)練過程中,每訓(xùn)練完成一個(gè)epoch 保存一次網(wǎng)絡(luò)權(quán)重文件,在訓(xùn)練結(jié)束后,在所有權(quán)重文件中選取對測試集性能最優(yōu)的權(quán)重作為最終的網(wǎng)絡(luò)參數(shù)。表1 分別采用準(zhǔn)確率(accuracy)、精確率(precision)、召回率(recall)和F1 分?jǐn)?shù)4 個(gè)指標(biāo)[14-15]對不同模型的性能進(jìn)行對比,從中可以看出3種網(wǎng)絡(luò)結(jié)構(gòu)均取得了高于90%的正確識別率,充分說明了深度卷積網(wǎng)絡(luò)在缺陷識別問題上的有效性,而采用ResNet 結(jié)果明顯要優(yōu)于VGG 結(jié)構(gòu),特別的,本文提出的多尺度ResNet18 取得了最好的識別結(jié)果。另外,多尺度ResNet18 在運(yùn)行時(shí)間上一幅圖像僅耗時(shí)1.31 ms,完全可以滿足實(shí)時(shí)的需要。
圖9 不同網(wǎng)絡(luò)結(jié)構(gòu)下的loss曲線Fig.9 Loss curves with different network architectures
表1 不同網(wǎng)絡(luò)結(jié)構(gòu)下的識別性能對比Tab.1 Comparison of recognition performance under different network architectures
除不同的網(wǎng)絡(luò)結(jié)構(gòu)外,也對采用傳統(tǒng)mixup 和類內(nèi)mixup的數(shù)據(jù)增廣方法進(jìn)行了對比。圖10 給出了以多尺度的ResNet18 為基礎(chǔ),分別采用兩種不同數(shù)據(jù)增廣方法訓(xùn)練時(shí)的loss 曲線,訓(xùn)練時(shí)采用與前述相同的超參數(shù),在進(jìn)行mixup 時(shí)將α的值設(shè)為通用的1.0,λ參數(shù)則可以由對應(yīng)的Beta 分布得出。如圖中所示,傳統(tǒng)的mixup 擴(kuò)充樣本后,在訓(xùn)練的初始階段訓(xùn)練損失快速下降,但過后loss 的值陷入震蕩,無法收斂。而類內(nèi)mixup 由于將疊加的樣本限制在類內(nèi),生成了更加合理的虛擬樣本,因此網(wǎng)絡(luò)可以迅速趨于收斂。
圖10 不同mixup操作下的loss曲線Fig.10 Loss curves with different mixup operations
以多尺度的ResNet18 為基礎(chǔ),加入mixup 操作進(jìn)行樣本擴(kuò)充后的網(wǎng)絡(luò)識別性能如表2 所示。與前面相同,依然使用所保存的100 個(gè)權(quán)重文件中在測試集上性能最優(yōu)的權(quán)重參數(shù)作為最終網(wǎng)絡(luò)進(jìn)行測試。從識別結(jié)果可以看出,采用原始的mixup操作后,不但沒有改進(jìn)識別性能,反而識別率有所下降。這是因?yàn)榕c傳統(tǒng)的分類問題不同,由于缺陷區(qū)域往往僅占有整個(gè)樣本的微小部分,因此在不同類樣本間進(jìn)行疊加時(shí)會引起系統(tǒng)混淆。相對而言,本文提出的類內(nèi)mixup 則將識別準(zhǔn)確率進(jìn)一步地提升至97.9%,取得了滿意的識別效果,表明所研究的系統(tǒng)對不同的缺陷類型、不同的反光場景都具備了良好的魯棒性。
表2 不同mixup操作下的識別性能對比Tab.2 Comparison of recognition performance under different mixup operations
利用計(jì)算機(jī)視覺技術(shù)對生產(chǎn)工件的質(zhì)量進(jìn)行檢測是工業(yè)生產(chǎn)中的重要需求之一。本文對鐵氧體磁瓦表面缺陷識別問題展開研究,將深度學(xué)習(xí)技術(shù)引入到磁瓦缺陷識別中,提出一種基于深度卷積網(wǎng)絡(luò)的磁瓦表面質(zhì)量識別系統(tǒng)。該系統(tǒng)首先從抓取的磁瓦圖像中獲得磁瓦目標(biāo),并進(jìn)行旋轉(zhuǎn)歸一化處理,然后設(shè)計(jì)多尺度卷積網(wǎng)絡(luò)對磁瓦目標(biāo)圖像進(jìn)行分類識別。為了提高系統(tǒng)的泛化能力,訓(xùn)練時(shí)提出一種新穎的類內(nèi)mixup方法來生成虛擬樣本,從而完成對樣本的擴(kuò)充。同時(shí)構(gòu)建了較大規(guī)模的磁瓦缺陷數(shù)據(jù)集,在該數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)的結(jié)果表明,所研究的磁瓦缺陷識別系統(tǒng)可以達(dá)到接近97.9%的識別準(zhǔn)確率,為實(shí)際應(yīng)用提供了一種可行的途徑。本文僅從工廠實(shí)用的角度出發(fā)對磁瓦是否具有缺陷進(jìn)行了二類分類,并沒有考慮缺陷的類別和位置,未來將對磁瓦缺陷類型和位置進(jìn)行標(biāo)注,進(jìn)一步深入研究磁瓦缺陷檢測問題。