0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡的電池片缺陷識別研究

新機器視覺 ? 2019-08-28 18:46 ? 次閱讀

基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡對電池片電致發(fā)光圖像進行缺陷識別。選取公開的數(shù)據(jù)集,其中包含了電池片的不同種類缺陷。在傳統(tǒng)的VGGNet網(wǎng)絡的基礎上使用全卷積神經(jīng)網(wǎng)絡進行訓練,并分析不同損失函數(shù)和dropout概率在數(shù)據(jù)集上的訓練效果。經(jīng)過實驗證明,該算法實現(xiàn)了對電池片是否有缺陷的準確識別。研究還得出壓縮網(wǎng)絡結構對算法訓練速率能有大幅提升,這使得簡化的模型更具有可遷移性,為大范圍的實時缺陷識別提供了一種有效方案。

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

目前電池組件缺陷檢測的技術主要有[1]:紅外成像技術、光致發(fā)光成像技術、電致發(fā)光(ELectrofluorescence,EL)成像。EL成像是用于光伏組件缺陷檢測的非接觸式成像技術,根據(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)絡(Convolutional Neural Network,CNN)在圖像識別[4]和檢測上備受重視。2018年DEITSCH S等提出自動檢測單一光伏電池EL圖像缺陷的方法[5],分別用支持向量機和卷積神經(jīng)網(wǎng)絡進行訓練及預測,平均準確率分別達到了82.44%和88.42%。另外,隨著深度學習的網(wǎng)絡結構趨于更深,增加了訓練及實際應用的時間,因此,對網(wǎng)絡模型的壓縮的研究顯得尤為重要[6]。

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

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

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

基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡的電池片缺陷識別研究

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

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

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

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

卷積神經(jīng)網(wǎng)絡作為一種特殊的深層的神經(jīng)網(wǎng)絡模型,它的核心思想是將局部感知、權值共享以及下采樣結合起來,通過深度神經(jīng)網(wǎng)絡的逐層計算來學習圖像的像素特征、低級特征、高級特征直至類別的隱式表達關系。2014年SIMONYAN K等人提出VGG網(wǎng)絡,探索了CNN的深度與其性能之間的關系,成功地構筑了16~19層深的神經(jīng)網(wǎng)絡,輸入為224×224×3的圖片,經(jīng)過卷積和池化的處理輸出圖像所屬類別的概率[7],在具有1 000多個類別一百多萬張圖片的ImageNet數(shù)據(jù)集上取得了當時很好的效果。因此不少分類問題采用的卷積神經(jīng)網(wǎng)絡都以此為基礎。

原始的VGG16網(wǎng)絡結構如圖3所示,由5組卷積層、3層全連接層、softmax輸出層構成,每組卷積層之間使用max-pooling(最大化池)分開,所有隱層的激活單元都采用ReLU函數(shù)做非線性變換,用以加快網(wǎng)絡收斂。圖中,3×3 conv,64等表示卷積核尺寸為3×3,通道數(shù)為64的卷積層;pool/2表示滑動步長為2的池化層(這里為最大池化);fc 4096表示通道數(shù)為4096的全連接層;softmax表示softmax函數(shù)。對于每一組卷積操作,都包含多個特別小的3×3卷積核構成的卷積層,采用小卷積核既可以減少參數(shù),又增加了非線性映射,從而增強網(wǎng)絡的擬合效果?;瑒硬介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。

3 實驗及其分析

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

實驗所用計算機內存為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所示。

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

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

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

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

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

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

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

3.4 不同網(wǎng)絡結構的識別效果分析

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

表1中,結構1為完整的VGG16網(wǎng)絡;結構2將每組卷積的卷積層個數(shù)減少為1、1、2、2、2,通道數(shù)不變;結構3將每組卷積的卷積層個數(shù)改為2、2、4、4、4,通道數(shù)不變,用來作對比;結構4將每組卷積的卷積層個數(shù)改為2、2、2、2、2,通道數(shù)不變;結構5~6每組卷積的個數(shù)均為1,結構4的通道數(shù)為64、128、256、512、512、4096、4096、2,結構5的通道數(shù)為32、64、128、256、256、2048、2048、2,結構6的通道數(shù)為16、32、64、128、128、1024、1024、2。

從表1中可以看出網(wǎng)絡的參數(shù)主要集中在全連接層,在將全連接層的神經(jīng)元節(jié)點數(shù)目縮減之后,訓練的時間大大縮減。卷積操作承擔著圖像特征提取的任務,卷積層數(shù)量的縮減雖然會稍微降低識別的結果,但是能大大加速模型的訓練速度,這對于工業(yè)上的電致發(fā)光圖像缺陷識別有重要意義。

4 結論

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

參考文獻

[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].電子技術應用,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)絡的剪枝優(yōu)化[J].電子技術應用,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.

