劉玉淇, 吳一全
(南京航空航天大學 電子信息工程學院,江蘇 南京 211106)
近年來,隨著人類對能源的依賴日益增加,石油等非可再生能源被大量使用和消耗,導致環境污染問題日益嚴重。面對這些問題,全球各地政府、科學家和企業已經采取了一系列行動,推動可再生能源的發展。太陽能電池是一種基于光電轉化原理的設備,其關鍵功能是將太陽光中的光子能量轉化為電能,這個過程被稱為光伏效應或光電效應。太陽能光伏發電技術[1]因具有低發電成本、無污染、可再生等優點而被廣泛應用,緩解了人類社會的能源危機。隨著光伏組件出口數量日益增長,太陽能電池片的產量也在逐日遞增。在太陽能電池片的生產過程中可能會有一些表面缺陷產生,其成因不盡相同、種類繁多,相對常見的類型有劃痕、破損、污漬、斷柵等[2]缺陷的存在大大降低了光伏發電系統的穩定性[3],對太陽能電池片進行缺陷檢測是保證其性能和質量的關鍵步驟。
目前,太陽能電池片表面缺陷檢測方法主要包括:人工檢測方法、物理檢測方法以及機器視覺方法。人工檢測方法主要依靠規定的電池標準以及工人工作經驗進行缺陷識別,但此方法相對效率低、成本高。物理檢測方法主要利用聲波[4]、激光、可見光等進行太陽能電池片表面缺陷檢測,其主要有機械沖擊試驗[5]、光傳輸[6]、I/V曲線測量[7]、紅外熱成像(Infrared Thermography,IRT)[8]、聲學顯微鏡[9]、共振超聲振動[10]、電子散斑干涉等方法[11]。但物理檢測方法只適合在晶片和電池制造階段進行在線診斷,在實際應用中具有較大局限性;且物理檢測方法屬于接觸性檢測算法,在檢測過程中存在諸多人為干預因素[12]。除上述兩種方法外,現有工程中采用的太陽能電池缺陷檢測設備已初步實現了對光伏組件制造過程的監測并保證其制造過程的穩定[13-15]。基于機器視覺的檢測方法,具有檢測精度高、速度快,運行過程非接觸式,成本低廉等優勢,因此已經成為目前缺陷檢測領域中的重點應用方法[16],人工智能的引入有望進一步優化檢測精度并提高檢測效率。通常機器視覺方法主要分為基于傳統機器視覺的缺陷檢測方法和基于深度學習的缺陷檢測方法。目前,太陽能電池片表面缺陷檢測任務逐漸由機器視覺技術來完成,其對于實現智能制造具有重要的意義。綜上所述,學者們通過機器視覺技術進行太陽能電池缺陷檢測的研究顯得尤為重要[17]。
目前,相關綜述文獻情況如下:文獻[18-19]對微裂紋的不同檢測方法進行了綜述,描述了每種方法的主要特點及其優缺點。上述研究表明,基于近紅外技術的太陽能晶片/電池成像裝置性能最好、速度最快。在此基礎上,文獻[20]發現電致發光(Electroluminescence, EL)成像技術和光致發光(Photoluminescence, PL)成像技術通常更適用于成品太陽能電池,而光傳輸(Optical Transport, OT)檢測最適合裸硅片。但上述綜述文章僅針對太陽能電池片微裂紋這一種缺陷進行綜述,并且大多介紹基于物理檢測方法進行太陽能電池片缺陷檢測的研究,完全沒有涵蓋基于深度學習的方法。文獻[21]系統地總結了以機器視覺為基礎的太陽能電池片表面缺陷檢測方法及涉及的各個環節,但文章中引用最新研究文獻為2016年,且沒有介紹相關數據集。在2016年之后越來越多的深度學習模型被不斷提出,大量學者將高性能網絡應用在太陽能電池片缺陷檢測中,并且獲得了較好的實驗結果。2017年,文獻[22]回顧了太陽能電池表面缺陷的典型類型,從基于全局、局部和局部-全局三個角度出發介紹了典型的太陽能電池表面缺陷檢測方法,并定性評價了當前流行的機器視覺檢測算法;介紹了幾個已發論文中所采用的數據集,但這些數據集都不是公開可用的。2021年,文獻[23]對基于紅外熱像技術進行太陽能電池片表面缺陷檢測和診斷的研究進行了詳細的綜述,但文章僅包含紅外熱像技術,其涵蓋范圍不夠全面。以前的綜述論文也沒有考慮現有發光系統產生的圖像的復雜性。本文綜述涵蓋了近十年來基于傳統機器視覺和基于深度學習的缺陷檢測方法,并對每篇文獻所用方法進行分析總結,簡要介紹了9種已公開的公共數據集。綜上,本文是對上述文章的進一步拓展與深入。
本文詳細綜述并系統分析了現有的太陽能電池片表面缺陷檢測方法,其目的是期望從事太陽能電池片表面缺陷檢測的研究人員能夠高效地對目前相關技術發展情況進行全面了解。本文的第2章介紹太陽能電池片表面成像方式以及其常見的缺陷類型。第3章對傳統機器視覺方法進行概括分析,依據不同的數學建模方式可將其分為圖像域分析法、變換域分析法。第4章詳細綜述了基于深度學習的太陽能電池片缺陷檢測方法,將其整體分為有無監督學習、有監督學習和弱監督及半監督學習。第5章梳理了相關數據集以及缺陷檢測性能評價指標。第6章概述了現存問題,并對太陽能電池片缺陷檢測領域的未來發展方向進行了展望。最后對全文內容進行了系統地總結。
按不同生產材料可將太陽能電池分為單晶硅和多晶硅。單晶硅太陽能電池具有均勻的背景紋理,多晶硅太陽能電池表面含有大量形狀和大小隨機的晶格粒子。圖1列出了晶硅太陽能電池生產的全過程,根據示意圖可以將其生產過程劃分為三個不同的階段,第一階段主要將晶硅材料切片完成太陽能硅片的制作;第二階段經過一系列工序將上一階段產出的硅片制作成太陽能電池片;第三階段對上一階段產出的太陽能電池片進行封裝完成太陽能組件的制作。

圖1 晶硅太陽能電池生產的全過程示意圖Fig.1 Diagram of the entire process of crystalline silicon solar cell production
圖像采集是進行太陽能電池片表面缺陷檢測前的一個關鍵環節,高質量的太陽能電池片圖像相對清晰并且亮度均勻,能夠有效地提高后續檢測效率和準確性。此外,高質量圖像中的缺陷區域更為明顯,進一步減輕了圖像處理的難度,從而有助于獲得更可靠的檢測結果。常用太陽能電池表面成像方式包括可見光成像、紅外熱成像、光致發光成像和電致發光成像。不同太陽能電池片表面成像方式所得圖像如圖2所示。

圖2 不同太陽能電池片表面成像方式所得圖像Fig.2 Surface images of solar cells obtained with different imaging methods
表1列舉了太陽能電池片幾種常見的缺陷,表中對概述了每種缺陷的視覺特點、成因以及該缺陷對電池性能的影響。從表中可以看出對太陽能電池進行缺陷檢測是保證太陽能電池質量和效率的重要環節。傳統的人工檢測方法在效率和精度方面存在局限性,因此采用機器視覺技術進行自動表面缺陷檢測成為一種提高生產質量和效率的有效方式。然而,目前工業上對于太陽能電池片所存在的缺陷類型以及其缺陷損壞程度沒有明確的檢測標準,在缺陷檢測方面的工作還需進一步完善。

表1 太陽能電池片常見缺陷Table 1 Common defects of solar cells
圖3中展示了基于傳統機器視覺算法的太陽能電池表面缺陷檢測方法主要以圖像域分析法和變換域分析法為主。

圖3 基于傳統機器視覺的太陽能電池片表面缺陷檢測算法框架Fig.3 Framework of surface defect detection algorithm of solar cells based on traditional machine vision
如圖4所示,傳統機器視覺缺陷檢測算法主要將缺陷特征表達和分類器進行結合,進而完成太陽能電池片的缺陷檢測任務。

圖4 傳統機器視覺太陽能電池片缺陷檢測算法流程Fig.4 Framework of traditional machine vision solar cell defect detection algorithms
圖像域分析法可以分為基于特征的缺陷檢測方法和基于區域的缺陷檢測方法。基于特征的缺陷檢測方法通過分析圖像中缺陷和正常區域的特征差異來實現;基于區域的缺陷檢測更關注區域內部特征的相似性,該方法主要利用檢測目標與背景區域之間的屬性差異進行檢測。
3.1.1 基于特征的太陽能電池片缺陷檢測方法
3.1.1.1 基于梯度特征的太陽能電池片缺陷檢測方法
在太陽能電池表面圖像中,梯度特征體現為像素強度的變化。如圖5所示,裂紋、斷柵兩類缺陷與背景在邊緣交界處的梯度差異較大,根據相關性質可知缺陷邊緣處的梯度值較高,因此這類方法在檢測如上兩種亮度差異較大的表面缺陷類型上具有較好的檢測效果。

