艾上美,周劍峰,張必朝,張 濤,王紅斌
(1.云南電網(wǎng)有限責(zé)任公司楚雄供電局,云南楚雄 675000;2.昆明理工大學(xué)信息工程與自動化學(xué)院,云南昆明 650000)
當(dāng)前太陽能電池發(fā)展迅速、應(yīng)用廣泛,其中光伏電站常見缺陷包括熱斑、組件低電流、零電流、組件缺失、組件碎裂、二極管故障,以及組件外表異常(遮擋物、表面灰塵、泥垢和臟污等)等,不僅嚴(yán)重影響了電廠發(fā)電效率,甚至危及電站安全。
常規(guī)的人工巡檢方式不僅效率低,而且存在對缺陷現(xiàn)象判斷不客觀、容易產(chǎn)生漏檢的問題。無人機光伏電站巡檢不僅大幅降低了人工巡檢的工作量、提高工作效率,而且可以依據(jù)準(zhǔn)確的缺陷定位便捷且高效地對電站進行維護和保養(yǎng),其中無人機光伏電站巡檢的關(guān)鍵步驟是缺陷自動檢測技術(shù)。
近年來很多學(xué)者對光伏組件缺陷進行了研究,柳揚[1]等人提出了使用圖像預(yù)處理結(jié)合聚類算法對缺陷進行檢測。張翔[2]提出了使用大數(shù)據(jù)和機器學(xué)習(xí)算法對硅片缺陷進行識別。劉鋮鋮[3]等人提出了使用改進的邊緣算法進行檢測。劉敏[4]等人提出了使用超聲掃描技術(shù)結(jié)合小波變換技術(shù)對光伏電池片噪聲進行識別。張鵬飛[5]等人提出使用改進的YOLOv3(You Only Look Once Version 3)檢測框架,準(zhǔn)確率達(dá)到了97.5%,檢測時間為0.023 s。張瑞珍[6]等人提出了使用數(shù)字化熱成像技術(shù)結(jié)合降維技術(shù)實現(xiàn)熱斑和裂縫的檢測。王亞麗[7]等人提出了使用大津法結(jié)合幾何定位對缺陷進行識別分類。時亞濤[8]等人提出了使用數(shù)據(jù)分析方法結(jié)合圖像處理技術(shù)進行檢測,準(zhǔn)確率達(dá)到了96.77%。趙洋[9]等人提出了使用改進的MaskR-CNN 網(wǎng)絡(luò),準(zhǔn)確率達(dá)到了96.1%。周全民[10]等人提出了使用暗網(wǎng)結(jié)構(gòu)的主干特征提取網(wǎng)絡(luò)和YOLO-V3 檢測算法對缺陷進行檢測。鐘泳松[11]等人提出了使用改進的單次多邊框檢測(Single Shot MultiBox Detector,SSD)網(wǎng)絡(luò)進行檢測,通過增加注意力機制提高檢測的準(zhǔn)確率。劉懷廣[12]等人提出了使用輕量型卷積網(wǎng)絡(luò),準(zhǔn)確率達(dá)到了87.5%。尹欣桐[13]提出了使用改進的FasterR-CNN(Faster Region-based Convolutional Neural Networks)網(wǎng)絡(luò)對缺陷進行識別,準(zhǔn)確率達(dá)到了87.25%。周得永[14]提出了使用聚類算法結(jié)合YOLO-V3 框架對缺陷進行檢測,準(zhǔn)確率達(dá)到了81.8%。王浩[15]等人提出了使用圖像增強結(jié)合自動閾值算法對缺陷進行檢測。林劍春[16]等人研發(fā)了檢測評估裝置對缺陷進行檢測。劉斌輝[17]等人提出了使用GoogLe 網(wǎng)絡(luò)進行檢測,準(zhǔn)確率達(dá)到了85%。
現(xiàn)有的光伏組件缺陷檢測算法主要采用了高光譜成像技術(shù)[18]、聲波法[19]、多特征區(qū)域融合方法[20]、基于頻域的方法[21]和深度學(xué)習(xí)的方法[22-24]等。利用聲波、激光掃描等方法可有效地檢測出太陽能電池片的裂紋,但對于污漬和輕微劃痕等缺陷不具有較高的準(zhǔn)確性?;诰灯萍夹g(shù)的檢測方法簡單、易于實現(xiàn),但對于小目標(biāo)缺陷識別率不高。基于頻域的檢測方法則適用于分布較為分散的缺陷,對于劃痕則無法識別。因此,本文提出了基于超分辨率和雙池化融合的光伏組件缺陷檢測算法,首先使用生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)技術(shù)對訓(xùn)練數(shù)據(jù)進行擴充,然后構(gòu)建圖像超分辨網(wǎng)絡(luò),提取局部細(xì)節(jié)特征,最后將SSD 檢測框架的主干網(wǎng)絡(luò)替換為雙池化方式融合的VGG19_MP(Visual Geometry Group19_MP)網(wǎng)絡(luò)。
光伏組件缺陷檢測的總體實現(xiàn)流程如圖1 所示,主要有3 步:(1)對光伏組件缺陷圖像進行GAN數(shù)據(jù)增強,擴充圖像數(shù)據(jù)樣本,提高光伏組件缺陷檢測模型的泛化性;(2)搭建圖像超分辨網(wǎng)絡(luò),減小訓(xùn)練數(shù)據(jù)的噪聲,增強圖像缺陷邊緣的紋理和輪廓特征;(3)將雙池化融合網(wǎng)絡(luò)結(jié)構(gòu)引入SSD 目標(biāo)檢測框架,學(xué)習(xí)缺陷圖像更深層次的特征結(jié)構(gòu)。
圖1 光伏組件缺陷檢測總體流程圖Fig.1 Overall flow chart of photovoltaic module defect detection
為了提高光伏組件缺陷檢測的性能,使用無監(jiān)督學(xué)習(xí)的GAN 數(shù)據(jù)增強算法生成新的訓(xùn)練數(shù)據(jù),在少量數(shù)據(jù)的基礎(chǔ)上可擴增到數(shù)據(jù)量大、豐富度高的不同場景數(shù)據(jù)集。通過無人機攜帶相機,按照一定航線飛行,對光伏電站進行周期性的缺陷圖像數(shù)據(jù)采集,獲取得到基礎(chǔ)數(shù)據(jù)集。
生成GAN 作為光伏組件缺陷圖片的數(shù)據(jù)增強生成器,以提高模型檢測的概括能力。GAN 網(wǎng)絡(luò)通過學(xué)習(xí)原始數(shù)據(jù)集缺陷的潛在結(jié)構(gòu)特征,生成新的模型訓(xùn)練數(shù)據(jù)集,使用神經(jīng)網(wǎng)絡(luò)不斷地迭代優(yōu)化,提高新的圖像與原始圖像的相似度。GAN 結(jié)構(gòu)如圖2 所示。
圖2 GAN結(jié)構(gòu)原理圖Fig.2 Schematic diagram of GAN structure
該模型主要包括生成器和判別器2 個模塊。生成器生成網(wǎng)絡(luò)的目標(biāo)是將現(xiàn)有的原始圖像進行編碼并形成特定向量,然后加入高斯分布的噪聲進行解碼生成新的圖像數(shù)據(jù),并且能夠?qū)⑸傻募贁?shù)據(jù)被判別器最大概率判斷為真實的數(shù)據(jù),生成器的損失函數(shù)LG為:
式中:m為總的樣本數(shù)量;i為第i個樣本;z(i)為加入噪聲后生成的假數(shù)據(jù)樣本;G(zi)為生成器的數(shù)據(jù)樣本;1-D(G(zi))為將生成的假數(shù)據(jù)預(yù)測為假數(shù)據(jù)的概率。
判別器判別網(wǎng)絡(luò)的目標(biāo)是一邊能夠精準(zhǔn)地判斷給定的圖像是原始的圖像還是生成網(wǎng)絡(luò)的輸出圖像(假圖片),另一邊能夠辨別同一個類別的不同圖片,使得解碼器生成的圖片與原始圖片存在較大差異。當(dāng)生成器輸出的假圖像過于真實,判別器無法正確地判斷,GAN 模型性能達(dá)到最佳,判別器的損失函數(shù)LD為:
式中:x(i)為光伏組件缺陷真實的數(shù)據(jù)樣本;D(x(i))為判別器將真實樣本預(yù)測正確的概率。
為了提高光伏組件缺陷圖像的質(zhì)量,增強模型識別的準(zhǔn)確性,需要對采集的缺陷數(shù)據(jù)集進行超分辨處理。首先經(jīng)過卷積層和N個A2B結(jié)構(gòu)模塊進行特征學(xué)習(xí),A2B結(jié)構(gòu)如圖3 所示。然后搭建圖像重建網(wǎng)絡(luò)結(jié)構(gòu),再進行卷積操作輸出特征圖,最后與采樣的特征圖進行融合,圖像超分辨網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖3 A2B模塊結(jié)構(gòu)Fig.3 A2B module structure
圖4 圖像超分辨網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Image super-resolution network structure
A2B引入了通道空間注意力機制,通過平均池化的方式減少通道數(shù),再使用展平層操作得出注意力通道,將不同的特征賦值不同的權(quán)重系數(shù),保留主要特征,去除次要特征。接下來提取目標(biāo)特征,先進行1×1卷積(Conv)降低特征通道數(shù),然后使用3×3 卷積(Conv)和Sigmoid 激活函數(shù)生成注意力機制分支,最后經(jīng)過1×1卷積操作完成特征的學(xué)習(xí)。
將無人機采集的2 000 張光伏組件缺陷圖像進行裁剪,以間距為300 個像素作為步長進行裁剪,得到8 000 張300×300 像素圖像數(shù)據(jù),超分辨網(wǎng)絡(luò)的優(yōu)化器采用自適應(yīng)矩估計算法(Adaptive Moment Estimation,Adam)。學(xué) 習(xí) 率 設(shè) 置 為e-2,Batch_Size 設(shè)置為14 個樣本,損失率為均方誤差損失函數(shù),損失率為均方誤差損失函數(shù),Epoch 設(shè)置為600(無量綱),圖像超分辨網(wǎng)絡(luò)輸出效果如圖5所示。能夠看出圖像清晰度得到了加強,對比度更加明顯。
圖5 圖像超分辨過程Fig.5 Rendering of image super-resolution network
SSD 目標(biāo)檢測框架的主干特征提取網(wǎng)絡(luò)采用的是雙池化方式融合的多分類網(wǎng)絡(luò)VGG19_MP,是在VGG19 卷積網(wǎng)絡(luò)基礎(chǔ)上進行改進,如圖6所示。
圖6 VGG19_MP網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.6 VGG19_MP network structure
該網(wǎng)絡(luò)結(jié)構(gòu)主要包含4 部分:VGG19_MP 網(wǎng)絡(luò)、融合池化層、全連接層、輸出層。融合池化層使用一種最大池化方法和均值池化方法結(jié)合的雙池化方式,具體原理是對最大池化結(jié)果和均值池化結(jié)果做求和、取平均處理,輸出為Pout,如式(3)所示。全連接層中節(jié)點數(shù)為1 024個,使用激勵函數(shù)Relu;輸出層節(jié)點數(shù)是2個,激勵函數(shù)softmax,輸出層的輸出是對2個類別預(yù)測的評分。
式中:Pm為最大池化值;Pa為平均池化值。
很多的研究中只使用一種池化方式,在本文的缺陷檢測任務(wù)處理中,特征提取網(wǎng)絡(luò)VGG19_MP對圖像超分辨網(wǎng)絡(luò)處理后的數(shù)據(jù)集進行預(yù)訓(xùn)練,然后利用本文數(shù)據(jù)集進行微調(diào);池化層、全連接層、輸出層完全使用本文數(shù)據(jù)集進行訓(xùn)練,所以這3 層包含缺陷數(shù)據(jù)的全部信息。由于缺陷圖像數(shù)量有限,增加全連接層可能會造成過擬合,而雙池化融合的處理,在保留數(shù)據(jù)集有用信息量的同時,不會在網(wǎng)絡(luò)中加入過多參數(shù),使用VGG19_MP 可以包含缺陷樣本更深層次、更全面的信息,從而提高分類精度。
改進后的SSD 目標(biāo)檢測網(wǎng)絡(luò)結(jié)構(gòu)如圖7 所示。
圖7 改進的SSD目標(biāo)檢測框架Fig.7 Improved target monitoring framework for SSD
損失函數(shù)如式(4)所示,主要由標(biāo)簽分類損失函數(shù)和目標(biāo)位置損失函數(shù)構(gòu)成。
式中:N為需要進行匹配的搜索框的數(shù)量;x為光伏缺陷的先驗框與真實框相匹配的相似度;c為不同光伏缺陷種類的置信度;l為光伏缺陷的預(yù)測框的位置坐標(biāo)信息;g為光伏缺陷的真實框位置坐標(biāo)信息;Lconf(x,c)為標(biāo)簽分類損失;Lloc(x,l,g)為目標(biāo)位置損失;α為標(biāo)簽分類損失函數(shù)和目標(biāo)位置損失函數(shù)的權(quán)重系數(shù),默認(rèn)系數(shù)為1。
在模型訓(xùn)練過程中不斷優(yōu)化權(quán)重系數(shù),提高光伏缺陷種類的置信度和位置信息預(yù)測框的可信度,從而提高光伏缺陷檢測模型的性能。
本文光伏組件缺陷檢測模型的操作系統(tǒng)為Ubuntu,Tensorflow-2.4.0 深度學(xué)習(xí)框架,硬件環(huán)境為11th Gen Inter(R)Core i7-11800H,內(nèi)存為16 GB。本研究中的光伏組件缺陷圖像數(shù)據(jù)是無人機在自然環(huán)境下進行采集,數(shù)據(jù)集主要分為臟污和劃痕2 種缺陷,為了減少圖像處理算法運行時間,將光伏組件圖像分辨率進行壓縮,本文的圖像分辨率為600×600 Pixe,共2 000 張圖像數(shù)據(jù)。無人機采集的2 000 幅圖像數(shù)據(jù)經(jīng)過GAN 數(shù)據(jù)增強方法擴充至8 000 張缺陷圖像,并劃分成6 400 張訓(xùn)練集和1 600 張測試集,再經(jīng)過圖像超分辨網(wǎng)絡(luò)結(jié)構(gòu),細(xì)化將缺陷的輪廓和紋理特征更加細(xì)化,提高缺陷檢測模型的準(zhǔn)確性。
本文的模型權(quán)重參數(shù)服從高斯分布,在模型的反向傳播過程中,優(yōu)化函數(shù)為隨機梯度下降法,學(xué)習(xí)率設(shè)置為e-2,指數(shù)的迭代速度(無量綱)為0.21,模型的前向傳播訓(xùn)練數(shù)據(jù)的Batch_Size 為14 個樣本,模型訓(xùn)練的Epoch 設(shè)置為600,缺陷檢測模型的訓(xùn)練指標(biāo)采用精確率(P)、召回率(R),綜合評價指標(biāo)(F1)。
式中:TP為預(yù)測為正樣本,實際也是正樣本;FP為預(yù)測為正樣本,實際是負(fù)樣本。
式中:FN為預(yù)測為負(fù)樣本,實際是正樣本。
F1的取值為0~1,表示光伏組件缺陷檢測模型訓(xùn)練的綜合性能,精確率P值越大,缺陷檢測的輪廓分割精度越高。如果缺陷檢測模型訓(xùn)練的查全率越低,缺陷輪廓識別越不精準(zhǔn),缺陷檢測分割模型損失率(無量綱)曲線如圖8 所示。
圖8 模型損失率訓(xùn)練曲線圖Fig.8 Training curve for model loss rate
為了對本文光伏組件缺陷的識別效果進行驗證,分別使用4 種不同的特征提取網(wǎng)絡(luò),即殘差網(wǎng)絡(luò)(Resnet50)、谷歌網(wǎng)絡(luò)(InceptionV3)、VGG19 和VGG19_MP 進行精確率和檢測時間的對比。臟污(Dirt)和劃痕(Scratch)的實驗效果如圖9 所示。
圖9 光伏組件缺陷檢測效果對比圖Fig.9 Comparison diagram of photovoltaic module defect detection effect
從圖9 中能夠看出使用Resnet50,InceptionV3和VGG19 算法檢測劃痕(Scratch)圖像時,未能完全地檢測劃出痕缺陷,識別精確率分別為92%,93%和96%,均低于VGG19_MP 算法的98%;使用Resnet50,InceptionV3 和VGG19 算法檢測臟污(Dirt)圖像時,未能完全檢測出臟污缺陷。本文VGG19_MP 算法的精確率均高于其它對比算法,并且平均檢測時間為0.066 s,均優(yōu)于Resnet50,InceptionV3 和VGG19 的平均檢測時間,能夠滿足對光伏組件缺陷檢測的實時性要求,如表1 所示。
表1 各種缺陷檢測模型指標(biāo)類比Table 1 Analogy of various indicators for defect detection model
為了對光伏組件的臟污和劃痕缺陷進行準(zhǔn)確的檢測,提出了使用超分辨率網(wǎng)絡(luò)和改進的SSD 框架,將VGG19_MP 作為主干特征提取網(wǎng)絡(luò),更好地提取臟污和劃痕的特征信息,有效地提高了光伏組件臟污和劃痕缺陷檢測的準(zhǔn)確性。
將經(jīng)過超分辨網(wǎng)絡(luò)處理的缺陷數(shù)據(jù)集分別在不同的主干特征提取網(wǎng)絡(luò)下進行缺陷檢測,使用VGG19_MP 的主干特征網(wǎng)絡(luò)檢測的精確率最高,達(dá)到了98.21%,相較于對比的特征提取網(wǎng)絡(luò)Resnet50,InceptionV3 和VGG19 網(wǎng)絡(luò),精確率分別提高了9.16%,7.78%和0.99%,平均檢測時間減少了0.019 s,0.004 s 和0.001 s。實驗結(jié)果表明本文提出的超分辨網(wǎng)絡(luò)和融合池化層的SSD 檢測算法能夠保留數(shù)據(jù)集更多、更深層次的有效信息,提高缺陷檢測的精度。