《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于深度學(xué)習(xí)的電池片缺陷識(shí)別研究
基于深度學(xué)習(xí)的電池片缺陷識(shí)別研究
2019年電子技術(shù)應(yīng)用第5期
周建凱,許盛之,趙二剛,俞 梅,張建軍
南開大學(xué) 電子科學(xué)與工程系 光電子薄膜器件與技術(shù)天津市重點(diǎn)實(shí)驗(yàn)室,天津300350
摘要: 基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡(luò)對(duì)電池片電致發(fā)光圖像進(jìn)行缺陷識(shí)別。選取公開的數(shù)據(jù)集,其中包含了電池片的不同種類缺陷。在傳統(tǒng)的VGGNet網(wǎng)絡(luò)的基礎(chǔ)上使用全卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并分析不同損失函數(shù)和dropout概率在數(shù)據(jù)集上的訓(xùn)練效果。經(jīng)過實(shí)驗(yàn)證明,該算法實(shí)現(xiàn)了對(duì)電池片是否有缺陷的準(zhǔn)確識(shí)別。研究還得出壓縮網(wǎng)絡(luò)結(jié)構(gòu)對(duì)算法訓(xùn)練速率能有大幅提升,這使得簡(jiǎn)化的模型更具有可遷移性,為大范圍的實(shí)時(shí)缺陷識(shí)別提供了一種有效方案。
中圖分類號(hào): TP391
文獻(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.
Cell defect recognition based on deep learning
Zhou Jiankai,Xu Shengzhi,Zhao Ergang,Yu Mei,Zhang Jianjun
The Tianjin Key Laboratory for Optical-Electronics Thin Film Devices and Technology, Department of Electronic Science and Engineering,Nankai University,Tianjin 300350,China
Abstract: Based on the TensorFlow framework, this paper builds convolutional neural networks to recognize the defects in the electroluminescent images of cells. It selects the exposed data set that contains the different types of defects in the cell. Based on the traditional VGGNet network, the full convolution neural network is used for training, and this paper analyzes the training effects of different loss functions and dropout probabilities on data set. Experiments have shown that the algorithm accurately recognizes whether the cell is defective. The study also shows that the compression network structure greatly increases the training rate of the algorithm, which makes the simplified model more portable and provides an effective solution for a wide range of real-time defect recognition.
Key words : electrofluorescence;image recognition;TensorFlow;convolutional neural network

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)重影響。

jsj2-t1.gif

    原數(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所示。

jsj2-t2.gif

    本文所使用的神經(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。

jsj2-t3.gif

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所示。

jsj2-t4.gif

    通過大量實(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á)式為:

jsj2-gs1-2.gif

其中,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具有更好的效果。

jsj2-t5.gif

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ì)算過程如下:

jsj2-gs3-6.gif

    圖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)重要。

jsj2-t6.gif

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所示。

jsj2-b1.gif

    表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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。