圖5 裂紋、斷柵缺陷與背景間的邊緣梯度紋理差異Fig.5 Textural differences in edge gradients between cracks, broken grid defects and the background
文獻[24]提出了一種基于各向異性擴散濾波和圖像分割技術的檢測方法,根據缺陷的梯度特征和形狀特征實現多晶硅電池的缺陷檢測,其檢測平均精度為88%,每張EL圖像的平均處理時間為4.1 s。該方法僅適用于檢測多晶硅太陽能電池中的微裂紋缺陷,不能檢測多個缺陷,且過于依賴圖像預處理,容易出現誤檢的情況。文獻[25]利用均值偏移技術進行多晶太陽能晶片表面缺陷檢測,通過自適應閾值分割濾波出熵圖像中的缺陷區域。該方法在檢測太陽能晶圓表面的指紋和污染缺陷方面有明顯效果,但僅適用于缺陷邊緣梯度變化較大的缺陷類型,不能直接擴展到其他缺陷類型。
文獻[26]針對太陽能硅片圖像中微裂紋具有低灰度和高梯度的特征來調整擴散系數,以實現對圖像中不同梯度區域進行圖像銳化和圖像平滑。模型檢測速度快且能夠擴展到各種表面圖像中的缺陷檢測,但該模型無法有效地反映出對角方向的像素信息缺陷。針對上述情況,文獻[27]在文獻[26]提出的算法基礎上進行改進,所提出的方法基于對角核和交叉核進行各向異性擴散,有效地提高了微裂紋缺陷檢測性能。與傳統方法相比計算量更大,但所提方法在交叉核上的微裂紋檢測性能更好。上述方法在迭代次數不足時,特征圖像中仍包含殘余干擾,無法完全檢測對角微裂紋。為解決該問題,文獻[28]將東、西、南、北以及延伸方向中較大的梯度值作為擴散函數的系數,充分利用周圍像素信息,使得模型計算時間不會因為迭代次數的增加而延長。
文獻[29]將局部梯度特征與粒子群優化(Particle Swarm Optimization, PSO)算法相結合,并將其應用在太陽能電池片的裂紋缺陷檢測中。在此基礎上,文獻[30]中提出了一種基于分割優化技術的框架來檢測裂紋,其中優化技術包括PSO、差分粒子群優化和分數階差分粒子群優化,該技術能夠以較低的計算成本獲得高精度和更完整的裂紋輪廓。
文獻[31]提出了一種用于PV微裂紋檢測的增強裂紋分割技術,其基本原理是利用高斯分布的各向異性尺度描述裂紋結構,調整不同方向的各向異性系數值以達到裂紋增強效果,能夠有效地在指定方向上分割裂紋。文獻[32]使用Sobel算子在太陽能電池表面圖像上對缺陷形態進行邊緣檢測并提取其特征,在加強缺陷邊緣的同時突出缺陷特征,提高了識別太陽能電池缺陷的精確性。
3.1.1.2 基于其他特征的太陽能電池片缺陷檢測方法
缺陷通常表現出與正常區域不同的紋理結構、形狀變化或顏色分布,使得基于特征的方法能夠有效地區分并識別太陽能電池片表面的缺陷。文獻[33]引入了四個選定的特征與SVM相結合,完成對PL圖像和紅外圖像中的裂紋缺陷進行識別,其算法分類準確率為81%。由于PL圖像上缺陷的紋理信息比EL圖像更模糊,因此該方法準確率低于文獻[24]。文獻[34]設計了一個以徑向基為核函數的SVM分類器,對斷柵、缺角、裂紋等常見缺陷檢測的準確率達到90%,但該方法對部分灰度變化小的缺陷識別率相對較低。文獻[35]使用多種手工特征(包括KAZE[36],SIFT[37],SURF[38]和SVM分類器)對有缺陷的太陽能電池進行有監督分類,在ELPV數據集上分類檢測準確率達到82.44%。雖然該方法的精度低于卷積神經網絡(Convolutional Neural Network, CNN)算法的檢測精度,但訓練和檢測的速度均高于CNN算法。文獻[39]從EL圖像中提取相應特征,并利用SVM分類器對圖像進行二分類,從而識別出有缺陷的太陽能電池。文獻[40]針對斷柵缺陷的特點對太陽能電池圖像進行分析,使用正則化RBF分類器進行訓練。實驗結果表明,該分類器在斷柵缺陷的正確識別率高達98.57%,計算時間相對較短(0.107 s)。文獻[41]將SVM分類器與DFB(Deep Feature-Based)相結合,在不均衡數據集上能夠有效完成EL圖像分類任務,但數據集中有標記的圖像較少,因此系統分類的準確率有待進一步提高。文獻[42]通過決策樹分類方法對單晶和多晶太陽能電池硅片進行缺陷檢測,檢測分類的準確率達到95%以上。但實驗樣本過小且不具有代表性,因此該方法存在一定的局限性。
3.1.2 基于區域的太陽能電池片缺陷檢測方法
基于區域的缺陷檢測方法包括聚類法、閾值法和區域生長法等。文獻[43]采用了高斯-拉普拉斯變換來銳化圖像,再通過聚類的方法分割出缺陷輪廓,該方法對內部脊狀裂紋有較好的識別效果,但僅能檢測出太陽能電池的邊緣缺陷。文獻[44]將EL圖像感興趣區域(Region of Interest, ROI)內提取到的每個斷柵特征映射到光譜嵌入空間中,最后使用光譜聚類算法來聚類斷柵缺陷的特征。文獻[45]采用均勻分布聚類完成多晶太陽能電池缺陷檢測,該方法設計并提取了能代表局部晶粒特征的Haar特征。然后利用提取到的特征對無缺陷樣品進行聚類,最終提高了對多種類型裂紋缺陷的檢測精度,該算法下每張圖處理時間為0.1 s。但此方法需要針對不同形狀的缺陷設計不同的判別特征。
文獻[46]提出一種基于Otsu分割的太陽能電池裂紋缺陷檢測方法,利用邊緣檢測和圖像分割技術對預處理后的太陽能電池表面圖像進行分割,通過Hough變換獲得最終檢測結果。文獻[47]利用原始圖像的相鄰像素信息計算中心像素梯度信息,并引入了CPICSLBP(Center Pixel Gradient Informati on to Center-Symmetric Local Binary Pattern)來提取EL圖像中的梯度特征。同時采用了相似性分析和聚類方法獲取圖像的全局特征,最后用SVM分類器對裂紋、斷柵和正常樣本三類圖像進行分類。與傳統局部二值模式特征相比,有效地改善了對不同形狀裂紋缺陷的檢測效果,在EL-2019數據集上的準確率達到88.66%,檢測一張1 024×1 024的圖像消耗時間為0.768 s。上述研究中采用的LBP(Local Binary Pattern)不能表達出重復圖案的表面缺陷特征,因此文獻[48]提出一種基于人體視覺特征的太陽能電池表面缺陷檢測方法。通過線段檢測器(Line Segment Detector, LSD)和Gabor濾波器進行紋理分割,實現初步定位缺陷區域,最后采用閾值分割方法完成缺陷檢測和定位,該方法具有較高的通用性和準確性。文獻[49]設計了一個基于局部閾值分割和區域生長兩種算法分別進行裂紋提取的裝置,可用于檢測硅太陽能晶片的污漬、針孔、夾雜物和宏觀裂紋缺陷,但這種方法可能會將太陽能晶片中的深色細長的晶粒誤識別為缺陷。
在變換域分析法中,通常使用矩陣分解、傅里葉變換、小波變換和獨立成分分析(Independent Component Analysis, ICA)等算法來完成太陽能電池片表面缺陷檢測任務。矩陣分解法主要是通過某種矩陣算法將待測太陽能電池片圖像分解成正常背景對應的低秩矩陣和缺陷或噪聲所對應的稀疏矩陣;傅里葉變換檢測方法通過設置合適的缺陷特征頻率來檢測線狀等周期性缺陷類型;小波變換具有多分辨率和多解析度等特點,在提取異質紋理特征方面具有一定優勢;獨立成分分析在太陽能電池缺陷檢測中側重于分離圖像中獨立的成分,有助于捕捉特定的缺陷特征。
3.2.1 基于矩陣分解的太陽能電池片缺陷檢測方法
矩陣分解法不涉及任何類型的特征提取方法,具體包括奇異值分解和主成分分析等方法。文獻[50]采用魯棒主成分分析法分別提取出缺陷太陽能電池圖像的背景信息和缺陷信息,利用提取出的缺陷信息對輸入圖像進行缺陷檢測。但此方法需要依照模板進行檢測,且在電池生產批次不一致或光源照明不均勻時需更換檢測模板,因此該方法不具有普適性。文獻[51]利用視覺顯著性對太陽能電池片表面進行缺陷定位,先通過自適應學習法得到圖像特征矩陣,并對其進行低秩矩陣復原4從而獲得視覺顯著性圖,最后通過圖像分割技術對缺陷區域精準定位,其檢測精確率為0.867,F1-score為0.778。但該方法需要針對每種缺陷類型制定不同的優化方案,其計算過程過于復雜。文獻[52]將提取的裂紋缺陷紋理特征通過主成分分析法進行降維,從而得到低維度電池片組件紋理特征矩陣。
3.2.2 基于傅里葉變換的太陽能電池片缺陷檢測方法
傅里葉變換法通過帶通濾波將缺陷部分濾除后對圖像進行重構,并對重構圖像和原始圖像進行差分運算以檢測缺陷區域。由于文獻[26]提出的方法不能擴展到檢測太陽能晶片圖像中的鋸痕缺陷,文獻[53]提出了一種基于傅里葉圖像重建和Hough類非平穩線檢測的缺陷檢測方法,通過傅里葉變換消除晶體顆粒圖案,再對無紋理表面的重建圖像做Hough線檢測。假陰率為0.05,該算法下每張圖處理時間為0.26 s。所提方法能夠有效檢測多晶太陽能硅片中的各種鋸痕缺陷,尤其是黑線、白線和雜質,但僅限于檢測特定的鋸痕缺陷。文獻[54]提出了傅里葉圖像重建技術來檢測太陽能電池中的裂紋缺陷,該模型推理速度為0.29 s。但研究僅對線形或條形缺陷有較好的檢測效果,對具有復雜幾何形狀的裂紋缺陷檢測效果不好。文獻[55]使用二進制邏輯運算,依據從離散傅里葉變換和灰度閾值獲得的頻譜圖和二進制圖像之間的差異提取裂紋特征。該方法縮短了檢測時間,但未能實現對復雜形狀的裂紋進行分割。
3.2.3 基于小波變換的太陽能電池片缺陷檢測方法
小波變換中,空間域和頻率域之間的局部變換能有效地提取到圖像中的主要信息,通過平移、伸縮等操作實現多尺度分析,能夠解決傅里葉變換無法解決的諸多問題,但該檢測方法對噪聲不敏感。文獻[56]使用小波變換技術對太陽能晶片進行檢測,通過兩個連續分解層下對角細節分量的平均能量差,對紋理不均勻的太陽能晶片圖像進行缺陷檢測,假陽率為0.02且無誤判,算法運行時間為每張圖0.23 s。實驗結果表明其對指紋、污痕等缺陷具有良好的檢測效果,但這種方法不能有效地檢測出鋸齒邊緣缺陷。文獻[57]提出了一種基于二維張量經驗小波的多光譜圖像融合算法,在多光譜圖像融合方面具有較好的性能,適用于太陽能電池弱缺陷檢測。文獻[52]在頻域上利用Gabor變換對圖像進行紋理特征提取,從而獲得太陽能電池的裂縫缺陷特征。
3.2.4 基于獨立成分分析的太陽能電池片缺陷檢測方法
在太陽能電池片缺陷檢測任務中利用獨立成分分析技術對太陽能電池圖像進行分離,提取獨立成分中與缺陷相關的特征,最后通過機器學習算法完成缺陷的檢測與分類。文獻[58]采用了一種基于獨立成分分析的監督學習方法,用于識別太陽能電池EL圖像中是否存在隱裂、破片和斷柵這三類缺陷。其算法運行時間為每張圖0.04 s,但該方法無法區分和定位這三類缺陷。文獻[59]提出一種基于ICA模型和PSO算法的太陽能電池組件表面缺陷檢測方法,能很好地區分圖片里的背景和缺陷區域,但檢測細微裂紋缺陷的效果不是很明顯。文獻[60]提出一種基于自學習特征和低秩矩陣恢復的微裂紋檢測方法,由于該算法采用了ICA進行特征提取,因此其提取的特征表達能力有限。這種方法能夠有效地從復雜的圖像數據中捕捉缺陷的特殊模式,為太陽能電池片質量控制提供有力支持。
表2對比了上述幾類基于傳統機器視覺具體算法的優缺點,目前工業生產中利用傳統機器視覺檢測太陽能電池表面缺陷依然存在如小樣本、小目標、缺陷種類多樣等諸多問題。所以,切實解決上述問題就成了行業關注的焦點。表3列出了基于傳統機器視覺的太陽能電池表面缺陷檢測各類算法特點以及適用圖像類型,相比于人工檢測以及物理算法,此類型檢測方法的精準度、速度以及在線檢測性能都有明顯提高。傳統機器視覺主要依靠人工設計提取器進行特征提取,需要技術人員具備專業知識、熟悉調參流程,而且傳統機器視覺算法所提取的特征大多以低級特征為主,很難提取到高級語義特征及復雜的信息。

