郭保蘇 莊集超 章 欽 吳鳳和
燕山大學機械工程學院,秦皇島,066004
日益嚴重的能源危機使得太陽能成為一種極具吸引力的綠色能源。多晶硅晶片以其相對簡單的工藝、穩定的性能等優點被廣泛地應用于太陽能行業[1]。然而,從多晶硅晶片到太陽能電池片的復雜生產過程中,多晶硅晶片表面會產生顏色差異。不同客戶對同一批次的多晶硅晶片顏色差異種類要求不同,顏色差異類別變化較大。陣列顏色差異大的多晶硅晶片,會影響產品的整體外觀,因此,多晶硅晶片顏色差異的檢測是直接優化產品質量的重要環節。傳統的多晶硅晶片制造過程仍依賴于人工檢測,但在快節奏、高度重復的檢測任務中,極易造成因視覺疲勞所致的錯誤分類[2]。多晶硅晶片表面具有復雜的隨機紋理和不均勻變化的顏色,這給多晶硅晶片顏色差異的視覺檢測帶來了巨大的挑戰。
目前,關于顏色差異的檢測方法主要分為基于統計的方法和基于學習的方法兩類。對于第一類方法,孫智權等[3]通過選擇多個模板,建立樣本庫,克服了單模板的不足。周奇等[4]通過對電池片圖像分塊和直方圖的計算與比較,建立了顏色樣本庫和待測圖像與模板圖像的相似性關系,但該方法極大地增加了算法的計算成本。CAO等[5]將RGB圖像轉換到CIE L*a*b*顏色空間下,創建了CIE L*a*b*空間字典,并計算每個字典的統計值,實現了對舌頭顏色的分類。基于統計的算法雖然易于實現,但該類算法的泛化性差,檢測效率較低。
對于基于學習的方法,CHEN等[6]將RGB圖像分別轉換到CIE L*a*b*、HSI和HSV顏色空間下,提取不同空間的均值、方差和偏度作為特征向量,并利用高斯混合模型進行顏色分類。郭保蘇等[7]將多晶硅圖像進行顏色空間轉換和通道分離,并在圖像分割后計算各閾值圖像的區域對比度,以提取由6個不同分量的差值和1個區域面積組成的特征向量。SARRAF[8]在RGB和HSV顏色空間下提取了各顏色分量的像素均值和方差作為特征集,并利用最近鄰算法進行頭發顏色的分類。然而,上述幾種機器學習方法的分類精度嚴重依賴于人工設計的顏色特征。該類方法不適用于檢測顏色差異類別變化大的產品。
HU等[9]提出了一種空間金字塔策略與卷積神經網絡結構相結合的方法,用以對車輛顏色進行識別。KHAN等[10]通過R、G、B三種顏色濾波器和特征組合的物體識別框架,利用深度極限學習機對織物圖案和紗線顏色進行了分類。余石龍等[11]提出了一種基于誤差注意力的晶圓檢測方法,將晶圓制造數據轉化成灰度圖像,用以生成柔性注意力圖,該方法可增加誤差特征的顯性表達并略去冗余特征。張強等[12]利用卷積神經網絡的優越識別性能,提出了一種基于卷積神經網絡的監控場景下車輛顏色識別方法。CHEN等[13]采用多光譜卷積神經網絡算法建立RGB三通道對太陽能電池片9類缺陷信息進行融合。上述幾種深度學習方法可自動學習圖像特征,避免了手工設計特征的麻煩,卻忽略了顏色差異特征在顏色空間不同分量的信息,當相近顏色差異較小時,其檢測效果較差。
為了解決上述問題,本文提出了一種基于多分量卷積神經網絡的多晶硅晶片顏色差異檢測算法。
具有復雜紋理背景的多晶硅晶片呈現出不均勻的顏色特征分布。圖1展示了9類顏色差異的多晶硅晶片圖像,不同類型的顏色差異范圍不同。每種顏色差異類型的特征表現出不同的區分特性。由圖1可知,C1類型的多晶硅晶片是淺藍色,并表現出亮色,C9類型的多晶硅晶片表現出暗藍色。多晶硅晶片隨著類型等級的升高,其藍色逐漸加深。

