汪方斌,王海霞,龔 雪
(安徽建筑大學機械與電氣工程學院,安徽 合肥 230601)
當光伏組件中部分電池片被長時間遮擋或發生故障時,充當負載而消耗周圍正常工作電池片產生的電能并持續發熱的現象被稱為熱斑效應[1]。熱斑效應影響太陽能電池板發電性能和使用壽命,導致光伏板早期退化、永久損壞,甚至會因為過熱而產生火災,從而造成光伏電站重大損失[2]。因此,及時有效地識別熱斑在光伏電站日常運維中具有重要意義。
現有的熱斑識別方法包括并聯旁路二極管法、電壓電流法、紅外熱成像法和深度學習方法。其中,并聯旁路二極管法[3]是光伏組件預防熱斑常用的方法,能使正常工作的光伏電池片不受其他缺陷電池片的影響,從而減小有缺陷或遮擋電池片的反向電壓和電流[4],但二極管的工作情況對溫度有一定要求,所以容易失效。電流電壓熱斑故障診斷方法是通過光伏陣列在故障狀態下的電壓電流變化實現故障檢測[5],但該方法無法精確定位出熱斑缺陷位置。紅外熱成像方法[6]是通過不同工作狀態的光伏組件的溫差來判斷是否為熱斑,但光伏組件出現遮擋會產生一定的假性熱斑誤檢問題。
隨著深度學習的發展,基于神經網絡的深度學習檢測方法成為研究熱點[7-8]。CIPRIANI等[9]通過系統卷積神經網絡對熱紅外圖像進行處理,實現了光伏熱斑的自動分類,分類精度達到97%,但該方法使用較為簡單的二分類數據集,且需要大量熱斑圖像,給熱斑的多分類判別與圖像采集帶來較大困難。孫海蓉等[10]基于Inception-v3模型構建了小樣本熱斑深度學習方法,但該方法需要迭代約5 000次,網絡訓練時間很長,效率較低。上述研究表明,深度學習在熱斑分類與識別方面展現了良好的性能,但在熱斑樣本分布不均衡的情況下,仍存在一定局限性。
針對上述問題,本文提出一種改進ResNet50網絡的光伏熱斑識別算法,利用分組卷積結構捕獲不同組別熱斑圖像的細化信息,注意力模塊提高通道間的信息傳輸能力,提取紅外圖像的微觀特征,緩解光伏組件檢測中熱斑缺陷特征隨著網絡深度消失的問題,并開展光伏電池熱斑成像實驗。實驗結果表明,該方法針對信噪比低、樣本數據集有限的紅外熱斑圖像,可以實現光伏組件熱斑有效識別與定位。
傳統的神經網絡隨著層數的增加,會產生較大的訓練誤差,影響模型的訓練精度。ResNet[11]提供了一個殘差框架,利用殘差框架可以訓練更深層次的網絡,生成通常性能更好的模型,從而簡單且有效地解決傳統神經網絡的問題。所以在實驗中本研究將使用ResNet50作為網絡的基礎構建塊,網絡體系結構如表1所示。但在應用于熱紅外圖像實現熱斑識別時,由于需要提取低層次空間信息和淺層特征信息,殘差卷積塊通常會使輸入的3/4特征丟失[12],造成目標識別所需的信息丟失的問題,使模型輸出識別精度不高。