表2 基于傳統機器視覺具體算法優缺點Tab.2 Advantages and disadvantages of specific algorithms based on traditional machine vision

表3 基于傳統機器視覺各類算法比較Tab.3 Comparison of various algorithms based on traditional machine vision
本節總結概述基于深度學習的太陽能電池表面缺陷檢測方法。在深度神經網絡架構中堆疊了各種隱藏層,與傳統的機器視覺算法相比,深度學習在特征提取方面具有更強的能力,可以利用大量的數據樣本來獲得更深層次的特征,更準確和高效地表示數據樣本所包含的信息。依據數據標簽的不同,將基于深度學習的太陽能電池片缺陷檢測方法分為有監督學習、無監督學習和弱監督及半監督學習。
有監督學習通過有標記的數據調整網絡參數從而完成相應任務,在算法具有較強的泛化能力和魯棒性基礎上,達到較高的檢測準確率。在有監督學習模型中根據網絡結構的不同可以分為分類網絡、檢測網絡和分割網絡,深度網絡發展歷程如圖6所示。
4.1.1 分類網絡
現有表面缺陷分類的主干網絡大多采用機器視覺中現有的網絡結構,除了傳統的多層結構外,還包含卷積神經網絡、深度神經網絡(Deep Convolu-tional Neural Network, DCNN)和遞歸神經網絡(Recurrent Neural Network, RNN)等。目前常用的CNN分類網絡通常由特征提取模塊和分類模塊構成,其中特征提取模塊是由級聯的卷積層和池化層組成,分類模塊由全連接層或平均池化層和softmax函數構成。在太陽能電池片表面缺陷檢測的實際應用過程中能夠利用分類網絡直接對缺陷進行分類或定位,還可以使用目前已有的一些網絡框架作為backbone去提取圖像中的特征,例如VGG-Net,GoogLeNet和ResNet,從而完成缺陷檢測任務。除此之外也可以依據實際應用圖片特征進行簡易網絡搭建。
4.1.1.1 直接利用分類網絡
早期CNN應用在太陽能電池片缺陷檢測領域時,主要是直接利用分類網絡完成太陽能電池片圖像分類任務。由于太陽能電池缺陷樣本相對較少,在缺陷檢測研究中通常會先將網絡在大規模公開數據集上進行遷移訓練,再針對所用數據集特點對網絡進行訓練,對所得到的預訓練權重進行微調,以提高模型檢測精度。根據研究工作的特點,可將其該方法劃分為單類別分類和多類別分類。
(1)單類別分類
單類別分類是將缺陷數據集放入網絡進行學習訓練,最終網絡能判斷出圖像中是否包含缺陷。如圖7所示,文獻[61]用四個結構為全連接層加Softmax函數的CNN模塊構建出檢測故障光伏電池的網絡框架,該研究通過遷移學習對所提出的隔離模型進行參數調整,但其所用數據集中的樣本缺陷是人為添加的。文獻[62]利用改進的LeNet-5網絡對太陽能電池片的缺陷進行識別和分類,其效果和性能遠遠優于經典LeNet-5網絡和采用RBF的SVM分類器。文獻[63]提出了一種名為SEF-CNN框架來解決缺陷檢測問題,采用SEF(Steerable Evidence Filter)對圖像進行濾波,從而使得卷積神經網絡提取的特征更具有判別性和魯棒性,實驗結果表明該方法能夠有效地提高整體分類效果,精確率為97.92%,速度為每1 000張圖片2.58 s。文獻[64]使用VGG-16網絡的遷移學習對太陽能電池的遙感圖像進行分類,但由于自建的太陽能組件光電圖像數據集中的圖像分辨率較低,實驗中CNN的精度僅約為70%。文獻[65]通過減少濾波器的數量和FC層的大小來修改VGG-16網絡,實現自動檢測太陽能電池缺陷,從而有效降低了網絡的誤檢率。

