1. 引言
基于深度学习的自动识别技术可以提供一种快速、准确和轻松的方法来帮助触摸屏的缺陷识别。卷积神经网络在图像分类 [1] 和语音识别 [2] 等多个领域都被证明取得了成功。
基于深度学习的检测方式,要求有足够的缺陷样本作为支撑,深度学习网络在训练过程中要从众多图像中学习缺陷特性,更多的损伤图像可以减小过拟合的可能性。但目前公开的手机缺陷数据集太少,无法满足网络训练的需求。因此,本文提出一种基于参数方程的图像合成方法。最常见的缺陷如图1所示,包括凹点、异物、气泡和划痕等。根据缺陷的形态特征,利用数学上的点方程、曲线方程等模拟缺陷。根据最终的模拟效果发现本文模拟的缺陷可以代替工业上大部分的缺陷类型作为研究对象,并且具有多样性。
(a) 凹点(b) 划痕 (c) 气泡 (d) 异物
Figure 1. Types of defects
图1. 缺陷种类
2. 缺陷生成方法研究
在数据增强的方法中,生成对抗网络(Generative Adversarial Networks, GAN)应用最为广泛且有很多基于GAN的变体。GAN包括两部分结构,一个是生成器,一个是判别器。生成器的作用是从原始数据中生成新的图像,即网络从初始数据中提取数据,然后合并这些特征以生成新数据;判别器则用来验证生成的图像,将生成器中生成的图像与原始图像进行对比,然后拒绝不合适的图像。WANG等 [3] 人提出一种基于梯度流的元生成对抗网络(GFMGAN)用于训练数据不足条件下旋转机械的故障诊断,该方法通过修改学习特性来提升其生成能力。LI等 [4] 人提出一种基于条件生成对抗网络(CGAN)的高分辨率混凝土损伤图像合成方法,研究表明CGAN具有较好的真实性并且可以应用于基于深度学习的具体损伤检测网络的训练和测试中。SIU等 [5] 人通过增强数据,首先在虚拟环境中进行3D建模和仿真,生成下水道管道的合成图像,接着结合真实的检测图像,利用样式转换技术来提升所生成图像的质量,可以使其平均精度提升2.7%。
但使用GAN及其变体等方式来扩展数据集时,由于工业现场缺陷图像很少,无法满足原始GAN的训练要求,而且原始GAN生成的缺陷图像缺乏图像多样性,因此不宜用来生成工业缺陷图像。综上所述,针对工业生产线,本文提出一种基于数学参数方程的方法来生成表面缺陷样本,在无缺陷的图像上生成有缺陷图像。根据缺陷的形状特性,结合数学方程,来模拟不同类型的缺陷。结果表明,该方法生成的缺陷图像质量较高且多样性较强。
3. 数据集的制作
由于深度学习的分类检测方法,需要利用缺陷样本进行特征学习之后,才能够实现分类和检测任务。因此,本文选择利用参数方程生成缺陷信息,最终和无缺陷数据进行融合,从而得到有缺陷的样本数据。
3.1. 无缺陷数据
对于深度学习算法来说,数据集的数量越多,泛化性能越好,但由于能获得的样本数量有限,因此,本文提出了一种基于图像划分的方法来制作用于手机玻璃外屏无缺陷图像的数据集。在图像预处理阶段得到了目标区域后,我们使用大小为128 × 128的滑动窗口,以10的步长沿着x轴和y轴方向滑动,分别截取子图像,具体请参见图2。利用这种方法不仅能够增加样本的数量,此外,这样可以确保输入到神经网络中进行训练的图像大小保持一致,避免了由于全连接层参数数量不一致可能导致的错误。通过这种方法,得到了2432张无缺陷图像。

