APP下载

基于改进Fast-SCNN的塑瓶气泡缺陷实时分割算法

2020-06-20任德均吴华运胡云起

计算机应用 2020年6期
关键词:池化气泡像素

付 磊,任德均,吴华运,郜 明,邱 吕,胡云起

(四川大学机械工程学院,成都 610065)

(∗通信作者电子邮箱rendejun@scu.edu.cn)

0 引言

随着生活水平的提升,人们对健康的重视程度增加,医药消费逐渐增大。据文献[1]可知,2014 年国内在输液瓶上的生产量就高达136.92 亿袋,其中软袋、塑瓶所占比例超过50%。软袋、塑瓶的瓶体是由吹塑机器通过模具吹塑成型,瓶体的质量与药液污染密切相关,然而在吹塑过程中由于工艺不足与模具质量问题产生如图1所示的缺陷。

图1 塑瓶瓶身缺陷类型Fig.1 Plastic bottle body defect types

其中黑点、残缺瓶缺陷可以通过阈值分割及模板匹配检测出来;但是气泡缺陷其边缘特征的相似性,对其检测产生较大的干扰。以往瓶身气泡缺陷检测是通过人工在光照条件下进行眼检,其检测的准确性随着工人检测时间的增加而降低。文献[2]采用逆向P-M(Perona-Malik)扩散、二值化差分图像算法确定缺陷区域,并采用支持向量机(Support Vector Machine,SVM)对缺陷进行分类,其对组合盖的明显气泡、黑点、毛发能达到实时检测效果;但算法性能对扩散模型参数较为敏感,对气泡缺陷存在一定的漏检。文献[3]中采用太赫兹技术对滚塑制品气泡缺陷检测,其基于太赫兹波在有气泡的区域反射图谱严重衰减原理,对气泡缺陷检测效果较好;但太赫兹设备昂贵且在气泡检测工业应用方面尚未成熟。文献[4]采用动态阈值分割的方法对X 射线照射的BGA(Ball Grid Array)焊点连接电路板图进行气泡缺陷提取,其主要应用于金属内气泡缺陷的检测。

语义分割技术用于寻找图像不同实体的边界,可实现像素级定位相关对象,按照其方法可以分为深度卷积神经网络、自动编码卷积网络、基于双向循环神经网络(Bi-directional Recurrent Neural Network,Bi-RNN)模型等,其中热点研究集中在深度卷积神经网络,通过非线性映射及激活函数提取目标分割信息,进而可对图像进行逐像素分类以实现对缺陷的检测[5]。最具代表性的深度卷积神经网络为全卷积神经网络(Fully Convolutional Networks,FCN)[6]与DeepLab[7-8]系列,基于自动编码卷积为U-Net 网络[9]及基于Bi-RNN 的ReSeg 模型[10]。FCN 在图片上进行非对称卷积与反卷积操作,并在最后一层对其进行像素分类,其对复杂背景下物体边缘提取不足[11]。U-Net采用对称的下采样与上采样,在医学影像处理中得到广泛应用。该网络同时也被借鉴到其他领域,如刘畅等[12]采用改进U-Net 与分类神经网络的方法对磁瓦缺陷进行检测分类,效果上能预测93%的磁瓦缺陷区域,类别准确率达94%。同时,Bi-RNN 考虑全局上下文关系耗时导致推理时间较长,而不适用工业检测。

基于目前没有对医用塑瓶气泡的有效检测方法及深度卷积神经网络对非明显特征的检测优势,本文提出了一种改进快速分割卷积神经网络(Fast Segmentation Convolutional Neural Network,Fast-SCNN)[13]的分割检测算法,其在低图形处理器(Graphics Processing Unit,GPU)性能的硬件上也有较高的分割速度,满足现有的工程要求。本文研究对图像数据进行了预处理及增强,并引入了多级跳跃连接与注意力机制改进网络以实现高精度端到端的缺陷分割,通过对比实验得出所提算法获得了网络检测精度与时间消耗量的平衡。

1 本文算法

1.1 原始Fast-SCNN