圖7 文獻[61]提出的網絡框架圖Fig.7 Network framework diagram proposed in [61]
文獻[66]提出了一種利用光學CNN結構識別EL圖像缺陷的方法,算法精確率為92.00%,召回率為93.00%,F1-score為91.98%,測試時間為每1 000張電池圖片8.07 s,該模型計算量及時間均相對較少。文獻[67]將改進的AlexNet與CNN相結合,使用具有遷移學習的深度卷積神經網絡對太陽能電池板的缺陷表面和正常表面進行分類,但該算法的泛化能力還有待提高。文獻[68]中對多種預訓練模型進行評估,并用集成學習方法將CNN聚合,不僅提高了分類準確性,還降低了依賴單一模型產生的影響。但當CNN層數過深時,用反向傳播算法修改參數的速度會變慢。梯度下降算法可能會使訓練結果收斂到局部極小值,導致局部信息與整體信息之間的關聯性減弱。文獻[69]選擇Inceptionv4和Inception-ResNet-v2作為缺陷檢測模型的主干,并采用Hessian矩陣和多尺度線檢測進行缺陷特征的提取,有效地提高了模型檢測性能。但該模型需要針對不同的任務手動設計不同的提取器和分類器。文獻[70]提出一種名為DSMPCNN(Dual Spin Max Pooling)的網絡對太陽能電池裂紋缺陷進行檢測,通過結合最大池化層和雙自旋池化機制,使網絡能提取太陽能電池上裂紋和其他缺陷的細節特征,進而提高裂紋檢測的準確性。
(2)多類別分類
對超過兩類缺陷類型的數據集進行分類,通常先利用基礎網絡進行一次二分類以區分缺陷和正常樣本,并在該網絡上共享特征提取部分,以便對缺陷類別的分類分支進行修改或增加。在對缺陷樣本和正常樣本進行二分類訓練過程中獲取預訓練權重參數,能夠為后續多目標缺陷分類網絡做準備。文獻[35]利用ELPV數據集設計了一個基于VGG19的CNN分類網絡,能夠將EL圖像分為四類:無缺陷、可能正常、可能有缺陷和有缺陷。該模型平均準確率約為88.42%,F1-score為88.39,測試時間為19.33 s每個組件。文獻[41]提出一種名為L-CNN的輕量級CNN架構對ELPV數據集進行二分類(正常、有缺陷)和四分類(無缺陷、可能正常、可能有缺陷、有缺陷),其最高準確率分別為89.33%和84.95%。文獻[71]設計了一種基于CNN的EL圖像缺陷自動分類模型,將CNN提取的EL圖像深層特征輸入到全連接層中,完成對4類缺陷圖像進行分類,模型檢測準確率為83%。文獻[72]提出了一種基于遷移學習的太陽能電池缺陷檢測模型,該模型僅在背景簡單的EL圖像上具有較好的檢測效果。文獻[73]基于AlexNet結構進行改進,設計了一個用于多光譜太陽能電池表面缺陷檢測的模型,有效地解決了表面缺陷多樣、形狀多樣、背景干擾嚴重等問題,檢測100張圖片所需時間為4.25 s,模型準確率為88.41%,召回率為98.40%。多光譜卷積神經網絡提取小面積缺陷和線型缺陷的特征能力較弱,對斷柵、劃痕等缺陷的檢測率相對較低,但對粗柵和色差等缺陷檢測效果好。文獻[74]通過修改預訓練AlexNet架構設計一種新型多尺度CNN模型對太陽能電池板多種缺陷進行檢測,該方法具有較高的魯棒性和分類性能。文獻[75]將模糊卷積與常規卷積相結合,設計了HFCNN(Hybrid Fuzzy)結構來優化太陽能電池數據的不確定性,在減少參數和網絡寬度的同時提高檢測精度,算法準確率在81%以上,F1-score在72%以上。文獻[76]收集了345張大小為200×200的RGB太陽能電池缺陷圖像,并使用CNN對無缺陷、裂縫缺陷、陰影缺陷和灰塵缺陷進行檢測和分類。由于數據集分辨率較低,模型分類的平均準確率較低。文獻[77]提出了一個CNN模型對預處理后的圖像進行缺陷分類,該模型能夠識別出七種類型的太陽能電池缺陷,提高了整體的分類準確率,其分類準確率達到91.58%。
文獻[78]利用SeFNet(Self-Fusion Network)代替HRNet(High-Resolution Network)中的分類層,提出一種名為SeF-HRNet的太陽能電池EL圖像缺陷檢測模型,有效提高了模型的檢測性能,但是測試集中圖像數據的匱乏影響了識別的準確性。文獻[79]基于DCNN設計了一種PV故障檢測與分類系統,可實現對陰影缺陷、光伏組件表面積塵、光伏組件短路和旁路二極管故障四種常見缺陷進行識別。系統用一個二分類器對PV進行故障檢測,然后用一個多分類器對缺陷類型進行分類,其檢測準確率為99%、分類準確率為95.55%。但該研究中采用的數據集較小,且沒有考慮到微裂紋、材料缺陷等不可見的缺陷。文獻[80]通過多輪PSO Pruner來自動搜索最優DCNN結構,在模型復雜度方面有效地壓縮DCNN。文獻[81]將特征融合模塊與ResNet50主干相結合,并結合自注意力機制聚合深層和淺層特征,從而有效提高了太陽能電池微裂紋缺陷檢測效果。同時該方法通過遷移學習將太陽能電池缺陷檢測的準確率提高了11.6%,實驗結果表明模型能在工業微裂紋數據集上實現98.29%的檢測準確率。
4.1.1.2 利用網絡做特征提取器
由于CNN在特征提取方面具有較大的優勢,故分類網絡應用在太陽能電池片缺陷檢測領域初期時,許多文獻將圖像輸入到預訓練的網絡中獲取圖像的表征特征,最后利用提取出的特征作為傳統機器學習分類器的分類標準,從而完成缺陷分類任務。如圖8所示,文獻[41]用四種模型對深度神經網絡進行預訓練,并對從ELPV數據集中提取出的缺陷特征進行選擇,最后用機器學習模型對太陽能電池EL圖像進行分類。

