基于深度学习的化妆品塑料瓶缺陷检测

2020-06-17 07:29冯太锐苗玉彬
关键词:塑料瓶卷积像素

冯太锐,苗玉彬,赵 爽

(上海交通大学 机械与动力工程学院,上海 200240)

塑料制品是工业中最常见的产品之一,在人们的日常生活中发挥着重要作用。化妆品、日用品、食品、医药和化学工业中的诸多产品都采用注塑工艺制造。然而,由于原材料质量差、机械设备不稳定以及工人操作水平不足等原因,塑料制品在注塑成型过程中易于出现产品质量缺陷。常见的注塑成型缺陷包括填充不充分、气泡、裂缝、翘曲和尺寸变化。传统的人工视觉缺陷检测方法费时费力,因此需要一种基于机器视觉的自动化缺陷检测方法来提高生产效率并降低误检率。

传统的缺陷检测和识别方法利用人工设计的特征进行分类,如定向梯度直方图(histogram of oriented gradients, HOG)特征[1]和尺度不变特征变换(scale-invariant feature transform, SIFT)[2]等。算法效果往往依赖于对缺陷特征的人工选择和准确描述。例如,局部二值模式(local binary pattern, LBP)算子[3]已被应用于织物表面的缺陷检测[4]。小波变换[5]和图像重建技术也用于缺陷检测[6-7]。然而,缺陷特征的准确选择和有效描述存在一定困难。选择具有高辨别力的特征需要良好的先验知识,并且必须针对不同的注塑缺陷选择不同的特征。这导致传统图像误别方法对于塑料瓶缺陷检测问题的适应性差。

与这些浅层学习算法相比,深度学习技术可以直接从数据中自动学习特定的特征,而无需人为设计。深度卷积神经网络(deep convolutional neural networks,DCNN),作为深度学习中最经典的体系结构之一,在过去10年中已经成功应用于图像检测和分类等领域,例如,视频分类[8]、交通标志识别[9]和人体动作识别[10]。卷积神经网络还在农业和制造领域具有相关研究及应用[11-14]。

本文旨在构建基于深度卷积网络模型的图像识别算法,以实现对具有制造缺陷的化妆品塑料瓶的快速准确的自动识别。本文提出了一种具有深度可分离卷积的DCNN模型架构,使用工业相机获取数百个化妆品塑料瓶的真实图像来训练DCNN模型,并达到了优于传统图像识别法的效果。

1 深度卷积神经网络结构

DCNN模型虽然在图像识别领域取得了很好的效果,但在实际工业应用中仍然面临挑战。一方面,DCNN模型由于拟合能力较强,因此容易陷入过拟合问题;另一方面,参数量过大常常导致训练过程难以收敛。为了优化模型结构,本文在网络的每个卷积层中采用3×3的卷积核,在每个池层中采用2×2的卷积核,从而在减少参数数量的同时保持模型的非线性拟合能力[15]。此外,使用更高效的深度可分离卷积(depth-wise separable convolution,DS Conv)[16]来代替经典卷积。最后,在卷积层后连接全连接层作为分类器,从而利用卷积提取出的图像特征来完成缺陷检测任务。

本文提出的具有多层结构的DCNN模型中包括深度可分离卷积层(Conv 1~4)、最大池化层(Pool 1~4)和带有Dropout的全连接层(FC 1和FC 2)3个基本单元。模型的整体配置和相关参数如图1所示。考虑到计算机的计算能力和实际性能需求,输入图像的分辨率大小设置为128像素×128像素×3像素。

1.1 深度可分离卷积层

深度可分卷积由两部分组成,即depth-wise卷积和point-wise卷积,如图2所示。depth-wise卷积分别对每个输入通道进行卷积操作,而不是经典卷积中的对所有通道进行整体卷积。point-wise卷积通过1×1的卷积核将depth-wise卷积的各通道输出进行线性组合,以产生新的高层特征。深度可分离卷积可以显著减少卷积层的参数量,因此可以提高模型训练效率并得到更好的收敛结果。

