APP下载

基于深度学习的主轴承盖分类识别算法

2021-09-19张鹏飞石志良李晓垚欧阳祥波

图学学报 2021年4期
关键词:轴承准确率卷积

张鹏飞,石志良,李晓垚,欧阳祥波

(1.武汉理工大学机电工程学院,湖北 武汉 430070;2.广州工业大学机电工程学院,广东 广州 510006)

汽车发动机主轴承盖零件,主要用于曲轴定位,保护曲轴轴承,是发动机重要组成零件之一。作为发动机零部件的配套企业,需要为多款发动机配备不同的主轴承盖零件,实际生产中,各种主轴承盖零件,经过清洗、去毛刺等工序后,被杂乱地混合在一起,对后续的激光打标和分类包装带来了严重干扰。

区别于传统的人工目视识别方法,自动识别分类技术信息化程度高,可控性好,其分类的准确性和稳定性也更有保障。基于机器视觉的图像物体识别分类方法,主要分为特征描述和深度学习2 种技术路线。

采用特征提取的图像物体识别方法,重点关注图像描述规则的设计,通过人为设计的规则,将一幅图像描述成一个特征向量,最后使用机器学习分类器,如支持向量机(support vector machines,SVM)[1]等,对特征向量的集合进行识别和分类。经典的特征提取方法有:局部二值模式(local binary pattern,LBP)[2]、尺度不变特征变换(scale invariant feature transform,SIFT)[3]、方向梯度直方图(histogram of oriented gradient,HOG)[4]等。尽管,在形成最终特征描述向量的过程中,通过特征编码和特征汇聚等方式,一定程度上提高了特征描述的稳定性,但此类方法在处理不均匀光照、细粒度分类等问题上,仍具有较大误差。在之前的研究中,提出基于特征提取的SIFT-SVM 零件识别方法[5]。该方法关注零件顶部图像的SIFT 特征关键点,通过聚类算法对分散的关键点进行整合,结合词袋模型,进行特征汇聚和降维,最终使用SVM 分类器进行识别分类。实验结果证明,在正常光源条件下,识别准确率为100%,单个零件识别时间为0.6 s。

采用深度学习的图像物体识别方法,是近年来机器视觉领域的热点研究方向[6],其中最具代表性的方法是卷积神经网络(convolutional neural networks,CNN),已广泛应用于物体识别[7]、行人检测[8]、人脸识别[9]等多个领域。事实上,学术界已有观点[10]认为,基于手工特征描述的方法,将人为设计的特征描述子,作为识别系统的信息来源,可能过早地丢失了图像中的有用信息。FANG 等[11]提出一种由粗到细的细粒度车型识别框架,通过构建CNN,抓取汽车图像中的目标特征区域,并反复细化特征区域,最后结合全局特征和局部特征完成车型细粒度分类;KRÜGER 等[12]基于经典ResNet 网络模型,使用非工业零件数据集,对网络进行迁移学习。经研究表明非工业图像数据集,对于工业图像的识别具有促进作用。同时,对于识别形状较简单或数据较少的零件而言,适当降低CNN 的深度,会取得更高识别效率。

1 发动机主轴承盖识别算法框架

研究涉及的主轴承盖零件,共有5 种,依次标记为ABCDE,不同种类的主轴承盖零件,形状相似,类间差异小,特征提取精度要求高,是典型的细粒度图像分类问题[13],面临的主要难点有:

(1) 学术界尚未形成成熟的工业零件数据集,研究需要的主轴承盖图像数据,均来自实验模拟平台,数据集规模较小,需考虑过拟合风险;

(2) 由于主轴承盖零件本身的形状特点,差异特征主要分布于零件顶部和侧面,需要探索一种可以综合考虑2 个位置的识别方法;

(3) 零件实际识别过程中,或存在光照不均等问题,要求零件识别系统具有较高的稳定性。

