周得永 , 高龍琴
(揚(yáng)州大學(xué)機(jī)械工程學(xué)院,江蘇 揚(yáng)州 225127)
太陽(yáng)能作為綠色無(wú)污染的可再生能源正受到日益廣泛的關(guān)注且被廣泛應(yīng)用。作為太陽(yáng)能的發(fā)電載體,太陽(yáng)能電池也得到了大規(guī)模的應(yīng)用[1]。由于太陽(yáng)能電池在生產(chǎn)過(guò)程中可能會(huì)產(chǎn)生斷柵、隱裂等缺陷,而這些缺陷對(duì)電池的轉(zhuǎn)換效率和使用壽命有著嚴(yán)重的影響,嚴(yán)重時(shí)將危害太陽(yáng)能電池組件甚至整個(gè)光伏發(fā)電系統(tǒng)的穩(wěn)定性,因此缺陷檢測(cè)是太陽(yáng)電池生產(chǎn)過(guò)程中的重要環(huán)節(jié)。太陽(yáng)能電池板電致發(fā)光(EL)測(cè)試技術(shù)因具有操作簡(jiǎn)便、檢測(cè)速度快、成本較低等優(yōu)點(diǎn)而成為目前光伏行業(yè)常用的缺陷檢測(cè)技術(shù)之一[2]。隨著人工智能技術(shù)的發(fā)展,許多優(yōu)秀的深度學(xué)習(xí)目標(biāo)檢測(cè)算法被提了出來(lái)??偟膩?lái)說(shuō),深度學(xué)習(xí)圖像目標(biāo)檢測(cè)算法大致可分為兩類:一類是基于區(qū)域推薦的目標(biāo)檢測(cè)算法,這類算法首先利用區(qū)域推薦產(chǎn)生候選目標(biāo),然后使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行處理。比較具有代表性的算法有RCNN、Fast RCNN、Faster RCNN、Mask RCNN等,這些算法的優(yōu)點(diǎn)是精度比較高,缺點(diǎn)是因?yàn)橛?jì)算量過(guò)大而不能夠?qū)δ繕?biāo)進(jìn)行實(shí)時(shí)的檢測(cè)。另一類是基于回歸的目標(biāo)檢測(cè)算法,這類算法將目標(biāo)檢測(cè)作為回歸問(wèn)題進(jìn)行處理,直接預(yù)測(cè)目標(biāo)的類別和位置。具有代表性的算法有SSD、YOLOv3等。這類算法的優(yōu)點(diǎn)是能滿足實(shí)時(shí)應(yīng)用的需求,缺點(diǎn)是相較于RCNN系列算法而言檢測(cè)精度偏低[3]。2018年Redmon等[4]提出的YOLOv3目標(biāo)檢測(cè)模型相較于前代YOLO模型采用了更深層的網(wǎng)絡(luò)模型結(jié)構(gòu)和多尺度檢測(cè)等技術(shù),達(dá)到檢測(cè)速度與精度的平衡,提升了對(duì)小目標(biāo)物的檢測(cè)效果[5]。
本文對(duì)太陽(yáng)能電池板常見(jiàn)的斷柵、隱裂缺陷利用YOLOv3目標(biāo)檢測(cè)模型進(jìn)行檢測(cè)。利用K-means聚類算法對(duì)太陽(yáng)能電池板缺陷數(shù)據(jù)集進(jìn)行聚類后得到適合本數(shù)據(jù)集的先驗(yàn)框,從而加速模型收斂。實(shí)驗(yàn)表明YOLOv3檢測(cè)模型可以準(zhǔn)確地檢測(cè)和識(shí)別太陽(yáng)能電池板電致發(fā)光圖像中的缺陷。
1.1.1 骨干特征提取網(wǎng)絡(luò)
YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。采用了Darknet-53作為骨干特征提取網(wǎng)絡(luò),該網(wǎng)絡(luò)是一個(gè)純卷積神經(jīng)網(wǎng)絡(luò),使用了卷積層、批規(guī)范化層、激活層結(jié)合的結(jié)構(gòu)作為網(wǎng)絡(luò)的基本組件。Darknet-53通過(guò)卷積層改變卷積核的步幅來(lái)實(shí)現(xiàn)特征圖尺寸變化。除此以外,Darknet53還借鑒了ResNet的殘差結(jié)構(gòu),使得網(wǎng)絡(luò)性能有了明顯的改善[6]。
圖1 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)
1.1.2 多尺度特征融合
低層的特征語(yǔ)義信息比較少,但是目標(biāo)位置信息準(zhǔn)確。高層的特征語(yǔ)義信息比較豐富,但是目標(biāo)位置信息比較粗略。YOLOv3借鑒FPN(Feature Pyramid Networks)的思想,利用上采樣將高層的特征語(yǔ)義信息和低層的特征語(yǔ)義信息進(jìn)行特征融合,提高了對(duì)小物體的檢測(cè)精度。
1.1.3 模型預(yù)測(cè)
在檢測(cè)層結(jié)構(gòu)中,分別對(duì)特征圖像進(jìn)行了32倍降采樣、16倍降采樣以及8倍降采樣,從而生成了3種不同尺度的特征圖,在多尺度特征圖上進(jìn)行檢測(cè),提高了較小目標(biāo)的檢測(cè)效果。
YOLOv3算法的損失函數(shù)包括定位損失、置信度損失和分類損失。通過(guò)查閱相關(guān)資料及其源碼,發(fā)現(xiàn)YOLOv3的損失函數(shù)除了定位損失中的寬高誤差損失外,其他誤差損失均使用二元交叉熵[7]。YOLOv3的損失函數(shù)如式(1)所示。
其中,帶*號(hào)的參數(shù)表示真實(shí)值,不帶*號(hào)的對(duì)應(yīng)參數(shù)表示模型的預(yù)測(cè)值。xi,yi,wi,hi表示預(yù)測(cè)框中心點(diǎn)的橫縱坐標(biāo)以及寬高。S表示劃分的網(wǎng)格數(shù)量,B表示先驗(yàn)框個(gè)數(shù)。Ci表示置信度,Pi表示分類概率。表示第i個(gè)網(wǎng)格中的第j個(gè)先驗(yàn)框有目標(biāo)其值為1,否則為0。表示第i個(gè)網(wǎng)格中的第j個(gè)先驗(yàn)框沒(méi)有目標(biāo)其值為1,否則為0。在YOLOv3的損失函數(shù)中為了提高對(duì)小物體的檢測(cè)精度會(huì)乘上一個(gè)(2-wi×hi)的比例系數(shù)。
在暗箱中使用近紅外工業(yè)相機(jī)對(duì)通電后的太陽(yáng)能電池板進(jìn)行圖片采集??偣膊杉教?yáng)能電池板電致發(fā)光圖片1 024張。使用數(shù)據(jù)標(biāo)記工具labellmg對(duì)圖片中的缺陷進(jìn)行逐一標(biāo)記,并生成xml格式的缺陷類別和位置信息文件。并按照8∶1∶1的比例將圖片劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
本文實(shí)驗(yàn)環(huán)境如下:Windows10 64位操作系統(tǒng),處理器Intel(R) Core(TM) i5-10300H CPU @ 2.50 GHz 2.50 GHz,顯卡GTX1650TI,運(yùn)行內(nèi)存16 G。編程語(yǔ)言為Python3.7.10,深度學(xué)習(xí)框架為Pytorch。
圖片的訓(xùn)練和測(cè)試輸入尺度均采用416×416大小。YOLOv3網(wǎng)絡(luò)默認(rèn)使用的先驗(yàn)框參數(shù)是在COCO和PASCAL VOC兩個(gè)數(shù)據(jù)集聚類得到的[8]。針對(duì)太陽(yáng)能電池板缺陷數(shù)據(jù)集,運(yùn)用K-means聚類生成3種尺度的9個(gè)先驗(yàn)框:(12×17),(18×12),(24×14),(35×11),(18×22),(34×15),(50×13),(66×12),(85×12)。小尺寸的先驗(yàn)框在高分辨率特征圖上用于檢測(cè)小目標(biāo),大尺寸的先驗(yàn)框在低分辨率特征圖上用于檢測(cè)大目標(biāo)。YOLOv3網(wǎng)絡(luò)模型訓(xùn)練總計(jì)迭代1 000次,初始的學(xué)習(xí)率設(shè)置為0.001,每迭代50次學(xué)習(xí)率下降0.8倍。 YOLOv3訓(xùn)練過(guò)程中損失值變化曲線如圖2所示。
從圖2可以看出,隨著迭代次數(shù)的增加,曲線逐漸收斂。當(dāng)?shù)螖?shù)超過(guò)900時(shí),損失值大小幾乎不再變化。就參數(shù)收斂的整體情況看,網(wǎng)絡(luò)訓(xùn)練結(jié)果較為理想。
圖2 損失值變化曲線
在本文的實(shí)驗(yàn)中,使用mAP(mean Average Precision)作為目標(biāo)檢測(cè)精度的指標(biāo)。mAP指的是多個(gè)類別平均準(zhǔn)確率的平均值。AP指的是單個(gè)類別的平均準(zhǔn)確率,衡量的是模型在某一類別上識(shí)別效果的好壞[9]。本文使用的AP為AP50,即預(yù)測(cè)框與真實(shí)框的交并比在大于50%的單類別的平均準(zhǔn)確率[10]。mAP的值越大表示模型的總體識(shí)別準(zhǔn)確率越高。
YOLOv3算法在測(cè)試集上斷柵的AP值為90.08%,隱裂的AP為73.55%,則YOLOv3算法對(duì)太陽(yáng)能電池板缺陷檢測(cè)的mAP為81.81%。不同缺陷類別的平均準(zhǔn)確率如圖3所示。YOLOv3算法對(duì)太陽(yáng)能電池板電致發(fā)光圖片進(jìn)行缺陷檢測(cè)的效果如圖4所示??梢钥闯觯琘OLOv3檢測(cè)模型對(duì)太陽(yáng)能電池板電致發(fā)光圖像能實(shí)現(xiàn)比較準(zhǔn)確的檢測(cè)與識(shí)別,整體檢測(cè)效果較為理想。
圖3 不同缺陷類別的平均準(zhǔn)確率
圖4 YOLOv3檢測(cè)效果
為了提高太陽(yáng)能電池板缺陷的檢測(cè)效率,本文提出了一種基于 YOLOv3 的圖像缺陷檢測(cè)與識(shí)別方法。實(shí)驗(yàn)結(jié)果表明,本文使用的方法在太陽(yáng)能電池板缺陷檢測(cè)上能夠取得較好的效果,尤其在斷柵的檢測(cè)上效果比較理想。但是,由于隱裂本身具有形狀不固定、尺寸較小的特點(diǎn)因而對(duì)隱裂的檢測(cè)精度較低。因此在以后的研究中,將重點(diǎn)解決太陽(yáng)能電池板缺陷檢測(cè)中對(duì)隱裂的檢測(cè)問(wèn)題,以獲得更高的檢測(cè)精度。