《電子技術(shù)應用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計應用 > 基于深度學習的電池片缺陷識別研究
基于深度學習的電池片缺陷識別研究
2019年電子技術(shù)應用第5期
周建凱,,許盛之,,趙二剛,,俞 梅,,張建軍
南開大學 電子科學與工程系 光電子薄膜器件與技術(shù)天津市重點實驗室,天津300350
摘要: 基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡(luò)對電池片電致發(fā)光圖像進行缺陷識別,。選取公開的數(shù)據(jù)集,,其中包含了電池片的不同種類缺陷。在傳統(tǒng)的VGGNet網(wǎng)絡(luò)的基礎(chǔ)上使用全卷積神經(jīng)網(wǎng)絡(luò)進行訓練,,并分析不同損失函數(shù)和dropout概率在數(shù)據(jù)集上的訓練效果,。經(jīng)過實驗證明,該算法實現(xiàn)了對電池片是否有缺陷的準確識別,。研究還得出壓縮網(wǎng)絡(luò)結(jié)構(gòu)對算法訓練速率能有大幅提升,,這使得簡化的模型更具有可遷移性,為大范圍的實時缺陷識別提供了一種有效方案,。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190053
中文引用格式: 周建凱,,許盛之,趙二剛,,等. 基于深度學習的電池片缺陷識別研究[J].電子技術(shù)應用,,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 引言

    以太陽能為代表的新能源在近些年得到了廣泛的研究和應用,,特別是光伏發(fā)電技術(shù),。光伏太陽能的核心組件是光伏電池組件,除了電池材料自身存在的缺陷,,生產(chǎn)時對電池片的多次加工也可能導致電池片的損壞,,如過焊片、黑斑片,、隱裂片等缺陷問題,,加上安裝和使用過程中的機械損傷,都會影響組件的轉(zhuǎn)化效率和使用壽命,。在實際應用中,,更會對光伏發(fā)電系統(tǒng)自身的安全構(gòu)成威脅。因此,,研究光伏組件的缺陷檢測顯得尤為重要,。

    目前電池組件缺陷檢測的技術(shù)主要有[1]:紅外成像技術(shù)、光致發(fā)光成像技術(shù),、電致發(fā)光(ELectrofluorescence,,EL)成像。EL成像是用于光伏組件缺陷檢測的非接觸式成像技術(shù),,根據(jù)硅材料的電致發(fā)光原理進行檢測,。給晶體硅電池組件加上正向偏壓,組件會發(fā)出一定波長的光,,電荷耦合器件圖像傳感器(CCD)可以捕捉到這個波長范圍的光并在電腦上成像,。但電池組件存在缺陷會減弱其發(fā)光強度,所以可以根據(jù)EL圖像中電池發(fā)光強度的不同來判斷電池組件是否存在缺陷,。

    在以往的研究中,,2012年TSIA D M等[2]提出了利用獨立分量分析(ICA)基圖像識別缺陷的監(jiān)督學習方法,該方法在80個太陽電池單元的測試樣本上平均識別率為93.4%,。2014年ANWAR S A和ABDULLAH M Z提出了檢測多晶電池微裂紋的算法[3],,即基于各向異性擴散和形狀分類的圖像分割方法,在600張圖像上檢測微裂紋的精度上達到88%,。深度學習特別是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,,CNN)在圖像識別[4]和檢測上備受重視。2018年DEITSCH S等提出自動檢測單一光伏電池EL圖像缺陷的方法[5],,分別用支持向量機和卷積神經(jīng)網(wǎng)絡(luò)進行訓練及預測,,平均準確率分別達到了82.44%和88.42%。另外,,隨著深度學習的網(wǎng)絡(luò)結(jié)構(gòu)趨于更深,,增加了訓練及實際應用的時間,因此,,對網(wǎng)絡(luò)模型的壓縮的研究顯得尤為重要[6],。

    本文針對傳統(tǒng)缺陷識別算法的不足,,通過深度學習算法對EL圖像進行分類,進而識別出有缺陷和沒有缺陷的電池片,。經(jīng)過實驗證明,,改進的VGG16[7]網(wǎng)絡(luò)具有很好的準確率,并且大幅降低了神經(jīng)網(wǎng)絡(luò)由于層數(shù)過多而帶來的大量運算,,縮減后的模型有更大的實用性,。