文献[5]提出的SIFT-SVM方法对零件图像拍摄质量要求较高,需要额外设置光线遮挡装置。在实际应用中,当零件分类特征区域,未被光源有效照亮时,会导致图像SIFT 关键点发生改变,对识别系统产生严重干扰。

针对上述主轴承盖零件自动识别任务难点,设计了一种多分支特征融合卷积神经网络(multi-branch feature fusion convolutional neural network,MFF-CNN),模型的基本设计框架如图1 所示。

图1 发动机主轴承盖零件识别算法框架 Fig.1 Algorithm framework for identifying parts of engine main bearing cap

MFF-CNN 采用多分支结构,设计2 个独立子网络,分别提取主轴承盖零件的侧面和顶部特征,实现主轴承盖零件的细粒度分类。该网络模型具有以下特点:

(1) 网络结构设计,需考虑主轴承盖差异性特征分布于2 个不同表面,设计多分支网络结构,分别提取零件的侧面和顶部特征,经过特征融合后得到最终的识别分类依据,提高零件特征表达的精度。

(2) 采用密集连接型CNN 结构,通过强化特征重用,降低网络参数量,提高模型的鲁棒性与适用性,同时,结合批量归一化(batch normalization,BN)[14]和全局平均池化(global average pooling,GAP)[15]等优化方法,进一步优化网络参数分布,提升模型准确率。

(3) 针对零件细粒度分类的过拟合问题,使用翻转、旋转、缩放、分割等数据增强方法,扩大样本数据量。

2 数据集及其预处理

尽管机器视觉已广泛应用于工业生产,但公开的机械零件图像数据集尚未形成。因此,通过实验平台来模拟主轴承盖实际生产过程,抓取处于物料传输中的零件图像,形成主轴承盖图像数据集。

实验平台主要用于图像采集和模拟在线识别,其基本组件包括电机、传送带、Basler 单通道ac2500型工业相机、LED 光源、OMRON 漫反射光电触发器、电源和计算机,平台整体结构包括物料传送、图像采集、辅助光源3 个基本模块组成,如图2 所示,其中图2(a)用于获取主轴承盖侧面图像数据;图2(b)用于获取主轴承盖顶部图像数据。同时,后续识别算法的实验验证与分析,也是基于该实际生产模拟实验平台。

图2 模拟实际生产的实验平台((a)获取主轴承盖侧面图像数据;(b)获取主轴承盖顶部图像数据) Fig.2 Experimental platform that simulates actual production ((a) Obtain the side image data of the main bearing cap;(b) Obtain the top image data of the main bearing cap)

进行零件识别分类时,要求所拍摄的零件图片,应清晰地展现不同种类间的差异特征。对于汽车发动机主轴承盖零件,其各种类之间的差别,主要存在于零件顶部的螺栓支撑台部位,同时,零件侧面的长度尺寸和中心半圆半径尺寸,也存在微小差别。因此,数据集包含了2 个角度的图像数据,如图3(a)为主轴承盖侧面图像,图3(b)为顶部图像。

图3 不同种类发动机主轴承盖零件的侧面图像和顶部图像((a)侧面图像;(b)顶部图像) Fig.3 Side and top images of different types of engine main bearing cap parts ((a) Side images;(b) Top images)

数据集整体包含顶部和侧面各1 000 张图像,对应每个种类200 张图像,其中140 张作为训练数据,60张作为测试数据。图像原始尺寸为2048×2048。为了验证网络模型的泛化性能,在实验数据集中,补充添加了不均匀光照图像,每类100 张,其中70张作为训练数据,30 张作为测试数据。以顶部图像为例,其数据集规模见表1,零件侧面图像数据集的组成,与表1 一致。

表1 主轴承盖零件顶部图像数据集 Table 1 Top image dataset of main bearing cap parts