表1 ResNet50網絡體系結構
傳統殘差模塊的訓練特征獲取,是將特征圖中對應元素數值進行相加。考慮到紅外成像目標識別常用紅外圖像特征匹配來實現,而太陽能電池板的紅外熱斑圖像局部不變特征更多地體現在目標表面的像素點信息,比如圖像紋理、邊緣等,而此圖像區域通常具有較低的分辨率以及由熱交叉引起的模糊邊界,這是由于不同物體的熱輻射無法區分造成的必然現象。因此,本文在卷積殘差模塊中引入分組卷積[13]。
與常規卷積層相比,分組卷積將數據并行化轉換為模型并行化,構建頭部分組特征提取模塊,如圖1所示。頭部分組特征提取模塊在網絡特征提取之前,能夠拓展網絡的寬度,增加紅外信息的維度,獲得更多紅外圖像淺層紋理、邊緣特征信息流入后續卷積層,在跳躍連接中加入最大池化層以減少輸入信息丟失,增強識別性能。在圖1中,模塊的輸入與主干部分首先把原卷積殘差模塊特征圖平均分為32組,對每組特征圖依次進行兩次卷積操作;然后將32組卷積結果順次通過拼接與卷積操作,得到完整特征圖;最后將模塊輸入部分經過跳躍連接中的最大池化以及卷積操作的特征圖與主干部分的特征圖相加,得到該模塊的輸出。

圖1 頭部分組特征提取模塊
使用注意力機制對于紋理細節弱熱斑紅外圖像,可以較好地改善模型的提取能力,緩解因為熱紅外方法引起的圖片信息較少的問題[14],提高模型的性能和判別準確率。
如圖2所示,本文在模型構建時借助SE(Sequeeze and Exicitation)模塊[15]的建模思想,先采用全局平均池化將每個通道上的空間特征編碼壓縮為一個全局特征,激勵操作中包含兩個全連接層和一個Relu層;同時利用SE網絡塊加大利于識別熱斑特征信息的權重,減小無關信息的干擾。在實際應用過程中,通過對SE模塊進行優化,使用Mish激活函數[16],能夠解決Relu函數的強硬邊界轉折的問題,增加信息滲透進模型訓練中[17],從而提高模型的準確性和泛化能力。

圖2 SE-Group恒等殘差結構

ResNet50網絡結構主要包含5個STAGE,分別標記為STAGE1、STAGE2、STAGE3、STAGE4和STAGE5。本文主要對各STAGE中包含的恒等殘差塊和卷積殘差塊進行改進,改進后的ResNet50網絡結構如圖3所示。

(a)改進的ResNet50網絡整體框圖

(b)框圖中模塊結構
首先,網絡對原始紅外圖像進行特征縮放,生成尺寸為224×224的RGB圖像。然后,依次通過STAGE1中的卷積層和最大池化層;STAGE2中的1個卷積殘差塊和2個恒等殘差塊;STAGE3中的1個頭部分組特征提取模塊和3個恒等殘差塊;STAGE4中的1個卷積殘差塊和5個恒等殘差塊;STAGE5中的1個卷積殘差塊和2個恒等殘差塊。最后,經過平均池化層和全連接層,使用softmax進行分類輸出。
在特征提取階段中,將熱斑圖片作為通道的輸入,后經卷積運算進行特征提取:
P=W(F*x),
(1)
其中,P表示提取的特征;W(·)表示ReLU和BN操作;F表示卷積核;*表示卷積操作:x表示輸入。
通道所提取的特征矩陣隨后進入下一輪的特征提取階段。
將在每個分組卷積中提取的特征向量化,再把特征向量實行特征連接,得到高層特征的呈現:
K=C(T1,…,T32),
(2)
其中,K表示融合后的特征;C(·)表示特征融合操作。
熱斑紅外圖片會同時輸入到跳躍連接的通道中,經歷特征提取:
Q=W[F*f(x)],
(3)
其中,Q表示跳躍連接輸出;f(·)表示最大池化;x表示輸入。
將主干網絡提取的特征與跳躍連接支路提取的特征矩陣相加:
J=(F*K)+Q,
(4)
其中,J表示相加后的特征。
隨后,經過一層全連接層后得到最終的特征向量E為:
E=R(J×M1),
(5)
其中,M1表示權重矩陣,R表示ReLU函數。
最后,對熱斑紅外圖片特征用SoftMax分類器進行操作,得到樣本ai屬于類別為j的概率為:
(6)
其中,M2=[m1,m2,…,mc],mj表示權重,M2表示權重向量;c表示類別的數量。
以單晶硅及多晶硅光伏組件作為實驗采集對象,用FLUKE Ti200紅外熱像儀搭建圖像信息采集平臺,共拍攝圖像84張。
由于拍攝現場光照強度、風速和外部溫度的原因,導致采集到的紅外圖像多數存在峰值信噪比低的問題。為此,先對采集到的紅外圖像進行濾波降噪等處理,提高熱斑識別的準確度和效率;然后以光伏組件規模為依據進行分割,可得到36個獨立光伏電池片;并將電池片圖片分成兩個類別,即正常和熱斑,如圖4所示。

