APP下载

卷积神经网络在工件识别中的应用*

2019-11-27韩卫光

组合机床与自动化加工技术 2019年11期
关键词:特征提取灰度工件

甘 露,韩卫光

(1.中国科学院 沈阳计算技术研究所, 沈阳 110168; 2.中国科学院大学, 北京 100049)

0 引言

工件识别是工业生产过程中不可缺少的步骤[1]。主要是利用机器视觉技术,模仿人类的视觉系统,从而建立智能的机器识别系统[2]。传统的基于机器视觉的智能识别系统主要是基于特征提取和模板匹配[3-5]的方法进行工件识别。该类方法通过提取工件的轮廓、边缘、特征点等工件特征,与原始工件的模板进行匹配识别[6-8]。另外,近年来还有T Ojala等提出了基于图像局部纹理的局部二值模式(Local Binary Pattern,LBP)方法[9];由Dalal等提出的基于方向梯度直方图(Histogram of Oriented Gradient,HOG)方法[10];以及基于主成分分析(PCA)和SIFT特征相结合等方法[11]。这些基于特征提取的方法,与工件的类型有着很强的关联性,对于不同类型的工件,其鲁棒性较差,很难具有通用性。并且该类方法的识别准确率易受工件的平移旋转、光照、噪声等因素的影响。

研究表明,卷积神经网络(Convolutional Neural Network, CNN)的多层卷积层能够自动提取图像的特征,并逐步将提取的底层特征融合形成高级特征,实现从局部信息逐渐抽象到高层语义信息的过程。整个处理流程不需要人工干预,并且通过全连接层将特征提取和图像分类串联起来,从而完成端到端的图像识别。本文结合卷积神经网络技术和机器视觉技术,构建了一个6层的端到端的卷积神经网络模型来实现对工件的识别。该网络模型包含4个卷积层和2个全连接层,并在网络模型的训练过程中加入了激活层、最大值池化层和局部响应归一化层。激活层提高了对网络模型中的非线性特征的提取;最大值池化层降低了网络模型中数据维度,减少网络模型中的参数数量;局部响应归一化层抑制反馈较小的神经元,提高了网络模型的泛化能力。在进行网络训练之前,加入了图像预处理,降低了因噪声干扰、光照变化等不利因素对网络模型识别结果的影响。实验结果表明,卷积神经网络模型有效的解决了工件识别领域中的特征提取困难、鲁棒性差、通用性差等问题。

1 图像预处理

图片预处理过程中能有效的降低光照变化、噪声的干扰等不利因素;在改善图像质量的同时,能很好的提高卷积神经网络模型的准确率。

1.1 图像灰度化

摄像机采集的图像大多是彩色的,但是彩色的图像不仅计算量大,而且对于工业生产环境中彩色图像的工件识别没有很好的效果,因此,我们需要将彩色图像进行灰度化处理,转换成相应的灰度图。一般的,当R=G=B时,彩色图像就可以转换成一幅灰度图,而R=G=B的值就称为灰度值,灰度值的范围为0~255。目前进行灰度化的方法主要有平均值法、最大值法以及加权平均法。平均值法就是取RGB中的均值做为灰度值;最大值法则是取取RGB中的最大值做为灰度值;加权平均法则是根据RGB所占的比例,按一定的权值加权平均取得的灰度值。

1.2 图像去噪

图像在采集过程中,必然会受到各种因素的影响,比如信号干扰、光照不均等,都会在图像中引入噪声[12]。为了提高工件识别的准确率,因此在图像预处理阶段必须对图像进行去噪。均值滤波[13-15]是一种线性领域滤波算法,能对图像中滤波进行很好的滤除。均值滤波是通过对目标像素领域内的像素点的灰度值求取平均值,然后再用平均值取代像素点的方法。该方法是一种领域平均法。其求取公式如式(1)所示:

(1)

其中,(x,y)是目标像素点的位置,f(x,y)是像素点的灰度值,m是领域像素点的个数。

2 卷积神经网络(CNN)