圖1 多晶硅晶片顏色差異類型Fig.1 Color difference types of polycrystalline wafers
在圖像處理中,彩色圖像比其余顏色空間的圖像包含更豐富的信息。從人類視覺特性的角度來看,人眼可更快、更準確地從彩色圖像中獲取所需信息。RGB顏色空間是機器視覺中使用最廣泛的顏色空間,然而,其分量之間有一定的相關性,其中一個分量的像素值越大,其余分量的像素值也越大。這意味著需要修改像素的三個組成部分,以確保圖像的真實性,這將極大地增加算法的復雜性。HSV顏色空間以顏色的色調、飽和度和明度值來描述顏色,這更接近人類對顏色的感知。H、S和V三個分量是相互獨立的,可單獨處理[14]。
假定一副圖像的尺寸為i×j,則圖像對比度
(1)
式中,δ(i,j)為相鄰像素間的灰度差,δ(i,j)=|i-j|;Pδ(i,j)為相鄰像素間的灰度差為δ的像素分布概率。
圖像對比度越大,其特征的區分度越明顯,清晰程度越高。C1~C9不同分量圖像的對比度數值見表1。

表1 不同分量的多晶硅晶片對比度
圖2展示了多晶硅晶片在HSV顏色空間的特征,可看出不同的顏色差異類型在同一分量中具有不同的對比度,同種顏色差異類型在不同的分量中也表現出不同的對比度。在H分量中,C1類型多晶硅晶片的對比度較為明顯,而其他類型的多晶硅晶片則相對較差。在S分量中,C1、C2、C4、C5、C6和C7類型多晶硅晶片的顏色特征能夠明顯地進行區分,而C3、C8和C9的多晶硅晶片相對模糊。在V分量中,C3、C5、C6、C8和C9的多晶硅晶片展示了更加清晰的區分度,并具有較大的差異。

圖2 不同分量的多晶硅晶片顏色差異Fig.2 Color difference of polycrystalline wafers in different components
卷積神經網絡(convolutional neural network, CNN)是一種自主提取特征和預測概率的模型[15]。卷積神經網絡模型包括輸入層、卷積層、激活函數、池化層、全連接層和SoftMax分類器。它通過多層卷積層捕獲圖像的紋理和抽象特征,然后利用激活函數增加非線性,并采用SoftMax分類器進行預測分類。本文利用多晶硅晶片在HSV顏色空間的不同分量中表現出不同的顏色特性,通過卷積神經網絡分別提取晶片圖像在H、S和V分量的特征,并進行特征融合和分類。
本文構建了一個卷積神經網絡,通過多層卷積和池化捕獲晶片圖像的低級顏色特征和高級抽象特征,然后通過卷積核尺寸為1×1的卷積層和SoftMax分類器進行分類。卷積核尺寸為1×1的卷積層(Conv)作為CNN模型的“全連接”部分連接至SoftMax分類器。該層的每個輸出可被視為將前一層的每個節點乘以權重系數,最后添加偏差值。SoftMax分類器的輸出是與輸入標簽相同數量神經元的概率。基于全卷積神經網絡,以構建本文所提出的多分量卷積神經網絡模型。CNN利用輸出和標簽之間的差異控制權重的變化,并采用隨機梯度下降求解網絡模型的反向傳播最優值。由于線性結構的網絡不能適應復雜的功能,故需利用激活函數提高模型的非線性功能。本文采用ReLU激活函數來加快隨機梯度下降,其函數表達式如下:

(2)

圖3 卷積神經網絡結構Fig.3 Convolution neural network structure
圖3展示了本文所提出的卷積神經網絡結構,主要包括Layer單元、Conv層和SoftMax分類器。Layer單元包括主網格線和側網格線。側網格線的作用是將主網格線中第一層卷積的輸出進行1×1卷積,并再與主網格線中的第二層卷積的輸出進行融合,以抑制模型的梯度消失問題和降低模型的訓練難度。本文將傳統的卷積神經網絡的全連接層替換成Conv層,以在保證網絡性能的前提下縮短模型訓練時的計算時間并減少內存消耗。在模型訓練過程中,隨著模型復雜度增加,訓練出的網絡模型會過度擬合訓練集,對測試集的數據不敏感。本文采用L2正則化和Dropout來防止模型訓練的過擬合。數據集中的多晶硅晶片圖像大小為256 pixel×256 pixel×3 pixel。卷積神經網絡模型可自主地提取多晶硅晶片圖像特征,其結構參數見表2。