作者信息:

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:基于深度學習的電池片缺陷識別研究

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TF之CNN:Tensorflow構建卷積神經(jīng)網(wǎng)絡CNN的嘻嘻哈哈事之詳細攻略

    TF之CNN:Tensorflow構建卷積神經(jīng)網(wǎng)絡CNN的嘻嘻哈哈事之詳細攻略
    發(fā)表于 12-19 17:03

    卷積神經(jīng)網(wǎng)絡如何使用

    卷積神經(jīng)網(wǎng)絡(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡在工程上經(jīng)歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發(fā)表于 07-17 07:21

    什么是圖卷積神經(jīng)網(wǎng)絡?

    卷積神經(jīng)網(wǎng)絡
    發(fā)表于 08-20 12:05

    卷積神經(jīng)網(wǎng)絡的層級結構和常用框架

      卷積神經(jīng)網(wǎng)絡的層級結構  卷積神經(jīng)網(wǎng)絡的常用框架
    發(fā)表于 12-29 06:16

    卷積神經(jīng)網(wǎng)絡一維卷積的處理過程

    。本文就以一維卷積神經(jīng)網(wǎng)絡為例談談怎么來進一步優(yōu)化卷積神經(jīng)網(wǎng)絡使用的memory。文章(卷積神經(jīng)網(wǎng)絡
    發(fā)表于 12-23 06:16

    卷積神經(jīng)網(wǎng)絡模型發(fā)展及應用

    network,DBN)[24], 從此拉開了深度學習大幕。隨著深度學習理論的研究和發(fā)展,研究人員提 出了一系列卷積神經(jīng)網(wǎng)絡模型。為了比較不同模型 的質量,收集并整理了文獻中模型在分
    發(fā)表于 08-02 10:39

    卷積神經(jīng)網(wǎng)絡簡介:什么是機器學習?

    復雜數(shù)據(jù)中提取特征的強大工具。例如,這包括音頻信號或圖像中的復雜模式識別。本文討論了 CNN 相對于經(jīng)典線性規(guī)劃的優(yōu)勢。后續(xù)文章“訓練卷積神經(jīng)網(wǎng)絡:什么是機器學習?——第2部分”將討論如何訓練CNN
    發(fā)表于 02-23 20:11

    如何使用numpy搭建一個卷積神經(jīng)網(wǎng)絡詳細方法和程序概述

    內容將繼續(xù)秉承之前 DNN 的學習路線,在利用Tensorflow搭建神經(jīng)網(wǎng)絡之前,先嘗試利用numpy手動搭建卷積
    的頭像 發(fā)表于 10-20 10:55 ?5980次閱讀

    如何使用深度學習對電池缺陷進行識別詳細研究資料說明

    基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡電池
    的頭像 發(fā)表于 06-01 09:49 ?4491次閱讀
    如何使用深度學習對<b class='flag-5'>電池</b><b class='flag-5'>片</b>的<b class='flag-5'>缺陷</b>進行<b class='flag-5'>識別</b>詳細<b class='flag-5'>研究</b>資料說明

    卷積神經(jīng)網(wǎng)絡的應用 卷積神經(jīng)網(wǎng)絡通常用來處理什么

    神經(jīng)網(wǎng)絡,卷積神經(jīng)網(wǎng)絡廣泛用于圖像識別、自然語言處理、視頻處理等方面。本文將對卷積神經(jīng)網(wǎng)絡的應用
    的頭像 發(fā)表于 08-21 16:41 ?4690次閱讀

    卷積神經(jīng)網(wǎng)絡概述 卷積神經(jīng)網(wǎng)絡的特點 cnn卷積神經(jīng)網(wǎng)絡的優(yōu)點

    卷積神經(jīng)網(wǎng)絡概述 卷積神經(jīng)網(wǎng)絡的特點 cnn卷積神經(jīng)網(wǎng)絡的優(yōu)點?
    的頭像 發(fā)表于 08-21 16:41 ?2601次閱讀

    卷積神經(jīng)網(wǎng)絡如何識別圖像

    卷積神經(jīng)網(wǎng)絡如何識別圖像? 卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)由于其出色的圖像
    的頭像 發(fā)表于 08-21 16:49 ?1769次閱讀

    卷積神經(jīng)網(wǎng)絡層級結構 卷積神經(jīng)網(wǎng)絡卷積層講解

    像分類、目標檢測、人臉識別等。卷積神經(jīng)網(wǎng)絡的核心是卷積層和池化層,它們構成了網(wǎng)絡的主干,實現(xiàn)了對圖像特征的提取和抽象。 一、
    的頭像 發(fā)表于 08-21 16:49 ?6838次閱讀

    卷積神經(jīng)網(wǎng)絡的介紹 什么是卷積神經(jīng)網(wǎng)絡算法

    卷積神經(jīng)網(wǎng)絡的介紹 什么是卷積神經(jīng)網(wǎng)絡算法 卷積神經(jīng)網(wǎng)絡涉及的關鍵技術
    的頭像 發(fā)表于 08-21 16:49 ?1698次閱讀

    卷積神經(jīng)網(wǎng)絡模型搭建

    卷積神經(jīng)網(wǎng)絡模型搭建 卷積神經(jīng)網(wǎng)絡模型是一種深度學習算法。它已經(jīng)成為了計算機視覺和自然語言處理等各種領域的主流算法,具有很大的應用前景。本篇
    的頭像 發(fā)表于 08-21 17:11 ?836次閱讀