劉坤,王丁,王靜凱,陳海永,劉衛(wèi)朋
(河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300131)
作為光伏發(fā)電核心部件的光伏電池在生產(chǎn)過(guò)程中不可避免會(huì)出現(xiàn)缺陷.這些缺陷會(huì)降低光伏電池板的光電轉(zhuǎn)換效率和使用壽命,嚴(yán)重者可能產(chǎn)生安全隱患,因此,生產(chǎn)環(huán)節(jié)中的光伏電池質(zhì)量檢測(cè)是必不可少的.基于機(jī)器視覺(jué)的光伏電池表面缺陷檢測(cè)技術(shù)對(duì)于提升光伏電池產(chǎn)品質(zhì)量、提高光伏電池生產(chǎn)行業(yè)的智能化制造水平具有重要意義.
近年來(lái),基于深度學(xué)習(xí)的工業(yè)缺陷識(shí)別方法被不斷提出.Chen等[1]提出用于光伏電池表面缺陷分類的多光譜深度卷積神經(jīng)網(wǎng)絡(luò).Su等[2]提出RCAG-Net模型,通過(guò)注意力機(jī)制提高光伏電池缺陷分類的性能.Yu等[3]提出用于晶圓表面缺陷識(shí)別的堆疊卷積稀疏降噪自動(dòng)編碼器.Miao等[4]提出將連續(xù)小波變換與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的焊縫缺陷檢測(cè)模型.Li等[5]提出多層特征融合模塊,提升深度檢測(cè)模型對(duì)地鐵隧道面缺陷的檢測(cè)能力.
目前,高度依賴大規(guī)模高質(zhì)量標(biāo)注數(shù)據(jù)的深度缺陷識(shí)別方法在封閉場(chǎng)景下取得了良好的效果,但在跨場(chǎng)景情況下,某一場(chǎng)景數(shù)據(jù)訓(xùn)練的深度模型無(wú)法應(yīng)用在其他場(chǎng)景.域泛化方法通過(guò)提升模型的泛化能力,使某一場(chǎng)景數(shù)據(jù)訓(xùn)練的深度模型廣泛應(yīng)用到多種場(chǎng)景中.基于數(shù)據(jù)操作的域泛化方法[6-10]旨在生成多種不同風(fēng)格樣式的數(shù)據(jù),使訓(xùn)練階段的數(shù)據(jù)多樣化和豐富化,從而提升模型的泛化能力.在基于數(shù)據(jù)操作的域泛化缺陷識(shí)別方法中,Wang等[11]通過(guò)使用與目標(biāo)任務(wù)相關(guān)的數(shù)據(jù)對(duì)模型進(jìn)行預(yù)訓(xùn)練,并在微調(diào)階段設(shè)計(jì)噪聲正則化策略從而提升缺陷檢測(cè)的泛化性能.Duan等[12]在數(shù)據(jù)層面通過(guò)原始域和增強(qiáng)域聯(lián)合更新參數(shù),并在特征層面增加擾動(dòng),來(lái)提高每個(gè)元任務(wù)中缺陷識(shí)別的泛化能力.基于特征學(xué)習(xí)的域泛化方法[13-16]則是通過(guò)減少不同樣式數(shù)據(jù)間的差異,使學(xué)習(xí)到的模型能夠?qū)床灰?jiàn)的域具有泛化的能力.在特征學(xué)習(xí)的域泛化缺陷識(shí)別方法中,Xie等[17]通過(guò)減少由不同材料引起的域偏移的影響,提高模型對(duì)射焊接缺陷識(shí)別的性能.Zhou等[18]通過(guò)集成分割網(wǎng)絡(luò)和分類網(wǎng)絡(luò)的2階段跨域缺陷檢測(cè)網(wǎng)絡(luò)挖掘跨域數(shù)據(jù)中隱藏的價(jià)值,從而提升模型對(duì)工業(yè)產(chǎn)品表面缺陷識(shí)別的性能.Ma等[19]設(shè)計(jì)雙編碼器從不同分辨率的圖像中提取多尺度特征并將這些特征通過(guò)跨尺度融合模塊進(jìn)行自適應(yīng)融合,緩解由跨場(chǎng)景軌道外觀不一致引起的域偏移問(wèn)題.
在以實(shí)例級(jí)歸一化(instance normalization,IN)為代表的基于特征學(xué)習(xí)的域泛化方法中,Nam等[20]在保證模型泛化能力的同時(shí),通過(guò)選擇性地使用批歸一化和實(shí)例級(jí)歸一化來(lái)提升模型對(duì)任務(wù)特征的把握.Jin等[21]提出風(fēng)格歸一化和恢復(fù)模塊,利用通道注意力從殘差中提取與任務(wù)相關(guān)的鑒別特征,確保網(wǎng)絡(luò)對(duì)行人重識(shí)別任務(wù)的識(shí)別性.Tang等[22]先進(jìn)行特征級(jí)風(fēng)格擴(kuò)充,而后重新校準(zhǔn)統(tǒng)計(jì)數(shù)據(jù)來(lái)彌合訓(xùn)練分布和測(cè)試分布之間的差距,提升模型泛化能力.
實(shí)例級(jí)歸一化僅對(duì)不同特征通道做歸一化操作,并不能直接參與到缺陷檢測(cè)的學(xué)習(xí)過(guò)程中,會(huì)不可避免地丟失一些缺陷的鑒別特征.為此,本研究提出基于特征過(guò)濾與特征解耦的域泛化(feature filtering and feature decoupling based domain generalization,F(xiàn)F-FDDG)模型,該模型通過(guò)亮度過(guò)濾-殘差模塊(luminance filtering-residual module,LFR)和對(duì)比白化損失(contrast whitening loss,CWL)函數(shù),實(shí)現(xiàn)在降低實(shí)例級(jí)歸一化無(wú)任務(wù)性造成的影響的同時(shí)提取亮度不變的缺陷特征,提升模型的泛化能力.所提出的亮度過(guò)濾-殘差模塊通過(guò)實(shí)例歸一化過(guò)濾亮度特征,并從被過(guò)濾的特征中提取與缺陷相關(guān)的特征,緩解實(shí)例級(jí)歸一化無(wú)任務(wù)性導(dǎo)致的缺陷特征區(qū)分性差的問(wèn)題.提出對(duì)比白化損失函數(shù)用于解耦特征中的亮度變換特征和紋理特征,引導(dǎo)模型學(xué)習(xí)亮度不變的缺陷紋理特征,以提升模型在跨場(chǎng)景亮度變換情況下的泛化能力.
針對(duì)跨場(chǎng)景情況下由圖像亮度變換引起的深度缺陷檢測(cè)模型性能下降問(wèn)題,所設(shè)計(jì)的基于特征過(guò)濾與特征解耦的域泛化模型如圖1所示.圖中,CN為特征級(jí)風(fēng)格調(diào)換模塊.
圖1 基于特征過(guò)濾與特征解耦的域泛化模型Fig.1 Feature filtering and feature decoupling based domain generalization model
為了降低實(shí)例級(jí)歸一化無(wú)任務(wù)性造成的缺陷特征鑒別信息丟失的問(wèn)題,提出亮度過(guò)濾-殘差模塊,如圖2所示.
圖2 亮度過(guò)濾-殘差模塊Fig.2 Luminance filtering-residual module
如圖3所示為同一張光伏電池圖像不同通道的淺層特征在經(jīng)過(guò)實(shí)例級(jí)歸一化前后的可視化結(jié)果.可以看出,實(shí)例級(jí)歸一化雖然引入了外觀不變性,但實(shí)例級(jí)歸一化后特征中缺陷的鑒別性信息有所下降.
圖3 實(shí)例級(jí)歸一化前后的特征對(duì)比Fig.3 Feature comparison before and after instance normalization
式中:Fi為第i層特征圖,σ (Fi) 和μ (Fi) 分別表 示原特征第i層特征圖的標(biāo)準(zhǔn)差和均值,F(xiàn)CN,i為經(jīng)過(guò)特征級(jí)風(fēng)格調(diào)換模塊后的第i層特征圖和分別表示經(jīng)過(guò)特征級(jí)風(fēng)格調(diào)換模塊后第i層特征圖的標(biāo)準(zhǔn)差和均值.
特征級(jí)風(fēng)格調(diào)換模塊[20]的表達(dá)式如下:
經(jīng)過(guò)實(shí)例級(jí)歸一化后F和FCN被剔除的信息可以表示為
式中:FIN為F經(jīng)過(guò)實(shí)例級(jí)歸一化后的結(jié)果,F(xiàn)CN_IN為FCN經(jīng)過(guò)實(shí)例級(jí)歸一化的結(jié)果.
通道注意力機(jī)制可以自適應(yīng)地提高關(guān)注點(diǎn)的表示,從而關(guān)注重要特征并抑制不必要的特征,為了從被實(shí)例級(jí)歸一化濾除的信息中提取缺陷相關(guān)的特征,使用通道注意力對(duì)任務(wù)相關(guān)特征進(jìn)行自適應(yīng)精餾,通道注意力的蒸餾向量可以表示為
式中:ω1和ω2為全連接層參數(shù),Relu 為Relu激活函數(shù),Sigmoid 為Sigmoid 激活函數(shù),pool為全局平均池化.由于F和FCN為同一圖像僅經(jīng)過(guò)不同層風(fēng)格調(diào)換的結(jié)果,對(duì)于Fsub和FCN_sub使用同一a對(duì)任務(wù)相關(guān)特征進(jìn)行自適應(yīng)精餾從而降低非必要的計(jì)算開(kāi)銷:
式中:ω3為全連接層.
為了解耦特征中的亮度變化特征和紋理特征,引導(dǎo)模型學(xué)習(xí)缺陷紋理特征,提升模型的泛化能力,設(shè)計(jì)了對(duì)比白化損失,其計(jì)算流程如圖4所示.圖中,下標(biāo)S表示拉伸.
圖4 對(duì)比白化損失計(jì)算流程Fig.4 Calculation process of contrast whitening loss
具體而言,分別計(jì)算原特征F和 其經(jīng)過(guò)特征級(jí)風(fēng)格調(diào)換模塊后所得到的特征FCN的協(xié)方差矩陣:
式中:IN 為式(1)的實(shí)例級(jí)歸一化,H和W分別為特征圖的高度和寬度.2個(gè)協(xié)方差矩陣的方差矩陣V(V∈RC×C)可以表示為
式中:sqrt 為算數(shù)平方根,μ(X)′為X和XCN的均值.
式中:μ(X) 和μ (XCN) 為協(xié)方差矩陣X和XCN的均值.方差矩陣V表示相應(yīng)的協(xié)方差對(duì)亮度變換的敏感性,更高的方差值表示該部分特征包含更多的特定領(lǐng)域風(fēng)格,即與亮度變化相關(guān)的信息.為了識(shí)別這些元素,將方差矩陣V修改為上三角矩陣,即僅保留主對(duì)角線元素和主對(duì)角線上方元素:
對(duì)比白化損失的掩碼矩陣M(M∈RC×C)可以表示為
式中:Q為方差矩陣V中所有數(shù)值的前n% 的最小的數(shù)值.
對(duì)比白化損失可以表示為
式中:E表示算術(shù)平均值,⊙ 表示矩陣對(duì)應(yīng)位置相乘,||·||1表示矩陣的一階范數(shù).
最終的損失函數(shù)定義如下:
式中:Ldet為不同檢測(cè)器的檢測(cè)損失,λ 為對(duì)比白化損失的權(quán)重,N為對(duì)比白化損失所添加到的層數(shù).
為了驗(yàn)證所提出的方法的有效性,在生產(chǎn)場(chǎng)景采集的光伏電池片缺陷數(shù)據(jù)上進(jìn)行實(shí)驗(yàn),光伏電池缺陷檢測(cè)圖像采集設(shè)備如圖5所示.
圖5 光伏電池缺陷檢測(cè)圖像采集設(shè)備Fig.5 Acquisition equipment for photovoltaic cell defect detection image
光伏電池電致發(fā)光(electroluminescence,EL)圖像由近紅外相機(jī)捕獲光伏電池通電后發(fā)出的近紅外光得到.光伏電池的發(fā)電效率不同,且不同成像設(shè)備參數(shù)也并不完全一致,因此不同光伏電池圖像存在亮度差異.不同圖像亮度場(chǎng)景下的光伏電池EL缺陷圖像如圖6所示.圖中,c為亮度均值,p為歸一化后各個(gè)數(shù)據(jù)集圖像亮度均值的分布情況.
圖6 不同亮度圖像實(shí)例及其亮度分布Fig.6 Instances of images with different brightness and corresponding brightness distribution
不同圖像亮度場(chǎng)景下的光伏電池EL缺陷圖像示例如圖6(a)所示,該數(shù)據(jù)集包含3種不同亮度場(chǎng)景的光伏電池EL缺陷圖像,其中SEL_1包含圖像1 688張,SEL_2包含圖像1 309張,為了在更加廣泛的亮度變換情況下進(jìn)行實(shí)驗(yàn)驗(yàn)證,通過(guò)圖像亮度操作生成了與SEL_1和SEL_2亮度差異較大的SEL_3圖像951張.該數(shù)據(jù)集共包含4類缺陷:開(kāi)焊、漏焊、碎片以及隱裂,圖像的分辨率為398×380像素.由圖6(b)3個(gè)場(chǎng)景下的圖像亮度分布情況可以看出,SEL_1的圖像具備最低的亮度均值,SEL_3的圖像具備最高的亮度均值,同時(shí)3個(gè)場(chǎng)景圖像亮度統(tǒng)計(jì)曲線的峰值之間存在較大差距,即不同場(chǎng)景下采集到的數(shù)據(jù)具備較大的亮度差異.
實(shí)驗(yàn)使用的CPU為I7-11700K,GPU為NVIDIA GeForce RTX 3090O24G,操作系統(tǒng)為Win10,網(wǎng)絡(luò)模型使用PyTorch框架搭建.當(dāng)檢測(cè)框架為YOLOv7[24]時(shí),batch size=4,epoch=200,根據(jù)經(jīng)驗(yàn)設(shè)置損失函數(shù)中的λ=0.2,對(duì)比白化損失所添加到的層數(shù)N=3.當(dāng)檢測(cè)框架為Faster-RCNN[25]時(shí),batch size=4,epoch=100,考慮到檢測(cè)框架中骨干網(wǎng)絡(luò)的改變,根據(jù)經(jīng)驗(yàn)設(shè)置損失函數(shù)中的λ=0.3,對(duì)比白化損失所添加到的層數(shù)N=2.
為了對(duì)所提出方法的性能進(jìn)行統(tǒng)計(jì)性能評(píng)估,采用置信度為0.5,IoU為0.3情況下的平均精度 (average precision,AP)的和在所有類別下AP的均值 (mean average precision,mAP)評(píng)估不同方法在數(shù)據(jù)集上的有效性:
式中:Psmooth(i) 為平滑處理的PR曲線第i個(gè)均分點(diǎn)的Precision;r1,r2,r3,···,r100為按升序排列的Precision插值段第1個(gè)插值處對(duì)應(yīng)的recall值;k為類別數(shù),在本研究中k=4;A Pi表示第i類缺陷的AP.
為了驗(yàn)證所提出方法的有效性,分別以YOLOv7和Faster-RCNN這2個(gè)檢測(cè)框架為基線1和基線2,利用不同場(chǎng)景的光伏電池缺陷數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),并將所提方法與域泛化方法(實(shí)例級(jí)歸一化(IN)[13]、SNR[16]和CNSN[17])做比較.在每個(gè)檢測(cè)框架下設(shè)計(jì)6組實(shí)驗(yàn),分別為SEL_1 ?SEL_2,SEL_1 ? SEL_3,SEL_2 ? SEL_1,SEL_2 ?SEL_3,SEL_3 ? SEL_1以及SEL_3 ? SEL_2,每組實(shí)驗(yàn)均使用單一亮度場(chǎng)景數(shù)據(jù)進(jìn)行訓(xùn)練,其余亮度數(shù)據(jù)進(jìn)行測(cè)試.比如,SEL_1 ? SEL_2表示以SEL_1為訓(xùn)練數(shù)據(jù),以SEL_2為測(cè)試數(shù)據(jù).統(tǒng)計(jì)性能結(jié)果如表1、2所示.定義后文中的跨場(chǎng)景平均mAP為該方法在6組跨場(chǎng)景實(shí)驗(yàn)情況下的mAP均值.
表1 YOLOv7上不同場(chǎng)景及不同檢測(cè)模型下的統(tǒng)計(jì)性能結(jié)果Tab.1 Statistical performance results for different scenarios and different detectors on YOLOv7 %
由表1可以看出,以YOLOv7為基線1的方法在跨場(chǎng)景情況下的平均mAP為71.45%,在基線1的基礎(chǔ)上,實(shí)例級(jí)歸一化(IN)通過(guò)降低圖像亮度變化帶來(lái)的影響,將跨場(chǎng)景情況下的平均mAP提升到76.73%;針對(duì)實(shí)例級(jí)歸一化無(wú)任務(wù)性做出改進(jìn)的SNR通過(guò)通道注意力從被實(shí)例級(jí)歸一化濾除的特征信息中選擇性地返還缺陷相關(guān)特征,在跨場(chǎng)景情況下的平均mAP為78.36%,相較于IN提升了1.51%;CNSN的跨場(chǎng)景平均mAP僅為71.29%,相較于YOLOv7下降了0.16%,可以看出,在跨場(chǎng)景缺陷檢測(cè)任務(wù)中,對(duì)同一實(shí)例不同特征層間的風(fēng)格對(duì)調(diào)不僅不能較好地?cái)U(kuò)充特征信息,還會(huì)破壞缺陷的特征表示.FF-FDDG不僅通過(guò)亮度過(guò)濾-殘差模塊解決了實(shí)例級(jí)歸一化無(wú)任務(wù)性對(duì)缺陷特征提取的影響,并通過(guò)改進(jìn)的白化損失引導(dǎo)模型提取亮度不變信息,使得跨場(chǎng)景情況下的平均mAP提升到84.02%,相較于基線1提升了12.57%.
從表2可以看出,以Faster-RCNN為基線2的方法在跨場(chǎng)景情況下的平均mAP為60.94%,在此基礎(chǔ)上,實(shí)例級(jí)歸一化(IN)將跨場(chǎng)景情況下的平均mAP提升到63.10%,但受實(shí)例級(jí)歸一化無(wú)任務(wù)性的影響,在SEL_3 ? SEL_2情況下,其mAP下降到了61.10%.SNR的跨場(chǎng)景平均mAP為61.80%,雖然相較于Faster-RCNN的有0.87% 的提升,但較IN的下降了1.29%,CNSN的則相較于Faster-RCNN的下降了5.01%.FF-FDDG在保證跨場(chǎng)景情況都有性能提升的同時(shí),平均mAP提升到66.20%,相較基線2提升了5.30%.與基線1情況下的統(tǒng)計(jì)性能結(jié)果相佐.
表2 Faster-RCNN上不同場(chǎng)景及不同檢測(cè)模型下的統(tǒng)計(jì)性能結(jié)果Tab.2 Statistical performance results for different scenarios and different detectors on Faster-RCNN %
為了驗(yàn)證所提出的亮度過(guò)濾-殘差模塊和對(duì)比白化損失的有效性,分別以YOLOv7和Faster-RCNN為基線1和基線2對(duì)所提出亮度過(guò)濾-殘差模塊和對(duì)比白化損失進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3、4所示.表中,數(shù)據(jù)均為跨場(chǎng)景平均mAP.
表3 以YOLOv7為基線的消融實(shí)驗(yàn)結(jié)果Tab.3 Ablation experiment results with YOLOv7 as baseline %
由表3可以看出,相較于基線1,所提出的亮度過(guò)濾-殘差模塊使模型性能提升了12.57%,所提出的對(duì)比白化損失使模型性能進(jìn)一步提升了3.52%.由表4可以看出,在基線2檢測(cè)框架下,所提出的亮度過(guò)濾-殘差模塊和對(duì)比白化損失對(duì)模型的泛化都具有正向提升.
表4 以Faster-RCNN為基線的消融實(shí)驗(yàn)結(jié)果Tab.4 Ablation experiment results with Faster-RCNN as baseline %
為了驗(yàn)證所提方法的有效性,在SEL_1 ?SEL_2和SEL_1 ? SEL_3數(shù)據(jù)集上,以YOLOv7為基線,IN、LFR和LFR+CWL提取的淺層特征可視化結(jié)果如圖7所示.
圖7 不同場(chǎng)景特征可視化結(jié)果Fig.7 Visualization results of features in different scenarios
圖中,圖7(a)、(b)為SEL_2圖像的淺層特征可視化結(jié)果,圖7(c)、(d)為SEL_3圖像的淺層特征可視化結(jié)果.由圖7(a)、(b)、(c)、(d)的第2列可以看出,受跨場(chǎng)景亮度變化的影響,模型無(wú)法提取完整且清晰的缺陷特征.對(duì)于大尺度的缺陷,由圖7(c)第3列可以看出,實(shí)例級(jí)歸一化的引入使缺陷特征完整地展現(xiàn),由7(c)第4、5列可以看出,本研究所提出方法進(jìn)一步降低了亮度變化所帶來(lái)的影響,使缺陷特征更加完整且清晰.
對(duì)于小尺度的缺陷,由圖7(a)、(b)、(d)第3列可以看出,實(shí)例級(jí)歸一化的引入降低了細(xì)小缺陷的特征表示.由圖7(a)、(b)、(d)第4列和第3列可以看出,引入所提出的亮度過(guò)濾-殘差模塊相比較引入實(shí)例級(jí)歸一化的情況,可以更完整地提取小缺陷特征.進(jìn)一步的,從圖7(a)、(b)、(d)第5列可以看出,在所提出的亮度過(guò)濾-殘差模塊和對(duì)比白化損失(CWL)函數(shù)的共同作用下,模型可以完整精細(xì)地提取細(xì)小缺陷的特征.
為了驗(yàn)證所提方法可以在兼顧檢測(cè)效率的同時(shí)達(dá)到了較高的檢測(cè)精度,在YOLOv7和Faster_RCCN檢測(cè)框架下對(duì)比不同域泛化方法的檢測(cè)速度v和跨場(chǎng)景平均mAP,結(jié)果如表5所示.可以看出,F(xiàn)F-FDDG相較于性能最好的域泛化方法SNR在檢測(cè)速度方面下降了0.76幀/s,但所提方法在跨場(chǎng)景情況下相較于SNR的平均mAP提升了5.01%,綜上,F(xiàn)F-FDDG在兼顧檢測(cè)速度的同時(shí)達(dá)到了較高的檢測(cè)精度.
表5 不同域泛化方法檢測(cè)效率Tab.5 Detection efficiency of different domain generalization methods
通過(guò)分析現(xiàn)有基于實(shí)例級(jí)歸一化的域泛化方法存在的不足,發(fā)現(xiàn)本研究提出的FF-FDDG通過(guò)降低實(shí)例級(jí)歸一化無(wú)任務(wù)性的影響,在跨場(chǎng)景光伏電池表面缺陷數(shù)據(jù)上具備更強(qiáng)的泛化性能,能夠有效緩解跨場(chǎng)景缺陷檢測(cè)任務(wù)中由圖像亮度變換引起的深度缺陷檢測(cè)模型泛化能力差的問(wèn)題.不過(guò),在更寬泛且亮度變化更復(fù)雜的情況下仍有較大的研究空間.同時(shí),同一類缺陷在不同圖像亮度情況下邊緣信息不明確的情況也會(huì)對(duì)跨場(chǎng)景情況下的缺陷分割任務(wù)帶來(lái)更大的挑戰(zhàn),仍有待研究.