表2 卷積神經網絡結構參數
不同的顏色差異特征在不同的分量中表現不同。為充分利用不同分量的區分對比度,提取不同分量的顏色特征,本文提出了一種多分量卷積神經網絡模型(multi-component convolution neural network, M-CNN),通過三個平行的CNN分別提取不同分量中多晶硅晶片圖像的顏色特征信息。將圖像轉換至HSV顏色空間中,并進行H、S和V分量分離。在對應的CNN中將不同分量的多晶硅晶片圖像分別進行特征提取,并將三個所提取的特征進行融合,最終由SoftMax輸出預測顏色差異類型。M-CNN模型結構如表3和圖4所示,Conv-H、Conv-S和Conv-V代表H、S和V分量晶片圖像所在的卷積層。在M-CNN模型中,提取了晶片圖像在不同分量的混合特征,其尺寸為32 pixel×32 pixel×192 pixel,然后將其輸入Conv層和SoftMax分類器進行分類識別。從三個分量中提取圖像的特征信息,由于不同分量中每種顏色差異類型的特征表現不同,故融合得到的圖像特征更明顯,有利于提高模型的識別精度。

表3 多分量卷積神經網絡的結構參數

圖4 多分量卷積神經網絡結構Fig.4 Multi-component Convolution Neural Network Structure
H、S、V分量的損失函數分別是用于指導三個平行的CNN模型降低顏色差異預測的誤差,假定(xH,1,xH,2,…,xH,M)、(xS,1,xS,2,…,xS,M)和(xV,1,xV,2,…,xV,M)分別是CNN的輸入,(yH,1,yH,2,…,yH,M)、(yS,1,yS,2,…,yS,M)和(yV,1,yV,2,…,yV,M)分別是實際標簽值,則H、S、V分量的損失函數的數學定義如下:
(3)
(4)
(5)
式中,Pθ為預測的概率值;M為輸入的數量。
訓練M-CNN模型使三個損失函數的誤差值最小化,總損失函數定義如下:

(6)
式中,β、α分別為S分量和V分量CNN模型的更新因子。
實驗在裝有NVIDIA GTX1080Ti圖形處理器和Intel Core i7 CPU的計算機上進行。軟件平臺基于Python 3語言和TensorFlow框架實現。
較大的圖像尺寸不僅會加大模型的訓練難度,而且會使模型難以引導梯度下降。本文所用圖像的尺寸為1737 mm×1737 mm,需在圖像預處理過程中對圖像進行分塊處理,以保證模型訓練速度。本文采用滑動分割的方法[13],將圖像分割成256 pixel×256 pixel的圖像,可進一步擴展數據集并保留圖像的特征信息。滑動分割法被廣泛應用于建立缺陷檢測和模式識別的數據集,有利于擴大數據集規模和減小數據訓練時過度擬合[16]的概率。分割窗尺寸為256 pixel×256 pixel,采用100 pixel的步幅沿行列移動分割。滑動分割的步驟如圖5所示。通過滑動分割可獲得13 017張圖像的數據集。每種顏色差異類型的多晶硅晶片圖像具體數量見表4。

圖5 滑動分割Fig.5 Sliding segmentation
在檢測實驗中,本文選用識別率、馬修相關系數、F1Score等三個評價指標[17-18]。
(1)識別率體現了算法的分類識別的精度,其計算公式為
(7)
式中,nTP、nTN分別為正確檢出的同一顏色差異類型和不同顏色差異類型的數量;nFN、nFP分別為被誤檢的同一顏色差異類型和不同顏色差異類型樣品的數量。
(2)馬修相關系數(MCC)是更全面的評價指標,體現了算法的可靠性,在類別數不同時被認為是平衡指標,取值范圍為[-1,1],當nFN和nFP均為0時,MCC取值為1,即分類完全正確。當nTP和nTN均為0時,MCC取值為-1,即分類完全錯誤。計算公式如下:
(8)
(3)F1Score可綜合識別率和召回率兩方面,被認為是加權平均的評價指標,取值范圍為[0,1],值越接近1,準確率越高,計算公式如下:
(9)
為了提高模型對顏色差異的識別能力,本文通過調整卷積核大小和網絡深度,以獲取最佳的網絡結構。圖6展示了4種深度結構的實驗結果,每組實驗結果是5次交叉驗證的平均值。實驗結果表明,具有3層深度的CNN模型的識別精度比1層、2層深度的CNN模型分別提高了8.76%和3.94%。在MCC和F1Score方面上,3層深度的CNN模型相對其他3種結構均表現出最佳的性能值。然而,具有4層深度的CNN模型的識別精度是88.02%,相比于3層深度的CNN模型,降低了4.26%。這是因為隨著網絡層數的增加,梯度消失越明顯,網絡模型的訓練難度加大,致使4層深度的CNN模型出現退化。由此,本文選擇3層深度的CNN模型結構。