为了缓解零件细粒度分类存在的过拟合问题,对原始图像数据集进行增强处理[16]。数据增强处理包括:随机截取、旋转变换和平移变换,其操作以 原始图像中心大小1200×1200 区域为基准,随机截取5 张包含该区域且尺寸为1800×1800 的图像,对其中的任意2 张图像执行镜像操作,将得到的5 张图像进行随机的90°,180°或270°旋转,保留旋转前后共计10 张图像,综上,每张原始图像,经过数据增强处理,扩展为10 张训练图像。

更大的训练数据量,利于网络参数的优化调整,增加训练数据的复杂度,可以避免模型学习不相关的特征。同时,在训练集中增加光照不均匀的图像样本数据,作为训练集的难例(Hard Example)样本,增强MFF-CNN 对于光照不均因素的鲁棒性。相关的图像样本数据示例如图4 所示。实验数据集图像的拼接操作和数据增强操作,是基于3.4.0 版本的OpenCV 库,在CNN模型训练流程之外完成。

图4 图像样本增强处理示例((a)原图;(b)截取;(c)旋转;(d)镜像;(e)不均匀光照) Fig.4 Image sample enhancement processing example ((a) Original image;(b) Crop;(c) Rotation;(d) Mirror;(e) Uneven light)

在MFF-CNN方法中,需要对图像进行拼接处理,用其侧面和顶部2 张图像,合成待识别零件的初始图像数据,如图5 所示,该拼接图像作为MFF-CNN 的输入,以此解决零件特征分布于不同空间位置的问题。

图5 使用图像拼接方法描述主轴承盖零件 Fig.5 Use image stitching to describe main bearing cap parts

3 发动机主轴承盖识别神经网络

3.1 MFF-CNN模型的网络结构

MFF-CNN 的基础结构是深层CNN,与文献[5]提出的特征提取方法相比,CNN 可以从图像中自动学习特征表达,具备强大的特征提取能力。

考虑发动机主轴承盖零件分类特征的空间分布,设计MFF-CNN,如图6 所示,该网络使用2个子网络分别提取特征:SideNet 网络提取主轴承盖侧面特征,TopNet 网络提取主轴承盖顶部特征。融合上述2 个子网络学习到的特征,作为最终的主轴承盖分类依据。

图6 多分支特征融合卷积神经网络MFF-CNN 结构图 Fig.6 Structure diagram of multi-branch feature fusion convolutional neural network

MFF-CNN 基于密集连接型卷积神经网络DenseNet[17]设计,其网络模型的具体参数,见表2,网络整体由卷积层(convolution)、最大池化层(max pooling)和密集连接型CNN模块Dense Block 组成,输入的图像尺寸为512×256,最终的聚合特征尺寸为1×1×120。密集连接单元Dense Block,由卷积核尺寸为1×1 的卷积层和3×3 的卷积层交替连接组成,每个卷积层后均添加Dropout 操作。在同一个模块中,所有卷积层输出的特征图具有相同大小,并按照通道相连,每个卷积层都将之前所有层的特征信息作为附加输入,实现完全的特征共享。1×1卷积的主要作用是为了控制网络宽度,其卷积核的数量固定为4k,避免了由于特征共享导致的特征图过量累加。同时,3×3 卷积的步长stride=1,填充padding=1,使得输出特征图尺寸与1×1 卷积层保持一致。2 个Dense Block 之间,使用1×1 卷积层和最大池化层的组合进行连接,称为过渡层。在MFF-CNN 中,1×1 卷积将前一个Dense Block模块的特征图数量缩小50%,有效缓解深层网络的过拟合和梯度消失等问题。表2 中未明确标出的有:在每个卷积层运算之后,依次执行批量归一化操作,并使用修正线性单元(rectified linear unit,ReLU)对 网络参数添加非线性映射,即构成Conv-BN-ReLU的基本运算组合。网络层参数中,参数k表示基本增长率(growth rate),是影响各层特征图数量的全局常量。

表2 多分支特征融合卷积神经网络的结构参数表 Table 2 Structure parameter table of multi-branch feature fusion convolutional neural network

