郭 峰, 孫小棟, 朱啟兵*, 黃 敏, 徐曉祥
(1. 江南大學(xué) 輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江蘇 無(wú)錫 214122;2. 無(wú)錫市創(chuàng)凱電氣控制設(shè)備有限公司,江蘇 無(wú)錫 214400)
陶瓷基板是大功率電力電子電路結(jié)構(gòu)的基礎(chǔ)材料。在陶瓷基板的生產(chǎn)過(guò)程中,常出現(xiàn)鍍金層損傷、邊緣多金、缺瓷、油污、摻雜異物五種瑕疵,這些瑕疵會(huì)影響電子器件的壽命、性能以及穩(wěn)定性。快速而準(zhǔn)確地檢測(cè)并剔除這些瑕疵基板對(duì)于保證產(chǎn)品質(zhì)量具有重要意義[1]。目前,利用機(jī)器視覺(jué)技術(shù)結(jié)合深度神經(jīng)網(wǎng)絡(luò)進(jìn)行產(chǎn)品瑕疵檢測(cè)已成為主流方法。本研究團(tuán)隊(duì)針對(duì)陶瓷基板瑕疵形狀多變、尺寸跨度大,且多金和缺瓷瑕疵目標(biāo)較小,樣本量小,各類(lèi)瑕疵數(shù)量分布不均勻等問(wèn)題,提出了一種改進(jìn)的YOLOv4 算法,通過(guò)修改置信度損失函數(shù),引入注意力機(jī)制,優(yōu)化錨框尺寸等策略,實(shí)現(xiàn)了五類(lèi)瑕疵的準(zhǔn)確檢測(cè)(平均準(zhǔn)確率98.3%)[1]。這一精度是在單個(gè)陶瓷基板圖像分辨率為608×608 的條件下取得的。由于陶瓷基板尺寸較小,實(shí)際生產(chǎn)過(guò)程中,一個(gè)較大的基板片上需要制作多個(gè)行列排布的陶瓷基板,在保證上述圖像分辨率的條件下,要完成整個(gè)基板片上所有陶瓷基板的圖像采集,需要頻繁移動(dòng)圖像采集設(shè)備,從而導(dǎo)致較長(zhǎng)的圖像采集時(shí)間,不利于檢測(cè)速度的提高。為了提高檢測(cè)速度,一個(gè)潛在的方法是擴(kuò)大圖像采集設(shè)備的視場(chǎng)(Field of View, FOV),實(shí)現(xiàn)多個(gè)陶瓷基板完整信息的同時(shí)采集;從而減少圖像采集設(shè)備的移動(dòng)頻次,達(dá)到節(jié)約圖像采集時(shí)間的目的。但FOV的增加,也導(dǎo)致了單個(gè)陶瓷基板的分辨率下降。陶瓷基板分辨率的下降(稱(chēng)之為低分辨率陶瓷基板圖像)帶來(lái)了瑕疵像素尺寸的縮小,給瑕疵(特別是小尺寸瑕疵)檢測(cè)帶來(lái)困難,導(dǎo)致大量的漏檢和誤檢現(xiàn)象產(chǎn)生。因此,提高低分辨率陶瓷基板圖像上的瑕疵檢測(cè)精度對(duì)于滿(mǎn)足實(shí)際生產(chǎn)中對(duì)瑕疵檢測(cè)快速性的要求具有重要價(jià)值。
目前主要通過(guò)超分辨率重建方法[2]和知識(shí)蒸餾方法[3]來(lái)提高低分辨率圖像上的目標(biāo)檢測(cè)性能。超分辨率重建方法是指利用無(wú)監(jiān)督方法或者有監(jiān)督方法重建出高分辨率圖像,然后再利用目標(biāo)檢測(cè)網(wǎng)絡(luò)對(duì)目標(biāo)進(jìn)行檢測(cè),該方法雖然能通過(guò)還原出高分辨率圖像的特征信息從而提高檢測(cè)性能,但檢測(cè)高分辨率圖像的速度也會(huì)隨之降低,而在本文任務(wù)中,隨著FOV 的增加,相同時(shí)間內(nèi)需要檢測(cè)的圖像也隨之增加,因此該方法無(wú)法滿(mǎn)足本文檢測(cè)任務(wù)對(duì)實(shí)時(shí)性的要求。
知識(shí)蒸餾的基本思想是構(gòu)建教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò),基于神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的策略,利用教師網(wǎng)絡(luò)學(xué)習(xí)到的信息指導(dǎo)學(xué)生網(wǎng)絡(luò)的訓(xùn)練,從而使得學(xué)生網(wǎng)絡(luò)獲得更好的性能。目前知識(shí)蒸餾算法主要用于深度神經(jīng)網(wǎng)絡(luò)的模型壓縮,以獲得相對(duì)于教師網(wǎng)絡(luò)更加輕量化且性能良好的學(xué)生網(wǎng)絡(luò)[4-10]。最近,QI 等[3]為提高低分辨率圖像的目標(biāo)檢測(cè)性能,利用知識(shí)蒸餾策略將教師網(wǎng)絡(luò)學(xué)習(xí)到的高分辨率圖像特征信息用于指導(dǎo)學(xué)生網(wǎng)絡(luò)的訓(xùn)練。取得了較好的低分辨率圖像下的目標(biāo)檢測(cè)性能。
受QI[3]的工作啟發(fā),本文將知識(shí)蒸餾思想引入到低分辨率陶瓷基板圖像的瑕疵檢測(cè),基于YOLOv5 框架構(gòu)建由教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)組成的知識(shí)蒸餾模型YOLOv5-CSKD,利用教師網(wǎng)絡(luò)學(xué)到的高分辨率特征信息指導(dǎo)學(xué)生網(wǎng)絡(luò)的訓(xùn)練,從而使得學(xué)生模型能夠?qū)W習(xí)到低分辨率圖像特征在高分辨圖像中的特征分布,同時(shí),在教師網(wǎng)絡(luò)中引入基于 Coordinate Attention (CA)[11]注意力思想的特征融合模塊,使得教師網(wǎng)絡(luò)學(xué)習(xí)到的特征同時(shí)適應(yīng)高分辨率圖像信息和低分辨率圖像信息,從而能較好的指導(dǎo)學(xué)生網(wǎng)絡(luò)的訓(xùn)練;仿真結(jié)果表明,基于知識(shí)蒸餾的陶瓷基板瑕疵檢測(cè)模型YOLOv5-CSKD 能夠取得了96.80%的平均準(zhǔn)確率和90.01%的平均準(zhǔn)確率的檢測(cè)性能。
YOLOv5 算法主要由主干網(wǎng)絡(luò)(backbone)、頸部網(wǎng)絡(luò)(neck)、以及頭部網(wǎng)絡(luò)(head)三部分組成。其中主干網(wǎng)絡(luò)與CSPDarknet53 類(lèi)似,采用多層次結(jié)構(gòu)網(wǎng)絡(luò),提取輸入圖像的不同尺度的特征圖,每一層均由卷積塊CBS(Conv+Batch-Norm+Silu)和殘差結(jié)構(gòu)組成殘差塊,在減少計(jì)算量,緩解梯度消失的同時(shí)保證了特征提取的完整性;頸部網(wǎng)絡(luò)為PANet[12],利用從底到頂?shù)耐ǖ篮蛷捻數(shù)降椎耐ǖ?,將高層和低層的特征圖進(jìn)行融合編碼,以增強(qiáng)特征圖的信息表達(dá);頭部網(wǎng)絡(luò)將融合之后的特征圖進(jìn)行解碼,得到最后的預(yù)測(cè)結(jié)果(目標(biāo)的種類(lèi)及位置信息)。YOLOv5 的損失函數(shù)如式(1)~式(4)所示。
其中:LOSS 表示模型訓(xùn)練總的損失函數(shù),LOSSreg為定位損失函數(shù),LOSSconf為置信度損失函數(shù),LOSScls為分類(lèi)損失函數(shù)。1objij代表預(yù)測(cè)輸出中第i網(wǎng)格內(nèi)第j預(yù)測(cè)框內(nèi)有目標(biāo);S2代表每個(gè)特征層上面有S×S個(gè)單元格;B=3,代表每個(gè)單元格內(nèi)有3 個(gè)預(yù)測(cè)框;bij,b?ij為預(yù)測(cè)框和真實(shí)框;IoU,ρ2,c2分別表示兩個(gè)框的交并比值,中心點(diǎn)歐氏距離和最小閉包區(qū)域的對(duì)角線距離;v為長(zhǎng)寬比一致性;Cij,C?ij分別為置信度的真實(shí)值和預(yù)測(cè)值;α,λnoobj為權(quán)重系數(shù);1noobjij代表第i網(wǎng)格內(nèi)第j預(yù)測(cè)框內(nèi)無(wú)目標(biāo);P ij(c),P?ij(c)表示目標(biāo)屬于每一類(lèi)的概率的真實(shí)值和預(yù)測(cè)值。
最后,通過(guò)置信度閾值的設(shè)置來(lái)過(guò)濾掉得分較低的邊界框,對(duì)剩下的邊界框進(jìn)行非極大值抑制(Non-Maximum Suppression, NMS)操作來(lái)剔除重復(fù)的邊界框,從而實(shí)現(xiàn)目標(biāo)檢測(cè)。
知識(shí)蒸餾是指由教師-學(xué)生網(wǎng)絡(luò)組成的訓(xùn)練網(wǎng)絡(luò),通常是已訓(xùn)練好的教師模型提供知識(shí),學(xué)生模型通過(guò)蒸餾訓(xùn)練來(lái)獲取教師的知識(shí)。傳統(tǒng)的目標(biāo)分類(lèi)或檢測(cè)任務(wù)中,一般采用“0”和“1”硬標(biāo)簽方式對(duì)數(shù)據(jù)進(jìn)行標(biāo)注,但此標(biāo)注方式使得標(biāo)簽中包含較少的類(lèi)間關(guān)系,而知識(shí)蒸餾則采用教師網(wǎng)絡(luò)的輸出概率作為標(biāo)簽,可以較好地表達(dá)類(lèi)間的相關(guān)性。
高分辨率的大尺寸圖片包含著目標(biāo)更詳細(xì)的信息,因而可以使目標(biāo)檢測(cè)網(wǎng)絡(luò)獲得更好的性能。但是高分辨率圖片在深度學(xué)習(xí)網(wǎng)絡(luò)中的計(jì)算量和內(nèi)存量是巨大的,實(shí)際運(yùn)用時(shí)需要綜合考慮計(jì)算速度與計(jì)算量。同時(shí),在高分辨率圖片上訓(xùn)練的網(wǎng)絡(luò)模型無(wú)法直接用于預(yù)測(cè)低分辨率的圖片。借助于知識(shí)蒸餾的方法,可以將高分辨率的復(fù)雜教師模型所學(xué)習(xí)到的知識(shí)遷移到低分辨率的高效學(xué)生模型中[13]。例如,F(xiàn)u 等人[14]將教師模型所學(xué)習(xí)的空間和時(shí)間知識(shí)遷移到低分辨率的輕量級(jí)時(shí)空網(wǎng)絡(luò)中來(lái)執(zhí)行視頻注意預(yù)測(cè)任務(wù)。
在利用知識(shí)蒸餾進(jìn)行模型壓縮時(shí),輸入圖像為相同尺寸,模型無(wú)需考慮輸入尺寸帶來(lái)的特征尺寸不一致的問(wèn)題,但在利用知識(shí)蒸餾提高低分辨率圖像檢測(cè)性能的方法中,由于許多網(wǎng)絡(luò)結(jié)構(gòu)采用多尺度的思想來(lái)檢測(cè)不同尺寸大小的目標(biāo),使得學(xué)生網(wǎng)絡(luò)和教師網(wǎng)絡(luò)進(jìn)行蒸餾的特征圖來(lái)自于不同深度的特征層,因此需要對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行設(shè)計(jì)使得進(jìn)行知識(shí)蒸餾的教師網(wǎng)絡(luò)特征與學(xué)生網(wǎng)絡(luò)特征的尺寸一致。
考慮到性能和實(shí)時(shí)性,本文以YOLOv5l 作為教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的主要網(wǎng)絡(luò)結(jié)構(gòu),在此基礎(chǔ)上實(shí)現(xiàn)基于知識(shí)蒸餾的目標(biāo)檢測(cè)算法設(shè)計(jì)。
本文的知識(shí)蒸餾主要關(guān)注頸部特征層的知識(shí)蒸餾。YOLOv5 網(wǎng)絡(luò)的輸出由3 層預(yù)測(cè)支路組成,每一層的特征尺寸和通道數(shù)都不相同,因此,當(dāng)教師網(wǎng)絡(luò)采用高分辨率圖像進(jìn)行訓(xùn)練,而學(xué)生網(wǎng)絡(luò)采用低分辨率圖像進(jìn)行訓(xùn)練時(shí),相同大小尺寸的特征層通道數(shù)不相同,而相同通道數(shù)的特征層則尺寸大小不同,使得無(wú)法有效進(jìn)行知識(shí)蒸餾訓(xùn)練。為了使教師網(wǎng)絡(luò)的特征信息能夠指導(dǎo)學(xué)生網(wǎng)絡(luò)的訓(xùn)練,需要采用卷積網(wǎng)絡(luò)將教師網(wǎng)絡(luò)或?qū)W生網(wǎng)絡(luò)的特征層進(jìn)行處理,使得進(jìn)行知識(shí)蒸餾兩個(gè)網(wǎng)絡(luò)的特征層的尺寸和通道數(shù)在同一層級(jí)上相同。
在教師網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,若僅采用高分辨率圖像作為訓(xùn)練數(shù)據(jù),會(huì)使得教師網(wǎng)絡(luò)學(xué)習(xí)到的特征偏向于高分辨率圖像的信息分布,導(dǎo)致學(xué)生網(wǎng)絡(luò)的性能提升有限,因此在教師網(wǎng)絡(luò)的訓(xùn)練過(guò)程中同時(shí)利用高分辨率圖像和低分辨率圖像作為輸入,使得教師網(wǎng)絡(luò)不僅能學(xué)習(xí)到高分辨率圖像下更精細(xì)的特征信息,也能適應(yīng)低分辨率圖像下的信息分布。
教師網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖1 所示,左側(cè)為高分辨率圖像(448×448)輸入學(xué)習(xí)到的特征,右側(cè)為低分辨率圖像(224×224)輸入學(xué)習(xí)到的特征,二者采用同一網(wǎng)絡(luò)結(jié)構(gòu),其中,CI,C'I(I=0,1,…,5) 為主干網(wǎng)絡(luò)的特征,PJ,P'J(J=2,3,…,5)為頸部網(wǎng)絡(luò)的中間特征,NS,N'S(S=2,3,…,5) 為頸部網(wǎng)絡(luò)的輸出特征,F(xiàn)S(S=2,3,…,5)為融合之后的特征。由于輸入圖像的分辨率相差一倍,因此NS的特征尺寸大小是N'S的兩倍,如果利用卷積對(duì)NS進(jìn)行尺寸縮小會(huì)使得NS包含的特征信息被壓縮,從而導(dǎo)致小目標(biāo)檢測(cè)能力變?nèi)?。因此,本文選擇將與NS特征尺寸相同的N'S-1進(jìn)行通道壓縮,使其通道數(shù)與NS一致,這樣就將可以來(lái)自不同分辨率的特征進(jìn)行融合。
在原始YOLOv5 模型中,當(dāng)輸入分辨率較小,且數(shù)據(jù)集中的目標(biāo)尺寸偏小時(shí),較少的頂層特征信息會(huì)被激活去參與預(yù)測(cè),即N5這一條支路較少參與預(yù)測(cè),但若是直接去掉此支路則會(huì)導(dǎo)致性能下降,底層無(wú)法獲取從N5所在的層級(jí)傳遞的高維特征信息?;诖耍紤]到N'5沒(méi)有對(duì)應(yīng)的高分辨率圖像的特征尺寸與之對(duì)應(yīng),在設(shè)計(jì)特征融合時(shí),只利用N'4,N'3,N'2參與特征融合以及預(yù)測(cè)。由于N'2對(duì)應(yīng)的特征尺寸更大,有著更加精細(xì)化的特征,能在一定程度上提高小目標(biāo)檢測(cè)的能力。
教師網(wǎng)絡(luò)的損失函數(shù)如式(5)所示,其中LOSSh,LOSSl,LOSSf分別為高分辨率圖像的特征、低分辨率圖像的特征以及兩種分辨率圖像的融合特征經(jīng)過(guò)YOLOv5 頭部網(wǎng)絡(luò)所產(chǎn)生的預(yù)測(cè)損失(通過(guò)公式(1)計(jì)算得到);λ為超參數(shù),用來(lái)平衡損失中融合特征損失所占的比重。
為了使指導(dǎo)學(xué)生網(wǎng)絡(luò)訓(xùn)練的教師網(wǎng)絡(luò)特征同時(shí)能包含兩種分辨率圖像的信息,QI[3]設(shè)計(jì)了一個(gè)特征融合模塊,將來(lái)自不同分辨率圖像的特征進(jìn)行融合生成新的特征并參與教師網(wǎng)絡(luò)的損失函數(shù)計(jì)算,最后用這個(gè)融合特征指導(dǎo)學(xué)生網(wǎng)絡(luò)的訓(xùn)練,但QI 的特征融合方法僅給來(lái)自不同分辨率的特征賦予一個(gè)權(quán)重,無(wú)法從多維數(shù)據(jù)中選擇出更加全面有效的特征信息,因此本文基于CA 注意力的思想,提出了一個(gè)能夠同時(shí)關(guān)注通道和空間權(quán)重的輕量級(jí)特征融合模塊,即CAF(Coordinate Attention Fuse)模塊,模塊結(jié)構(gòu)圖如圖2 所示,其中,NS,NS-1',F(xiàn)S(S=3,4,5)分別為教師網(wǎng)絡(luò)、學(xué)生網(wǎng)絡(luò)的頸部結(jié)構(gòu)輸出特征和二者的融合特征。
圖2 特征融合模塊結(jié)構(gòu)圖Fig.2 Structure of feature fusion module
假 設(shè) 輸 入 為NS,NS-1, 其 中{NS,NS-1}∈RC×H×W,C為特征通道數(shù),H,W為特征尺寸的高和寬。首先,將NS,NS-1進(jìn)行通道拼接得到,然后分別沿著X,Y 方向 進(jìn) 行 Avg Pool 得 到分別反映了特征層在X,Y方向上的關(guān)聯(lián)性;將處理成同樣的維度并進(jìn)行通道拼接,然后經(jīng)過(guò)卷積操作,Non-linear 層之后,得到,使得特征層通道信息和空間信息發(fā)生了交互;將進(jìn)行分離并經(jīng)過(guò)卷積層以及Sigmoid 函數(shù)之后,得到,此時(shí)的融合了兩個(gè)特征之間的空間以及通道信息,然后將二者相乘得到權(quán)重矩陣hS∈R2C×H×W,分別將NS,NS-1與hS{0},hS{1}進(jìn)行矩陣相乘,然后將得到的結(jié)果相加得到最終的融合特征FS,其中,hS{0},hS{1}表示按hS的通道維度上的索引順序?qū)S分成維度為C×H×W的兩個(gè)特征塊。最后得到的融合特征FS不僅從高分辨率特征和低分辨率特征中選取了最合適的特征信息,而且同時(shí)考慮了通道和空間上的最優(yōu)特征信息。
學(xué)生網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖3 所示,學(xué)生網(wǎng)絡(luò)主要利用低分辨率圖像進(jìn)行檢測(cè),其主體網(wǎng)絡(luò)結(jié)構(gòu)與教師網(wǎng)絡(luò)一致,無(wú)特征融合模塊,在訓(xùn)練時(shí)直接加載教師網(wǎng)絡(luò)的權(quán)重進(jìn)行訓(xùn)練。
圖3 學(xué)生網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Structure of student network
學(xué)生網(wǎng)絡(luò)的損失函數(shù)如式(6)所示,學(xué)生網(wǎng)絡(luò)的損失主要包含兩部分,一部分是學(xué)生網(wǎng)絡(luò)自身低分辨率圖像輸入下的原始YOLOv5 損失,即LOSSl;另一部分是學(xué)生網(wǎng)絡(luò)頸部網(wǎng)絡(luò)輸出的特征NS-1與教師網(wǎng)絡(luò)的融合特征FS之間的知識(shí)蒸餾損失,即LOSSKD,其定義如式(7)所示,其中S∈[3,5],LOSSKD采用L1 損失度量NS-1與FS之間的差距;γ為超參數(shù),用來(lái)平衡學(xué)生網(wǎng)絡(luò)的損失函數(shù)中預(yù)測(cè)損失與知識(shí)蒸餾損失所占的比重。
當(dāng)模型訓(xùn)練至穩(wěn)定時(shí),一些類(lèi)內(nèi)差距較大或者數(shù)量較少的難檢測(cè)瑕疵樣本,其損失會(huì)被其他同類(lèi)的易檢測(cè)樣本或數(shù)量較多的其他類(lèi)樣本所抑制,使得其特征在訓(xùn)練過(guò)程中難以被有效學(xué)習(xí),從而導(dǎo)致模型對(duì)這些瑕疵的特征信息不敏感,造成漏檢。為了緩解這種情況,本文利用GHM 分類(lèi)損失函數(shù)(gradient harmonizing mechanism-classification, GHM-C)[15]改進(jìn)了模型的置信度損失函數(shù),學(xué)生網(wǎng)絡(luò)和教師網(wǎng)絡(luò)的置信度損失函數(shù)均采用改函數(shù)。具體實(shí)現(xiàn)步驟為:
(1)對(duì)于模型輸出的第k個(gè)預(yù)測(cè)框(k=1,…N,N為預(yù)測(cè)框的總數(shù)),按公式(8)計(jì)算其梯度模gk,其中Ck,C?k分別代表第k個(gè)預(yù)測(cè)框的置信度預(yù)測(cè)值與真實(shí)值;
(2)將置信度的輸出區(qū)間[0,1]按步長(zhǎng)劃分為若干等長(zhǎng)子區(qū)間St(t=1,…M,M為子區(qū)間數(shù)量),統(tǒng)計(jì)預(yù)測(cè)框的梯度模落在子區(qū)間St的數(shù)量Nt;計(jì)算得到各樣本的梯度密度調(diào)和參數(shù)βk(如式(9)所示);
(3)將原始模型計(jì)算的置信度交叉熵的梯度值分別乘上各自歸屬子區(qū)間的梯度密度調(diào)和參數(shù)βk,從而達(dá)到衰減其影響的目的(如式(10)所示)。
其中:LGHM-C表示最終的基于GHM-C 的置信度損失函數(shù),LCE表示交叉熵?fù)p失。修改之后模型最終的損失函數(shù)如式(11)所示,LOSS 是總的損失函數(shù),其中LOSSreg為定位損失函數(shù),LOSScls為分類(lèi)損失函數(shù)。最終的教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的損失函數(shù)LOSSh,LOSSl,LOSSf均由LOSS組成。
本次實(shí)驗(yàn)的操作系統(tǒng)為Windows 10(64位),CPU 為英特爾Core i9-10900X@3.70GHz,內(nèi)存為64 GB,GPU 為兩個(gè)NVIDIA GeForce RTX 3090,總顯存為48 GB。深度學(xué)習(xí)框架實(shí)現(xiàn)為Python Pytorch, GPU 加速庫(kù)為CUDA11.0。
本文需要檢測(cè)的陶瓷基板圖像如圖4(a)所示。其中方塊區(qū)域?yàn)殄兘饘?,本文所指的瑕疵都是指出現(xiàn)在鍍金層上的瑕疵。典型瑕疵主要有污漬、異物、多金、缺瓷以及損傷五類(lèi),部分瑕疵如圖4(b)所示。污漬瑕疵會(huì)出現(xiàn)鍍金層上任何一個(gè)區(qū)域,由于無(wú)法預(yù)測(cè)是何種物質(zhì)導(dǎo)致的污漬,因此無(wú)法定義一個(gè)通用的顏色信息或形狀信息去描述這種瑕疵,且污漬的尺寸跨度大、形狀多變;異物瑕疵大多來(lái)源于外界環(huán)境,因此形狀和顏色也具有多樣性及不定性,且由于陶瓷基板屬于高集成度的產(chǎn)品,圖像采集均是采用帶有顯微功能的相機(jī)完成,因此一些極細(xì)小的物質(zhì)也會(huì)被認(rèn)為是異物,并且很多異物的尺寸很小,給模型檢測(cè)帶來(lái)了很大的挑戰(zhàn);缺瓷瑕疵主要分布在鍍金層邊緣,主要是由于生產(chǎn)工藝不良造成鍍金不全,其形狀較小,屬于小目標(biāo)瑕疵;損傷瑕疵主要是鍍金層的劃傷或者刮傷,尺寸跨度大且形狀(線狀或帶狀)分布多變;多金瑕疵主要是由于設(shè)備或生產(chǎn)工藝問(wèn)題造成的鍍金層邊緣出現(xiàn)凸起,形狀較小,也屬于小目標(biāo)瑕疵,且分布區(qū)域多變。
圖4 陶瓷基板與部分瑕疵示意圖Fig.4 Schematic diagram of ceramic substrate and defects
采集的單張?zhí)沾苫逶紙D像經(jīng)過(guò)裁剪后分辨率約為1 637×1 175,按照生產(chǎn)需求,采集的圖像由原來(lái)的一次性采集1 個(gè)陶瓷基板到現(xiàn)在的一次性采集16 個(gè)陶瓷基板,如圖5 所示。裁剪后的單張?zhí)沾苫逶紙D像分辨率將降至410×294 左右,因此模型輸入分辨率需降至224×224左右。為了還原真實(shí)現(xiàn)場(chǎng)的低分辨率陶瓷基板瑕疵檢測(cè),本文實(shí)驗(yàn)的數(shù)據(jù)集由裁剪后的原始圖片分別降采樣至224×224 分辨率與448×448 分辨率,其中224×224 為低分辨率輸入圖像,448×448 為高分辨率輸入圖像。
圖5 相機(jī)拍照視野示意圖Fig.5 Schematic diagram of camera field of view
本實(shí)驗(yàn)共采集到2 413 張?zhí)沾苫鍒D像,經(jīng)過(guò)目標(biāo)區(qū)域提取預(yù)處理之后得到陶瓷基板數(shù)據(jù)集。按照文獻(xiàn)[16]的方式對(duì)2 215 張訓(xùn)練樣本進(jìn)行數(shù)據(jù)增強(qiáng),具體步驟為:從2 215 張圖片中裁剪出50 張包含典型瑕疵(多為樣本數(shù)較少的瑕疵)的子區(qū)域(每個(gè)區(qū)域只包含一種典型缺陷);并將這50 張子區(qū)域圖像進(jìn)行水平、垂直翻轉(zhuǎn),尺度的縮放,引入高斯噪聲(標(biāo)準(zhǔn)差為1.2)以及銳化操作等;最后將這些增強(qiáng)后的裁剪圖像“粘貼”至無(wú)瑕疵陶瓷基板圖像中可能出現(xiàn)瑕疵的區(qū)域,從而獲得增強(qiáng)后的圖片2 386 張,用作訓(xùn)練,剩余198張未增強(qiáng)圖片用作測(cè)試。使用LabelImg 圖像標(biāo)注軟件進(jìn)行人工標(biāo)注,數(shù)據(jù)集格式為VOC2007,后轉(zhuǎn)為YOLO 數(shù)據(jù)集格式。
本文的網(wǎng)絡(luò)訓(xùn)練分為教師網(wǎng)絡(luò)訓(xùn)練和學(xué)生網(wǎng)絡(luò)訓(xùn)練。教師網(wǎng)絡(luò)訓(xùn)練階段,總訓(xùn)練Epoch 為200 次,批量大?。˙atch size)為32,初始學(xué)習(xí)率為0.01,warm_up 的Epoch 數(shù)為3、動(dòng)量為0.8、初始bias_lr 為0.1,權(quán)重衰減系數(shù)為0.000 5,使用隨機(jī)梯度下降法(SGD)進(jìn)行優(yōu)化,動(dòng)量等于0.937。本文將超參數(shù)λ設(shè)為0.8。
學(xué)生網(wǎng)絡(luò)訓(xùn)練階段,總訓(xùn)練Epoch為200次,批量大?。˙atch size)為64,初始學(xué)習(xí)率為0.01,warm_up 的Epoch 數(shù)為3、動(dòng)量為0.8、初始bias_lr為0.1,權(quán)重衰減系數(shù)為0.0005,使用隨機(jī)梯度下降法(SGD) 進(jìn)行優(yōu)化,動(dòng)量等于0.937,知識(shí)蒸餾采用的溫度系數(shù)為3.0。本文將超參數(shù)γ設(shè)為0.4。
4.5.1 不同檢測(cè)算法的結(jié)果對(duì)比
本文選取準(zhǔn)確率、召回率作為評(píng)判模型性能的指標(biāo),計(jì)算公式如式(12),式(13)所示:
其中:TP 表示將正例預(yù)測(cè)為正例的個(gè)數(shù),F(xiàn)P 表示將反例預(yù)測(cè)為正例的個(gè)數(shù),F(xiàn)N 表示將正例預(yù)測(cè)為反例的個(gè)數(shù)。
待檢測(cè)圖片數(shù)量共198 張,每張圖片包含1至5 種類(lèi)別的瑕疵,污漬、異物、多金、損傷以及缺瓷五種瑕疵的檢測(cè)結(jié)果如表1 所示。
表1 瑕疵檢測(cè)結(jié)果Tab.1 Results of defect detection
由表1 可知,本文提出的算法對(duì)于陶瓷基板中污漬、異物、多金、損傷以及缺瓷五種不同種類(lèi)瑕疵的檢測(cè)準(zhǔn)確率已基本達(dá)到87.88%以上,召回率均已基本達(dá)到85.29%以上。其中,多金和缺瓷的檢測(cè)效果較差,其原因可能為:一方面這兩種瑕疵的樣本數(shù)量較少,因此在訓(xùn)練時(shí)勢(shì)必會(huì)受到影響;另一方面,這兩種瑕疵尺寸相對(duì)較小,當(dāng)圖片分辨率降低時(shí),模型能夠關(guān)注的像素變少,因此檢測(cè)性能較差。
為了進(jìn)一步驗(yàn)證本文算法在陶瓷基板瑕疵檢測(cè)上的有效性,將本文算法與常見(jiàn)的目標(biāo)檢測(cè)算法Faster R-CNN[17],Cascade RCNN[18],YOLOv4[19],YOLOX[20],YOLOv6[21],YOLOv7[22]以及改進(jìn)前的YOLOv5 在本文數(shù)據(jù)集上進(jìn)行對(duì)比試驗(yàn),采用原文作者的實(shí)驗(yàn)參數(shù),未采用知識(shí)蒸餾的模型均訓(xùn)練400 Epoch,選取平均準(zhǔn)確率、平均召回率作為評(píng)價(jià)指標(biāo),不同算法的性能如表2所示。表2 中的“-”表示該模型在給定的訓(xùn)練次數(shù)下實(shí)驗(yàn)未收斂。
表2 不同算法瑕疵檢測(cè)結(jié)果Tab.2 Defect detection results of different algorithms
根據(jù)表2,本為提出的YOLOv5-CSKD 算法對(duì)陶瓷基板瑕疵檢測(cè)平均準(zhǔn)確率和平均準(zhǔn)確率分別達(dá)到了96.80%和90.01%,相比于原始的YOLOv5 算法,分別提高了6.99%和8.81%,且相比于原始YOLOv5 模型,本文提出的YOLOv5-CSKD 算法在224×224 分辨率下的檢測(cè)時(shí)間相差較小。在224×224 分辨率下所有對(duì)比算法中,YOLOv5-CSKD 具有最好的性能,說(shuō)明本文提出創(chuàng)新的有效性。
圖6 給出了陶瓷基板典型瑕疵輸入為224×224 分辨率的檢測(cè)結(jié)果(局部截圖)。圖6 中(a)~(e)的檢測(cè)結(jié)果依次為YOLOv4,YOLOv5,YOLOX,YOLOv6,YOLOv5-CKSD。
圖6 不同模型的局部檢測(cè)結(jié)果Fig.6 Local detection results of different models
從圖6 中可以看出,在(224×224)的輸入分辨率下,YOLOv4 的檢測(cè)結(jié)果相對(duì)較差。原始YOLOv5,YOLOX,YOLOv6 均存在不同程度的漏檢,其中,原始的YOLOv5 檢測(cè)結(jié)果明顯好于YOLOX,YOLOv6,所以本文采用YOLOv5 作為基準(zhǔn)研究模型。對(duì)比原始YOLOv5 以及YOLOv5-CKSD,可以得出,YOLOv5-CKSD 能有效檢測(cè)出原始YOLOv5 模型無(wú)法檢測(cè)出的瑕疵,因此可以證明本文提出的模型YOLOv5-CKSD 在低分辨率陶瓷基板輸入下的檢測(cè)性能較其他方法有明顯提升。
4.5.2 對(duì)比實(shí)驗(yàn)
為了驗(yàn)證本文提出的特征融合模塊CFA 的有效性,本文針對(duì)該模塊進(jìn)行了對(duì)比實(shí)驗(yàn)。對(duì)比實(shí)驗(yàn)結(jié)果如表3 所示,其中,SUM 表示低分辨率特征和高分辨特征直接逐像素相加,C-FF 為QI[3]提出的特征融合方式,CAF 為本文提出的特征融合方式。三種融合特征融合方式的局部對(duì)比結(jié)果如圖7 所示。
表3 不同特征融合方式的實(shí)驗(yàn)結(jié)果Tab.3 Experimental results of different feature fusion methods
從表3 中可以看出,在對(duì)YOLOv5 進(jìn)行知識(shí)蒸餾時(shí),基于SUM 融合方式與基于C-FF 融合模塊的性能差距較小,本文提出CAF 模塊具有更好的結(jié)果,獲得了96.80%的平均準(zhǔn)確率和90.01%的平均準(zhǔn)確率。從圖7 中可以看出,在低分辨率輸入下,SUM 和C-FF 對(duì)小目標(biāo)信息的敏感度較低,無(wú)法準(zhǔn)確檢測(cè)出瑕疵,而本文提出的CAF 模塊則能準(zhǔn)確檢測(cè)出圖像中的瑕疵。
4.5.3 消融實(shí)驗(yàn)
為了驗(yàn)證在置信度損失函數(shù)中添加GHM-C對(duì)模型性能提升的有效性,本文分別進(jìn)行了消融實(shí)驗(yàn),實(shí)驗(yàn)采用的模型使用不同置信度損失函數(shù),其他設(shè)置以及參數(shù)相同,模型輸入分辨率為224×224,消融實(shí)驗(yàn)結(jié)果如表4 所示。
表4 采用不同置信度損失函數(shù)的對(duì)比實(shí)驗(yàn)結(jié)果Tab.4 Comparative experimental results using different confidence loss functions
從表中可以看出,只給教師網(wǎng)絡(luò)采用GHMC 會(huì)導(dǎo)致學(xué)生網(wǎng)絡(luò)的平均每準(zhǔn)確率和平均召回率略有降低,可能原因?yàn)榻處熅W(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)采用的置信度損失函數(shù)不同,因此使得知識(shí)蒸餾效果產(chǎn)生負(fù)面效果;只給學(xué)生網(wǎng)絡(luò)添加GHM-C 使得學(xué)生網(wǎng)絡(luò)學(xué)習(xí)的特征與教師網(wǎng)絡(luò)有所不同,從而導(dǎo)致學(xué)生網(wǎng)絡(luò)無(wú)法從教師網(wǎng)絡(luò)獲得正確的信息,因此學(xué)生網(wǎng)絡(luò)的平均召回率明顯提升,但是預(yù)測(cè)出許多錯(cuò)誤的結(jié)果,平均準(zhǔn)確率略有降低;同時(shí)給教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)使用GHM-C 不僅使得模型的召回率提升,同時(shí)準(zhǔn)確率也有提升,在之前組合中許多被誤檢的目標(biāo)在這個(gè)組合中能夠準(zhǔn)確地被檢測(cè)出。因此本文提出的YOLOv5-CSKD 在教師網(wǎng)絡(luò)中和學(xué)生網(wǎng)絡(luò)中均采用GHM-C 作為置信度損失函數(shù)訓(xùn)練。
針對(duì)目前陶瓷基板瑕疵檢測(cè)在低分辨率輸入圖像上不足之處,論文將知識(shí)蒸餾引入到陶瓷基板瑕疵檢測(cè)中,基于YOLOv5 網(wǎng)絡(luò)模型設(shè)計(jì)了教師網(wǎng)絡(luò)以及學(xué)生網(wǎng)絡(luò),并設(shè)計(jì)了特征融合模塊同時(shí)融合高分率圖像特征和低分辨率圖像特征,用融合之后的特征對(duì)學(xué)生網(wǎng)絡(luò)進(jìn)行知識(shí)蒸餾,可以使得學(xué)生網(wǎng)絡(luò)學(xué)習(xí)到更加全面的信息。實(shí)驗(yàn)結(jié)果表明,基于知識(shí)蒸餾的陶瓷基板瑕疵檢測(cè)算法對(duì)低分辨率陶瓷基板圖像的五種不同類(lèi)型的瑕疵均取得更好地檢測(cè)效果,平均準(zhǔn)確率和平均準(zhǔn)確率分別達(dá)到了96.80%和90.01%。本文僅較多考慮了YOLOv5 網(wǎng)絡(luò)與知識(shí)蒸餾算法的結(jié)合,在后續(xù)的研究中,我們將對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化改進(jìn),實(shí)現(xiàn)檢測(cè)性能更優(yōu)、模型更輕量化。