蘭小艷,史鈞宇
(山西工程職業(yè)學(xué)院,山西 太原 030009)
隨著人口增長和經(jīng)濟(jì)發(fā)展,能源消耗持續(xù)增長,能源緊缺的時期將提前到來。二十一世紀(jì)新能源的開發(fā)與利用是關(guān)系到人類子孫后代命運的一件大事。綠色環(huán)保的光伏發(fā)電,是解決我國能源問題的一條重要途徑。太陽能是綠色環(huán)保的清潔能源,在諸多方面有廣泛的應(yīng)用,尤其是利用太陽能發(fā)電為人們的生活帶來諸多便利。
太陽能電池板是由單晶硅制作而成,由于制作工藝與使用過程中的損耗,使得電池板表面產(chǎn)生裂痕、斷柵、破損等缺陷[1-2]。這些缺陷會使得透光率、導(dǎo)電性、發(fā)電效率等下降。為了提高使用壽命,提升發(fā)電效率,電池板表面缺陷檢測顯得尤為重要。
目前的檢測方法包括人工檢測、基于機器視覺和深度學(xué)習(xí)的檢測方法等。人工檢測方法效率低,容易出現(xiàn)人眼疲勞、注意力不集中的情況,進(jìn)而造成漏檢、誤檢。
基于機器視覺的檢測算法首先需要將電池片的柵線去除,其次運用掃描線法對缺陷進(jìn)行統(tǒng)計,最后通過設(shè)置閾值來獲得缺陷。該方法能識別到裂縫,但對邊緣、破損、斷柵等缺陷的檢測存在弊端,并且預(yù)處理部分比較復(fù)雜。基于深度學(xué)習(xí)的檢測算法通常由于數(shù)據(jù)量較少,訓(xùn)練不充分而使得檢測存在誤差。
近年來,神經(jīng)網(wǎng)絡(luò)在諸多領(lǐng)域取得了比較好的應(yīng)用,如圖像識別[3-4]和自然語言處理[5-6]。
人工神經(jīng)網(wǎng)絡(luò)[7]的應(yīng)用,對數(shù)據(jù)樣本有一定的要求,如果數(shù)據(jù)樣本不夠充分、質(zhì)量較差,訓(xùn)練就會出現(xiàn)過擬合現(xiàn)象,同時會出現(xiàn)梯度消失。
本文利用神經(jīng)網(wǎng)絡(luò)方法對電池板缺陷進(jìn)行檢測,該方法避免了人工檢測效率低、避免了機器學(xué)習(xí)檢測中預(yù)處理的復(fù)雜性,避免了深度學(xué)習(xí)檢測中由于數(shù)據(jù)量不足導(dǎo)致訓(xùn)練不充分。神經(jīng)網(wǎng)絡(luò)方法由于具有較強的自學(xué)習(xí)能力,可以學(xué)習(xí)到適合不同問題的特征,有很強的適應(yīng)性。實驗結(jié)果表明,這種算法不僅具有很好的適應(yīng)性,還能提高檢測效率。
在進(jìn)行深度學(xué)習(xí)時,需要對電池板圖像進(jìn)行預(yù)處理,由于整張電池板面積過大,而且一張電池板上存在的受損情況不同,很難對整張電池板進(jìn)行缺陷識別,需要將電池板切割為獨立的電池片單元。獲取到的電池板圖片會存在多余背景、傾斜、畸變等問題無法進(jìn)行準(zhǔn)確切割,需要將電池板圖像進(jìn)行校正,并裁剪為獨立的電池片。
如圖1 所示,將獲得的電池板圖像先進(jìn)行灰度化處理;將灰度化后的圖像利用中值濾波進(jìn)行降噪處理;利用頂帽變換進(jìn)行亮度調(diào)整;利用二值化對圖像進(jìn)行處理,從而將電池板部分與背景部分進(jìn)行分割;利用仿射變換算法對電池板區(qū)域進(jìn)行矯正;利用Hough變換尋找最長直線,對電池板進(jìn)行裁剪;得到切割后的電池板單元圖像。