卷积神经网络是一种多层感知机(Multilayer Perceptron, MLP)的变种模型,刚开始被用来模拟大脑皮层的视觉行为,后来被应用在计算机视觉的物体识别任务中,并且表现出色。卷积神经网络一般由输入层、卷积层、池化层、激活层、全连接层、以及最后的输出层组成[16-19],如图1所示。从输入层到输出层,每个层之间通过各个神经节点建立联系,逐层传递信息。连续的卷积池化操作能够对原始数据的特征信号进行解码、演绎、汇聚,映射到相应的特征空间,再通过全连接层进行分类输出。

图1 典型的神经网络结构图

卷积层是通过不同大小的卷积核经过卷积运算,将每一块区域的特征信息进行汇聚、融合,形成一个局部区域的刻画;卷积层采用类似滑动窗口模式遍历整个特征图。

激活层主要是通过激活函数,对输入数据进行映射变换,提供网络的非线性建模能力。

池化层通过计算特征图的局部块的值,降低了数据的维度,具有平移不变性,并且极大的减少了网络的计算量和参数数量。

全连接层是一种传统的多层感知机模型,通过与前一层的每一个神经元全连接,输出图像的高维特征,最后通过softmax回归分类模型[20-21]输出每个类别的概率。

2.1 基于卷积神经网络的工件识别分类模型

基于卷积神经网络的工件识别分类模型如图2所示,包含卷积层、激活层、池化层、局部响应归一化层(LRN层)、全连接层。

图2 工件识别分类模型图

该模型中使用3×3的卷积核进行图像的特征提取,第一层32个卷积核,第二层64个卷积核,第三层和第四层128个卷积核。激活层使用PReLU(Parametric Rectified Linear Unit)函数[22],该函数加入了可学习率ai,使得PReLU函数的输出总是更趋近于零均值,从而可以使梯度下降算法优化的结果更接近于自然梯度。该函数表达式如式(2)所示:

(2)

PReLU函数的图像如图3所示。

图3 PReLU函数图像

池化层使用大小为2×2,步长为1的最大值池化。

局部响应归一化层(LRN层)是借助生物学的侧抑制的概念,通过局部抑制,使得区域中响应大的值变得相对较大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。其中LRN层的公式如式(3)所示:

(3)

全连接层是各个神经节点之间做内积运算,主要是前向计算和后向计算。后向计算的公式见式(4):

y=WTx+b

(4)

(5)

其中,y∈Rm×1代表神经元的输出,x∈Rn×1代表神经元的输入,W∈Rn×m代表神经元的权值,b为偏置项,ι为神经元。

2.2 训练网络模型

xι=f(uι)

(6)

(7)

反向传播阶段是使用链式法则,逐层对每个神经节点迭代进行梯度计算,用以更新权值,从而使得结果接近代价函数或者最小化损失函数(Cost Function)。其中,损失函数如式(8):

(8)

3 实验分析

3.1 实验过程设计

实验需计算机一台,测试环境是ubuntu16.04-64位操作系统,开发平台有tensorflow、opencv-3.4.1。利用opencv对图像进行预处理,再通过tensorflow深度学习平台进行网络训练和学习。通过在tensorflow平台上搭建卷积神经网络模型实现对工件的识别。

3.2 实验结果

图4是实验室中任选的6种工件原图。

图4 实验工件图

图5是通过预处理后的工件图片。

图5 预处理图

图6是测试环境下对工件识别的测试效果图,图中显示了识别的概率和对应的类别。

图6 测试效果图

3.3 实验数据

通过对这6种工件进行任意摆放,且对每类工件进行分别进行200次实验,实验结果如表1所示。根据表1可知算法的平均识别时间是0.173s,平均识别准确率是98.7,优于文献[8]基于SVM的工件识别的平均准确率93.2%。

表1 实验数据表

4 结束语

本文针对机器人应用中工件识别问题,通过图像预处理,再经过本文构建的卷积神经网络模型进行预测,实现了目标工件的识别,并且有效的解决了传统工件识别方法中的工件的平移、旋转、光照、噪声等问题。经实验证明,本文构建的卷积神经网络模型在工件识别中有良好的效果和更好的鲁棒性,其平均识别准确率优于传统基于特征提取和模板匹配的方法。

猜你喜欢

特征提取灰度工件
带服务器的具有固定序列的平行专用机排序
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
曲轴线工件划伤问题改进研究
Arduino小车巡线程序的灰度阈值优化方案
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
考虑非线性误差的五轴工件安装位置优化
基于Daubechies(dbN)的飞行器音频特征提取