文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190053
中文引用格式: 周建凱,許盛之,趙二剛,等. 基于深度學(xué)習(xí)的電池片缺陷識(shí)別研究[J].電子技術(shù)應(yīng)用,2019,45(5):66-69,77.
英文引用格式: Zhou Jiankai,Xu Shengzhi,Zhao Ergang,et al. Cell defect recognition based on deep learning[J]. Application of Electronic Technique,2019,45(5):66-69,77.
0 引言
以太陽能為代表的新能源在近些年得到了廣泛的研究和應(yīng)用,特別是光伏發(fā)電技術(shù)。光伏太陽能的核心組件是光伏電池組件,除了電池材料自身存在的缺陷,生產(chǎn)時(shí)對(duì)電池片的多次加工也可能導(dǎo)致電池片的損壞,如過焊片、黑斑片、隱裂片等缺陷問題,加上安裝和使用過程中的機(jī)械損傷,都會(huì)影響組件的轉(zhuǎn)化效率和使用壽命。在實(shí)際應(yīng)用中,更會(huì)對(duì)光伏發(fā)電系統(tǒng)自身的安全構(gòu)成威脅。因此,研究光伏組件的缺陷檢測(cè)顯得尤為重要。
目前電池組件缺陷檢測(cè)的技術(shù)主要有[1]:紅外成像技術(shù)、光致發(fā)光成像技術(shù)、電致發(fā)光(ELectrofluorescence,EL)成像。EL成像是用于光伏組件缺陷檢測(cè)的非接觸式成像技術(shù),根據(jù)硅材料的電致發(fā)光原理進(jìn)行檢測(cè)。給晶體硅電池組件加上正向偏壓,組件會(huì)發(fā)出一定波長(zhǎng)的光,電荷耦合器件圖像傳感器(CCD)可以捕捉到這個(gè)波長(zhǎng)范圍的光并在電腦上成像。但電池組件存在缺陷會(huì)減弱其發(fā)光強(qiáng)度,所以可以根據(jù)EL圖像中電池發(fā)光強(qiáng)度的不同來判斷電池組件是否存在缺陷。
在以往的研究中,2012年TSIA D M等[2]提出了利用獨(dú)立分量分析(ICA)基圖像識(shí)別缺陷的監(jiān)督學(xué)習(xí)方法,該方法在80個(gè)太陽電池單元的測(cè)試樣本上平均識(shí)別率為93.4%。2014年ANWAR S A和ABDULLAH M Z提出了檢測(cè)多晶電池微裂紋的算法[3],即基于各向異性擴(kuò)散和形狀分類的圖像分割方法,在600張圖像上檢測(cè)微裂紋的精度上達(dá)到88%。深度學(xué)習(xí)特別是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在圖像識(shí)別[4]和檢測(cè)上備受重視。2018年DEITSCH S等提出自動(dòng)檢測(cè)單一光伏電池EL圖像缺陷的方法[5],分別用支持向量機(jī)和卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練及預(yù)測(cè),平均準(zhǔn)確率分別達(dá)到了82.44%和88.42%。另外,隨著深度學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)趨于更深,增加了訓(xùn)練及實(shí)際應(yīng)用的時(shí)間,因此,對(duì)網(wǎng)絡(luò)模型的壓縮的研究顯得尤為重要[6]。
本文針對(duì)傳統(tǒng)缺陷識(shí)別算法的不足,通過深度學(xué)習(xí)算法對(duì)EL圖像進(jìn)行分類,進(jìn)而識(shí)別出有缺陷和沒有缺陷的電池片。經(jīng)過實(shí)驗(yàn)證明,改進(jìn)的VGG16[7]網(wǎng)絡(luò)具有很好的準(zhǔn)確率,并且大幅降低了神經(jīng)網(wǎng)絡(luò)由于層數(shù)過多而帶來的大量運(yùn)算,縮減后的模型有更大的實(shí)用性。
1 實(shí)驗(yàn)數(shù)據(jù)及預(yù)處理
實(shí)驗(yàn)數(shù)據(jù)來自于BUERHOP-LUTZ C等人公開的數(shù)據(jù)集[8],該數(shù)據(jù)集提供了從光伏組件的高分辨率電致發(fā)光圖像中提取的太陽能電池圖像。圖片來自于44個(gè)不同的PV模塊,其中18個(gè)模塊為單晶型,26個(gè)為多晶型。圖片可以拆分為2 624個(gè)300×300像素的電池單元的EL圖像。這些圖像包含了常見的內(nèi)外缺陷,如黑心片、黑斑片、短路黑片、過焊片、斷柵片、明暗片、隱裂等類型,如圖1所示,出現(xiàn)的這些缺陷會(huì)對(duì)太陽電池組件的轉(zhuǎn)換效率和使用壽命造成嚴(yán)重影響。
原數(shù)據(jù)集中將單晶和多晶的電池單元進(jìn)行注釋,并且按照缺陷的概率對(duì)每張圖片進(jìn)行標(biāo)注,統(tǒng)計(jì)樣本的總數(shù)以及各類樣本分立情況,發(fā)現(xiàn)各類樣本數(shù)目相差較大,樣本分布的不平衡將導(dǎo)致訓(xùn)練后模型對(duì)各類別識(shí)別出現(xiàn)偏差。為了減少分布不平衡的差異,本文首先將概率為0%和33.33%的圖片作為無缺陷的正樣本,66.67%和100%的圖片作為有缺陷的負(fù)樣本,因此得到的樣本分布如圖2所示。
本文所使用的神經(jīng)網(wǎng)絡(luò)模型需要224 pixel×224 pixel大小的輸入圖像,由于給定數(shù)據(jù)集EL圖像大小都是300 pixel×300 pixel,在輸入前需要對(duì)通過壓縮來得到符合大小的圖片。對(duì)于樣本分布不平衡問題,本文使用了數(shù)據(jù)增強(qiáng)方法。采用的第一種數(shù)據(jù)增強(qiáng)方法是隨機(jī)水平和垂直翻轉(zhuǎn)圖像;第二種方法是對(duì)原始圖像隨機(jī)旋轉(zhuǎn)一定角度(不超過2°),旋轉(zhuǎn)所使用的插值方法為雙三次插值;第三種方法是調(diào)整圖像的亮度和對(duì)比度,因?yàn)楣庹諒?qiáng)度的變化會(huì)對(duì)成像結(jié)果造成很大影響。在預(yù)處理階段還對(duì)輸入圖片進(jìn)行了去噪處理。
2 基于VGGNet的缺陷識(shí)別分類網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)在20世紀(jì)就已經(jīng)被發(fā)現(xiàn),經(jīng)過十多年的發(fā)展,研究人員提出了各種不同的網(wǎng)絡(luò)結(jié)構(gòu),從AlexNet到VGGNet、GoogLeNet和ResNet,隨著網(wǎng)絡(luò)深度和寬度的增加以及不同功能層的引入,其在圖像識(shí)別的準(zhǔn)確率不斷提高。一方面,當(dāng)增加網(wǎng)絡(luò)層數(shù)后,網(wǎng)絡(luò)可以進(jìn)行更加復(fù)雜的特征提取,理論上可以取得更好的結(jié)果。但隨著網(wǎng)絡(luò)深度的增加,會(huì)出現(xiàn)退化的問題,由于深層網(wǎng)絡(luò)存在著梯度消失或者爆炸的問題,深度學(xué)習(xí)模型很難訓(xùn)練。因此,設(shè)計(jì)一個(gè)實(shí)用的EL圖像缺陷識(shí)別分類網(wǎng)絡(luò),需要結(jié)合理論分析和實(shí)驗(yàn)驗(yàn)證。
卷積神經(jīng)網(wǎng)絡(luò)作為一種特殊的深層的神經(jīng)網(wǎng)絡(luò)模型,它的核心思想是將局部感知、權(quán)值共享以及下采樣結(jié)合起來,通過深度神經(jīng)網(wǎng)絡(luò)的逐層計(jì)算來學(xué)習(xí)圖像的像素特征、低級(jí)特征、高級(jí)特征直至類別的隱式表達(dá)關(guān)系。2014年SIMONYAN K等人提出VGG網(wǎng)絡(luò),探索了CNN的深度與其性能之間的關(guān)系,成功地構(gòu)筑了16~19層深的神經(jīng)網(wǎng)絡(luò),輸入為224×224×3的圖片,經(jīng)過卷積和池化的處理輸出圖像所屬類別的概率[7],在具有1 000多個(gè)類別一百多萬張圖片的ImageNet數(shù)據(jù)集上取得了當(dāng)時(shí)很好的效果。因此不少分類問題采用的卷積神經(jīng)網(wǎng)絡(luò)都以此為基礎(chǔ)。
原始的VGG16網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,由5組卷積層、3層全連接層、softmax輸出層構(gòu)成,每組卷積層之間使用max-pooling(最大化池)分開,所有隱層的激活單元都采用ReLU函數(shù)做非線性變換,用以加快網(wǎng)絡(luò)收斂。圖中,3×3 conv,64等表示卷積核尺寸為3×3,通道數(shù)為64的卷積層;pool/2表示滑動(dòng)步長(zhǎng)為2的池化層(這里為最大池化);fc 4096表示通道數(shù)為4096的全連接層;softmax表示softmax函數(shù)。對(duì)于每一組卷積操作,都包含多個(gè)特別小的3×3卷積核構(gòu)成的卷積層,采用小卷積核既可以減少參數(shù),又增加了非線性映射,從而增強(qiáng)網(wǎng)絡(luò)的擬合效果?;瑒?dòng)步長(zhǎng)為1,采用邊界填充的方式,使得每個(gè)卷積層的輸入/輸出特征圖的像素不變。池化層采用2×2的池化核。每一組的通道數(shù)從64開始擴(kuò)大2倍,分別為64、128、256、512、512,使得更多的信息可以被提取出來。之后的3個(gè)全連接層通道數(shù)分別為4 096、4 096、1 000,最后通過softmax層得到圖片屬于每個(gè)類別的概率。在以下研究中,將最后的3層全連接層替換為卷積核為7×7和1×1的卷積層,通道數(shù)分別為4 096、4 096和2。
3 實(shí)驗(yàn)及其分析
3.1 網(wǎng)絡(luò)訓(xùn)練方法
實(shí)驗(yàn)所用計(jì)算機(jī)內(nèi)存為8 GB,使用英偉達(dá)GTX 1060顯卡加速模型訓(xùn)練,顯存為6 GB。軟件環(huán)境為Ubuntu 16.04 LTS 64位系統(tǒng),選用Python作為編程語言,采用TensorFlow深度學(xué)習(xí)開源框架,CUDA版本為9.0。
實(shí)驗(yàn)選取圖片總數(shù)的80%進(jìn)行訓(xùn)練,20%用來測(cè)試,即訓(xùn)練集圖片數(shù)量為2 099,測(cè)試集數(shù)量為525。采用批量訓(xùn)練的方法,將訓(xùn)練集和測(cè)試集分成多個(gè)批次(batch),每個(gè)批次的大小為16或32,在對(duì)每一個(gè)batch訓(xùn)練完之后,對(duì)所有的測(cè)試集圖片進(jìn)行測(cè)試,迭代的次數(shù)記為steps。采用隨機(jī)梯度下降算法作為優(yōu)化器,學(xué)習(xí)率在訓(xùn)練中控制著參數(shù)的更新速度,這里使用指數(shù)衰減學(xué)習(xí)率,初始學(xué)習(xí)率為0.005,衰減速度為1 000,學(xué)習(xí)率衰減系數(shù)為0.9。訓(xùn)練得到的損失和準(zhǔn)確率如圖4所示。
通過大量實(shí)驗(yàn),發(fā)現(xiàn)CNN在缺陷識(shí)別上有不錯(cuò)的效果,為了進(jìn)一步提高分類的性能及減少訓(xùn)練所需的時(shí)間,下面將對(duì)不同的dropout概率和損失函數(shù)進(jìn)行討論,以期望得到更優(yōu)的模型。
3.2 不同損失函數(shù)下的識(shí)別準(zhǔn)確率
損失函數(shù)用來估量模型的預(yù)測(cè)值與真實(shí)值的相差程度,這里比較了兩種常見的損失函數(shù)Hinge loss和Softmax loss。Hinge loss又稱為折頁損失函數(shù),其函數(shù)表達(dá)式為:
其中,L為損失,t=[t1,t2,…,tN]T表示目標(biāo)值;y=[y1,y2,…,yN]T,表示預(yù)測(cè)值輸出;1≤j≤N,N為輸出節(jié)點(diǎn)的數(shù)量。
這兩種損失函數(shù)隨著迭代次數(shù)變化的曲線如圖5所示。在訓(xùn)練的初始階段,Softmax loss要小于Hinge loss,但其下降的速度比較緩慢;訓(xùn)練200次以后Hinge loss迅速減小,說明模型收斂得更快,并且模型的魯棒性更好。從這里可以看出,在電致發(fā)光圖像缺陷識(shí)別的數(shù)據(jù)集上,二分類的Hinge loss具有更好的效果。
3.3 不同Dropout概率下的識(shí)別準(zhǔn)確率
在數(shù)據(jù)集有限的情況下,通常使用dropout來緩解過擬合的發(fā)生,在一定程度上起到正則化的效果。它是指在標(biāo)準(zhǔn)的BP神經(jīng)網(wǎng)絡(luò)基礎(chǔ)之上,使BP網(wǎng)絡(luò)的隱藏層激活值以一定的比例變?yōu)?,即按照一定的比例,隨機(jī)地讓一部分隱藏層節(jié)點(diǎn)失效。存在dropout的神經(jīng)網(wǎng)絡(luò)計(jì)算過程如下:
圖6給出了在不同dropout概率時(shí)對(duì)缺陷識(shí)別的準(zhǔn)確率,從圖中可以看出,當(dāng)dropout概率在0.3時(shí)準(zhǔn)確率最高。在訓(xùn)練的過程中,概率越小,網(wǎng)絡(luò)的參數(shù)較多,對(duì)于訓(xùn)練集樣本不足夠大情況下,容易出現(xiàn)過擬合的現(xiàn)象;概率越小,由于所訓(xùn)練的神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)不足,并不能有效地?cái)M合訓(xùn)練數(shù)據(jù),導(dǎo)致最終的識(shí)別準(zhǔn)確率下降,所以找到合適的概率對(duì)于模型的訓(xùn)練效果至關(guān)重要。
3.4 不同網(wǎng)絡(luò)結(jié)構(gòu)的識(shí)別效果分析
基于VGG16的卷積神經(jīng)網(wǎng)絡(luò)雖然在現(xiàn)有數(shù)據(jù)集上取得了良好的限制,但訓(xùn)練時(shí)間過長(zhǎng),通過對(duì)dropout概率的研究也表明網(wǎng)絡(luò)中存在著冗余參數(shù),因此為了提高訓(xùn)練的速度,本文對(duì)網(wǎng)絡(luò)進(jìn)行縮減,計(jì)算不同網(wǎng)絡(luò)層數(shù)時(shí)的參數(shù)總量,記錄下訓(xùn)練時(shí)的時(shí)間以及在測(cè)試集上的準(zhǔn)確率,如表1所示。
表1中,結(jié)構(gòu)1為完整的VGG16網(wǎng)絡(luò);結(jié)構(gòu)2將每組卷積的卷積層個(gè)數(shù)減少為1、1、2、2、2,通道數(shù)不變;結(jié)構(gòu)3將每組卷積的卷積層個(gè)數(shù)改為2、2、4、4、4,通道數(shù)不變,用來作對(duì)比;結(jié)構(gòu)4將每組卷積的卷積層個(gè)數(shù)改為2、2、2、2、2,通道數(shù)不變;結(jié)構(gòu)5~6每組卷積的個(gè)數(shù)均為1,結(jié)構(gòu)4的通道數(shù)為64、128、256、512、512、4096、4096、2,結(jié)構(gòu)5的通道數(shù)為32、64、128、256、256、2048、2048、2,結(jié)構(gòu)6的通道數(shù)為16、32、64、128、128、1024、1024、2。
從表1中可以看出網(wǎng)絡(luò)的參數(shù)主要集中在全連接層,在將全連接層的神經(jīng)元節(jié)點(diǎn)數(shù)目縮減之后,訓(xùn)練的時(shí)間大大縮減。卷積操作承擔(dān)著圖像特征提取的任務(wù),卷積層數(shù)量的縮減雖然會(huì)稍微降低識(shí)別的結(jié)果,但是能大大加速模型的訓(xùn)練速度,這對(duì)于工業(yè)上的電致發(fā)光圖像缺陷識(shí)別有重要意義。
4 結(jié)論
本文提出將卷積神經(jīng)網(wǎng)絡(luò)用于太陽電池單元電致發(fā)光圖像缺陷識(shí)別,它能夠很好地提取電池片的缺陷,進(jìn)行正確的分類。在2 624張樣本上,用全卷積VGG16網(wǎng)絡(luò)進(jìn)行訓(xùn)練,經(jīng)過大量的參數(shù)調(diào)節(jié),識(shí)別的準(zhǔn)確率達(dá)到93.95%。在此基礎(chǔ)上本文研究了模型壓縮后的訓(xùn)練速率以及識(shí)別準(zhǔn)確率,得出在減少網(wǎng)絡(luò)層數(shù)之后,模型的訓(xùn)練速率大大加快,并且不會(huì)使準(zhǔn)確率明顯下降。下一步的研究中,將在簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,提高模型性能和識(shí)別準(zhǔn)確率,以便用于實(shí)際的電池片缺陷識(shí)別當(dāng)中。
參考文獻(xiàn)
[1] 施光輝,崔亞楠,劉小嬌,等.電致發(fā)光(EL)在光伏電池組件缺陷檢測(cè)中的應(yīng)用[J].云南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,36(2):17-21.
[2] TSAI D M,WU S C,LI W C.Defect detection of solar cells in electroluminescence images using Fourier image reconstruction [J].Solar Energy Materials and Solar Cells,2012,99(none):250-262.
[3] ANWAR S A,ABDULLAH M Z.Micro-crack detection of multicrystalline solar cells featuring an improved anisotropic diffusion filter and image segmentation technique[J].Eurasip Journal on Image & Video Processing,2014,2014(1):1-17.
[4] 許少尉,陳思宇.基于深度學(xué)習(xí)的圖像分類方法[J].電子技術(shù)應(yīng)用,2018,44(6):116-119.
[5] DEITSCH S,CHRISTLEIN V,BERGER S,et al.Automatic classification of defective photovoltaic module cells in electroluminescence images[J].arXiv preprint arXiv:1807.02894,2018.
[6] 馬治楠,韓云杰,彭琳鈺,等.基于深層卷積神經(jīng)網(wǎng)絡(luò)的剪枝優(yōu)化[J].電子技術(shù)應(yīng)用,2018,44(12):119-122,126.
[7] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[J].arXiv preprint arXiv:1409.1556,2014.
[8] BUERHOP-LUTZ C,DEITSCH S,MAIER A F,et al.A benchmark for visual identification of defective solar cells in electroluminescence imagery[C].35th European PV Solar Energy Conference and Exhibition,2018.
作者信息:
周建凱,許盛之,趙二剛,俞 梅,張建軍
(南開大學(xué) 電子科學(xué)與工程系 光電子薄膜器件與技術(shù)天津市重點(diǎn)實(shí)驗(yàn)室,天津300350)