圖8 文獻[41]提出的網絡框架圖Fig.8 Network framework diagram proposed in [41]
文獻[82]結合VGG-16和SVM算法提出一種高效混合機器學習模型,將其用于檢測光伏電池中是否存在缺陷。同近期相關文獻對比,該模型在ELPV數據集上的分類精度最高,但仍存在位于電池角落的缺陷無法被模型正確分類的問題。文獻[83]利用預訓練的VGG-16進行特征提取,并用全連接層和SVM分類器對太陽能電池板表面缺陷進行分類。
4.1.2 檢測網絡
太陽能電池片缺陷檢測任務中,檢測網絡的實現步驟如下:初始化設置(錨點框、角點等)、生成候選框、提取輸入圖像關鍵特征、特征融合以得到多尺度特征、進行綜合分析以識別圖像中是否存在缺陷。在檢測頭中,網絡同時進行類別預測和位置回歸,確定缺陷的類別及其邊界框。檢測網絡不僅擁有分類網絡功能,還能通過外接矩形框確定缺陷位置與尺寸,實現太陽能電池片缺陷的類型識別與準確定位。可以依據網絡結構將基于深度學習的太陽能電池缺陷檢測網絡劃分為兩類:以Faster R-CNN為代表的兩階段網絡;以SSD、YOLO為代表的單階段網絡。
4.1.2.1 基于兩階段的缺陷檢測網絡
兩階段網絡在生成缺陷預選框基礎上對缺陷的位置和類別進行預測,Faster R-CNN通過引入區域生成網絡(Region Proposal Network,RPN)實現了幾乎無成本的區域生成算法,極大地提高了目標檢測的速度。文獻[84]設計了MF-RPN(Multi-Feature Region Proposal Fusion network)結構來優化Faster R-CNN模型從而提高輸出預測框的準確性,實現有效檢測多種尺度的太陽能電池片表面缺陷,算法檢測精度為91.30%,但其檢測時間為每張圖0.947 s,較其他算法相比該模型的檢測速度相對較慢。文獻[85]改進了Faster R-CNN中特征提取部分和RPN部分并提出了GA-Faster R-CNN模型,實現對太陽能電池上的缺陷進行識別并標記。該模型通過應用GA-RPN(Region Proposal by Guided Anchoring)結構減少候選幀的數量,將檢測速度由每張圖0.91 s提高到0.19 s。文獻[86]將Faster R-CNN和R-FCN (Region-based Fully Convolutional Networks)進行模型融合,并用改進后的模型來檢測太陽能電池表面缺陷。該模型充分地利用了深度卷積神經網絡提取到的小目標特征,有效地提高了太陽能電池小缺陷檢測精度,但此模型無法對缺陷尺寸進行測量。文獻[87]設計了一種Faster RPAN-CNN網絡來檢測原始EL圖像中的缺陷,網絡中的RPAN(Region Proposal Attention Network)采用新型CAN(Complementary Attention Network)結構細化CNN提取的特征圖像,算法在缺陷分類任務上的準確率達到95.15%以上,F1-score達95.70%以上,檢測精度在85.78%以上,IoU在69.13%以上,每張圖的檢測時間為150~170 ms。該網絡對于在原始EL圖像中檢測多類型缺陷具有較好的通用性,但對微裂紋等多尺度缺陷的檢測效果并不理想。為了解決上述問題,文獻[88]提出新型目標檢測器BAF-Detector用于光伏電池缺陷檢測,將設計的雙向特征金字塔融合到Faster R-CNN中,顯著提高了EL圖像中多尺度缺陷的檢測效果(F1-score為98.70%、mAP為88.07%和IOU為73.29%),算法檢測速度為7.75 frame/s。但算法中的特征平衡因子仍需要人工進行設置,沒有利用自適應算法進行自動設置。
4.1.2.2 基于單階段的缺陷檢測網絡
單階段網絡直接利用提取出的特征對缺陷進行分類和定位,SSD和YOLO是目標檢測中常見的兩種單階段網絡結構。SSD引入的特征金字塔結構可以提高檢測的準確性,但其檢測速度低于YOLO網絡。文獻[89]收集了5 400張光伏組件缺陷的RGB圖像,并使用YOLOv3網絡對太陽能電池片表面的異常陰影進行缺陷檢測,將網絡異常陰影檢測的準確率提高到94.5%。文獻[90]用Densenet121作為YOLOv4的主干網絡,并采用Softer-NMS 進行預選框篩選。最終檢測結果表明,該網絡提升了缺陷檢測的精確度并且降低了漏檢、錯檢率。文獻[91]設計了一種新型缺陷目標檢測器BPGA-Detector,將雙通道特征金字塔嵌入到YOLOv5中,顯著提高了在復雜背景干擾下識別小目標缺陷特征的能力,在太陽能電池表面缺陷檢測上取得了較好的檢測結果(mAP50為88.8%)。文獻[92]針對太陽能電池缺陷特征對YOLOV5目標檢測模型進行改進,通過引入可變卷積CSP(Cross Stage Partial)模塊、添加ECA-Net(Efficient Channel Attention)結構、增加預測頭數量以實現不同尺度的缺陷檢測,其方法平均準確率達到89.64%,較原檢測模型的mAP提高了7.85%。文獻[93]將可變形卷積和坐標注意力模塊融合到YOLOv5模型中,使得網絡能夠有效地提取到不同尺度的缺陷特征。上述研究大多僅針對太陽能電池圖像進行缺陷定位,沒有對其缺陷程度進行分析。因此,文獻[94]設計了一種基于新型DCNN的視覺缺陷檢測模型,第一階段先檢測出包含缺陷的太陽能電池樣本,并依據其損壞程度進行排序;第二階段對所選樣本進行分類,在復雜背景下有效提高了對小面積缺陷的檢測性能。由于系統從低成本角度出發,其數據集中圖像的分辨率相對較低。
4.1.2.3 基于Transformer網絡
文獻[95]在Swin Transformer網絡基礎上進行改進,提出一種名為DPiT新型Transformer網絡用于高效檢測檢測太陽能電池板的缺陷,用強注意力機制CW-MSA增強全局語義特征的提取,利用特征聚合模塊融合多尺度特征,充分利用每個層級的特征信息,實現較高的分類性能。
4.1.3 分割網絡
分割網絡在太陽能電池片表面缺陷檢測任務中,主要完成缺陷區域與背景區域的語義分割甚至實例分割過程。其主要包括編碼器和解碼器兩部分,編碼器通常使用預訓練后的分類網絡逐步提取圖像特征,解碼器將特征圖恢復為原始分辨率并進行像素級分類。分割網絡可以學習從輸入圖像到像素級別分割結果之間的映射,最終輸出像素級別的缺陷分割結果,并且還能獲取缺陷的位置、類別及相應的幾何屬性,實現對太陽能電池片缺陷的檢測和定位。按照分割功能的區別,大致可以分為FCN方法和Mask R-CNN方法。
4.1.3.1 FCN方法
常規FCN、U-net和SegNet作為分割網絡的代表,其模型包括編碼器和解碼器兩個部分。通常采用VGG-16和ResNet等網絡作為編碼器部分,主要通過卷積和池化過程完成特性提取操作。解碼器部分使用反卷積或上采樣操作恢復圖像原始尺寸,同時加入跨層連接結構以解決細節信息丟失問題。文獻[96]使用FPN,UNet和DeepLabV3+這三個分割模型對太陽能電池板進行缺陷檢測,其分割效果優于傳統分割算法,其中U-Net模型Dice系數為0.94。文獻[97]提出了一種名為ERDCF-Net(Efficient and Refined Deep Convolutional Features Network)的網絡,實現在具有背景干擾的太陽能電池EL圖像中精確、高效地分割出裂紋缺陷,所提出的網絡在太陽能電池裂紋數據集上有較好的分割效果(MIoU為92.82%,F1-score為93.58%)。
文獻[98]提出了DAD-U-Net(Dual Attention Dense)網絡對太陽能電池圖像進行缺陷分割,在U-Net網絡結構基礎上引入密集連接結構和雙注意力機制,從而提升模型整體缺陷檢測精度。文獻[99]提出MAU-net(Multi Attention)網絡用于光伏EL圖像缺陷檢測,將兩個注意力網絡整合到改進的U-net架構中,能有效地提取多尺度特征。該網絡的MIoU(0.699)、F1-score(0.799)均優于改進前的方法,且其檢測速度符合生產需求,因此可用于實際工業應用。文獻[100]提出一種改進U2-Net網絡結構用于分割太陽能電池片缺陷,實現了小目標缺陷的準確分割,有效減少了漏分割情況的發生。文獻[101]使用全卷積網絡Pre-trained U-net一步生成缺陷分割圖,實現對缺陷進行精準定位。文獻[102]通過集成學習技術對U-Net、attention U-Net、FPN和LinkNet四種模型進行組合,顯著地提高了對深裂紋和微裂紋缺陷的分割效果,其模型MIoU從48.5%提高到54.19%。
4.1.3.2 Mask R-CNN方法
Mask R-CNN算法是一種結合檢測網絡與分割網絡的多任務學習方法,能夠同時實現目標檢測和像素級分割。文獻[89]使用檢測器提取并定位太陽能電池片表面異常陰影,然后用Mask R-CNN網絡對異常陰影進行分類。同分類網絡和檢測網絡的方法相比,分割網絡能更有效地提取缺陷信息。但這種方法對標注數據要求較高,需要大量的標注成本來完成像素級信息標注。
4.1.4 混合網絡及輕量化網絡
4.1.4.1 混合網絡
混合網絡是將不同類型的深度學習網絡進行結合,從而充分利用每種網絡的優質性能,進一步提高模型檢測精度和魯棒性。文獻[103]提出一種基于VGG-Net和U-Net++的改進融合模型進行太陽能電池EL圖像的缺陷檢測和分割,改進后的VGG-16網絡在ELPV數據集上的缺陷檢測準確率提高了1.3%,基于UNet++框架構建缺陷分割模型平均MIoU值為0.955。文獻[104]中指出大多數自動檢測方法在光伏組件上缺乏缺陷定位,因此該研究結合檢測、分類和弱監督分割提出一種端到端的缺陷檢測框架,實現對EL圖像進行缺陷檢測、定位以及分割。
4.1.4.2 輕量化網絡
深度學習網絡對硬件設備要求較高,許多學者在保證網絡檢測精度的情況下減小其體積,開發出了MobileNet系列、ShuffleNet系列、Xnception等網絡。文獻[105]基于ShuffleNetV2網絡針對光伏模塊故障檢測任務進行模型改進,將其與原始ShuffleNet V2網絡和MobileNet V2網絡進行比較,改進方法對故障診斷的效果有明顯提升,但對于個別故障類型的診斷效果較差。文獻[106]在InceptionV3網絡基礎上采用平衡因子δ,同時引入一種新的損失函數并結合遷移學習來構建太陽能電池板缺陷檢測模型,其準確率比原始InceptionV3網絡提高了2.45%,分類時間減少了4.5 ms。文獻[107]基于YOLOv3-Tiny網絡模型進行改進完成在線對太陽能電池片進行缺陷檢測任務。模型增加了FPN結構以實現三尺度預測,通過加深主特征提取網絡的結構,有效地提高了模型檢測小目標缺陷的精度。文獻[108]設計了一種用于太陽能電池缺陷檢測的輕量級網絡結構,通過引入神經框架搜索(Neural Architecture Search, NAS)從而充分利用多尺度特征,同時使用知識蒸餾(Knowledge Distillation, KD)模型完成輕量級網絡的遷移學習,提高了輕量級模型的整體性能。該模型能夠在項目設備上快速完成部署,滿足了實際工業應用的生產需求。
表4總結了上述有監督學習具有代表性算法,并給出相應算法的優缺點,由于太陽能電池片缺陷的多樣性和復雜性,確保足夠數量和多樣性的標記數據對有監督學習方法十分重要,這在太陽能電池片缺陷檢測中成本較高且所需時間較長。