1 實驗數(shù)據(jù)及預處理

    實驗數(shù)據(jù)來自于BUERHOP-LUTZ C等人公開的數(shù)據(jù)集[8],該數(shù)據(jù)集提供了從光伏組件的高分辨率電致發(fā)光圖像中提取的太陽能電池圖像,。圖片來自于44個不同的PV模塊,,其中18個模塊為單晶型,26個為多晶型,。圖片可以拆分為2 624個300×300像素的電池單元的EL圖像,。這些圖像包含了常見的內(nèi)外缺陷,如黑心片,、黑斑片,、短路黑片、過焊片,、斷柵片,、明暗片、隱裂等類型,,如圖1所示,,出現(xiàn)的這些缺陷會對太陽電池組件的轉(zhuǎn)換效率和使用壽命造成嚴重影響。

jsj2-t1.gif

    原數(shù)據(jù)集中將單晶和多晶的電池單元進行注釋,,并且按照缺陷的概率對每張圖片進行標注,,統(tǒng)計樣本的總數(shù)以及各類樣本分立情況,發(fā)現(xiàn)各類樣本數(shù)目相差較大,,樣本分布的不平衡將導致訓練后模型對各類別識別出現(xiàn)偏差,。為了減少分布不平衡的差異,本文首先將概率為0%和33.33%的圖片作為無缺陷的正樣本,,66.67%和100%的圖片作為有缺陷的負樣本,,因此得到的樣本分布如圖2所示,。

jsj2-t2.gif

    本文所使用的神經(jīng)網(wǎng)絡(luò)模型需要224 pixel×224 pixel大小的輸入圖像,,由于給定數(shù)據(jù)集EL圖像大小都是300 pixel×300 pixel,在輸入前需要對通過壓縮來得到符合大小的圖片,。對于樣本分布不平衡問題,,本文使用了數(shù)據(jù)增強方法。采用的第一種數(shù)據(jù)增強方法是隨機水平和垂直翻轉(zhuǎn)圖像,;第二種方法是對原始圖像隨機旋轉(zhuǎn)一定角度(不超過2°),,旋轉(zhuǎn)所使用的插值方法為雙三次插值,;第三種方法是調(diào)整圖像的亮度和對比度,因為光照強度的變化會對成像結(jié)果造成很大影響,。在預處理階段還對輸入圖片進行了去噪處理,。

