1、第 期 年 月组 合 机 床 与 自 动 化 加 工 技 术 .文章编号:():./.收稿日期:修回日期:基金项目:自治区自然科学基金项目()作者简介:宋小飞()男硕士研究生研究方向为机器人视觉抓取、深度学习().通信作者:晁永生()男副教授博士研究方向为机器人与生产线().基于改进 网络的机械零件目标检测宋小飞晁永生(新疆大学机械工程学院乌鲁木齐)摘要:针对传统机械零件目标检测网络受到外界光照、小目标物体误检漏检的影响检测精度不高实时性较差的问题提出一种基于改进 网络的机械零件检测算法 首先使用幽灵模块和幽灵瓶颈层替换原 的部分卷积结构和 结构降低浮点运算量()其次使用一个新的、高效的特征金
2、字塔网络 它在训练过程中不断更新分支的权重从而融合不同分辨率的输入特征最后在主干网络后面加入一种高效注意力机制()实现了高效地提取机械零件的深层特征 结果表明改进后的 深度学习算法能够更加精准快速的识别机械零件的类别并且具有较小的模型体积方便在运算量低的小型设备上使用关键词:机械零件注意力机制特征金字塔中图分类号:文献标识码:():.().().:引言在机械零件加工和回收领域在对零件分类的过程中都面临着零件种类繁多、识别困难、分类精度不高的难题 而机械零件目标检测是机器视觉与模式识别在机械工业领域中的重要应用之一作为机械生产自动化的基础它具有非接触、识别快、精度较高、现场抗干扰能力强等突出的优
3、势极大提高了经济和社会效益目前目标检测算法可分为两阶段目标检测算法和单阶段目标检测算法 两阶段目标检测算法一直存在着模型复杂和识别速度慢等问题未能解决而单阶段目标检测算法简化了模型在提升了识别速度的同时还能够保持相当高的识别精度 系列作为单阶段目标检测模型中使用最为广泛的一类不仅具有较高的检测精度同时能把目标物体的位置信息和类别信息检测出来实现端到端的训练因此检测速度较快 等首次提出 算法同时为了解决 在定位方面不够准确且召回率较低的问题提出了 使用了批量归一化、高分分类器和先验框等优化策略 等在 的基础上加入了特征金字塔网络()、网络结构和逻辑回归提出了 不仅检测速度高检测精度也有所提升 目
4、标检测模型为 新改进模型利用了 正则化、数据增强等一系列策略在确保识别速度的同时神经网络的识别精度也得到提升 算法该算法在简化模型提高检测速度的同时也保证了高准确率 目前 已经发展到第 代了相比于之前的 系列算法 检测速度更快且网络更加轻量化在某种程度上已成为 系列中性能最优的算法 由于零件检测需要高的检测精度选择检测精度高的 系列算法 考虑到基于目标检测的神经网络参数量和计算量较大难以在计算能力有限的小型设备上运行的问题本文采用 作为基础模型利用 的幽灵模块和幽灵瓶颈层替换原网络的卷积层和瓶颈层减少模型的参数量和浮点运算量()加入 注意力集中机制提高目标检测精度同时采用双向加权特征金字塔 提
5、高对小目标的检测精度 网络模型 网络可以分为 个部分分别输入端、主干网络、颈部网络和检测层 目标检测模型共 有 个 版 本:、和 其中 是这 个模型中深度最小、参数量最小和检测速度最快的网络是其他版本模型的基础 考虑到机械零件检测算法需要满足实时性检测的要求选择 作为基准模型用 深度相机进行目标检测 算法的总体结构如图 所示共包括 个组成部分:()输入端():的输入端使用了 数据增强它在对数据集图片的处理过程中随机抽取 幅图片分别进行缩放、翻转、色域变化等操作最后拼接成一张图片丰富了数据集图像的背景和小目标()主干网络():用于提取机械零件图片中的特征信息 以供后面的颈部网络使用 在 主干网络
6、主要采用的是()和 瓶颈层结构用于提取目标特征如图 所示 操作将原输入依次进行卷积()、归一()和激活()操作 如图、图 所示 有 和 两种 瓶颈层结构前者应用于主干网络后者应用于颈部网络 结构先将原输入分为两个分支分别 操作然后通过拼接操作()将它们合并这样不仅减少了模型计算量同时模型也学习到了更多的特征 如图 所示 结构先通过 操作对输入特征进行通道数的减半然后将输出特征 一次池化后的输出特征 两次池化后的输出特征 次池化的输出特征 进行拼接最后通过 操作将任意尺寸的输入特征转换成固定尺寸的输出特征()颈部网络():由特征金字塔网络和路径聚合网络()结构组成用于收集组合目标特征()检测层(
7、):由损失函数和预测框筛选函数组成用于预测信息损失部分图 总体结构图 改进的 网络为了提高 的识别速度和精度本文在 算法的基础上将 网络中的卷积层和瓶颈层替换为 的幽灵模块和幽灵瓶颈层在主干网络最后单独加入一种新的高效注意力机制 原本的特征金字塔网络()替换成加权双向特征金字塔网络()图 改进 总体结构图使用改进 网络能够在保证实时识别的情况下实现多种类目标识别的精确性 首先采用深度相机实时采集图像提取每一帧的零件图像然后通过改进后的 网络对单帧图像进行检测完成对零件种类名称的判别算法流程如图 所示 年 月 宋小飞等:基于改进 网络的机械零件目标检测图 改进 网络识别零件流程.模块随着企业在移
8、动端、物联网等资源有限的环境中对运用神经网络的巨大需求近年来涌现出一大批运算量低轻量级神经网络 这些传统的轻量级神经网络的计算量低且性能也好但它们却忽略了特征映射之间的冗余信息而特征图中的冗余信息可能是一个成图 和其他轻量级网络模型的、精度对比功模型的重要组成部分 并没有试图去除这些冗余特征图而是使用更低成本的计算量来获取这些冗余特征图如图 所示 能比其他轻量级网络以更少的计算量达到更高的准确率.幽灵模块在传统卷积过程中当输入数据的维度为 卷积核为(为卷积核大小 为卷积核数量)输出的特征图尺寸为 则(浮点计算量)为 幽灵模块通过组合少量卷积核与更廉价的线性变化操作代替常规卷积的方式减少了非关键
9、特征的学习成本从而有效降低对计算资源需求的同时也不影响模型的性能 原理如图 所示幽灵模块()将传统卷积操作分为两步:第一步使用少量卷积核进行卷积操作(比如正常用 个卷积核而这里就只用/个这样就省了一半计算量)第二步使用 或 的卷积核进行逐通道卷积操作()最终将第一部分作为一份恒等映射()与第二步的结果进行(拼接操作)生成最终的特征图图 幽灵模块原理所以可以得到传统卷积与幽灵模块的计算量之比公式为:()().幽灵瓶颈层幽灵瓶颈层()是一个可复用模块可以用到现有的网络中替换掉瓶颈层模块从而减少计算量降低模型体积 如图 所示幽灵瓶颈层包含两个堆叠的幽灵模块()它的第一个幽灵模块用作膨胀层用以扩充通道
10、数第二个幽灵模块用以缩减通道数使得通道数与捷径通道匹配 在幽灵瓶颈层中除了第二个幽灵模块不采用 激活函数批量归一化()和 在每一层的后面都使用这在有效减少模型参数、计算量之余还能通过幽灵模块对特征图进行优化提高模型的检测效率 幽灵瓶颈层主要分为两类它们的步长分别为 和 图 所示步长为 的幽灵瓶颈层结构类似于 集成了多个卷积层和捷径层 图 所示步长为 的幽灵瓶颈层使用深度可分图 幽灵瓶颈层离卷积()减少通道数并使用捷径层连接输 入 和 输 出 的 瓶颈层输入通道数和输出通道数相等本文选择步长为 的幽灵瓶颈层以替代 瓶颈层保证模型输出通道数不变.注意力机制 在机械零件识别过程中由于光照等环境因素的
11、影响会影响零件的识别精度而通过注意力机制可以屏蔽掉图片中部分背景和冗余信息以达到快速锁定重点区域的目的 通道注意力机制(如 等)能够获取到特征图的每个通道的重要程度却无法捕捉位置信息 注意力机制()不仅能获取通道信息而且还可以获取方向和位置的信息能够让模型更加准确的定位和识别重要信息注意力机制 为了获取图像宽度和高度上的注意力并对精确位置信息进行编码先将输入特征图在宽度和高度两个方向分别进行全局平均池化分别获得在第 通道上宽度和高度两个方向的特征图 和表达式如下:()()()()()接着将获得全局感受野的宽度和高度两个方向的特征图 和 拼接在一起之后将它们发送到 的共享卷积模块将其维度降低为原
12、来的/然后将经过批量归一化处理的特征图 送入 激活函数得到形如()/的特征图 表达式为:()()接着将特征图 按照高度和宽度分为 和 两个独立特征使用另外两个 的卷积得到通道数与原来一样的特征图 和 经过 激活函数后分别得到特征图在高度和宽度上的注意力权重 和在宽度方向的注意力权重 表达式如下:()()()最后在原始特征图()上通过乘法加权计算将得到在宽度和高度方向上带有注意力权重的特征图组合机床与自动化加工技术 第 期()表达式为:()()()()()图 注意力机制.双向加权特征金字塔 在目标检测过程中由于大物体的像素点多因而在卷积操作中特征点不容易丢失而小物体的像素点少其特征点越到后面越容
13、易丢失 如图 所示特征金字塔网络()提出一种自上向下的路径来融合多尺度特征大幅度提高了小物体的检测精度然而它却忽视了输入特征不同的重要性 在 之上又添加了一条额外的自下向上的路径来保留更多的浅层特征 利用神经架构搜索来自动设计特征网络拓扑重复加权双向特征金字塔网络()能够通过可学习的权重来学习不同分辨率的输入特征的重要性同时反复应用自上向下和自下向上的路径来实现多尺度特征融合()()()()图 常用的特征金字塔 实验结果与分析.实验环境和数据集本文基于(.)系统搭建实验环境具体配置如表 所示表 实验环境名称配置操作系统(.)编程环境.训练框架.加速环境.本实验采用的训练参数如表 所示表 实验训
14、练参数训练参数配置图片尺寸 训练批次 轮 训练权重文件.学习率.训练集图像由 相机从不同角度、亮度、背景拍摄机械零件尺寸 零件种类有螺帽、螺杆、齿轮、钢管、丝锥、插齿刀、铣刀等共 张 参照 数据集格式构建使用 工具标注零件类别最后获取与每张图片所对应的.标记文件 将原数据集的 划分为训练集 为验证集剩下 为测试集用于训练结果验证.评测指标使用精准率()、召回率()和平均精度均值()作为衡量模型性能的相关指标 精准率用来衡量模型检测的准确性即查准率 计算 曲线(以 和 作为横、纵轴坐标的二维曲线)与坐标轴所围成的面积可以得到单类别精确率()通过将单类别的 值相加再除以类别数可以得到 值通常以 .
15、时计算 值即 其中 为交并比为计算 的重要函数 其中精准率、召回率、平均准确率的计算公式如下:()()()()()式中:表示预测样本为正样本实际也是正样本 表示预测样本为负样本实际上也是负样本 表示预测样本为正样本实际上是负样本也可称为误报 表示预测样本为负样本实际上是正样本也可称为漏报.实验结果与分析通过实验获得了算法精确率和召回率如图 和图 所示当训练迭代到第 轮后精准率和召回率趋于平稳 如图 所示由模型精准率和召回率决定的平均精度均值也趋于稳定证明了算法模型的准确性 如图 所示可以看到迭代到大约 轮之后损失函数值降低到.以下证明了算法模型收敛的快速性图 模型精准率图 模型召回率图 模型平
16、均精度均值图 损失函数值 年 月 宋小飞等:基于改进 网络的机械零件目标检测 为了对比每一个改进点对 精度的影响在自身数据集上本文将 的每一步改进的精度进行了对比 如表 所示主干网络采用轻量级网络 的幽灵模块和幽灵瓶颈层后机械零件的准确率、召回率以及平均精度均值都有所下降达不到零件识别精度的要求 而在模型中加入移动网络注意力机制 后准确率、召回率和平均精度均值得到大幅度提升但精度和召回率依然不够高 加入双向加权特征金字塔 后其模型准确率、召回率和平均精度均值均达到原 的程度达到零件识别的使用要求表 各改进点对 性能的影响程度/.为进一步验证本文改进 的效果分别在自制数据集和 数据集上验证效果
17、数据集是常见的公开目标检测数据集常用于目标检测的基准测试主要由 和 两部分组成每部分由训练集、验证集和测试集 部分组成 包含 张标注的图片一共标注了 个目标 一共有 张图片共 个目标 由于 和 两者的数据是相斥的所以完全可以合并使用算法对比如表 所示相比于、和 的参数量和浮点计算量(亿次浮点运算)有了大幅度的减少推理时间也有所减少模型体积也有所减少平均精度均值也更高 相比于原 改进的 参数量减少了 浮点运算量较少了 模型体积减少了 自制数据集的平均精度均值()提高了.数据集的 要低一些但依然高于、图片推理速度也减小了.满足了小型设备要求浮点运算量小且精度较高的需求表 改进 算法与其他 系列算法
18、对比算法体积/推理时间/参数量自制数据集/数据集/.改进.为测试提出的改进 算法真实环境检测的性能实验对比了、算法和改进 算法训练出的模型在真实环境中的检测效果如图 所示()()()()改进 图 、算法和改进 算法检测结果对比从图、图 中可以看出、算法的个别零件的检测精度不高容易出现漏检图 的 结 果 显 示 精 度 要 高 于、基本不存在漏检能够满足目标检测的使用要求图 的结果证明了而改进 不仅检测速度快检测精度也得到了提高 结论综上所述为了满足小型设备的浮点运算量低精度高的要求本文提出了一种基于改进 网络的机械零件目标检测算法利用 的幽灵模块和幽灵瓶颈层实现了模型的轻量化利用双向加权特征金字塔 增强了多尺度输入特征的融合加入 注意力机制增强对零件深层特征的提取 经过验证该算法训练出的模型的精准率达到.召回率达到了.证明了算法的准确性和可靠性每张图片的推理速度也降到了.证明了算法的实时性参考文献 .:/.:/.:.():.涂沛驰傅钰雯熊宇璇等.基于 网络模型的火焰检测.智能计算机与应用():.:/()./././().:/().管军霖智鑫.基于 卷积神经网络的口罩佩戴检测方法.现代信息科技():.程可欣王玉德.基于改进 的自然场景人员口罩佩戴检测算法.计算机系统应用():.(编辑 赵 蓉)组合机床与自动化加工技术 第 期