Figure 2. Schematic diagram of image division
图2. 图像划分示意图
3.2. 缺陷生成算法
3.2.1. 点状缺陷生成算法
本文按照缺陷的特性,结合数学知识首先将圆的平面方程(1)变换为参数方程,然后利用参数方程(2)的算法设定圆的随机圆心坐标、半径以生成不同位置不同大小的点缺陷。如图3所示是使用生成算法生成的点状缺陷效果图。
(1)
(2)
其中,
表示圆的中心坐标,
为圆的半径,
为参数,
。通过圆的参数方程生成白点,凹点等点状缺陷的具体流程如下:
1) 对
,r取随机数,形成不同大小的圆形;
2) 历遍无缺陷图像的x行y列,找到圆形曲线对应的图像像素坐标;
3) 将图像中每个像素点的灰度值
和整个图像的平均灰度值
进行对比,若
,则形成缺陷轮廓。
3.2.2. 线状缺陷生成算法
对于线状缺陷而言,采用直线参数方程
随机生成直线。通过设定随机变化的斜率k以及参数b,其中
,
,以生成各种各样的直线,如图4所示是生成的线状缺陷效果图。线状缺陷的生成流程如下:
1) 取随机坐标
,随机斜率k,随机参数b,形成不同方向的直线;
2) 历遍手机玻璃盖板无缺陷图像的x行y列,找到直线对应的图像像素坐标;
3) 对比图像坐标灰度值
与图像平均灰度值
,历遍图像所有像素点,若
,则形成缺陷轮廓。
3.2.3. 块状缺陷生成算法
对于块状缺陷则是将椭圆的平面方程(3)变换为参数方程 [6] ,再通过椭圆参数方程(4)生成油污类缺陷。同样将椭圆的中心坐标
,长短半轴a,b以及倾斜角度
均设置为随机数以生成不同形状,不同大小的块状缺陷。如图5为块状缺陷的生成效果图。
(3)
(4)
公式(4)中,
表示椭圆的中心坐标,a、b分别代表椭圆的长半轴和短半轴,
表示椭圆的倾斜角度,t为参数,
,表示椭圆的闭合程度。块状缺陷生成算法流程如下:
1) 对图像坐标
,a、b以及
取随机数,形成不同形状大小的椭圆曲线;
2) 历遍无缺陷图像的x行y列,找到椭圆曲线对应的图像像素坐标;
3) 对比图像各点灰度值
与图像平均灰度值
,历遍图像,若
,则形成缺陷轮廓。
3.3. 随机生成算法

Figure 6. Flowchart of the generation algorithm
图6. 生成算法流程图
如图6所示为随机缺陷合成算法的具体流程,以无缺陷的图像数据作为输入,将点、线、块和无缺陷分别标记为A、B、C和D,然后历遍整个数据集。最终通过上述的方法生成了1664张点缺陷图像、1616张线缺陷图像以及1605张块缺陷图像,由此制作完成了用于手机玻璃外屏缺陷分类的数据集。
图中,
——随机缺陷数量;
clc——随机缺陷类型;
loci——随机坐标;
——缺陷大小;
,
——步长;
a,b——长短半轴;
Dlabeli、Llabeli、Blabeli——标签信息;
Dmi、Lmi、Bmi——点、线、块缺陷图像。
4. 实验处理及检测评估
4.1. 图像预处理
在工业生产中,我们所获得的手机屏幕图像大多都是带有冗杂背景和极大噪声的,因为对于后续的实验分析和计算有很大影响。因此,对图像实施预处理是相当重要的。预处理目的是为了去除图像中的噪声及无关信息,提取有用信息并增强其检测性能,同时简化数据以改善特征提取、图像分割和图像识别过程的可靠性。针对本文的研究内容的预处理步骤有以下几步:灰度化,滤波去噪,图像分割,几何变换。
图像灰度化,即由彩色图像变换成灰度图像的过程。对于RGB图像来说,当R = G = B时即为灰度图像,灰度化后的图像占有更少的内存且运算速度更快,另外,转化为灰度图之后可以在视觉上增加对比,突出我们的目标区域。本文采用加权平均法处理灰度化,计算原理如下:
(5)
根据其重要性和其他标准,考虑到绿色对于人眼来说最为敏感,蓝色对人眼的敏感度最低,分别取a = 299,b = 0.578,c = 0.114对三个颜色通道进行加权平均处理。
滤波去噪的目的主要是去除噪声的干扰,避免对后续的图像分析产生干扰,在图像处理方面最常用的是中值滤波的方法,但由于使用中值滤波对手机屏幕边缘的去噪效果不是特别理想,如图7(a),手机边缘的毛刺比较严重,边缘信息不理想,因此我们采用自适应中值滤波,发现可以更好的去除噪声,并且保存边缘信息,如图7(b)所示。近年来,自适应滤波方法有了显著的进展,表现出更强的适应性和卓越的滤波效果。自适应中值滤波器根据预设条件动态地调整其滑动窗口尺寸,并同时平衡去噪和细节保护效果。该滤波器包括A和B两个处理过程:
A:
(6)
当
且
时,执行过程B;否则扩大滑动窗口尺寸。当增加后的尺寸不超过Smax时,重复A过程,若超过Smax,则输出Zmed。
B:
(7)
当B1 > 0且B2 < 0时,输出
;若不符合,则输出
。
这里的
指的是滤波器的作用区域,以图像的第x行第y列处的像素点为中心;
为
内的最小灰度值;
为
内的最大灰度值;
是
中所有灰度值的中位数;
代表图像第x行第y列像素点的灰度值;
表示
允许的最大窗口大小。