表4 有監督學習具體方法優缺點Tab.4 Advantages and disadvantages ofw specific methods of supervised learning
目前基于深度學習的太陽能電池表面缺陷檢測方法大多基于有監督學習方向,但無監督學習同樣是一個值得研究的內容。相比于有監督學習,無監督學習通過沒有類別標簽的樣本對模型進行訓練,這種方法能夠更加靈活地適用在不同數據集和缺陷類型上,其模式結構主要體現為對數據進行聚類分組或異常檢測。本節以生成對抗網絡(Generative Adversarial Network,GAN) 深度置信網絡(Deep Belief Network,DBN)和自編碼器(Auto-Encoder, AE)為例,簡要介紹無監督學習在太陽能電池表面缺陷檢測任務中的研究現狀。
4.2.1 生成對抗網絡
生成對抗網絡由生成器和鑒別器組成,根據真實數據的內在規律生成新的數據,通過比較輸入樣本和重建樣本檢測出缺陷區域。在訓練數據集不足時,模型會出現過擬合現象。為解決上述問題,文獻[109]將GAN中的多層感知機用CNN來代替,并通過添加批量歸一化等操作來增強GAN的穩定性,通過隨機融合原始訓練圖像和深度卷積對抗生成網絡(Deep Convolutional Generative Adversarial Networks,DCGAN) 生成的圖像來完成數據集的擴充。文獻[71]利用生成對抗網絡在ELPV數據集中生成圖像,根據缺陷的類型對光伏電池EL圖像進行分類,其分類準確率在81%~84%。在上述方法基礎上,文獻[78]設計了一種數據增強方法,利用ProGAN(Progressive GAN)和WGANGP (Wasserstein GAN with Gradient Penalty)算法構建圖像生成網絡,并將網絡與傳統數據增強技術相結合,以解決樣本稀缺和樣本類別間不平衡的問題。文獻[110]提出了一種基于CEGAN (Counter Example Generative Adversarial Network)的太陽能電池EL缺陷檢測方法,該方法將背景圖像的負樣本送入GAN中,并將其映射成相應的背景樣本。解決了由于太陽能電池的多晶硅分布形式不固定,非均勻紋理背景的太陽能電池EL圖像背景重構誤差大、缺陷檢測精度較低的問題。文獻[111]使用無缺陷樣本訓練基于GAN的異常檢測模型,并用訓練好的模型來檢測和定位缺陷,從而生成自動標記的數據集,以提高缺陷檢測模型的性能。
4.2.2 深度置信網絡
深度信念網絡由多個受限玻爾茲曼機(Restricted Boltzmann Machine, RBM)組成,整個網絡的訓練過程通過逐層單獨訓練RBM完成,能夠快速地完成權值的訓練。通常在DBN最上層加入分類層,并根據輸入圖像特征權重對其進行分類。文獻[17]提出了一種基于DBN的太陽能電池缺陷檢測算法,并通過反向傳播算法對網絡參數進行微調,有效地提高了缺陷檢測速度。但該算法中使用的數據集數量較少,并且存在檢測精度較低的問題。文獻[112]通過將全連接將卷積限制玻爾茲曼機(Convolutional Restricted Boltzmann Machine, CRBM)與池化層交替鏈接,設計了一種具有較高識別率的深度卷積信念網絡,在太陽能電池片與膠囊缺陷檢測上取得了通用性的效果。文獻[113]使用DBN訓練網絡初始值,再將重建圖像和訓練圖像作為監督數據,同時利用神經網絡對參數進行微調。上述方法能夠準確、快速地檢測缺陷,且具有一定的通用性。但仍存在網絡訓練耗時較長,對高分辨率圖像處理效果有待提高等問題。
4.2.3 自編碼器
AE網絡包括編碼器網絡和解碼器網絡,利用正常樣本訓練自編碼器模型。根據正常樣本訓練出來的AE能夠將正常樣本重建還原,但是無法將缺陷樣本較好地還原,將輸入的缺陷圖像轉換為像素級的預測Mask,最終通過重建誤差區分缺陷圖像。自編碼器為解決文獻[60]中提取的特征表達能力有限的問題,文獻[114]提出了基于自適應深度特征和視覺顯著性的微裂紋檢測方法,通過堆疊降噪自編碼器(Stacked Denoising Autoencoder , SDAE)提取自適應深度特征,并通過特征矩陣分解來檢測視覺顯著性。但由于數據集中標注數據過少,模型泛化能力相對較低。針對上述問題,文獻[115]將檢測網絡提取的長期特征與SDAE提取的短期深度特征相融合,有效地實現了對太陽能電池表面各種常見微裂紋缺陷進行檢測。該方法不局限于太陽能電池表面缺陷檢測、具有一定的通用性,但無法直接對初始圖像進行處理。
弱監督學習模型可以利用部分標記數據或弱標記數據進行訓練,半監督學習模型同時使用已標注數據和未標記數據完成模型訓練。文獻[116]在分類網絡基礎上實現只用圖像標簽對太陽能板上的裂紋缺陷進行分割,其中深度網絡的激活圖作為異常區域的導向。文獻[117]提出一種基于注意力機制的CNN弱監督學習分類及分割框架,能夠在訓練期間使用全局圖像級標簽來解決自動表面檢測的問題。對于分類任務,所提RWSLDC(Robust Weakly Supervised Learning of Deep Conv-Nets)結構通過注意力機制和隨機森林分類器將分類的準確率提高到93.29%。相比于原始CAM,SA-CAM (Spatial Attention Class Activation Map)在分割任務中將模型的IOU值提高約4%,運行時間為每100張圖4.05 s。文獻[118]提出了一種名為ppFDetector的半監督缺陷檢測模型,通過生成對抗網絡進行正樣本圖像重建,利用ppFDetector模型計算重建圖像與原始圖像之間的差異,從而完成對太陽能電池板的故障檢測,但該研究中沒有給出實現該模型性能所需的計算成本。
表5總結了無監督學習、弱監督及半監督學習具有代表性算法,并給出相應算法的優缺點。

表5 無監督學習、弱監督及半監督學習具體網絡優缺點Tab.5 Advantages and disadvantages of unsupervised learning, weakly supervised and semi-supervised learning
通過上述文獻分析可看出:近年來學者針對太陽能電池圖像背景非均勻紋理分布,導致缺陷特征提取困難;獲取的缺陷數據過少,導致數據集中樣本不均衡;模型參數量大,不符合實際工業需求等問題展開研究。有不少學者對網絡特征提取部分進行改進,以提升網絡檢測精度。大多數研究所用數據集規模都小于10 000張,許多學者正在積極研究除數據增強以外的數據擴充方法,以提高模型的泛化能力。研究方向更加聚焦于輕量化模型和硬件設備的高效部署,以在保證檢測精度的同時滿足實際工業需求。為了解決有監督學習中標注數據需求大的問題,一些研究通過弱監督學習和半監督學習等策略來降低標注成本。弱監督學習方法如文獻[116]中提到的基于圖像標簽的分割,能夠有效地對太陽能電池板上的裂紋等缺陷進行分割,而不需要大量詳細標注的數據。這一思路為實際應用中的標注問題提供了一種可行的解決方案。針對深度學習模型在實際應用中的硬件資源要求較高的問題,研究者們提出了一系列輕量化網絡,如ShuffleNet V2[105]和Inception V3[106]等。這些網絡在保持一定檢測精度的同時,降低了模型的體積和計算復雜度,使其更適合在資源受限的環境中部署。而YOLOv3-Tiny[107]等方法在速度和精度上實現了平衡。文獻[108]中設計的輕量級網絡結合了神經框架搜索和知識蒸餾等技術,成功地提高了模型的整體性能,能夠很好地適應實際工業應用的需求。遷移學習[81]和MF-RPN+Faster R-CNN[84]等通用性強的方法在不同任務和領域中都具備良好的性能。因此,在實際應用中,建議根據具體需求綜合考慮各方法的優缺點,以獲得最佳實際效果。回顧近年來基于深度學習算法的研究進展,表6中總結了各類算法的特點。