在基于神经网络的图像识别方法中,为了提取更全面的图像特征,深度学习趋于设计更深、更宽的网络结构,随之而来的是梯度消失、模型退化问题愈加明显。针对这些问题,学术界已经提出多种解决方案,如深度残差网络ResNet[18]、随机深度网络(stochastic depth)[19]等。尽管这些算法具有不同的连接方式,网络深度也存在差异,但核心思想都在于加强网络层级间的特征重用,即使用旁路连接方式,将深层与浅层网络相连接,这是构建深层神经网络的有效方式,如图7 所示。

图7 ResNet 网络与DenseNet 网络中的核心连接机制示意图((a) ResNet 中的Residual Block 结构示意图;(b) DenseNet 中的Dense Block 结构示意图) Fig.7 Schematic diagram of the core connection mechanism between ResNet and DenseNet ((a) Structural diagram of Residual Block in ResNet;(b) Structural diagram of Dense Block in DenseNet)

3.2 MFF-CNN 分支网络的实现

SideNet 是针对主轴承盖侧面图像设计的浅层CNN,使用浅层网络处理侧面较简单的特征,减小网络整体参数量,提升小样本数据下的模型准确率。SideNet 共有18 层,包含2 个Dense Block 单元。在全局平均池化层前,设置了2 个卷积层和一个最大池化层,分别为1×1、3×3 卷积和3×3 最大池化,作用是:1×1 卷积用于减少第二个Dense Block 单元输出的特征图数量,3×3 卷积和3×3 最大池化依次进行2 次下采样,将特征图尺寸由32×32 降至8×8,最后进行全局平均池化,得到1×1×60 的主轴承盖侧面图像特征。

TopNet 是针对主轴承盖顶部图像设计的深层CNN,深层网络具备更强的学习机制,可以有效提取零件顶部的复杂形状特征,并提高模型处理顶部光照不均匀问题的能力。TopNet 共有64 层神经网络,包含4 个Dense Block 单元和3 个过渡层,经全局平均池化后,得到的零件顶部图像特征,与SideNet 具有相同尺寸。4 个Dense Block 单元的内部网络层数呈递增状态,由初始的4 层增至最终的32 层,确保主轴承盖顶部的分类特征,可以被完整地表达,同时增强了识别系统对光照等因素的鲁棒性。

按照通道融合子网络SideNet 和TopNet 提取的特征,得到尺寸为1×1×564 的主轴承盖整体分类依据,MFF-CNN模型同时综合零件侧面和顶部的图像特征,进行零件识别分类。

3.3 网络训练优化方法

MFF-CNN模型结构中使用了多种神经网络训练优化方法,包括:

(1) Dropout。在每个训练批次中,随机忽略一定比例的特征检测器,避免模型过度依赖某些局部特征,有效降低过拟合现象,增强MFF-CNN模型的泛化性能;

(2) 批量归一化。通过批量数据归一化方式,使得单个批次的训练中,每一层神经网络的输入数据保持相同分布,符合独立同分布假设[14]。批量归一化将图像白化的思想延伸至神经网络的中间层,避免网络内部输入分布出现较大差异,有效缓解了反向传播中的梯度消失问题,加速了网络模型的收敛。MFF-CNN模型的所有卷积层都配合使用了批量归一化操作;

(3) 全局平均池化。使用平均池化的方式实现了降维,将最后一层卷积特征图,直接转化为最终类别参数,替换了经典CNN 结构中的全连接层,等同于对整个网络结构进行了正则化。实际应用中,使用全局平均池化方法,使得全连接模块降低了6.25%的参数量,进一步增强了模型的抗过拟合性能。

4 实验分析

4.1 MFF-CNN 主轴承盖识别算法的实现