检测算法应用于工业检测中往往需要在检测硬件成本低、应用性能不足的情况下满足一定的检测精度和耗时少等要求。为了解决气泡实时检测难点问题,选择图2(a)所示的Fast-SCNN为基础进行优化,并将分割好的掩码图像采用轮廓寻找以实现对图像缺陷的信息统计。该网络借鉴了Zhao等[14]提出的金字塔场景解析网络(Pyramid Scene Parsing Network,PSPNet)中的多级池化提取全局信息及当前较为流行的多分支结构[15-17],具体为:卷积下采样后,多级池化提取图像由浅到深的多层特征;第二分支学习浅层高分辨率信息,简单补充多级池化所带来的空间信息的损失;同时,网络中卷积为深度可分离卷积,进一步减小模型的规模及减少推理时间。在Cityscapes 数据集输入大小为512×1 024 像素、设备为单个Nvidia Titan X 时,该网络的类别精度为62.8%、平均交并比(Mean Intersection Over Union,MIoU)为68.0%。Fast-SCNN 中包含了卷积下采样、上采样、DSConv(Distribution Shifting Convolution)、DWConv(DepthWise Convolution)、金字塔池化、Softmax等网络部分。

1.2 网络层操作及改进原理

卷积操作(Conv2d):采用卷积核以一定间隔(Stride)在图片上行扫描乘积方式学习图片特征,同一层中卷积核参数相同。每一次卷积操作都是将浅层特征语义化,同时卷积过程是线性的,可以改变特征的大小。

批标准化(Batch normalization)[18]是由Google 于2015 年提出,其目的在于加速网络的收敛、按照一定规则打乱特征数据减少网络的过拟合,采用的方法是使每层输入符合一定的数据分布。具体算法流程为:1)获取批次的均值,如式(1);2)获取批次的协方差,如式(2);3)对批次数据进行归一化,如式(3);4)对批次数据进行缩放平移,如式(4)。

其中:m为批次的大小;xi为一批次的数据值;γ与β是要学习的参数;而添加常量参数ε是为了保证数值稳定性。

交叉熵损失函数(Cross Entropy Error Function)用来描述两个概率分布之间的接近程度,且该函数描述出来的曲线为凸函数曲线,在现有的数学证明上其为收敛函数,其损失函数公式如式(5)~(6)所示,式(5)为样本均衡时的损失函数,式(6)为样本不均衡时的损失函数。

其中:x为网络模型的输出;class为单个类,本文为[0,1];j为所有类;文中的weight为类权重向量,用于减轻类不平衡对性能的影响。

上采样(upsample):采用某种插值方式对原有特征进行尺寸维度上扩展。改进Fast-SCNN 采用的上采样方式为双线性插值方式,该上采样是通过在两个维度上分别进行一次插值,从而达到特征的缩放。

金字塔池化操作借鉴了PSPNet、DeepLab[19]获取全局信息方法,主要为对同一特征层采用不同的池化核得到一系列从大到小特征层的方法学习不同深度特征,再经过不同的上采样倍数,使池化后的特征层大小相同,再与输入特征进行拼接,进而在单分支获得不同深度的特征信息。在改进Fast-SCNN中该部分如图3所示。

图2 原始Fast-SCNN与改进Fast-SCNN的结构Fig.2 Structures of original Fast-SCNN and improved Fast-SCNN

图3 金字塔池化操作Fig.3 Pyramid pooling operation

SENet(Sequeeze and Excitation Networks)[20]是由Momenta公司于2017 年提出的网络,如图4 所示。该网络首次提出利用通道间的信息促进网络对目标对象局部特征的学习,同时在一定程度上减少其他噪声信息的干扰。SE 模块主要分为两部分:一为压缩特征(Squeeze),利用自适应全局平均池化获得输入特征的特征通道间数值分布数据;二为激发特征(Excitation),利用两个全连接中夹取一个ReLU(Rectified Linear Units)层来降低计算量,其后用一个Sigmoid 层来学习每个特征通道的重要性,进而再与原来的通道进行相乘,获得具有通道间信息的特征层。

