APP下载

基于智能视觉的机械零件图像分割技术

2020-10-21洪庆宋乔杨晨涛张培常连立

机械制造与自动化 2020年5期
关键词:空洞卷积深度

洪庆,宋乔,杨晨涛,张培,常连立

(1. 南京理工大学 机械工程学院,江苏 南京 210094; 2. 北京航天新风机械设备有限责任公司,北京 100854)

0 引言

随着计算机技术的飞速发展,图像分析处理已成为视觉的重要研究方向,在制造装配领域有着广阔的应用前景。

传统视觉算法对于特征十分敏感,而实际的工作环境复杂,光线条件恶劣,传统算法无法满足实际生产需要。基于深度学习的图像处理算法相对于传统算法具有更高的准确性和稳定性,在制造业应用更加广泛。苏朝阳等基于机器视觉,利用图像处理算法组件分别配置图像处理链,实现了对电容器外观底部露白缺陷和引脚变形缺陷的检测[1]。周振等针对图像目标受环境影响难识别目标的问题,基于深度图像设计并实现了一种轮廓提取及特征识别的方法[2]。魏中雨等针对制造中零件识别定位以及装配检测效率低、准确度差等问题,提出了一种基于深度神经网络的零件装配检测方法[3]。张辉等提出一种基于机械臂和机器视觉的表面质量检测方法[4]。

在现有技术条件下,预设特征、姿势再进行工程学分析的方法越来越难以满足现代制造的装配质量及效率要求。如何实现装配实时工程学分析已成为一个迫切需要解决的问题[5]。为提高实时装配分析的可行性,本文将针对其中零件图像分割技术展开研究。

1 技术路线

本文实现机械零件图像分割的技术路线如下:

1) 根据制造过程中零件准确率及速度要求,选取Deeplabv3[6-7]算法模型作为本文机械零件图像分割的基础算法。

2) 机械零件数据集的准备。收集大量机械零件相关图片,并利用标注工具生成图像掩膜标签,将数据分为训练集、验证集、测试集。

3) 基于Deeplabv3算法模型,加入自定义Encoder-Decoder特征提取模块,构建改进后的Deeplabv3算法,并命名为Deeplabv3-d。

4) 基于自建机械零件数据集,完成Deeplabv3-d的训练与测试,并根据测试结果评估算法的实用性。

5) 基于Deeplabv3-d算法,更换不同骨干网络(mobileNet、Resnet-101),在自建机械零件数据集上进行性能对比测试。

2 Deeplabv3-d算法原理

2.1 空洞卷积(膨胀卷积)

图像分割过程中,初始图像先用卷积网络层进行特征卷积提取,生成卷积后的特征图,再由池化层进行最大或平均特征的提取,之后图像尺寸变为原尺寸的一半,再经过反卷积网络层将尺寸恢复至原始尺寸,保证提取特征、扩大感受野的同时,还原得到的预测像素信息。

因此图像分割模块主要包括两个部分:1) 通过卷积池化层(即下采样层)提取图像特征并保证较大的感受野信息;2) 通过反卷积层(即上采样层)扩大图像尺寸并还原需要得到的预测信息。在下采样—上采样过程中,很容易出现数据信息丢失、空间结构紊乱、层级结构信息丢失等现象,例如小目标检测时无法重建完整信息。受制于该问题,图像分割算法长期处在瓶颈期,而空洞卷积[8]的出现使该问题得到了较好的解决。

图1是常规卷积和空洞卷积的卷积操作图[8],通过对比可知,相比于常规卷积的一次常规感受野卷积,空洞卷积对更大的感受野进行卷积操作,使卷积后的每一个特征点都涵盖了更广的信息。

图1 卷积操作图

图1(b)为空洞=2时的空洞卷积操作图,一般性的卷积映射公式见式(1):

(1)

其中:r表示卷积步幅即空洞,标准卷积是比率r=1的一种特殊情况。通过更改步幅值(空洞)可自适应地修改卷积层提取特征的感受野。

2.2 深度可分离卷积

深度可分离卷积[9]思想是将标准卷积层分解为深度卷积层、逐点卷积层(即1×1卷积),在不增加网络计算复杂度的基础上,大大增加了网络深度以及网络泛化、拟合能力。具体而言,深度卷积针对每个输入通道独立执行空间卷积,而点向卷积用于组合深度卷积的输出[10]。这是一种轻量级的卷积方式,将传统的多通道卷积模型分解为逐通道卷积+逐点卷积,相比起常规的卷积,其运算成本和计算量都大为降低,实现算法复杂度优化,大大加快了训练速度。

2.3 Deeplabv3-d

