一种基于卷积神经网络的发动机主轴承盖姿态识别方法技术

技术编号:36490271 阅读:19 留言:0更新日期:2023-02-01 15:03
一种基于卷积神经网络的发动机主轴承盖姿态识别方法,主要解决发动机主轴承盖进行离线抽检时,图像处理器无法识别轴承盖的姿态的问题,从而提出一种基于卷积神经网络的发动机主轴承盖姿态识别方法,对轴承盖进行姿态识别。本发明专利技术的有益效果为:使用5层卷积层、2层全连接层、输出层、3层最大池化层、7层激活层、7层批量归一化层BN(Batch Normalization)、2层随机失活层、softmax层搭建的卷积神经网络对轴承盖进行姿态识别。实验结果表明,该网络的平均识别精度达到99.78%,超出工业要求的95%,所以,搭建的卷积神经网络具备实用价值。搭建的卷积神经网络具备实用价值。

【技术实现步骤摘要】
一种基于卷积神经网络的发动机主轴承盖姿态识别方法


[0001]本专利技术属于计算机图形学和计算机视觉领域,涉及一种基于卷积神经网络的发动机主轴承盖姿态识别算法,主要应用于光学图像的识别和分类。

技术介绍

[0002]随着各大互联网巨头公司纷纷宣布造车,汽车制造业变得十分火爆,主轴承盖作为汽车发动机的重要组成零部件,保证其加工尺寸是提高主轴承盖核心竞争力的关键。发动机主轴承盖在加工打磨后采用离线抽检的方式进行尺寸测量,采用传统的手工离线抽检方法,耗时长、成本高、效率低,同时,检测结果不可避免的带有人的主观测量误差,难以保证测量精度,造成较大的装配误差或难以准确安装。随着图像处理技术的飞速发展,机器视觉检测技术具有无接触、检测精度高、自动化程度高的优势,因此被广泛应用于工业领域。
[0003]采用机器视觉检测技术对发动机主轴承盖进行离线抽检,首先需要机械臂将抽检的轴承盖取出,然后机械臂上的摄像机拍得轴承盖图像,传感器将图像传给图像处理器,经过图像处理算法得到轴承盖尺寸,最后通过对比算法将图像处理算法得到的轴承盖尺寸与标准尺寸进行对比,检查抽检零件是否合格。由于图像处理器不同于人眼,无法识别轴承盖的姿态,所以,处理器不知道测得的是轴承盖哪一面的尺寸,无法与其对应面的标准尺寸进行对比,出现错误对比的情况,为了避免这种情况的出现,需要对轴承盖进行姿态识别。传统的识别算法需要对采集的图像进行预处理,且与识别物体的特点相关性强,通用性很差,对于不同的物体需要设计不同的算法,特别容易受到环境因素影响,比如当光照改变时,识别准确率会下降。而轴承盖每个面颜色很相近,很容易受到光源影响,误识别率高,不适合对轴承盖进行姿态识别。基于卷积神经网络的识别算法,不会受到环境因素的影响,不需要对图像进行预处理,且识别准确率高,所以采用基于卷积神经网络的识别算法对发动机主轴承盖进行姿态识别。

技术实现思路

[0004]本专利技术所要解决的问题:使用机器视觉检测技术对发动机主轴承盖进行离线抽检时,图像处理器无法识别轴承盖的姿态,导致图像处理器不知道测得的是轴承盖哪一面的尺寸,无法与其对应面的标准尺寸进行对比,出现错误对比,无法检测零件是否合格的问题。为了避免这种情况的出现,就要让图像处理器长出“眼睛”,对轴承盖进行姿态识别,从而提出了一种基于卷积神经网络的发动机主轴承盖姿态识别方法,正确识别出进行尺寸测量的轴承盖面是哪一面,再进行尺寸测量,与其对应面的标准尺寸进行对比,检测该零件是否合格。
[0005]本专利技术所采用技术方案是:采用卷积神经网络算法对发动机主轴承盖进行姿态识别,具体包括以下步骤:
[0006]步骤1:采集发动机主轴承盖四个面的原始图片,使用MV