1.3 改进Fast-SCNN

Fast-SCNN 多次卷积下采样操作与金字塔池化生成的语义特征丢失了图像小型物体的浅层特征,导致该网络不能检测小于一定尺寸的气泡缺陷,同时该网络在金字塔池化后上采样4 倍,扩大了对1/8 图像特征学习的误差,从而影响网络对气泡边缘像素标签的预测。最后,该网络在上采样后直接与第二分支特征进行融合,未对上采样的特征进行通道重要性区分,在一定程度上降低了该网络对气泡的分割精度,从而最终影响对气泡缺陷的检测。针对原始Fast-SCNN 的不足,本文提出如图2(b)所示的改进Fast-SCNN,其改进由以下几个方面组成:1)增加卷积下采样的次数,促进网络学习到气泡缺陷图更高层的语义特征,使网络对气泡缺陷具有更好的识别能力;2)在网络进行金字塔池化后,网络上采样的倍数改为2 倍,减少扩张计算带来的误差;3)借鉴U-Net 对称式的下采样与上采样思想,但也考虑到网络的检测时间,仅将1/4特征、1/8 特征、1/16 特征分别与高层语义特征上采样后特征融合,减少网络对浅层细节信息的丢失;4)在高层语义特征上采样后、融合浅层信息前增加通道信息的学习,从而使网络具有区分缺陷通道信息的能力。基于以上对网络结构的改进,增强了网络对图像特征提取的能力,避免了在降采样时小型缺陷的信息丢失造成对小型缺陷的未分割,从而显著提高了对气泡缺陷检测的性能。

图4 SELayer模块Fig.4 SELayer module

2 实验与结果分析

2.1 实验数据与硬件

本文研究采用的数据为工业相机对某医用塑瓶制造厂生产中含有气泡塑瓶拍摄图,共计2 841 张,因Fast-SCNN 采用监督学习对其2 541 张图片数据用LabelMe 软件进行标记,并将其标注数据中随机选取1 936 张图片为训练集,605 张图片为测试集。在标注数据之前,对图片数据进行预处理,提取塑瓶区域,排除非塑瓶区域对检测的影响,并减小图片尺寸以缩短检测时间。对得到的JSON(JavaScript Object Notation)文件进行处理获得标注图片,气泡原图与气泡标注图如图5所示。

由于数据集较小,借鉴Fast-SCNN 在leftImg8bit 的数据集数目,考虑塑瓶可左右倾斜将训练数据集进行左右翻转扩充数据,最终获得的训练集的样本数为3 872张。本文检测采用的实验环境是Pytorch框架,在Window 10系统下运行,使用的GPU为英伟达GTX1070,RAM为8 GB。

2.2 实验评价指标

实验采用国际计算机视觉与模式识别会议(conference on Computer Vision and Pattern Recognition,CVPR)中有关语义分割的评价指标:执行时间、内存占用及精确度。精确度分为像素精度(Pixel Accuracy,PA)、均像素精度(Mean Pixel Accuracy,MPA)、平均交并比(MIoU)及频权交并比(Frequency Weighted Intersection over Union,FWIoU)四种,由于只检测气泡缺陷,本文仅采用像素精度与平均交并比两种。像素精度为正确预测的像素数占总的像素数的比值,其计算式如式(7)所示;平均交并比为真实值集合与预测值集合的交集除以其并集,计算式如式(8)所示。

其中:pii是类别为i的同时也被预测为i类的像素之和;pij是类别为i的被预测为j类的像素之和;k为类别数。

2.3 对比分析

