張玉婷,鄭茜穎,俞金玲
(福州大學(xué)物理與信息工程學(xué)院,福建福州 350000)
近年來(lái),光伏能源在全世界大規(guī)模應(yīng)用,在光伏能源中,太陽(yáng)能是最可靠、清潔和無(wú)污染的可再生能源[1]。太陽(yáng)電池片是光伏發(fā)電的關(guān)鍵部分,電池片缺陷會(huì)嚴(yán)重地影響光伏發(fā)電系統(tǒng)的穩(wěn)定性以及壽命[2-3]。目前,裂紋缺陷主要依靠專(zhuān)業(yè)人員進(jìn)行檢測(cè)識(shí)別,但是這種檢測(cè)方式缺乏快速性和魯棒性。因此,越來(lái)越多的國(guó)內(nèi)外學(xué)者提出把基于計(jì)算機(jī)視覺(jué)的技術(shù)[4]應(yīng)用到太陽(yáng)電池片裂紋缺陷的自動(dòng)檢測(cè)系統(tǒng)中。
根據(jù)圖像紋理特征之間的差異,現(xiàn)有的太陽(yáng)電池片裂紋檢測(cè)方法可以分為以下三種:基于人工智能的檢測(cè)方法、基于均勻紋理的檢測(cè)方法和基于非均勻紋理的檢測(cè)方法。其中,基于人工智能的檢測(cè)方法主要是使用人工標(biāo)記的數(shù)據(jù)集對(duì)分類(lèi)器[5]和卷積神經(jīng)網(wǎng)絡(luò)[6-7]進(jìn)行訓(xùn)練,無(wú)需區(qū)別背景的均勻程度,但是這種檢測(cè)方法需要標(biāo)記大量的圖像和訓(xùn)練樣本[8],并且對(duì)非均質(zhì)紋理背景圖像的裂紋識(shí)別準(zhǔn)確率有待提高?;诰鶆蚣y理的檢測(cè)方法,主要是通過(guò)傅里葉變換[9]、Gabor 變換[10-11]和離散小波變換[12-13]等方法識(shí)別裂紋缺陷,由于均勻紋理背景與裂紋缺陷之間的對(duì)比度較高,這些方法都可以有效地識(shí)別出裂紋,但是算法的復(fù)雜度較高,難以滿(mǎn)足在線檢測(cè)的實(shí)時(shí)性要求;基于非均勻紋理的檢測(cè)方法,目前主要是采用各向異性擴(kuò)散系數(shù)法[14]、基于Hessian 矩陣的裂紋檢測(cè)[15]等方法進(jìn)行裂紋檢測(cè),但是這些方法具有一定局限性,在晶粒和裂紋高度混淆的情況下,裂紋誤檢率高。在之前提出的檢測(cè)方法上,設(shè)計(jì)了一種基于匹配濾波器和微分匹配均值濾波器的裂紋檢測(cè)方法,對(duì)多晶硅電池片進(jìn)行裂紋檢測(cè)。
本文方法的具體實(shí)現(xiàn)過(guò)程如下:首先,將原始的RGB 圖像轉(zhuǎn)換為單通道的灰度圖,降低算法的計(jì)算復(fù)雜度;其次,對(duì)灰度圖像進(jìn)行線性反轉(zhuǎn)等增強(qiáng)操作;再利用旋轉(zhuǎn)矩陣構(gòu)造出不同角度的匹配濾波器進(jìn)行裂紋增強(qiáng),為閾值分割提供基礎(chǔ);同時(shí)采用微分匹配均值濾波器對(duì)灰度圖像的空間特征進(jìn)行濾波處理,為閾值計(jì)算提供依據(jù);然后,根據(jù)匹配閾值篩選完整的裂紋結(jié)構(gòu);最后,利用Hough 變換和形態(tài)學(xué)方法獲取連續(xù)的裂紋結(jié)構(gòu)。系統(tǒng)整體框架如圖1 所示,分為裂紋匹配和裂紋提取兩個(gè)部分。
圖1 系統(tǒng)框架
本文范例選取ELPV-dataset 數(shù)據(jù)庫(kù)中的圖像進(jìn)行算法驗(yàn)證。為了方便后續(xù)算法實(shí)現(xiàn),首先對(duì)裂紋圖像轉(zhuǎn)換為單通道灰度圖。為了更好地檢測(cè)裂紋特征,對(duì)灰度圖像進(jìn)行線性反轉(zhuǎn)變換。
經(jīng)過(guò)實(shí)驗(yàn)觀察電池片的電致發(fā)光成像(Electroluminescence,EL)的三維截面如圖2 所示:(a)是裂紋結(jié)構(gòu)灰度圖;(b)是裂紋結(jié)構(gòu)對(duì)應(yīng)的三維截面圖;(c)是晶粒結(jié)構(gòu)灰度圖;(d)是晶粒結(jié)構(gòu)對(duì)應(yīng)的三維截面圖??梢园l(fā)現(xiàn)裂紋三維圖像的特征與高斯曲線相似且截面圖像的梯度具有不對(duì)稱(chēng)性,另外晶粒結(jié)構(gòu)與線性晶粒結(jié)構(gòu)都具有階梯幾何特征,這是因?yàn)槎嗑ЬЯIL(zhǎng)的本質(zhì)是以正四面體晶格排列成多晶核結(jié)構(gòu)。結(jié)合以上特點(diǎn),本文采用高斯函數(shù)f(x,y)擬合裂紋截面圖像形狀以及階躍函數(shù)ε(x,y)模擬大塊的晶粒結(jié)構(gòu)邊緣,以便于裂紋檢測(cè)算法驗(yàn)證。如圖3 所示:(a)是裂紋結(jié)構(gòu)模擬信號(hào);(b)是晶粒結(jié)構(gòu)模擬信號(hào);(c)是裂紋匹配濾波響應(yīng)圖;(d)是晶粒匹配濾波響應(yīng)圖;(e)是裂紋微分匹配均值濾波響應(yīng)圖;(f)是晶粒微分匹配均值濾波響應(yīng)圖。
圖2 指定結(jié)構(gòu)的灰度圖和三維截面圖
圖3 匹配濾波器和微分匹配均值的模擬信號(hào)響應(yīng)圖
2.2.1 匹配濾波器
匹配濾波器[16]是一種識(shí)別目標(biāo)對(duì)象空間特征的算子,對(duì)于裂紋結(jié)構(gòu)具有強(qiáng)烈的響應(yīng)。采用匹配濾波器與待處理圖像相卷積以匹配裂紋特征,識(shí)別圖像中的裂紋結(jié)構(gòu),為后續(xù)提取完整的裂紋提供基礎(chǔ)。濾波過(guò)程具體表示為:
式中:Hi(x,y)表示匹配濾波器;(x,y)表示像素點(diǎn)位置;i表示旋轉(zhuǎn)角度;δ表示濾波器的尺度。因?yàn)楦咚骨€在[-3δ,3δ]的區(qū)域接近99%,所以t為常數(shù)3,L是沿y軸平滑噪聲的長(zhǎng)度,參數(shù)L的設(shè)置與δ的值互相影響,δ較小時(shí),L的取值也相對(duì)較小;反之亦然;mi表示濾波器內(nèi)核均值,用于將濾波器均值標(biāo)準(zhǔn)化為0。
對(duì)于不同方向的裂紋檢測(cè),匹配濾波器根據(jù)旋轉(zhuǎn)矩陣從不同角度尋找裂紋,旋轉(zhuǎn)矩陣Ri表示為:
2.2.2 微分匹配均值濾波器
雖然,匹配濾波器對(duì)于裂紋結(jié)構(gòu)有強(qiáng)烈的響應(yīng),但如圖3(c)~(d)所示,發(fā)現(xiàn)匹配濾波器會(huì)對(duì)裂紋結(jié)構(gòu)和晶粒結(jié)構(gòu)都產(chǎn)生強(qiáng)烈的響應(yīng)幅值,不能有效區(qū)分這兩種結(jié)構(gòu)。因此,根據(jù)圖3 所發(fā)現(xiàn)的裂紋截面曲線梯度具有不對(duì)稱(chēng)性這一特點(diǎn),提出通過(guò)兩個(gè)濾波器匹配裂紋的方案。式(1)中定義了匹配濾波器的內(nèi)核,可以推導(dǎo)出微分匹配濾波器的內(nèi)核公式Gi(x,y):
然后采用局部均值濾波器W與微分匹配濾波器的響應(yīng)結(jié)果Gi相卷積,增加兩種結(jié)構(gòu)響應(yīng)差值,提高算法的魯棒性。其中局部均值濾波器的大小為w×w,系數(shù)為1/w2。
如圖3(e)~(f)所示,微分匹配均值濾波器對(duì)裂紋結(jié)構(gòu)產(chǎn)生響應(yīng)趨近于無(wú),但對(duì)晶粒結(jié)構(gòu)產(chǎn)生一定寬度的強(qiáng)烈響應(yīng)。為方便論述,本文記匹配濾波器的響應(yīng)圖為S,微分匹配均值濾波的響應(yīng)圖為G。
綜上分析,得出以下結(jié)論:裂紋結(jié)構(gòu)在S中存在高幅值,但在G中卻是低幅值;晶粒結(jié)構(gòu)在S中存在高幅值,但在G中也是高幅值。因此提出根據(jù)G得出閾值T,然后把T應(yīng)用于S來(lái)檢測(cè)裂紋結(jié)構(gòu)。如果G的幅值很低,則說(shuō)明周?chē)嬖诹鸭y結(jié)構(gòu),T會(huì)相應(yīng)變小以保證檢測(cè)到裂紋結(jié)構(gòu);如果G的幅值很高,則說(shuō)明周?chē)嬖诰Я=Y(jié)構(gòu),T會(huì)相應(yīng)地變大以篩選晶粒結(jié)構(gòu)。T的公式如下:
式中:μs為S的均值;q為常數(shù),根據(jù)實(shí)驗(yàn)經(jīng)驗(yàn)設(shè)置為3。最后裂紋匹配圖F由式(6)得出:
式中:S(x,y)為S的像素值矩陣;T(x,y)為計(jì)算出的閾值矩陣。
裂紋匹配步驟如下:
Step1 將本文選取的裂紋范例圖像與匹配濾波器相卷積,得到響應(yīng)圖S,其結(jié)果以及相應(yīng)的三維強(qiáng)度圖如圖4 所示。
圖4 匹配濾波器的響應(yīng)圖以及對(duì)應(yīng)三維強(qiáng)度顯示圖
Step2 將范例圖像進(jìn)行微分匹配均值濾波,得到響應(yīng)圖G,如圖5(a)所示。
Step3 然后對(duì)G進(jìn)行歸一化處理,再根據(jù)閾值公式計(jì)算閾值T。
Step4 最后將T應(yīng)用于匹配濾波器的響應(yīng)圖S,得到閾值篩選結(jié)果如圖5(b)所示。
對(duì)比圖4 和圖5 可以看出,匹配濾波確實(shí)在一定程度上強(qiáng)化線性裂紋結(jié)構(gòu)的對(duì)比度,但是同時(shí)也增強(qiáng)了一些晶粒結(jié)構(gòu)。而本文算法中線性晶粒結(jié)構(gòu)的去除效果明顯提高,同時(shí)為后面的裂紋提取保留了完整的裂紋結(jié)構(gòu)。
圖5 微分匹配均值濾波響應(yīng)圖和閾值篩選結(jié)果圖
將閾值篩選后的圖像用Hough 算法去除柵線,得到如圖6(a)所示的裂紋結(jié)構(gòu)圖,再通過(guò)形態(tài)學(xué)方法連接裂紋結(jié)構(gòu),得到最終結(jié)果,如圖6(b)所示。
圖6 檢測(cè)結(jié)果
ELPV-dataset 是現(xiàn)有公開(kāi)的、較為全面的太陽(yáng)電池片EL圖像數(shù)據(jù)庫(kù),可以利用這個(gè)數(shù)據(jù)庫(kù)比較相關(guān)算法的有效性,本文選取這個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)測(cè)試本文算法性能。
本文選取認(rèn)可度較高的像素點(diǎn)分類(lèi)方法對(duì)裂紋檢測(cè)方法進(jìn)行性能評(píng)估,該標(biāo)準(zhǔn)是將算法檢測(cè)結(jié)果和專(zhuān)家標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行比較。像素統(tǒng)計(jì)有以下四種情況:真陽(yáng)性(TP)、假陽(yáng)性(FP)、真陰性(TN)、假陰性(FN)。如表1 所示,可以通過(guò)像素點(diǎn)分類(lèi)結(jié)果計(jì)算出正確率(Acc)、誤檢率(Err)、靈敏度(Sn)。正確率(Acc)和靈敏度(Sn)的數(shù)值越接近1 表示算法的性能越好,誤檢率(Err)的數(shù)值越接近0 表示算法的性能越好。
表1 性能評(píng)估指標(biāo)
為了充分地檢驗(yàn)本文算法的綜合性能,對(duì)ELPV-dataset數(shù)據(jù)庫(kù)中的幾組代表性圖像進(jìn)行驗(yàn)證對(duì)比。將本文算法、基于marr-hildreth 的檢測(cè)算法[17]、基于Hessian 矩陣的檢測(cè)算法以及基于sobel 的檢測(cè)算法[18]進(jìn)行對(duì)比實(shí)驗(yàn)分析算法性能,實(shí)驗(yàn)結(jié)果如圖7 所示。其中圖7(a)為EL 圖像,(b)為marrhildreth 算法檢測(cè)結(jié)果,(c)為sobel 算法檢測(cè)結(jié)果,(d)為Hessian 算法檢測(cè)結(jié)果,(e)為本文算法檢測(cè)結(jié)果,(f)是專(zhuān)業(yè)人員人工檢測(cè)的結(jié)果。
圖7 本文算法與其他算法檢測(cè)結(jié)果的對(duì)比
可以看出,基于marr-hildreth 的方法和基于sobel 的方法都只能檢測(cè)到裂紋結(jié)構(gòu)較為清晰的部分,且對(duì)于強(qiáng)度相似的晶粒結(jié)構(gòu)誤檢率較高,裂紋檢測(cè)的完整性較差?;贖essian矩陣的方法檢測(cè)效果有提升,裂紋檢測(cè)的完整性有所改善,但是對(duì)于強(qiáng)度相似的晶粒結(jié)構(gòu)的誤檢率仍然較高。本文提出的算法不僅能夠檢測(cè)出完整連貫的裂紋結(jié)構(gòu),還很好地解決了強(qiáng)度相似度較高的晶粒結(jié)構(gòu)誤檢率高的問(wèn)題。
表2 是本文算法針對(duì)ELPV-dataset 數(shù)據(jù)庫(kù)中圖像的3 個(gè)檢測(cè)性能指標(biāo)的計(jì)算結(jié)果。由表可得,本文算法的平均準(zhǔn)確率為0.999 6,靈敏度為0.965 6,誤檢率為0.000 0。本文算法在數(shù)據(jù)庫(kù)中有很好的檢測(cè)準(zhǔn)確率、靈敏度和很低的誤檢率,具有良好的檢測(cè)性能。
表2 本文算法測(cè)試結(jié)果
同時(shí),本文還計(jì)算了基于marr-hildreth 的檢測(cè)算法、基于Hessian 矩陣的檢測(cè)算法以及基于sobel 的檢測(cè)算法在數(shù)據(jù)庫(kù)中的檢測(cè)準(zhǔn)確率、靈敏度和誤檢率,并與本文算法進(jìn)行比較,結(jié)果如表3 和圖8 所示。結(jié)合表中的數(shù)據(jù)可以看出,本文算法在檢測(cè)準(zhǔn)確率、靈敏度和誤檢率上都有很大的改善。
表3 算法性能比較
圖8 算法性能比較
本文分析了多晶硅太陽(yáng)電池片現(xiàn)有的裂紋檢測(cè)方案,根據(jù)經(jīng)典高斯函數(shù)的匹配濾波器高信噪比的特性,結(jié)合微分均值濾波器以及匹配閾值方案,提出了新的裂紋檢測(cè)方案。設(shè)計(jì)了基于高斯函數(shù)的匹配濾波器以擬合裂紋的輪廓,提高裂紋的識(shí)別率;用微分均值濾波器以及匹配閾值方案篩選解決了部分線性晶粒結(jié)構(gòu)產(chǎn)生的偽響應(yīng)問(wèn)題;通過(guò)微分均值濾波器在裂紋響應(yīng)和階躍響應(yīng)之間產(chǎn)生明顯的強(qiáng)度響應(yīng)差距,為匹配閾值方案濾除偽響應(yīng)提供了良好的檢測(cè)基礎(chǔ)。將本文的算法應(yīng)用于ELPV-dataset 數(shù)據(jù)庫(kù)中的測(cè)試結(jié)果與標(biāo)準(zhǔn)結(jié)果進(jìn)行對(duì)比,實(shí)驗(yàn)表明本文算法可以很好地處理裂紋檢測(cè)過(guò)程中出現(xiàn)的紊亂背景干擾問(wèn)題以及晶粒誤檢問(wèn)題,同時(shí)具有很好的正確率,總體裂紋檢測(cè)效果優(yōu)于對(duì)比算法。