基于多分量卷积神经网络的多晶硅晶片颜色差异检测

2021-02-22 02:02郭保苏庄集超吴凤和
中国机械工程 2021年3期
关键词:多晶硅晶片分量

郭保苏 庄集超 章 钦 吴凤和

燕山大学机械工程学院,秦皇岛,066004

0 引言

日益严重的能源危机使得太阳能成为一种极具吸引力的绿色能源。多晶硅晶片以其相对简单的工艺、稳定的性能等优点被广泛地应用于太阳能行业[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 多分量颜色差异特征分析

具有复杂纹理背景的多晶硅晶片呈现出不均匀的颜色特征分布。图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

2 多分量卷积神经网络模型

卷积神经网络(convolutional neural network, CNN)是一种自主提取特征和预测概率的模型[15]。卷积神经网络模型包括输入层、卷积层、激活函数、池化层、全连接层和SoftMax分类器。它通过多层卷积层捕获图像的纹理和抽象特征,然后利用激活函数增加非线性,并采用SoftMax分类器进行预测分类。本文利用多晶硅晶片在HSV颜色空间的不同分量中表现出不同的颜色特性,通过卷积神经网络分别提取晶片图像在H、S和V分量的特征,并进行特征融合和分类。

2.1 卷积神经网络结构

本文构建了一个卷积神经网络,通过多层卷积和池化捕获晶片图像的低级颜色特征和高级抽象特征,然后通过卷积核尺寸为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 卷积神经网络结构参数

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模型的更新因子。

3 实验与分析

实验在装有NVIDIA GTX1080Ti图形处理器和Intel Core i7 CPU的计算机上进行。软件平台基于Python 3语言和TensorFlow框架实现。

3.1 数据集预处理

较大的图像尺寸不仅会加大模型的训练难度,而且会使模型难以引导梯度下降。本文所用图像的尺寸为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

3.2 评价指标

在检测实验中,本文选用识别率、马修相关系数、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)

3.3 模型深度和卷积核的选择

为了提高模型对颜色差异的识别能力,本文通过调整卷积核大小和网络深度,以获取最佳的网络结构。图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

3.4 多晶硅晶片颜色差异检测

图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

4 结论

(1)分析了多晶硅晶片图像在HSV颜色空间不同分量的特征。不同的颜色差异在不同的分量中表现出不同的可区分特性。

(2)搭建卷积神经网络模型,通过调整卷积核大小和网络深度,获取了最佳的网络结构。

(3)采用多分量卷积神经网络提取多分量特征信息,增强了模型分离背景纹理特征的能力,能够有效地检测多晶硅晶片颜色差异。

(4)所提出的多晶硅晶片颜色差异检测算法相比于其他方法具有更高的检测精度和更强的泛化能力。

猜你喜欢
多晶硅晶片分量
帽子的分量
一物千斤
双晶片悬臂梁式压电传感器的有限元仿真研究
论《哈姆雷特》中良心的分量
争议多晶硅扩产
IBM发明纳米碳管晶片 可使晶片速度提高1000倍
金刚石多线切割材料去除率对SiC晶片翘曲度的影响
基于物理冶金多晶硅太阳电池的磷扩散工艺
多晶硅进口量价双重压制 国内企业再陷生存困境——2015年3~4月国内多晶硅市场评述及后市展望
新型多晶硅还原炉底盘流动与传热的数值模拟