为了验证本文所提改进Fast-SCNN 的有效性与可行性,对比三组不同的Fast-SCNN 改进网络,三组改进网络如下:1)二级浅层特征Fast-SCNN(Both Shallow Feature Fast-SCNN,BSF Fast-SCNN)。考虑到原网络在全局特征提取并融合浅层特征后直接上采样8 倍,在一定程度忽略网络的细节信息,故将网络下采样1/4后的特征添加进网络的后继预测层之前,使网络在预测时上采样为4 倍。2)三级浅层特征Fast-SCNN(Three Shallow Feature Fast-SCNN,TSF Fast-SCNN)。在BSF Fast-SCNN 的基础上对金字塔池化后的上采样4 倍改为2 倍,同时在下采样到1/8后继续下采样到1/16,并添加两次特征融合,其网络结构图为图2(b)去除SELayer 模块后所示。3)四级融合SElayer 浅特征Fast-SCNN(Four SELayer Shallow Feature Fast-SCNN,FSSF Fast-SCNN)。将网络下采样1/2 的特征添加进改进Fast-SCNN,同时在网络上采样为1/2 特征时融合SELayer 特征。在气泡训练数据集上对原始Fast-SCNN网络、改进Fast-SCNN 与上述三个改进网络(BSF Fast-SCNN、TSF Fast-SCNN、FSSF Fast-SCNN)进行实验,其中网络的超参数为:输入图片尺寸为320×450像素,学习率为0.001,训练轮数为96。在605张测试图片上得到如表1所示的分割性能。

从总体上看,随着对网络的改进,网络结构逐渐复杂,单张检测时间也从原来的19.4 ms 增加到27.19 ms,MIoU 也增加了2.36 个百分点;从检测性能上看,FSSF Fast-SCNN 较改进Fast-SCNN 的MIoU 仅提高了0.16个百分点,但单张检测时间增加了2.79 ms;综合考虑MIoU 精度与效率,采用改进Fast-SCNN 用于工业现场气泡缺陷的检测。同时表1 结果表明,采用合理的跳跃连接次数能促进网络对缺陷区域预测的精度;SELayer模块增加网络对上采样模块通道特征重要性的理解,在网络性能上MIoU值上升了0.23个百分点。

表1 优化网络结果对比Tab.1 Comparison of improved network results

对医用塑瓶分别采用Fast-SCNN、改进Fast-SCNN 进行测试,保存预处理后的图片及检测后的图片,结果如图6 所示。由图6 可知,改进Fast-SCNN 较Fast-SCNN 对气泡边缘预测更加精确,能够有效地检测出较小的气泡缺陷。

图6 气泡检测示例Fig.6 Bubble detection examples

比较改进Fast-SCNN 与典型的深度卷积神经网络性能差异,在相同的数据下,分别对各网络的训练参数进行优化、推理后得到如表2 所示评估结果,其中FCN-8s 为FCN 的子模型结构。在像素精度上四个网络均超过99.5%,其间相差不超过0.2 个百分点,但在MIoU 分割评价指标上改进Fast-SCNN超过U-Net,并在检测时间上低于U-Net,降低了7.5 ms,可以较好地满足工业检测的需求。

表2 改进Fast-SCNN网络与流行网络性能比较Tab.2 Performance comparison between improved Fast-SCNN and popular networks

3 结语

针对塑瓶气泡特征与瓶身特征的相似性及大小不确定性等造成气泡缺陷检测困难,提出一种改进Fast-SCNN。在现有的气泡数据集上实验可得,改进Fast-SCNN 的MIoU 超过U-Net,但检测时间下降了7.5 ms,同时改进Fast SCNN 较原Fast-SCNN的MIoU 提升了2.3%,检测时间只增加了5 ms。同时采用该算法在工业现场上对塑瓶气泡检测,发现其具有较好的检测精度与稳定性。但对于工业现场缺陷数据不足的情况,该检测算法会降低对气泡缺陷区域预测的精度,接下来将研究如何在少量气泡缺陷数据下实现对气泡缺陷的高效稳定的检测。

猜你喜欢

池化气泡像素
柠檬气泡水
面向神经网络池化层的灵活高效硬件设计
赵运哲作品
基于Sobel算子的池化算法设计
像素前线之“幻影”2000
卷积神经网络中的自适应加权池化
SIAU诗杭便携式气泡水杯
浮法玻璃气泡的预防和控制对策
“像素”仙人掌
冰冻气泡