神经网络模型运行实验平台的硬件组成如下:操作系统为Windows 10;CPU 为Intel Core i7-8700k;显卡为Nvidia GTX 1050Ti,4 GB 显存。实验中,所有CNN模型均基于Python 语言编写,在Google开源框架Tensorflow 中实现。其他软件支持包括:Python 3 集成开发环境PyCharm;Nvidia GPU 运算平台CUDA 8.0,神经网络可视化工具TensorBoard等。MFF-CNN 识别算法的伪代码见算法1。

算法1.MFF-CNN 主轴承盖零件识别算法。

输入:训练集图像数据。

输出:网络模型参数。

4.2 MFF-CNN模型实验结果与分析

为了验证MFF-CNN模型对主轴承盖零件的识别性能,引入2 个经典网络模型ResNet 和DenseNet作为对照组。实验中,ResNet 使用深度为50 层和101 层2 种网络结构,DenseNet 使用深度为121 层的网络结构。实验中的所有网络模型,均采用相同的训练优化方法和超参数设置:训练批量batch_size=32,Dropout 正则化参数λ=0.2,训练迭代数epoch=300,DenseNet 网络的基本增长率k=24;学习率采用阶段性衰减策略,初始学习率η=0.001,衰减系数为0.5,每30 次迭代更新一次学习率,训练优化方法使用小批量Adam 梯度优化算法,基于训练批量更新网络权重参数,设定动量参数momentum=0.9。详细的超参数见表3。

表3 神经网络超参数的设置 Table 3 Neural network hyperparameter settings

ResNet 和DenseNet 以及MFF-CNN 的识别结果见表4。其中,模型计算量通过浮点运算数(floating point operations,FLOPs)表示,是网络模型“时间复杂度”的衡量标准,具体表现为网络训练和预测的时间消耗,计算量越大的网络,训练和预测的时间消耗越大,模型优化难度随之增大,预测实时性随之降低。模型参数量是指网络的整个训练过程,需要学习的未知参数总数,是网络模型“空间复杂度”的衡量标准,具体表现为神经网络模型的过拟合抗性,参数量越高的网络模型,越容易导致过拟合,从而导致模型的最终识别率降低。

表4 各个卷积神经网络方法的识别结果 Table 4 The recognition results of each convolutional neural network method

从表4 的实验结果中可以看出:

(1) 101 层的ResNet 网络较50 层网络,识别准确率由82.0%提升至84.0%,这是由于深层神经网络具有更强的特征表达能力;

(2) 与ResNet-101 近似深度的DenseNet-121 网络,准确率为88.4%,是因为密集连接型CNN 结构参数量少,具有更强的过拟合抗性;

(3) MFF-CNN模型的识别准确率为91.6%,是对比实验中的最优结果,表明多分支结构设计,能够针对性地提取主轴承盖不同方位的特征,特征提取效率更高,同时MFF-CNN 中密集连接的网络结构,可以实现高效的特征重用,显著降低模型参数量,由18 层和64 层组成的多分支网络,其整体参数量甚至仅为 ResNet-50 网络的 6.25%,使得MFF-CNN 在少样本情况下,可以保持较高的过拟合抗性。

模型准确率曲线和损失函数曲线如图8 所示,是神经网络训练过程动态分析的重要依据。图8(a)是4 种卷积网络的识别准确率曲线,从图中可以看出:针对主轴承盖图像样本,残差网络的最终识别准确率,低于密集连接型网络结构。在整体训练过程中,MFF-CNN 网络的识别准确率曲线分布于最上层,准确率最高,其次是DenseNet-121,最下层是ResNet-101 和ResNet-50 网络,这表明在相同迭代周期内,密集连接型网络较残差网络的识别准确率更高,训练速率更快,验证了本文识别算法的设计思路。图8(b)是模型训练的损失函数曲线,从中可以看出,MFF-CNN 网络的损失函数曲线分布于最下层,数值下降速率更快,且最终收敛于更小的损失值,即表明该网络在训练过程中的误差更小,特征描述更精确,其原因在于MFF-CNN 采用多分支结构,增强了主轴承盖零件的特征表达。应当说明的是,尽管训练过程振荡起伏不断,但整体训练趋势稳定,随着训练过程的迭代,网络通过BN 等正则化方法,逐渐修正错误权重参数,模型最终趋于稳定。