Encoder-Decoder[10]特征提取模块,在深度神经网络中常用于图像分割任务。普通卷积网络层能够基于卷积、池化方式编码多维度信息,通过使用不同尺度、步长的卷积核实现多种速率或多个感受野的变换,并利用最大池化操作来探查传入特征[7],而Encoder-Decoder模块能够通过特征空间的反向传播来获取更为准确的对象边界。

为优化Deeplabv3图像分割性能,在原本v3模型中添加Encoder-Decoder特征提取模块,减少其数据信息丢失、空间结构紊乱、层级结构信息丢失的可能性,改善其对象边界分割效果。再将深度可分离卷积理论应用于Encoder-Decoder模块,从而在不增加计算复杂度的基础上构建出更深网络的Encoder-Decoder模块,使得Deeplabv3算法网络泛化拟合能力大大增加,本文将改进后的Deeplabv3命名为Deeplabv3-d。

改进的Deeplabv3,使用了空间金字塔池化和Encoder-Decoder结构。

本文提出的模型Deeplabv3-d包含来自编码器模块的丰富语义信息,而对象边界提取由简单而有效的Decoder恢复模块进行,Encoder模块允许通过应用空洞卷积以任意分辨率提取卷积特征。在最后特征图中的编码丰富了语义信息,而对于网络中的卷积池化操作引起的对象边界小部分信息丢失问题,可以通过应用空洞卷积提取更密集的特征图来减弱。

因考虑到有限的GPU内存,提取出比输入小8倍甚至4倍的输出特征图在计算上并不可取。以Resnet101[11]为例,当利用空洞卷积提取比输入分辨率小16倍的输出特征时,必须对其特征进行扩展,而要求输出特征比输入小8倍,则卷积块会增加大量的网络参数。

Encode-Decoder模块有助于在Encoder通道中进行更快的计算,并逐渐在Decoder通道中恢复清晰的对象边界。为结合两种方法各自的优点,本文通过合并多维度上下网络层特征信息来丰富Encoder-Decoder网络模块,具体结构如图2所示。

图2 自定义Encoder-Decoder模块

图2即为完整的Deeplabv3-d结构。Deeplabv3加入自定义Encoder-Decoder模块后,将采用mobileNet与Resnet101进行拟合效果比对。

3 Deeplabv3-d训练及分析

为让模型系统更快拟合而自建机械零件数据集,使用批量梯度下降法,将数据集分为100个批次,设置周期为50,迭代次数为600,进行训练迭代。

训练过程损失值变化如图3所示,可发现模型训练损失在第200次迭代后逐渐趋于平稳,最终达到0.014 53。根据实际曲线波动情况得知,模型在整个训练过程中仅出现少量震荡,拟合效果较好。

图3 训练loss-迭代次数图像

4 Deeplabv3-d零件图像分割测试

观察图4所示的单个零件分割效果、图5所示的多个零件堆叠分割效果可知,Deeplabv3-d对机械零件图像的分割效果较好,与零件轮廓拟合度较高。

图4 单个零件分割效果图

图5 多个零件堆叠分割效果图

综合分析图4和图5可得,不同环境下,Deeplabv3-d算法网络对单个零件或多个零件堆叠都具有良好、直观的分割效果,应用于实际工业场景中具有一定的可行性。同时,Deeplabv3-d在测试集上的预测准确度Acc和平均交并比mIOU随训练周期变化曲线如图6、图7所示。

图6 测试集Acc随训练周期变化曲线

图7 mIOU随训练周期变化曲线

分析图6、图7中Acc/mIOU随周期的变化曲线,可得出模型的预测准确度和平均交并比经过震荡上升,在第30个训练周期后逐渐趋于平滑,最终达到90%以上,在分割精度上有较好的表现。

为对比Deeplabv3-d不同主干网络中的模型拟合效果,采用两种骨干网络进行验证。在表1中记录了在mobileNet和Resnet101两种骨干网络下的图像分割效果。两种骨干网络平均mIOU值都超过90%,均展现出较好的分割性能。

表1 不同骨干网络下的Deeplabv3+评估

5 结语

本文针对机械零件图像分割,通过建立机械零件数据集,并向Deeplabv3算法网络中加入集成空间金字塔、空洞卷积、深度可分离卷积结构的Encode-Decoder特征提取模块,完成了改进网络Deeplabv3-d的构建。在实际单零件或多零件堆叠图像的分割效果测试中,Deeplabv3-d取得了较好的分割效果,证明了在实际环境中零件图像分割算法的可行性,对实际工业生产具有较大意义。

猜你喜欢

空洞卷积深度
基于3D-Winograd的快速卷积算法设计及FPGA实现
锻造过程中大截面塑料模具钢中空洞缺陷的闭合行为
深度理解一元一次方程
如何避免想象作文空洞无“精神”
卷积神经网络的分析与设计
从滤波器理解卷积
深度观察
深度观察
深度观察
基于傅里叶域卷积表示的目标跟踪算法