(a) 中值滤波 (b) 自适应中值滤波
Figure 7. Filtering for denoising
图7. 滤波去噪
图像分割即将背景与目标物体分离并通过形态学处理来得到完整的目标物体轮廓。最后,由于工业生产流水线上得到的图像一般不是与摄像机镜头完全水平的,因此会有一定的角度偏差,本文通过霍夫变换以及仿射变换来矫正图像,以得到标准的手机屏幕图像。霍夫变换的基本思想是将特定图形上的点映射到参数空间的一组点中,然后对参数空间内的点进行累积,最终找到一个极大值对应的解,该解即为待检测的几何形状的参数,如直线的斜率k和截距b。
4.2. 评估指标与参数设置
4.2.1. 评估标准
在深度学习中常用的评判方法是混淆矩阵 [7] ,混淆矩阵可以清晰的展示每一类样本的识别情况。表1展示了二分类的混淆矩阵。

Table 1. Dicategorical confusion matrix
表1. 二分类混淆矩阵
在分类问题中,混淆矩阵包含了真正例(TP)、假负例(FN)、假正例(FP)和真负例(TN)。从混淆矩阵中派生的评估指标有准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1值(F1 score)、错误率(Error rate)和特异度(Specificity)。下面介绍每个指标的含义及计算公式。
准确率(Accuracy)可以被理解为模型正确分类的样本数量与总样本数量之间的比例关系。通常情况下,准确率越高,分类器越好。其计算公式为:
(8)
精确率(Precision)表示被分类为正样本的样本中,实际为正样本的比例。其计算公式为:
(9)
召回率(Recall)用于衡量所有正样本中被正确预测为正样本的比例。其计算公式为:
(10)
F1值(F1 score)是精确率和召回率的综合评价指标,它是精确率与召回率的调和平均,数值较高表示方法效果较好。其计算公式为:
(11)
错误率(Error rate)表示被分类器误分的样本比例,计算公式为:
(12)
特异度(Specificity)是指分类器正确识别负样本的能力,即正确分类的负样本数量占所有实际负样本数量的比例。其计算公式为:
(13)
4.2.2. 实验参数
模型的参数设置如下表2所示。
4.3. 实验结果分析
对于图像分类任务,一般通过迁移学习来解决图像作为输入的预测问题,特别在数据集数量较少的情况下,使用基于公开数据集的神经网络进行迁移学习,不仅能增强神经网络的泛化性能,同时缩短模型的训练时长,提高效率。目前较为流行的神经网络模型有VGG [8] ,GoogLeNet [9] 和ResNet [10] [11] 等等,其中ResNet通过引入残差学习的方法,有效地解决了随着卷积神经网络层数增加而导致性能下降的问题。因此本文选择ResNet50作为预测数据集分类的模型。表3即为ResNet50的网络结构。

Table 3. ResNet50 network structure
表3. ResNet50网络结构
4.3.1. 真实数据集训练结果
本文收集到无缺陷手机屏幕数据420张,分为训练集294张,测试集106张。缺陷数据共380张,其中点缺陷116张,线缺陷144张,块缺陷120张。表4为真实数据集RD在ResNet50网络下训练后的结果,图8为ResNet50在RD验证集上的混淆矩阵。
4.3.2. 生成数据的训练结果
通过生成算法以及数据增强的方法,本文最终收获到2432张无缺陷图像数据和4865张缺陷数据。其中点缺陷1644张,线缺陷1616张,块缺陷1605张,同样采用基于ResNet50训练手机屏幕图像分类模型,表5为真实加生成数据的数据集RD + GD在ResNet50网络下训练后的结果,图9为ResNet50在RD + GD的验证集上的混淆矩阵。

Table 5. Training results on RD + GD
表5. RD + GD上训练结果

Figure 9. Generate a data confusion matrix
图9. 生成数据混淆矩阵
通过两次训练的对比发现,生成数据后的各项评估指标均高于真实数据集,由此可以说明本文提出的生成算法具有可行性。
5. 结论
使用本文生成算法在扩展数据集上训练的缺陷识别模型的错误率低于未进行数据扩充的模型,并且训练过程更加稳定。由于真实图像数量少,不加增广数据集训练的缺陷分类网络不能稳定收敛,产生较大的振荡。由于缺陷数量少、缺陷分类的错误率高,经过生成算法后的数据增强,训练数据集的数量和多样性增加,使得缺陷分类模型具有更高的稳定性和更低的错误率。因此,模型在训练过程中不易过拟合,提高了识别的准确性。另外,通过生成后验证集的混淆矩阵可以发现在A类缺陷和无缺陷的识别上有较大错误率,因此后续将继续研究此类缺陷识别分类的改进措施。同时,根据本文研究结果,充分证实该生成方法可以代替真实缺陷样本进行训练,节约工业检测中收集样本的时间,提高总体生产检测的效率。但由于生成缺陷只能代替大部分常见的几种缺陷,还缺少多样性,所以后续研究中将继续寻找具备多样性的生成方法。