VS1600教学创新实验平台中的高分辨率工业数字相机,拍摄训练图片共2000张,由于有两个侧面,为了区分两个侧
面,将其中一个侧面命名为宽面,其中正面500张,侧面500张,底面500张,宽面500张,测试图片共200张,其中正面50张,侧面50张,底面50张,宽面50张。
[0007]步骤2:将训练图片,测试图片统一制作为[224*224]像素规格大小。
[0008]步骤3:将正面,侧面,底面,宽面的训练图片分别放入zhengmian,cemian,dimian,kuanmian文件夹中,再将四个文件夹放入dataset(训练集)文件夹中。将四个面的测试图片放入test(测试集)文件夹中。
[0009]步骤4:将test(测试集)文件夹中的图片进行重命名,图片名依次为00001

00200。
[0010]步骤5:使用人工神经网络库keras中自带的ImageDataGenerator对四个面的原始图片进行数据增强,其中,正面生成2500张,侧面生成2500张,底面生成2500张,宽面生成2500张,总共10000张图片,生成的正面图片放到zhengmian文件夹,生成的侧面图片放到cemian文件夹,生成的底面图片放到dimian文件夹,生成的宽面图片放在kuanmian文件夹中。
[0011]步骤6:制作训练集图片的标签,将dataset(训练集)文件夹中的zhengmian,cemian,dimian,kuanmian文件夹中各自存放的图片重命名为该文件名,以便通过生成的标签将训练集图片数据输入训练网络中。
[0012]步骤7:搭建卷积神经网络模型,对发动机主轴承盖进行姿态识别。
[0013]a.第一层为卷积层,卷积核的数量为32个,卷积核的大小为3
×
3,步长为1,且无填充,加入按照结尾正态分布生成随机张量的初始化器TruncatedNormal,产生截断正态分布随机数。卷积核通过固定大小的步长与输入图像作卷积运算,经由激活函数变换后输出特征图。
[0014]b.第二层为激活层,采用ELU函数作为激活函数,ELU函数表达式为:ELU函数可以解决当输入为负时发生梯度消失的问题,解决初始化参数选择不当或者过高的学习率导致神经元不再被激活的问题。
[0015]c.第三层为批量归一化层BN(BatchNormalization),加入批量归一化层的目的是对输入的数据做归一化处理。批量归一化层BN(Batch Normalization)将每个数据减去这一批数据的均值并除以这一批数据的标准差,使数据的均值和方差归一化为0和1,如式(2)所示。其中,E[x
(k)
]为第k批数据的均值,为第k批数据的标准差。在此基础上引入两个可学习的参数α和β对x进行操作,如式(3)所示。所以,可以通过可学习参数α和β使搭建的网络模型进行特征分布的学习,避免训练效率的下降和网络泛化能力的降低。
[0016]d.第四层为卷积层,卷积核的数量为32个,卷积核的大小为3
×
3,步长为1,无填
充,加入按照结尾正态分布生成随机张量的初始化器TruncatedNormal,产生截断正态分布随机数。
[0017]e.第五层为激活层,选用ELU函数作为激活函数;第六层为批量归一化层BN(Batch Normalization)。
[0018]f.第七层为最大池化层,池化层采样核大小均为2
×
2,步长为1。添加最大池化层是为了减化网络的复杂度,减小内存消耗,减小计算量等。
[0019]g.第八层为卷积层,卷积核的数量为64个,卷积核的大小为3
×
3,步长为1,无填充,加入按照结尾正态分布生成随机张量的初始化器TruncatedNormal,产生截断正态分布随机数。
[0020]h.第九层为激活层,选用ELU函数作为激活函数;第十层为批量归一化层BN(Batch Normalization);第十一层为最大池化层,池化层采样核大小均为2
×
2,步长为1。
[0021]i.第十二层为卷积层,卷积核的数量为128个,卷积核的大小为3
×
3,步长本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于卷积神经网络对发动机主轴承盖姿态识别算法,即使用5层卷积层、3层最大池化层、2层全连接层、输出层、7层批归一化层、7层激活层、2层随机失活层、softmax层搭建卷积神经网络模型,对发动机主轴承盖进行姿态识别。2.根据权利要求1所述的基于卷积神经网络对发动机主轴承盖姿态识别算法,其特征在于,具体包括以下步骤:步骤1:采集发动机主轴承盖四个面的原始图片,拍摄训练图片共2000张,由于有两个侧面,为了区分两个侧面,将其中一个侧面命名为宽面,其中正面500张,侧面500张,底面500张,宽面500张,测试图片共200张,其中正面50张,侧面50张,底面50张,宽面50张。步骤2:将训练图片,测试图片统一制作为[224*224]像素规格大小。步骤3:将正面,侧面,底面,宽面的训练图片分别放入zhengmian,cemian,dimian,kuanmian文件夹中,再将四个文件夹放入dataset(训练集)文件夹中。将四个面的测试图片放入test(测试集)文件夹中。步骤4:将test(测试集)文件夹中的图片进行重命名,图片名依次为00001