圖6 不同深度的CNN模型實驗結果Fig.6 Experimental results of CNN model on different depths
Layer單元包括主網格線和側網格線,當改變主網格線中卷積層的卷積核大小時,其模型性能表現有所差異。圖7展示了4種卷積核尺寸的實驗結果。從圖7中可以看出,7×7和9×9的卷積核模型由于滑動窗口尺寸的增加,模型獲取更多的晶片特征,造成模型的計算性能降低,其分類效果較差,甚至出現過度擬合,因此,7×7和9×9的卷積核模型不適用于多晶硅晶片的顏色差異檢測;5×5的卷積核模型表現出最佳的性能,但該模型的識別準確率比3×3的卷積核的模型僅提高了0.4%,提高率在0.6%以內,性能改善效果不顯著,且增加卷積層的深度和核大小,將會增加模型的訓練時間和訓練壓力。由此,適宜選擇3×3尺寸作為Layer單元中主網格線卷積層的核大小。

圖7 不同尺寸卷積核的CNN實驗結果Fig.7 Experimental results of CNN model on different convolution kernel size
圖8和圖9展示了CNN和M-CNN模型輸出圖1C1類型晶片圖像的低級和高級特征圖。從圖2中可看出在H和S分量中C1類型晶片圖像有更明顯的對比度,從圖9a中可以看出,M-CNN模型有效地提取了H分量和S分量的低級特征。相對于CNN模型,M-CNN模型在不同的分量中提取的特征在晶格紋理上并不明顯,能更有效地提取顏色特征。圖9b展示了M-CNN模型的高級特征圖,與CNN模型提取的高級特征圖相比,M-CNN模型具有更強的提取能力,提取的特征更易區分。因此,M-CNN模型對多晶硅晶片不同顏色差異特性具有更強的適應性。

(a)CNN的低級特征圖

(b)CNN的高級特征圖圖8 CNN特征圖Fig.8 The feature maps of CNN

(a)M-CNN的低級特征圖

(b)M-CNN的高級特征圖圖9 M-CNN特征圖Fig.9 The feature maps of M-CNN
多晶硅晶片的表面顏色差異具有復雜的紋理特征。LBP特征、HOG特征、Gabor特征分別結合支持向量機的方法(LBP-SVM[19]、HOG-SVM[20]和Gabor-SVM[21])在手動提取圖像特征的條件下取得較好的檢測結果。為了進一步說明提出的M-CNN模型的有效性和可行性,本文與經典的方法進行了對比驗證。M-CNN模型的識別精度、MCC和F1Score分別為92.28%、95.45%和94.03%,實驗結果見表5。實驗結果表明,相比于CNN模型、LBP-SVM[19]、HOG-SVM[20]和Gabor-SVM[21],M-CNN模型具有更好的顏色差異檢測性能。與CNN模型相比,M-CNN的識別精度提高了5.65%,M-CNN模型計算產生的參數增加了4.13×107。M-CNN模型檢測單張圖像的時間為341ms,滿足實時性要求。與其他3種方法的最佳精度相比,M-CNN模型的識別精度提高了11.12%。實驗表明,多分量提取特征的方式提高了算法提取特征的能力,這是因為CNN模型僅使用圖像的混合特征信息,導致提取的特征不易區分,而所提出的M-CNN模型巧妙地避免了上述缺點,充分利用了不同分量的圖像特征信息,從而提高了算法的檢測性能。圖10示出了5種算法的接收者操作特征曲線 (receiver operating characteristic, ROC)。M-CNN模型比其他4種算法覆蓋面積更大。因此,M-CNN在識別顏色差異方面優于其他4種算法。

表5 晶片顏色差異檢測的實驗結果

圖10 不同模型的實驗結果Fig.10 Experimental results of different models
(1)分析了多晶硅晶片圖像在HSV顏色空間不同分量的特征。不同的顏色差異在不同的分量中表現出不同的可區分特性。
(2)搭建卷積神經網絡模型,通過調整卷積核大小和網絡深度,獲取了最佳的網絡結構。
(3)采用多分量卷積神經網絡提取多分量特征信息,增強了模型分離背景紋理特征的能力,能夠有效地檢測多晶硅晶片顏色差異。
(4)所提出的多晶硅晶片顏色差異檢測算法相比于其他方法具有更高的檢測精度和更強的泛化能力。