表6 基于深度學習各類算法特點Tab.6 Characteristics of various algorithms based on deep learning
太陽能電池片表面缺陷檢測研究工作的基礎是需要較為完備的數據集,太陽能電池片圖像具有數據量少、結構較為固定、圖像語義較為簡單的特點。在不同的廠家生產的電池以及不同的場景下,每個研究人員通常使用的缺陷數據集不同,導致各個研究之間缺乏對比。目前太陽能電池片表面圖像的公開數據集較為有限,本節搜集整理了9個目前公開的數據集,具體如表7所示。表7中部分數據集的樣例如圖9所示。

表7 太陽能電池表面缺陷檢測公開數據集Tab.7 Solar cell surface defect detection public dataset

圖9 常用數據集示例Fig.9 Example of common datasets
光伏異常檢測數據集是由“百度飛漿”提供的一個開源的光伏電池異常檢測數據集,其中包含光伏電池劃痕缺陷和黑心缺陷兩種缺陷類型。數據集圖像有四類:無缺陷、有裂紋無失效區、無裂紋有失效區、有裂紋有失效區。
PTID(Photovoltaic Thermal Images Dataset)數據集[119]包含3個文件夾,每個文件夾包含1 009張大小為 512×640 pixels的圖像。第一個文件夾存儲無人機直升機拍攝的預處理熱圖像,第二個文件夾包含通過直升機拍攝的相同熱圖像的等效灰度圖像,而第三個文件夾包含顯示分離的單個缺陷電池或連續故障電池序列的掩膜圖像。
ELPV數據集由Buerhop等[120]提出,包含2 624個太陽能電池的電致發光8位灰度圖像,分辨率為每張圖像300×300 pixels[35,120-121]。數據集中包括各種類型的缺陷,例如微裂紋、退化的零件、短路電池和焊接故障,但ELPV數據集中的原始圖像數量很少且數據集標簽僅包含缺陷程度信息沒有的空間定位。
ELDDS1400c5數據集[122]由1400張單晶光伏板EL圖像構成,是武漢日升光電科技有限公司用太陽能組件EL-1600/2400型EL測試儀進行采集所得,其中共計含有109 200個電池單元。該數據包括五種缺陷類型的21 000個基于邊界框的注釋,五種缺陷類型分別為黑斑、微裂紋、裂紋、短路電池、短路串。
BELI(Benchmark EL images)數據集[123][124]是由三個私人來源和兩個公共來源的593個太陽能電池EL圖像組成,多晶硅片和單晶晶片的數量大致相等。
PVEL-AD(Photovoltaic Cell Anomaly Detection)數據集在原始 PVEL-AD-2019數據集的基礎上遞增,其由36 543張高分辨率圖像(1 024×1 024 pixels)組成;帶注釋的圖像數量從2 129張增加到21 044張;無異常圖像從1 500增加到11 351。該數據集包含1類正常圖像和12種不同類別的缺陷圖像,其中缺陷圖像例如裂紋(線和星形)、斷柵、黑心、劃痕、碎片等缺陷[47,87-88,125]。此外,還針對12種缺陷提供了40 358個邊界框,可用于評估新提出的異常檢測方法。與ELPV數據集相比,PVEL-AD數據集圖像分辨率更高,異常類型更全面。
PVMD(PV Multi Defect)數據集中包含1 108張大小為600×600 pixels的圖像,5種缺陷類型分別為:破碎的電池、具有突出亮點的電池、具有規則形狀的黑色或灰色邊緣的電池、有劃痕的電池以及未帶電并且顯示為黑色的電池。
ISM(Infrared Solar Modules)[126]由Raptor Maps Inc團隊使用駕駛飛機和無人機系統在太陽能發電廠收集,其中包含20 000張分辨率為24×40 pixels且深度為8位的圖像,其中缺陷圖像10 000張、無異常圖像10 000張。數據集中定義了12類太陽能電池,其中11類為不同種類的缺陷圖像,還有一類為無異常圖像[127]。該項目提出了一個新穎的標注數據集,解決了紅外異常圖像缺乏公開可用數據的問題。
CS(Crack Segmentation)數據集來自Dura MAT數據中心網站[128-129],數據是使用EL成像技術在576個太陽能電池板上獲取,并用GitHub存儲庫從模塊圖像中裁剪出1 837張太陽能電池圖像。
在實際應用中,通常采用定性評價和定量分析評估兩種方式對太陽能電池缺陷檢測方法進行評價,現有文獻大多采用定性評估進行評價,該評價方式能評估出所用方法是否能準確判斷出有缺陷的輸入圖像。本文主要對缺陷檢測領域中分類網絡、檢測網絡和分割網絡的定量評價指標進行介紹。
5.2.1 分類網絡和檢測網絡評價指標
圖10所示的混淆矩陣中包含二分類實驗的相關結果,利用混淆矩陣中的數據來計算相應算法的評價指標,多分類實驗的混淆矩陣在上述矩陣基礎上進行擴展。分類網絡和檢測網絡的性能通常使用準確度(Accuracy)、召回率(Recall)、精確率(Precision)、誤檢率(False Positive Rate,FPR)、漏檢率(False Negative Rate, FNR)及F1-score來評價,表8中列出了相應公式。準確率表示算法預測正確的樣本數量與全部樣本數量的比;召回率描述預測集中被檢測出的有缺陷樣本與預測數據集中所有缺陷樣本數量之比;精確率是指預測集被預測為的有缺陷樣本中正確數量占比。F1-score指標是召回率和精確度的加權平均值,能夠綜合考慮上述兩種指標對模型進行評估。在實際工業生產中,誤檢率和漏檢率是模型部署調試階段較為關注的兩個指標,誤檢率是指實際預測數據集中有缺陷的圖片被誤判為無缺陷樣本的數量與被預測數據集中全部樣本總數量之比;漏檢率描繪了實際無缺陷樣本被預測成含缺陷樣本占所有被預測為有缺陷樣本的比例。

表8 分類及分割評價指標Tab.8 Evaluation metrics of classification and segmentation

圖10 二分類混淆矩陣Fig.10 Confusion matrix
通過上述評價指標對模型進行評價需設置預分類閾值,其設置的閾值會影響整體評估效果。因此有必要利用與設置的閾值無關的評價指標來估計模型性能,結合上述評價指標能夠全面地對模型進行評價。在太陽能電池表面缺陷檢測分類任務中,采用不同閾值下兩指標的變化情況來衡量相應性能,例如描述召回率和精確率關系的PR(Precision Recall)曲線和描述誤檢率和召回率關系的ROC(Receiver Operator Characteristic)曲線,曲線下面積(Area Under Curve, AUC)為上述兩種曲線的主要衡量指標。
5.2.2 分割網絡評價指標
分割任務實質上就是像素級的二分類任務,將輸入圖像中的每個像素輸出為缺陷或背景標簽,可以采用像素級混淆矩陣來衡量其性能,其衡量方法與分類任務中采用指標相同。針對分割任務評價指標還有交并比(Intersection over Union, IoU)、平均交并比(Mean Intersection over Union,MIoU)、和Dice系數(Dice coefficient)、平均精度均值(mean Average Precision,mAP),表8列出了上述評價指標的具體公式。IoU定義為預測圖和標注圖兩個集合的交集元素在兩者并集中所占比例,可以體現出預測圖和標注圖之間的相似性,其物理意義如圖11所示;測試集中全部圖像的IoU平均值定義為MIoU,Dice系數是一種像素級的測量系數,取值范圍為0~1,其本質是表現手工標注圖像和預測圖像之間的重合度。某一類PR曲線的AUC定義為平均精確率(Average precision, AP),所有類別PR曲線的AUC平均值為mAP。除與分類指標類似的兩種曲線外,還可以采用IoU曲線和PR曲線作為與閾值無關的分割指標。
本文在表9中匯總了現有代表性基于傳統機器視覺算法的太陽能電池片缺陷檢測方法,分別從檢測對象、檢測方式、樣本量和性能進行了比較。但由于各項研究的實驗設計和評估標準存在一定差異,且各文獻中所采用的數據集不同,因此各方法性能一欄只能評價該模型的效果好壞,無法進行縱向對比。