圖4 圖像預處理結果
經圖像預處理之后,正常圖像和熱斑圖像數量分別為182張和56張,熱斑圖像用于網絡訓練的數量較少,所以通過傳統的圖像數據擴充的方法,將熱斑樣本數量擴充到239張,正常紅外圖像樣本擴充到720張,如圖5所示。

圖5 數據增強部分效果圖
數據集正負樣本比例約為1∶3,存在正負樣本不均衡的現象,會使少數類樣本的分類性能下降。目前數據層面的處理樣本不平衡的方法較為簡單,主要為修改各類別的分布。1)欠采樣:從正常工作狀態的太陽能電池板紅外圖像中刪除與熱斑紅外圖像數量相同的樣本數量。但在數據量本就不多的情況下,減少數據量會造成模型的特征學習能力下降[18]。2)過采樣:將熱斑紅外圖像進行復制,這樣操作無數據信息損失,雖擴大了數據集規模,但容易造成過擬合[19]。
針對目前構建的數據集,提出一種根據負樣本在HSV空間下H分量平均直方圖峰值分布情況再分類的方法。在保證負樣本圖片數量不變的情況下,增加其分類種類。首先,將負樣本圖像從RGB顏色空間轉到HSV顏色空間,對3個顏色通道進行分離。由于該數據集紅外圖像均為同一批次采集,采集過程中溫度、照射光強度變化不大,為了降低其他特征參雜,放棄飽和度S和亮度V的顏色通道信息。其次,繪制單張圖片的H通道直方圖,觀察H顏色通道信息的數據分布情況,提取直方圖峰值,再取平均值,用來對負樣本進行分類劃分。觀察圖4發現,當電池片在正常工作情況下,其光伏電池表面各點輻射出的波普基本一致,紅外圖像顏色較為單一。根據H分量直方圖可知,H顏色通道像素分布顯露出H分量值在較小的區間內集中的特點。所以,根據該特點,本文通過平均H分量直方圖峰值的方法來減少數據維度,單個圖像的H分量矩陣可用式(7)表示。
H=(hij)M×N,
(7)
其中,M,N分別表示圖像像素點縱坐標和橫坐標的最大值;H表示像素點的H分量。
將圖片中像素點的H分量數值提取出來后,單張圖像特征信息用H分量平均直方圖峰值表述,簡化了對整個負樣本H分量分布統計的計算量,獲得全部負樣本的H分量平均直方圖峰值分布統計圖(圖6)。
(8)

圖6 分布統計圖
其中,y1,…,y5表示最大的直方圖數值到第五大的直方圖數值,hi=argyi表示直方圖數值所對應的H分量值。
在圖6中,負樣本H分量平均值在區間內分布較為均勻。為使負樣本各類別樣本數盡量平均且與正樣本相近,本文用式(9)給出的劃分和量化方法:
(9)