圖1 電池板圖像處理流程
本文中針對太陽能電池板缺陷進(jìn)行檢測,利用DenseNet 網(wǎng)絡(luò)模型對缺陷進(jìn)行檢測,由于DenseNet 模型是在ResNet 基礎(chǔ)上的改進(jìn),它提出了一種全新的密集連接機制,連接來自不同層的特征圖,可以有效實現(xiàn)特征重用,提升計算效率。但是與ResNet 模型相比,DenseNet 模型在處理特征圖時,需要每一層的特征圖保持一致,因此,需要在DenseNet 模型中加轉(zhuǎn)換器結(jié)構(gòu)。DenseNet 是采用的密集機制,層與層之間采用密集的連接方式,轉(zhuǎn)換器結(jié)構(gòu)只能保證相鄰的模塊大小一致,增加池化層可以調(diào)節(jié)特征圖的大小。
太陽能電池板缺陷存在很多相似性,在電池板缺陷數(shù)據(jù)集中,數(shù)據(jù)集相對較小。會導(dǎo)致在訓(xùn)練的過程中出現(xiàn)過擬合現(xiàn)象。為了解決這個問題,在模型中融合L2 正則化,式⑴為沒有添加L2正則化的迭代計算公式,式⑵為添加L2 正則化的計算公式。L2 正則化是在每次迭代計算中,先乘以一個小于1 的因子從而使得最終參數(shù)計算的結(jié)果變小。在式⑵中乘以因子,因為參數(shù)值小的模型簡單,能夠有效地適應(yīng)不同特征分布電池板缺陷數(shù)據(jù)集,這樣,可以在一定程度上避免過擬合,因此,式⑵添加L2 正則化可以有效地避免過擬合現(xiàn)象。

在神經(jīng)網(wǎng)絡(luò)模型中,隨著深度不斷增加,太陽能缺陷檢測圖像像素值分布為以0 為均值,單位方差為正態(tài)分布時可以加速收斂速度。而每層特征值的分布將會逐漸向激活函數(shù)輸出區(qū)的上下兩端靠近,這樣會導(dǎo)致梯度逐漸消失。調(diào)整Batch Normalization 層,將上一層的輸出利用式⑶進(jìn)行歸一化,可以將該層特征值分布變回到標(biāo)準(zhǔn)正態(tài)分布,特征值會落在激活函數(shù)對于輸入敏感的數(shù)值區(qū)間。當(dāng)輸入的值發(fā)生微小變化時,損失函數(shù)會有較大的起伏,在避免梯度消失的同時,加快收斂[8]。
常用的激活函數(shù)為式⑷,式⑷中,當(dāng)x的取值小于0時,函數(shù)值為0。

在神經(jīng)網(wǎng)絡(luò)中,選用該激活函數(shù)會造成一部分神經(jīng)元死亡,導(dǎo)致梯度消失。本文采用SELU 激活函數(shù),計算公式為式⑸。

其中,δ=1.050700987,α=1.673263242,這兩個參數(shù)的值是經(jīng)過大量的計算驗證得到。
當(dāng)x 大于0 時,激活函數(shù)SELU 的正半軸的導(dǎo)數(shù)是一個大于1的值,當(dāng)x小于0時,通過計算得到一個極小的值,與RELU 激活函數(shù)相比,可以防止神經(jīng)元死亡。這樣,可以實現(xiàn)單側(cè)抑制,提高網(wǎng)絡(luò)的稀疏表達(dá)性。該激活函數(shù)有效針對樣本數(shù)據(jù)集較小,以及網(wǎng)絡(luò)深度大造成的梯度消失問題,從而提高網(wǎng)絡(luò)模型的魯棒性。
本文選用具有虛焊缺陷的電池板圖像如圖2 中(a)、(b)、(c)、(d)四幅圖片,電池板的生產(chǎn)是由多個晶體硅板焊接而成,在生產(chǎn)過程中會存在焊接部分一體性不夠好,而影響電池板的使用。檢測電池板的焊接缺陷也是很有必要。利用本文所設(shè)計的模型對虛焊缺陷的電池板進(jìn)行檢測,得到的實驗結(jié)果如圖2所示,實驗的識別準(zhǔn)確率達(dá)到92.78%。

圖2 以上四幅為帶有虛焊缺陷的電池板圖像
太陽能電池板長期處于風(fēng)吹日曬的地方,由于這種地理環(huán)境的影響,會使得電池板出現(xiàn)隱裂,影響使用壽命,對隱裂進(jìn)行檢測并及時修復(fù)可以延長使用壽命。本文利用該模型對具有隱裂缺陷的電池板如圖3 中(a)、(b)、(c)、(d)四幅圖像進(jìn)行檢測,實驗結(jié)果如圖3所示,得到的識別準(zhǔn)確率為93.28%。

圖3 以上四幅為帶有隱裂缺陷的電池板圖像
本文利用DenseNet 網(wǎng)絡(luò)模型,融入L2 正則化對太陽能電池板進(jìn)行檢測時能夠在一定程度上避免過擬合現(xiàn)象,調(diào)整Batch Normalization 可以在避免梯度消失的同時加快收斂速度,使用SELU 激活函數(shù)可以提高該模型的魯棒性,從實驗結(jié)果可以看出,該模型對于隱裂缺陷的檢測具有很好的效果,對虛焊的檢測效果稍不及對隱裂缺陷的檢測,該模型在其他缺陷方面的檢測有待進(jìn)一步研究。