表9 現有代表性傳統機器視覺算法比較Tab.9 Performance comparison and analysis of existing traditional machine vision algorithms
上述部分文獻基于自建數據集進行實驗,此類方法無法利用評價指標縱向對比模型性能。為了更加客觀對比算法性能,本文針對在公開數據集ELPV上進行實驗的代表性算法進行比較,包括不同方法在準確率、精度、召回率和F1-score等指標上的表現,同時列出了各方法的設備信息,具體內容如表10所示。通過對比表格中的數據,可以更好地理解不同算法在ELPV數據集上的表現。

表10 現有代表性算法在ELPV數據集上性能比較Table 10 Comparison of the performance of existing representative algorithms on ELPV datasets
機器視覺技術能夠精確檢測太陽能電池片表面缺陷的數量、類型、位置、尺寸及其他定量信息,對后續質量控制與管理提供數據支撐,在缺陷檢測相關領域有巨大的進步潛力,但也面臨著很多挑戰。
(1)小樣本問題。由于太陽能電池片生產流程的不斷優化,導致缺陷樣品的數量減少。可用于深度學習的太陽能電池缺陷檢測訓練數據數量越來越少,在訓練過程中很容易出現過擬合等一系列問題。在小數據集上推廣深度學習模型是一個真正的挑戰。遷移學習是解決小樣本問題的關鍵方法。
(2)不均衡樣本問題。為了訓練深度學習模型,通常需要一個不同類別樣本數量均衡的樣本集。但是,在實際生產過程中每個缺陷出現的可能性相對較為隨機,使得樣本分布不能達到理想情況。數據集中大部分數據都來自“正常”樣本,而“有缺陷”或“異常”的樣本只占很小一部分。不平衡樣本對于有監督學習影響相對較大,算法會傾向于關注數據規模較大的圖像類別,使得模型的泛化能力受到限制。
(3)在光照分布不均情況下檢測效果差的問題。在采集太陽能電池片表面圖像過程中,其表觀特征會受到多種因素的影響,包括但不限于照明條件、拍攝角度和距離等。由于被檢太陽能電池的背景不同,其檢測效果可能會受到多種噪聲干擾,且太陽能電池缺陷的形狀具有隨機性,因此如何去除圖像中干擾或使用高層次特征來表達太陽能電池的所有表面缺陷特征是一個十分重要的任務。
(4)檢測速度較慢,難以滿足實際生產需要的問題。目前大多算法基于深度學習進行太陽能電池片表面缺陷檢測,此類方法在實際生產應用中主要包括數據標注、模型訓練與模型推理三個部分。其中推理的性能是模型表現之外最關注的點,現有的檢測方法大多側重在提高分類和識別的精度,較少注重模型的推理效率。多數方法為離線檢測而不能達到實時檢測的目的,限制了算法在工業上的應用。
(5)缺陷定位精度低,算法通用性不高的問題。許多方法只能給出粗略的定位框,無法精確定位到缺陷的邊界,這將對后續的分類和修復帶來困難。在缺陷目標提取階段,當前不存在一種算法可以對任意類型缺陷進行檢測。因此選擇合適的缺陷特征并進行特征提取能夠降低特征數量的冗余度,并且能通過選擇的特征判斷出不同缺陷的類型。
機器視覺系統能夠在短期內自動檢測出數量眾多的太陽能電池片,其檢測速度和精度比人工檢測要高很多,能夠顯著提高太陽能電池片生產的效率與品質。雖然機器視覺技術已經在太陽能電池片缺陷檢測領域方面成功應用,但仍存在小樣本、不均衡樣本、通用性低等問題,未來將從以下幾方面展開工作:
(1)應用遷移學習,降低數據依賴。通過在豐富的源領域數據集上訓練模型,遷移學習將學到的通用特征遷移到太陽能電池片缺陷檢測的目標領域。在目標領域上進行微調,模型能夠更好地適應太陽能電池片的特殊特征,從而提高在小樣本情況下的泛化能力。這一方法有助于克服因數據不足而引起的過擬合問題,為缺陷檢測模型在實際生產環境中的性能提供有效支持。
(2)在線學習和聯邦學習。現有方法大多采用離線學習的方法,在部署過程中模型實際性能難以達到最優。在實際生產應用過程中,生產線上可以不間斷地提供新的缺陷樣本數據來擴充數據集,同時還可能在原有檢測缺陷基礎上增加新的缺陷類型。因此,采用在線學習的方式對模型進行快速、實時地調整也是未來該領域研究的熱點。鑒于工業數據通常易涉及隱私,聯邦學習這一框架的提出有利于將各參與方樣本數據進行有效組合,同時確保各合作者的隱私安全。
(3)優化成像設備,降低噪聲干擾。在通過設備獲取太陽能電池片樣本過程中可能會出現噪聲干擾的情況,未來可以從優化設備內部結構方面入手,使得獲取的圖片背景相對簡單,降低圖片中存在噪聲、污漬等帶來的影響。
(4)應用強化學習,提高檢測實時性。未來可以從強化學習技術入手提高太陽能電池缺陷檢測的實時性。引入強化學習算法使得檢測系統具備了自主學習和優化的能力,能夠智能地適應不同環境和缺陷類型的變化。這種自適應性學習方式有望解決當前算法在實際生產中推理速度較慢的問題,實現更高效、實時的缺陷檢測。還可以展開基于3D視覺的太陽能電池缺陷檢測方法,將其擴展應用至光伏組件中,從而提升檢測系統的全面性。
(5)在無監督與弱監督及半監督方法中引入神經框架搜索。現有的太陽能電池片缺陷檢測大多基于深度學習進行,其網絡框架大多依靠研究人員手工設計,并通過對比試驗篩選出最優網絡結構。因此,研究中設計的模型結構在實際工業生產應用中不一定為最優解。目前已有學者利用NAS在有監督學習方法上自動選擇最優模型,但NAS在無監督與弱監督及半監督方法的參數設置上應用相對較少,未來可以在太陽能電池缺陷檢測領域得到發展。
(6)將缺陷特征與電池性能進行量化。檢測太陽能電池表面缺陷的最主要目的是識別太陽能電池可用時長和性能,同時替換其中有缺陷的電池。但現有的太陽能電池缺陷檢測系統還沒有將缺陷特征與電池性能的關系進行量化,也沒有相關指標能夠衡量二者之間的關系。未來可以通過統計數據分析對兩者之間的關系進行量化,從而減輕需要人為判斷的成本。
(7)Transformer的應用。目前有學者基于Transformer進行太陽能電池缺陷檢測的研究,有效地證實了Transformer在缺陷檢測方面的潛力,其模型性能很大程度上取決于數據集的數量和質量,但目前小樣本問題和不均衡樣本問題使得Transformer在該領域的應用還未得到充分探索。為降低檢測前期工作量,未來可以考慮采用半標記半監督學習的方式制作數據集,能夠高效地制作出大量數據集。
綜上,機器視覺技術在太陽能電池片缺陷檢測中具有十分顯著的優勢。機器視覺系統能夠探測到更復雜、更細小的太陽能電池片缺陷,從而提高生產太陽能電池片的質量。基于機器視覺對太陽能電池片進行缺陷檢測的技術仍在不斷地進步,日益精確與智能。相信隨著機器視覺技術和計算能力的提高,太陽能電池片機器視覺檢測將會取得更大的進展。
在對近年太陽能電池片缺陷檢測領域的研究成果進行歸納和比較分析后,發現在機器學習未被廣泛應用之前,大部分視覺軟件也都包含有定位、測量和檢測等功能。隨著硬件設備的快速發展,以機器學習為基礎的太陽能電池缺陷檢測技術逐漸發展起來,大量學者開始研究基于機器學習的太陽能電池片表面缺陷檢測技術,很好地解決了傳統圖像處理方法無法或很難直接量化缺陷特征的問題。
盡管機器學習技術已經取得了一定的進展,但仍有許多問題需要進一步完善。首先,我們需要更加注重構建更為全面、具有代表性的太陽能電池缺陷檢測數據集。當前的數據集在規模和樣本多樣性上仍然存在一定的局限性,這可能導致模型在真實工業場景中的性能無法得到準確的評估。其次,模型的適應性問題也是當前研究的一個亟待解決的方面,因為太陽能電池片表面的光照和環境條件可能會因地理位置和季節變化而產生較大波動。此外,對于硬件資源有限的情況,研究人員應該更關注開發計算資源更為高效利用的模型。未來的研究應該注重提高算法的實用性和魯棒性,以確保其在實際工業應用中能夠更好地發揮作用。本文綜合總結和深入分析,能夠為相關研究人員提供詳實而有效的參考資料,以期推動相關領域的發展。