魏卓航,林培杰,陳志聰,吳麗君,盧簫揚(yáng),程樹英
(福州大學(xué)物理與信息工程學(xué)院,微納器件與太陽(yáng)能電池研究所,福建 福州 350108)
光伏組件由于工作需要長(zhǎng)時(shí)間暴露在無(wú)遮擋的自然環(huán)境中,如果不能及時(shí)進(jìn)行有效維護(hù),將產(chǎn)生各種故障,熱斑就是其中一種典型故障[1]. 當(dāng)光伏組件受到遮擋后,遮擋部分的電池片流過的電流變小,在其他串聯(lián)電池片的影響下成為負(fù)載,并將其他電池片產(chǎn)生的能量以熱量的形式消耗掉,導(dǎo)致遮擋部分的電池片溫度升高而產(chǎn)生熱斑效應(yīng)[2]. 單體電池片的不匹配、 短路、 裂縫、 組件表面局部臟污或遮擋都會(huì)引起光伏組件產(chǎn)生熱斑. 熱斑問題不僅影響光伏組件的發(fā)電效益, 甚至可以引發(fā)火災(zāi),嚴(yán)重影響光伏系統(tǒng)的性能和壽命,因此,對(duì)熱斑的實(shí)時(shí)檢測(cè)和定位, 對(duì)光伏電站的維護(hù)工作有著重要價(jià)值.
由于熱斑效應(yīng)會(huì)引起電池片局部溫度上升,故可使用紅外熱成像圖像進(jìn)行判斷. 文獻(xiàn)[3]采用Canny邊緣檢測(cè)算子檢測(cè)紅外圖像下的熱斑模塊及其相關(guān)故障. 文獻(xiàn)[4]采用光伏組件紅外熱圖像的HOG特征和紋理特征進(jìn)行分類,通過樸素貝葉斯分類器檢測(cè)熱斑. 文獻(xiàn)[5]提出一種基于混合特征的光伏面板熱斑檢測(cè)和分類的支持向量機(jī)模型,采用數(shù)據(jù)融合的方法構(gòu)造一種新的混合特征向量,取得了更好的檢測(cè)效果. 近年來(lái),深度學(xué)習(xí)在解決圖像識(shí)別、 目標(biāo)檢測(cè)等問題上成效突出,學(xué)者們也將其應(yīng)用于光伏故障檢測(cè)和熱斑識(shí)別上. 文獻(xiàn)[6]提出改進(jìn)Faster R-CNN的紅外圖像檢測(cè)方法,將SpotFPN多尺度特征學(xué)習(xí)模塊應(yīng)用在二階段目標(biāo)檢測(cè)網(wǎng)絡(luò)中,提高了模型的檢測(cè)精度. 文獻(xiàn)[7]提出一種基于多尺度殘差和注意力機(jī)制相結(jié)合的新型卷積神經(jīng)網(wǎng)絡(luò) AMSRnet,訓(xùn)練識(shí)別自制的光伏組件紅外圖像熱斑狀態(tài)數(shù)據(jù)集,準(zhǔn)確率高達(dá) 95%. 文獻(xiàn)[8]提出直接利用相機(jī)拍攝可見光圖片, 對(duì)光伏面板上的遮擋物進(jìn)行檢測(cè),以便及時(shí)排除產(chǎn)生熱斑效應(yīng)的隱患,在檢測(cè)準(zhǔn)確率上也取得了不錯(cuò)的效果.
然而,紅外熱成像主要反映的是溫度信息,無(wú)法正確體現(xiàn)物體的邊緣、 紋理等細(xì)節(jié)信息,所以基本只能運(yùn)用于熱斑的檢測(cè)與定位. 若結(jié)合可見光圖片的信息,則可以在進(jìn)行熱斑檢測(cè)與定位的同時(shí), 對(duì)光伏面板上的遮擋物進(jìn)行檢測(cè),進(jìn)而對(duì)熱斑形成的原因進(jìn)行初步的判斷. 隨著紅外熱成像儀器的發(fā)展和進(jìn)步,許多型號(hào)的紅外成像儀已具備同時(shí)拍攝同位置下的紅外和可見光圖片的功能,為推動(dòng)圖像融合在光伏熱斑檢測(cè)方面的研究提供了便利.
綜上所述,本研究提出一種基于深度學(xué)習(xí)的光伏組件熱斑及遮擋物的檢測(cè)方法,采用像素加權(quán)平均法融合紅外和可見光圖像,使用YOLOv5深度學(xué)習(xí)目標(biāo)檢測(cè)算法實(shí)現(xiàn)不同成因的熱斑和遮蓋物的檢測(cè)與定位. 同時(shí),針對(duì)多分類數(shù)據(jù)集訓(xùn)練中負(fù)樣本量過多的情況,在算法中引入變焦距損失函數(shù),達(dá)到突出正例的效果. 為了減小算法生成anchor box目標(biāo)框的誤差,改進(jìn)模型目標(biāo)框生成算法,使用IOU得分代替歐式距離作為聚類算法評(píng)判標(biāo)準(zhǔn). 此外,對(duì)YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行輕量化改進(jìn),設(shè)計(jì)了融合坐標(biāo)注意力機(jī)制的MobileNetCA特征提取網(wǎng)絡(luò),并將其應(yīng)用到模型中,在降低模型體積的同時(shí)力求提升模型檢測(cè)效果.
實(shí)驗(yàn)數(shù)據(jù)集的拍攝儀器為FLIR T420,該儀器在拍攝時(shí)可同時(shí)輸出同一位置的紅外和可見光圖像,輸出分辨率均為320 px × 240 px,故在紅外可見光圖像融合時(shí)無(wú)需配準(zhǔn). 采集地點(diǎn)為福建省某大學(xué)微納器件與太陽(yáng)能電池研究所的光伏實(shí)驗(yàn)平臺(tái),采集時(shí)間選在晴朗天氣上午9時(shí)至下午3時(shí)之間,拍攝時(shí)用樹葉、 細(xì)沙、 硬紙片、 彩旗的倒影模擬實(shí)際情況中發(fā)生的遮擋與陰影,熱斑主要由物體或陰影的遮擋和光伏面板間串內(nèi)短路等原因產(chǎn)生. 拍攝共采集到紅外和可見光圖片各622張,并進(jìn)行人工標(biāo)注,按照熱斑與遮擋物情況將數(shù)據(jù)集標(biāo)簽分為5類,具體如下: 1) 類型一, 有熱斑產(chǎn)生但無(wú)遮擋物. 2) 類型二,有片狀(如樹葉,紙片)遮擋物,尚未產(chǎn)生熱斑. 3) 類型三,有片狀(如樹葉,紙片)遮擋物并已產(chǎn)生熱斑. 4) 類型四,有細(xì)沙遮擋并已經(jīng)產(chǎn)生熱斑. 5) 類型五,有細(xì)沙遮擋,尚未產(chǎn)生熱斑.
標(biāo)注共獲得1 654個(gè)標(biāo)簽,分別為類型一389個(gè),類型二353個(gè),類型三301個(gè),類型四215個(gè),類型五396個(gè). 其中類型一在實(shí)驗(yàn)中主要由組件短路或組件表面細(xì)小灰塵產(chǎn)生. 通過以上分類,模型可同時(shí)檢測(cè)是否有熱斑和遮擋物,以及遮擋物的形態(tài),還可以憑借檢測(cè)的信息進(jìn)一步分析熱斑產(chǎn)生的原因,為故障處理提供參考. 為了得到更準(zhǔn)確的結(jié)果,具體拍攝實(shí)驗(yàn)中,需要不斷對(duì)遮擋物的數(shù)量、 種類和位置進(jìn)行變換,拍攝位置在距離光伏組件正前方2~8 m處,拍攝時(shí)隨機(jī)變換角度. 拍攝效果如圖1所示. 圖中,紅色數(shù)值表示最高溫,藍(lán)色數(shù)值表示最低溫.
圖1 拍攝所得的紅外與可見光圖片示例
選用像素加權(quán)平均法作為紅外可見光圖片融合方法,其原理是: 對(duì)紅外圖像的像素取相應(yīng)權(quán)值a(a<1),則可見光圖像的像素權(quán)值為1-a,然后加權(quán)平均得到融合圖像的像素值. 比如,有需要融合的可見光圖像的像素值為A,紅外圖像的像素值為B,則融合后圖像的像素值就是A×a+B×(1-a). 該方法具有運(yùn)算速度快、 融合圖像之間權(quán)重易于調(diào)節(jié)的特點(diǎn),缺點(diǎn)是削弱了圖像中的細(xì)節(jié)信息,不適用于圖像清晰度不足的場(chǎng)景. 由于光伏組件的工作特性,熱斑檢測(cè)都是在白天進(jìn)行,拍攝的照片光線充足,檢測(cè)目標(biāo)邊緣輪廓清晰,同時(shí)基于減少計(jì)算成本與合成時(shí)間的考量,選擇像素加權(quán)平均法實(shí)現(xiàn)圖像融合.
為了排除顏色對(duì)目標(biāo)檢測(cè)和定位的干擾,增強(qiáng)模型魯棒性,選取可見光圖像的灰度圖作為融合素材,圖2展示的是a取不同值時(shí)的合成效果. 經(jīng)對(duì)比發(fā)現(xiàn),a取值過小會(huì)導(dǎo)致紅外圖像信息消失,過大會(huì)導(dǎo)致合成圖像過于模糊,最終選取權(quán)值a=0.5進(jìn)行融合. 5種類別的目標(biāo)在融合后的圖片效果如圖3.
圖2 相同圖片不同權(quán)值的融合效果
圖3 不同實(shí)驗(yàn)類型融合后的圖片效果
YOLOv5是一種單階段目標(biāo)檢測(cè)算法,其網(wǎng)絡(luò)結(jié)構(gòu)分為: 輸入端、 backbone、 neck和prediction四部分. 模型分為 YOLOv5s、 YOLOv5m、 YOLOv5l和YOLOv5x四個(gè)版本,它們的網(wǎng)絡(luò)結(jié)構(gòu)完全相同,僅在深度和寬度上有差異,因此,選用復(fù)雜度最小的YOLOv5s版本作為基礎(chǔ)研究模型[9].
輸入端主要包括Mosaic數(shù)據(jù)增強(qiáng)與圖片尺寸變換. Mosaic數(shù)據(jù)增強(qiáng)算法主要思想是將4張圖片進(jìn)行隨機(jī)縮放、 裁剪、 翻轉(zhuǎn)等變換,再拼接成一張圖作為訓(xùn)練數(shù)據(jù)[10],在豐富圖片背景的同時(shí)變相提高了批量尺寸. 圖片尺寸變換則是對(duì)不同長(zhǎng)寬的原始圖像自適應(yīng)地添加最少的黑邊,統(tǒng)一變換為標(biāo)準(zhǔn)尺寸[11].
圖4為YOLOv5網(wǎng)絡(luò)結(jié)構(gòu). 在Backbone中,F(xiàn)ocus模塊通過切片運(yùn)算把特征圖轉(zhuǎn)化為多個(gè)低分辨率的特征映射. CBS模塊表示卷積+批量歸一化+Silu激活函數(shù),是一個(gè)卷積模塊. C3結(jié)構(gòu)由若干個(gè)Bottleneck模塊組成,可以減少卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的梯度信息重復(fù). SPP模塊主要作用是增加網(wǎng)絡(luò)的感受域,并獲得不同尺度的特征.
圖4 YOLOv5模型框架
YOLOv5還在neck部分增加了一個(gè)自下而上的特征金字塔結(jié)構(gòu). 先從上到下傳遞語(yǔ)義特征,再通過特征金字塔從下到上傳遞定位特征,提高了網(wǎng)絡(luò)檢測(cè)不同尺度目標(biāo)的能力. 在Prediction部分,YOLOv5 將3種不同大小的特征輸入 Detect 模塊,分別針對(duì)大、 中、 小體型的目標(biāo)識(shí)別.
2.2.1Backbone替換為MobileNetCA
原YOLOv5s網(wǎng)絡(luò)backbone部分是基于C3和SPP模塊的特征提取網(wǎng)絡(luò),整體模型參數(shù)量較大,對(duì)硬件要求較高. 因此,基于輕量化思想,并為未來(lái)植入移動(dòng)端做準(zhǔn)備,將特征提取網(wǎng)絡(luò)替換為融合MobileNetV3網(wǎng)絡(luò)和坐標(biāo)注意力機(jī)制的MobileNetCA網(wǎng)絡(luò),在保證模型檢測(cè)性能的同時(shí)顯著減少模型參數(shù)量.
輕量級(jí)網(wǎng)絡(luò)MobileNetV3包含MobileNetV3-large和MobileNetV3-small兩個(gè)版本,分別適用于對(duì)資源不同要求的情況[12]. 此外,MobileNetV3網(wǎng)絡(luò)中還引入了類似MobileNetV2中的α參數(shù)作為寬度縮放因子,其作用是對(duì)網(wǎng)絡(luò)的每一個(gè)Bneck層的維度(特征數(shù)量)進(jìn)行瘦身. 研究中選取α=0.35[13]的MobileNetV3-large(下文稱MNV3)作為實(shí)驗(yàn)對(duì)象. 由于MNV3原網(wǎng)絡(luò)最后4層用于分類,對(duì)于特征提取是無(wú)用的,將其舍棄. 為了對(duì)應(yīng)YOLOv5s原特征提取網(wǎng)絡(luò),選取第15層,第13層和第6層作為backbone的輸出輸入到neck部分中,輸入尺寸根據(jù)實(shí)際情況改為320 px × 320 px × 3.
此外,MobileNetV3系列網(wǎng)絡(luò)中的SEnet通道注意力模塊通過2D全局池化來(lái)計(jì)算通道注意力,在較低的計(jì)算成本下實(shí)現(xiàn)性能提升. 然而,它僅僅考慮建模通道間的關(guān)系來(lái)對(duì)每個(gè)通道加權(quán),而在文獻(xiàn)[14]中提出一種專門為輕量級(jí)網(wǎng)絡(luò)設(shè)計(jì)的注意力模塊(CoordAttention, CA),如圖5所示.
圖5 CA模型框架
由圖5可見,CA模塊利用兩個(gè)一維全局池化(x方向池化和y方向池化)操作分別將垂直和水平方向的輸入特征聚合為兩個(gè)獨(dú)立的方向感知特征圖,用來(lái)緩解2D全局池化造成的位置信息丟失,幫助網(wǎng)絡(luò)更準(zhǔn)確地定位感興趣的目標(biāo). 因此,本研究進(jìn)一步在MNV3網(wǎng)絡(luò)部分Bneck層中嵌入CA模塊,在深度可分離卷積后進(jìn)行CA操作,并移除原SEnet模塊,設(shè)計(jì)了MobileNetCA網(wǎng)絡(luò)作為YOLOv5s的backbone特征提取網(wǎng)絡(luò),該網(wǎng)絡(luò)結(jié)構(gòu)如表1.
表1 MobileNetCA網(wǎng)絡(luò)結(jié)構(gòu)
2.2.2損失函數(shù)改進(jìn)
YOLOv5網(wǎng)絡(luò)訓(xùn)練過程中,程序會(huì)將每一輪次模型訓(xùn)練輸出的結(jié)果與真實(shí)值進(jìn)行損失函數(shù)的計(jì)算,YOLOv5原網(wǎng)絡(luò)使用的二元交叉熵?fù)p失函數(shù)對(duì)正負(fù)樣本都進(jìn)行同樣的計(jì)算. 而文獻(xiàn)[15]提出一種新的損失函數(shù)(varifocal loss, VFL). VFL主要針對(duì)正負(fù)樣本存在不平衡和正樣本同時(shí)存在不等權(quán)的問題,不對(duì)稱地處理正負(fù)樣本,具體函數(shù)為
(1)
式中:p為YOLOv5網(wǎng)絡(luò)的輸出預(yù)測(cè)值;q為真實(shí)值;γ和α分別取值1.5和0.25. VFL通過用γ因子將負(fù)例(q=0)的損耗按比例縮小,而不以同樣方式縮小正例(q>0)的損耗貢獻(xiàn).
本研究中,為了避免對(duì)光伏陣列本身造成不可逆的損壞,熱斑形成一定時(shí)間后需要及時(shí)處理,這導(dǎo)致熱斑樣本的獲取較為困難. 在所采集的數(shù)據(jù)中,平均每張圖片僅有2.7個(gè)目標(biāo),且目標(biāo)又分為5個(gè)類別,所以模型訓(xùn)練時(shí)正樣本相對(duì)負(fù)樣本少得多,存在不平衡,而VFL損失函數(shù)通過γ因子將負(fù)例縮小,保留正例珍貴的學(xué)習(xí)信號(hào). 因此,將YOLOv5網(wǎng)絡(luò)損失函數(shù)的分類損失和置信度損失由原來(lái)的二元交叉熵?fù)p失函數(shù)替換為VFL.
2.2.3目標(biāo)框生成算法的優(yōu)化
YOLOv5官方代碼庫(kù)中有利用k-means聚類和遺傳算法生成新的目標(biāo)聚類框,但其中的k-means聚類是基于歐氏距離聚類,而使用歐氏距離會(huì)讓大的邊界框比小的邊界框產(chǎn)生更多的誤差[16],聚類結(jié)果可能會(huì)偏離. 文獻(xiàn)[16]提出采用IOU得分(boxes之間的交集除以并集)作為評(píng)判標(biāo)準(zhǔn)距離函數(shù), 很好改善了這些誤差,使生成的目標(biāo)框與實(shí)際標(biāo)注框更一致. 其具體公式為:
d(box, anchors)=1-IOU(box, anchors)
(2)
式中: box為標(biāo)注框; anchors是k-means算法生成的聚類框.
因此,采用1-IOU(box, anchors)作為目標(biāo)框生成算法中k-means聚類的評(píng)判標(biāo)準(zhǔn),生成新的聚類框. 改進(jìn)后算法(下文稱IOUscore)生成的目標(biāo)框?qū)捄透叻謩e為(13, 7)、 (16, 12)、 (23, 10)、 (18, 12)、 (25, 14)、 (35, 13)、 (32, 18)、 (48, 15)、 (51, 27)px.
性能指標(biāo)的計(jì)算依賴于模型預(yù)測(cè)結(jié)果形成的混淆矩陣,混淆矩陣把預(yù)測(cè)的結(jié)果分為: TP預(yù)測(cè)對(duì)的正類; TN預(yù)測(cè)對(duì)的負(fù)類; FP預(yù)測(cè)錯(cuò)的正類; FN預(yù)測(cè)錯(cuò)的負(fù)類.
選用準(zhǔn)確率(precision,P)、 召回率 (recall,R)、 平均準(zhǔn)確率(average precision,Pav)和主要平均準(zhǔn)確率(main average precision,Pm, av)[17]4 項(xiàng)性能指標(biāo)作為網(wǎng)絡(luò)性能評(píng)價(jià),其計(jì)算公式如下:
(3)
模型參數(shù)量是指該模型中總共含有多少參數(shù),直接決定模型文件的大小,影響模型推斷時(shí)對(duì)內(nèi)存的占用量,本實(shí)驗(yàn)用模型參數(shù)量表示模型的計(jì)算量和復(fù)雜度.
實(shí)驗(yàn)計(jì)算機(jī)平臺(tái)為AMD R5 3600 CPU,GeForce RTX 3060 12 G GPU,內(nèi)存為16 G. Python版本為3.8,使用Pytorch 1.8.1深度學(xué)習(xí)框架,GPU CUDA版本為11.1.
選擇466張樣本組成訓(xùn)練集,余下156張作為測(cè)試集. 為提高模型訓(xùn)練效果,增強(qiáng)模型魯棒性,訓(xùn)練前使用圖像處理方法對(duì)訓(xùn)練集數(shù)據(jù)進(jìn)行擴(kuò)充,使模型學(xué)習(xí)更多的信息. 具體操作是: 對(duì)訓(xùn)練集中任意圖片的亮度和噪聲進(jìn)行隨機(jī)調(diào)整,同時(shí)隨機(jī)對(duì)圖片進(jìn)行平移、 翻轉(zhuǎn)、 遮擋等變換,最終將訓(xùn)練集擴(kuò)充為1 398張,訓(xùn)練集標(biāo)簽數(shù)量也從1 223變?yōu)? 669.
實(shí)驗(yàn)設(shè)定模型訓(xùn)練初始學(xué)習(xí)率為0.01,動(dòng)量為0.937,衰減系數(shù)為 0.000 5,使用 SGD 梯度優(yōu)化算法,訓(xùn)練批次大小設(shè)為 64,設(shè)置訓(xùn)練輪數(shù)為600次,非極大值抑制階段中的IOU閾值為0.3,置信度閾值為0.4. 檢測(cè)效果示例如圖6所示.
圖6 檢測(cè)效果示例
各項(xiàng)算法改進(jìn)與基礎(chǔ)YOLOv5s算法精度與參數(shù)量對(duì)比詳見表2. 由表中結(jié)果可知,使用IOUscore算法的模型Pm, av較原模型提升1.5%,達(dá)到86.6%,說明改進(jìn)后的算法生成的目標(biāo)框更適合該數(shù)據(jù)集和模型. Backbone改為MNV3后,模型參數(shù)量下降的同時(shí),其Pm, av也降到85.5%. 而更換為MobileNetCA網(wǎng)絡(luò)后,模型Pm, av提升1.9%達(dá)到87.4%,也優(yōu)于backbone尚未更換的YOLOv5s,而參數(shù)量卻較MNV3進(jìn)一步下降,說明相比MNV3,MobileNetCA是更高效、 更輕量化的特征提取網(wǎng)絡(luò). 將損失函數(shù)更改為Varifocal Loss后,訓(xùn)練后模型Pm, av相比之前進(jìn)一步提升至88.9%,說明將YOLOv5s模型中的交叉熵?fù)p失函數(shù)替換為Varifocal Loss以達(dá)到突出正例的效果,確實(shí)能改善模型的檢測(cè)性能,同時(shí),本研究算法參數(shù)量?jī)H為原YOLOv5s的48.6%. 各目標(biāo)類型細(xì)分Pav指標(biāo)對(duì)比詳見表3. 從表中可以看出,相比原YOLOv5s,改進(jìn)模型對(duì)類型一和類型五目標(biāo)的檢測(cè)效果提升最為明顯.
表2 各項(xiàng)算法改進(jìn)與基礎(chǔ)算法指標(biāo)對(duì)比
表3 細(xì)分各類指標(biāo)對(duì)比
為了進(jìn)一步驗(yàn)證模型的性能,選擇7種算法進(jìn)行檢測(cè),得到不同算法性能指標(biāo)如表4所示. 從表中可以看出, 本算法在R、Pm, av和模型參數(shù)量上均獲得更好的結(jié)果.
表4 不同算法性能對(duì)比
提出一種基于YOLOv5框架的光伏組件熱斑故障和遮擋物檢測(cè)定位方法,運(yùn)用像素加權(quán)平均法融合可見光和紅外圖像,使模型可同時(shí)對(duì)遮擋物和熱斑進(jìn)行檢測(cè). 使用改進(jìn)目標(biāo)框生成算法的方法減小生成目標(biāo)框的誤差,提升檢測(cè)效果. 為了降低模型的體積,原YOLOv5s的backbone部分被替換為融合了坐標(biāo)注意力機(jī)制的MobileNetCA網(wǎng)絡(luò). 其次,針對(duì)訓(xùn)練中正樣本數(shù)量過少的問題,引入Varifocal Loss損失函數(shù)替換YOLOv5網(wǎng)絡(luò)的分類和置信度損失函數(shù). 實(shí)驗(yàn)結(jié)果表明,相比于YOLOv5s模型,改進(jìn)后的模型不但檢測(cè)性能得到提升,模型的參數(shù)量也有所下降. 下一階段的研究目標(biāo),是將模型移植入算力有限的小型移動(dòng)設(shè)備中,對(duì)在移動(dòng)設(shè)備中的實(shí)時(shí)檢測(cè)性能進(jìn)行測(cè)試和改進(jìn).