此外,本文将修正线性单元(ReLU)添加到卷积的输出中作为激活函数。每个通道的depth-wise卷积的输出特征图描述如式(1)所示。

(1)

式中:G为depth-wise卷积的输出特征图;Kd为depth-wise卷积的第m个卷积核;F为输入图像或前一层的输出特征图。

point-wise卷积的输出如式(2)所示。

(2)

式中:M为point-wise卷积的输出特征图;Kp为1×1×m的point-wise卷积核。

1.2 最大池化层

本文的DCNN模型采用最大池化层对卷积得到的特征图进行降采样,从而防止模型过拟合,同时增加模型的泛化能力。最大池化层仅保留在池化区域中取值最大的特征,而忽略其他的特征。因此,其减少了参数的数量并增加了模型的稳健性。本文模型的最大池化层尺寸为2×2。池化过程可以由式(3)来描述。

Yk,l=max(Mk,l,Mk,l+1,Mk+1,l,Mk+1,l+1)

(3)

式中:M为由深度可分离卷积层提取的特征图(亦即point-wise卷积的输出特征图);Y为最大池化层的输出结果。

1.3 全连接层

在DCNN模型的结构体系中,卷积层和池化层之后往往连接几个全连接层。全连接层中的每个神经元都连接到前一层中的所有神经元,并且以ReLU作为激活函数。最后一个全连接层的输出值被传递到模型输出层,而输出层可以通过Sigmoid函数对二分类问题进行预测。因此全连接部分可以被看作为一个传统的神经网络分类器,其将卷积提取的高层特征作为输入值,并将得到的预测结果作为输出值。

然而,当大型前馈神经网络训练一个小数据集时,由于模型极强的拟合能力往往会引入噪声,导致其在验证集上的表现通常很差。为了避免这种过拟合现象,本文使用了Dropout技术,即在训练过程中令中间层神经元的输出值以一定的概率变为0,如图3所示。由于Dropout技术的随机性,输入网络的每个小批量样本实际训练的是整个网络结构的一个子结构。这些网络子结构各不相同,且共享相同的权重值。这种随机性导致一个神经元不能依赖于其他特定神经元而存在,因此降低了神经元之间相互适应的复杂性,使训练出的网络模型更加健壮。

2 化妆品塑料瓶缺陷检测算法流程

2.1 图像采集及预处理

本文使用300万像素的工业相机采集化妆品塑料瓶的图像样本,并根据图4所示的流程进行预处理。由于注塑瓶通常具有明显的颜色特性,本文采用HSV(hue, saturation, value)色彩空间转换,从而在样本图像上提取颜色特征,并利用基于Otsu阈值分割法提取感兴趣区域,如此有助于后续神经网络训练的归一化,并且可显著降低网络学习难度。

2.2 图像数据增强

图像的几何变换操作(比如裁剪、旋转、镜像、缩放等)往往可以用作图像数据增强,以帮助模型获得更好的泛化能力。考虑化妆品塑料瓶图像是近似固定大小的圆形这一特点,本文主要应用图像随机旋转作为图像增强的手段以实现样本数的倍增。首先对原始图像进行预处理操作并提取感兴趣的区域,然后通过数据增强方法来增加图像样本量,如图5所示。最后,所有图像经降采样得到相同的分辨率,即128像素×128像素×3像素。通过这些处理流程,本文得到一个数倍于原始数据量的图像样本集,同时其分布更加接近真实的样本。

2.3 训练过程及优化方法