00200。步骤5:使用keras中自带的ImageDataGenerator对四个面的原始图片进行数据增强,其中,正面生成2500张,侧面生成2500张,底面生成2500张,宽面生成2500张,总共10000张图片,生成的正面图片放到zhengmian文件夹,生成的侧面图片放到cemian文件夹,生成的底面图片放到dimian文件夹,生成的宽面图片放在kuanmian文件夹中。步骤6:制作训练集图片的标签,将dataset(训练集)文件夹中的zhengmian,cemian,dimian,kuanmian文件夹中各自存放的图片重命名为该文件名,以便通过生成的标签将训练集图片数据输入训练网络中。步骤7:搭建卷积神经网络模型。步骤8:训练搭建好的卷积神经网络模型。步骤9:将test(测试集)输入到训练好的卷积神经网络中,测试网络的识别效果。3.根据权利要求1所述的基于卷积神经网络对发动机主轴承盖姿态识别方法,其特征在于:其中步骤7的具体方法是:a.第一层为卷积层,卷积核的数量为32个,卷积核的大小为3
×
3,步长为1,且无填充,加入按照结尾正态分布生成随机张量的初始化器TruncatedNormal,产生截断正态分布随机数。卷积核通过固定大小的步长与输入图像作卷积运算,经由激活函数变换后输出特征图。b.第二层为激活层,采用ELU函数作为激活函数,ELU函数表达式为:ELU函数可以解决当输入为负时发生梯度消失的问题,解决初始化参数选择不当或者过高的学习率导致神经元不再被激活的问题。c.第三层为批量归一化层BN(Batch Normalization),加入批量归一化层的目的是对输入的数据做归一化处理。批量归一化层BN将每个数据减去这一批数据的均值并除以这一批数据的标准差,使数据的均值和方差归一化为0和1,如式(2)所示。
其中,E[x
(k)
]为第k批数据的均值,为第k批数据的标准差。在此基础上引入两个可学习的参数α和β对x进行操作,如式(3)所示。所以,可以通过可学习参数α和β使搭建的网络模型进行特征分布的学习,避免训练效率的下降和网络泛化能力的降低。d.第四层为卷积层,卷积核的数量为32个,卷积核的大小为3
×
3,步长为1,无填充,加入按照结尾正态分布生成随机张量的初始化器TruncatedNormal,产生截断正态分布随机数。e.第五层为激活层,选用ELU函数作为激活函数。第六层为批量归一化层BN(Batch Normalization)。f.第七层为最大池化层,池化层采样核大小均为2
×
2,步长为1。添加最大池化层是为了减化网络的复杂度,减小内存消耗,减小计算量等。g.第八层为卷积层,卷积核的数量为64个,卷积核的大小为3
×
3,步长为1,无填充,加入按照结尾正态分布生成随机张量的初始化器TruncatedNormal,产生截断正态分布随机数。h.第九层为激活层,选用ELU函数作为激活函数;第十层为批量归一化层BN(Batch Normalization);第十一层为最大池化层,池化层采样核大小均为2
×
2,步长为1。i.第十二层为卷积层,卷积核的数量为128个,卷积核的大小为3
×
3,步长为1,无填充,加入按照结尾正态分布生成随机张量的初始化器TruncatedNormal,产生截断正态分布随机数。j.第十三层为...

【专利技术属性】
技术研发人员:于微波周旺杨宏韬刘克平李秀兰李昱
申请(专利权)人:长春工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1