图8 ResNet,DenseNet 以及MFF-CNN 识别准确率曲线和损失函数曲线((a)模型测试集识别准确率曲线;(b)模型测试集损失函数曲线) Fig.8 ResNet,DenseNet and MFF-CNN recognition accuracy curve and loss function curve ((a) Model test set recognition accuracy curve;(b) Model test set loss function curve)

4.3 MFF-CNN 与特征提取方法的对比分析

文献[5]提出基于特征提取的SIFT-SVM主轴承盖识别算法,在正常光照条件下,具有良好的零件识别性能,但对处于不均匀光照环境中的零件,其识别稳定性较差。本文提出基于深度学习的MFF-CNN 识别算法,使用深层CNN,代替SIFT特征提取方法,同时结合特征融合思想,设计分支网络,分别获取零件2 个视角的特征表达,针对文献[5]方法的不足做出改进。设置对比实验,分析MFF-CNN方法在不均匀光照条件下的具体表现。

SIFT-SVM 的输入数据是零件顶部图像,而MFF-CNN 算法的输入数据,是零件顶部和侧面2 个角度的拼接图像,因此,为了可以在相同数据集上进行对比分析实验,将MFF-CNN 分割为2种网络,一种是原始型,使用拼接图像作为输入;另一种仅保留其TopNet 子网络,记为MFF-CNN (TopNet),使用零件顶部图像作为输入。基础数据集采用正常光照图像与不均匀光照图像的组合。实验结果见表5。

表5 2种识别算法在不均匀光照条件下的实验结果 Table 5 The recognition results of each convolutional neural network method

由表5 分析可知:

(1) 不均匀光照条件下,对比分析SIFT-SVM和MFF-CNN(TopNet)方法的实验结果,基于深度学习的识别方法在稳定性方面显著提升,将不均匀光照样本的准确率由38.7%提升至86.7%。而基于特征提取的SIFT-SVM方法,几乎无法有效识别不均匀光照的零件,制约了基于特征提取识别方法的应用场景;

(2) 综合比较所有组实验结果,MFF-CNN方法既保持了识别网络的光照稳定性,又通过联合零件侧面特征的方式,提升了模型识别准确率。在包含不均匀光照图像数据集上,识别准确率为91.6%,对不均匀光照样本具有90%的识别准确率,识别准确率相对较高,同时又兼顾稳定性的识别方法。

实验结果表明,MFF-CNN 算法有效地修正了文献[5]特征提取方法稳定性差的缺点,但由于研究收集的零件图像数量有限,一定程度上限制了MFF-CNN 网络模型的训练与优化,是算法进一步改进的方向。

5 结 论

针对汽车发动机主轴承盖零件自动分类问题进行研究,提出了MFF-CNN,增强识别算法对不均匀光照影响因素的稳定性。MFF-CNN 使用2 个子网络,分别提取零件侧面和顶部特征,有效整合零件多方位的形状特征,增强特征提取效率。模型整体基于密集连接型卷积神经网络结构设计,结构紧凑,特征重用率高,网络参数量少。实验结果表明,在同一实验数据集上,MFF-CNN的识别准确率为91.6%,优于经典CNN,并针对SIFT-SVM 识别方法光照稳定性较差的问题,做出有效改善。在仅有较少样本量,且包含不均匀光照等复杂样本条件下,研究从主轴承盖零件实际特征出发,综合考虑了零件的图像表达和特征提取2 个方面,对其他种类的机械零件细粒度分类问题具有参考意义。

猜你喜欢

轴承准确率卷积
轴承知识
轴承知识
基于3D-Winograd的快速卷积算法设计及FPGA实现
轴承知识
轴承知识
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
卷积神经网络的分析与设计