在获取并处理图像样本集之后,本文将其按照7∶3的比例划分为训练集和测试集。训练集和测试集中的图像分辨率均为128像素×128像素×3像素。同时计算了训练集中所有图像像素的平均值和标准差,并且用每个样本像素值减去平均值再除以标准差,即对输入图像进行归一化处理,这将加快后续模型训练的速度并促进结果的收敛。然后,基于小批量梯度下降算法(mini-batch gradient descent algorithm),以归一化的训练集图像样本为输入,以是否为缺陷样本作为二分类输出标签,由此来训练提出的DCNN模型。在训练DCNN模型时使用小批量样本作为每次迭代的输入并更新参数。与梯度下降算法相比,该训练算法需要消耗更少的计算机内存,并且比随机梯度下降算法更快地收敛。最后,在测试集上测试模型性能并进行试验分析。

本文使用主流的Keras深度学习框架(Tensorflow作为后端)搭建DCNN模型,在配备64位Windows(TM)10 操作系统和Nvidia GTX1050(TM)GPU的计算机上进行训练,并将训练好的模型应用于化妆品塑料瓶表面缺陷检测问题。

3 结果和分析

设置批量样本大小为64并训练迭代了200次之后,模型每层中提取的特征图可视化结果如图6和7所示。从图6和7可以看出,卷积神经网络提取了多种不同的边缘特征,并很好地描述了塑料瓶表面缺陷的形状。在缺陷图像样本中,卷积层对由于注塑不饱模产生的裂纹特征进行了很好的提取,在池化层中进一步得到了降采样的缺陷特征且一定程度上消除了噪声的影响。在无缺陷图像样本中,卷积层则主要提取了圆弧边缘特征及模具成型脱模的表面特征,经池化后得到了不同于缺陷样本的特征图。因此可以明显看出卷积神经网络在自动提取图像特征中的作用,最终得到的高层特征图也为算法的预测提供了有效的输入描述。

为了评估DCNN模型的性能,在测试集上采用不同的评估指标对不同配置(是否Dropout、是否深度可分离卷积)的模型进行比较。这些指标被广泛用于评估机器学习算法的性能,包括准确率(Raccuracy)、精准率(Rprecision)、召回率(Rrecall)和F1-score(Rf1)等指标,其计算方法如式(4)~(7)所示。

(4)

(5)

(6)

(7)

式中:Ntp为真正例数量;Ntn为真负例数量;Nfp为假正例数量;Nfn为假负例数量。

DCNN模型评估结果如表1所示。本文选择0和0.2作为Dropout阈值(TDropout),以证明适当的Dropout阈值可以帮助模型得到更好的效果。另外可以看到,应用深度可分离卷积有助于模型获得比标准卷积更好的效果。由于参数较少,具有深度可分离卷积的模型可以在训练过程中更快地收敛。

表1 DCNN模型评估结果

此外,将本文算法与几种经典图像识别方法进行了比较,包括标准BP(back propagation)神经网络、基于SIFT特征的SVM(support vector machine)分类器以及经典的深度卷积神经网络AlexNet算法[17],结果如表2所示。由表2可以看出,标准BP神经网络的准确率只能达到约0.93,选取适当参数后的SIFT-SVM算法的准确率可以达到0.93以上,选取默认参数的AlexNet算法的准确率可以达到0.96左右,本文算法的准确率可以达到约0.97。与其他算法相比,本文算法的效果最佳。

表2 本文算法与经典算法的结果比较

4 结 语

本文提出了一种基于深度卷积神经网络的化妆品塑料瓶表面缺陷自动检测算法,该算法省去了传统图像识别算法中所需的人工提取图像特征的过程。设计了具有深度可分离卷积和Dropout技术的多层DCNN模型结构,以减少参数量并避免过拟合,从而加速收敛并提高算法性能。试验结果与标准BP神经网络、SIFT-SVM算法和AlexNet算法等几种经典图像识别算法相比,可以看出,本文算法识别能力和综合性能更优,其可以更好地处理实际应用中化妆品塑料瓶缺陷的自动检测问题。

猜你喜欢
塑料瓶卷积像素
像素前线之“幻影”2000
神奇的气压
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
快艇
高像素不是全部
您的像素,饱和吗?[上]