2 基于VGGNet的缺陷識別分類網(wǎng)絡(luò)

    神經(jīng)網(wǎng)絡(luò)在20世紀就已經(jīng)被發(fā)現(xiàn),經(jīng)過十多年的發(fā)展,,研究人員提出了各種不同的網(wǎng)絡(luò)結(jié)構(gòu),,從AlexNet到VGGNet、GoogLeNet和ResNet,,隨著網(wǎng)絡(luò)深度和寬度的增加以及不同功能層的引入,,其在圖像識別的準確率不斷提高。一方面,,當增加網(wǎng)絡(luò)層數(shù)后,,網(wǎng)絡(luò)可以進行更加復雜的特征提取,理論上可以取得更好的結(jié)果,。但隨著網(wǎng)絡(luò)深度的增加,,會出現(xiàn)退化的問題,由于深層網(wǎng)絡(luò)存在著梯度消失或者爆炸的問題,,深度學習模型很難訓練,。因此,設(shè)計一個實用的EL圖像缺陷識別分類網(wǎng)絡(luò),,需要結(jié)合理論分析和實驗驗證,。

    卷積神經(jīng)網(wǎng)絡(luò)作為一種特殊的深層的神經(jīng)網(wǎng)絡(luò)模型,它的核心思想是將局部感知,、權(quán)值共享以及下采樣結(jié)合起來,,通過深度神經(jīng)網(wǎng)絡(luò)的逐層計算來學習圖像的像素特征、低級特征,、高級特征直至類別的隱式表達關(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多個類別一百多萬張圖片的ImageNet數(shù)據(jù)集上取得了當時很好的效果,。因此不少分類問題采用的卷積神經(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表示滑動步長為2的池化層(這里為最大池化),;fc 4096表示通道數(shù)為4096的全連接層;softmax表示softmax函數(shù),。對于每一組卷積操作,,都包含多個特別小的3×3卷積核構(gòu)成的卷積層,采用小卷積核既可以減少參數(shù),,又增加了非線性映射,,從而增強網(wǎng)絡(luò)的擬合效果?;瑒硬介L為1,,采用邊界填充的方式,使得每個卷積層的輸入/輸出特征圖的像素不變,。池化層采用2×2的池化核,。每一組的通道數(shù)從64開始擴大2倍,分別為64,、128,、256、512,、512,,使得更多的信息可以被提取出來。之后的3個全連接層通道數(shù)分別為4 096,、4 096,、1 000,最后通過softmax層得到圖片屬于每個類別的概率,。在以下研究中,,將最后的3層全連接層替換為卷積核為7×7和1×1的卷積層,通道數(shù)分別為4 096,、4 096和2,。

jsj2-t3.gif

3 實驗及其分析

3.1 網(wǎng)絡(luò)訓練方法

    實驗所用計算機內(nèi)存為8 GB,使用英偉達GTX 1060顯卡加速模型訓練,,顯存為6 GB,。軟件環(huán)境為Ubuntu 16.04 LTS 64位系統(tǒng),選用Python作為編程語言,,采用TensorFlow深度學習開源框架,,CUDA版本為9.0。

    實驗選取圖片總數(shù)的80%進行訓練,,20%用來測試,,即訓練集圖片數(shù)量為2 099,測試集數(shù)量為525,。采用批量訓練的方法,,將訓練集和測試集分成多個批次(batch),每個批次的大小為16或32,,在對每一個batch訓練完之后,,對所有的測試集圖片進行測試,迭代的次數(shù)記為steps,。采用隨機梯度下降算法作為優(yōu)化器,,學習率在訓練中控制著參數(shù)的更新速度,這里使用指數(shù)衰減學習率,,初始學習率為0.005,,衰減速度為1 000,學習率衰減系數(shù)為0.9,。訓練得到的損失和準確率如圖4所示,。

jsj2-t4.gif

    通過大量實驗,發(fā)現(xiàn)CNN在缺陷識別上有不錯的效果,,為了進一步提高分類的性能及減少訓練所需的時間,,下面將對不同的dropout概率和損失函數(shù)進行討論,以期望得到更優(yōu)的模型,。

3.2 不同損失函數(shù)下的識別準確率

    損失函數(shù)用來估量模型的預測值與真實值的相差程度,,這里比較了兩種常見的損失函數(shù)Hinge loss和Softmax loss。Hinge loss又稱為折頁損失函數(shù),,其函數(shù)表達式為:

jsj2-gs1-2.gif

其中,,L為損失,t=[t1,,t2,,…,tN]T表示目標值,;y=[y1,,y2,…,,yN]T,,表示預測值輸出;1≤j≤N,N為輸出節(jié)點的數(shù)量,。

    這兩種損失函數(shù)隨著迭代次數(shù)變化的曲線如圖5所示,。在訓練的初始階段,Softmax loss要小于Hinge loss,,但其下降的速度比較緩慢,;訓練200次以后Hinge loss迅速減小,說明模型收斂得更快,,并且模型的魯棒性更好,。從這里可以看出,在電致發(fā)光圖像缺陷識別的數(shù)據(jù)集上,,二分類的Hinge loss具有更好的效果,。

jsj2-t5.gif

3.3 不同Dropout概率下的識別準確率

    在數(shù)據(jù)集有限的情況下,通常使用dropout來緩解過擬合的發(fā)生,,在一定程度上起到正則化的效果,。它是指在標準的BP神經(jīng)網(wǎng)絡(luò)基礎(chǔ)之上,使BP網(wǎng)絡(luò)的隱藏層激活值以一定的比例變?yōu)?,,即按照一定的比例,,隨機地讓一部分隱藏層節(jié)點失效。存在dropout的神經(jīng)網(wǎng)絡(luò)計算過程如下:

jsj2-gs3-6.gif

    圖6給出了在不同dropout概率時對缺陷識別的準確率,,從圖中可以看出,,當dropout概率在0.3時準確率最高。在訓練的過程中,,概率越小,,網(wǎng)絡(luò)的參數(shù)較多,對于訓練集樣本不足夠大情況下,,容易出現(xiàn)過擬合的現(xiàn)象,;概率越小,由于所訓練的神經(jīng)網(wǎng)絡(luò)節(jié)點數(shù)不足,,并不能有效地擬合訓練數(shù)據(jù),,導致最終的識別準確率下降,所以找到合適的概率對于模型的訓練效果至關(guān)重要,。

jsj2-t6.gif

3.4 不同網(wǎng)絡(luò)結(jié)構(gòu)的識別效果分析

    基于VGG16的卷積神經(jīng)網(wǎng)絡(luò)雖然在現(xiàn)有數(shù)據(jù)集上取得了良好的限制,,但訓練時間過長,通過對dropout概率的研究也表明網(wǎng)絡(luò)中存在著冗余參數(shù),,因此為了提高訓練的速度,,本文對網(wǎng)絡(luò)進行縮減,計算不同網(wǎng)絡(luò)層數(shù)時的參數(shù)總量,,記錄下訓練時的時間以及在測試集上的準確率,,如表1所示,。

jsj2-b1.gif

    表1中,結(jié)構(gòu)1為完整的VGG16網(wǎng)絡(luò),;結(jié)構(gòu)2將每組卷積的卷積層個數(shù)減少為1,、1、2,、2,、2,,通道數(shù)不變,;結(jié)構(gòu)3將每組卷積的卷積層個數(shù)改為2、2,、4,、4、4,,通道數(shù)不變,,用來作對比;結(jié)構(gòu)4將每組卷積的卷積層個數(shù)改為2,、2,、2、2,、2,,通道數(shù)不變;結(jié)構(gòu)5~6每組卷積的個數(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é)點數(shù)目縮減之后,,訓練的時間大大縮減。卷積操作承擔著圖像特征提取的任務(wù),,卷積層數(shù)量的縮減雖然會稍微降低識別的結(jié)果,,但是能大大加速模型的訓練速度,這對于工業(yè)上的電致發(fā)光圖像缺陷識別有重要意義,。

4 結(jié)論

    本文提出將卷積神經(jīng)網(wǎng)絡(luò)用于太陽電池單元電致發(fā)光圖像缺陷識別,,它能夠很好地提取電池片的缺陷,進行正確的分類,。在2 624張樣本上,,用全卷積VGG16網(wǎng)絡(luò)進行訓練,經(jīng)過大量的參數(shù)調(diào)節(jié),,識別的準確率達到93.95%,。在此基礎(chǔ)上本文研究了模型壓縮后的訓練速率以及識別準確率,得出在減少網(wǎng)絡(luò)層數(shù)之后,,模型的訓練速率大大加快,,并且不會使準確率明顯下降。下一步的研究中,,將在簡化網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,,提高模型性能和識別準確率,以便用于實際的電池片缺陷識別當中,。

參考文獻

[1] 施光輝,,崔亞楠,劉小嬌,,等.電致發(fā)光(EL)在光伏電池組件缺陷檢測中的應用[J].云南師范大學學報(自然科學版),,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] 許少尉,,陳思宇.基于深度學習的圖像分類方法[J].電子技術(shù)應用,,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ù)應用,,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.




作者信息:

周建凱,許盛之,,趙二剛,,俞  梅,張建軍

(南開大學 電子科學與工程系 光電子薄膜器件與技術(shù)天津市重點實驗室,,天津300350)

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