經負樣本分類后的類型1和類型2電池片紅外圖片數量分別為404和316。
實驗運行環境為64位Ubuntu系統,CPU 2.50 GHz,GPU RTX 2080Ti,使用Python語言編寫,Pytorch框架實現。
本文采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)以及Kappa系數等指標來對模型的分類效果進行評價和分析。對于正負樣本數量不平衡的樣本,模型很容易偏向大類別而放棄小類別,僅通過準確率無法全面評價模型性能,故而加入精確率、召回率、Kappa系數等指標,具體可表示為:
(10)
(11)
(12)
(13)
其中,Acc表示準確率;Prec表示精確率;Re表示召回率;κ表示Kappa系數;TP表示正確識別為熱斑的樣本數量;TN表示正確識別為正常的樣本數量;FN表示錯誤識別為正常的樣本數量;FP表示錯誤識別為熱斑缺陷的樣本數量;po表示每一類正確分類的熱斑樣本數量之和與總紅外樣本數的比值;pe表示所有類別分別對應的“實際與預測數量的乘積”之總和與“紅外樣本總數的平方”的比值。
為了驗證改進后的ResNet50算法的有效性,實驗采用包含50層卷積的傳統殘差網絡(ResNet50)、AlexNet、DenseNet121和VGG16模型進行對比實驗,數據集由大小224×224為輸入的三通道圖像構成,模型訓練過程準確率曲線如圖7所示。

圖7 模型訓練過程準確率曲線
不同網絡模型的測試結果見表2。DenseNet 121和VGG16模型網絡結構較為復雜,有相同的迭代次數,耗費訓練時間較長。AlexNet網絡雖然訓練時間較短,但是準確率也相對較低。改進后的ResNet50與原始ResNet50相比,雖然訓練時間增加了,但是訓練集準確率提高5.63%,測試集準確率提高6.13%,Kappa系數提升0.026 8。可見,在網絡模型中加入頭部分組特征提取模塊,嵌入通道注意力機制能有效提升網絡的準確率與識別性能。

表2 不同網絡模型的結果對比
采用H分量平均直方圖峰值的方法,將樣本二分類數據集劃分為樣本三分類數據集。為了驗證這種方法對模型分類效果的提升作用,選擇改進后的ResNet50模型分別在這兩類數據集上進行訓練。實驗一針對的是二分類數據集,而實驗二針對的是三分類數據集。
經過500次迭代的數據見表3。通過將負樣本多分類,實驗二被誤分為熱斑的樣本數量小于實驗一,精確率比實驗一高0.59%,召回率比實驗一高9.85%。實驗一的準確率比實驗二的準確率高0.71%,但實驗二的Kappa系數比實驗一高4.89%。可見,由于類別樣本數量的不平衡,模型易偏向大類別而放棄小類別。這說明用樣本三分類數據集訓練,能夠提高模型的綜合分類效果。

表3 不同分類方法實驗評價
在經過識別之后卷積神經網絡僅能輸出概率矩陣,為將結果更加直觀地展現出來,繪制熱斑缺陷圖片,并將故障區域進行標注。在制作測試數據集時,將所有圖片重命名,使得每張圖片的名稱包含該光伏電池片單元所在光伏組件的名稱以及在其光伏組件上的位置。因此在識別出存在熱板故障的電池片之后可直接繪制光伏組件圖片并直接顯示出來。
以1號電池板為例,在經過卷積神經網絡的識別之后,判斷出該電池板中的[3_12_14]位置處存在熱斑故障,顯示的熱斑圖像結果如圖8所示。

圖8 識別結果可視化
本文通過對ResNet50網絡提出頭部分組特征提取模塊、嵌入通道注意力機制等方法,增加模型淺層信息的提取能力;使用通道注意力機制增大目標的特征信息;使用H分量平均直方圖峰值方法對熱斑負樣本數據集進行分類,提高模型識別的一致均衡性,從而提出了一種基于改進ResNet50的目標識別方法,實現了小樣本光伏組件紅外熱斑高效、精確識別。試驗結果表明,該方法的準確率較改進前提高了約6.13%,可對熱斑缺陷進行精準定位和缺陷位置可視化。