钥匙牙花识别方法与流程

文档序号:14451096阅读:6509来源:国知局

本发明涉及一种钥匙牙花识别技术领域,特别是涉及一种钥匙牙花识别方法。



背景技术:

锁具制造行业是国民经济的重要行业之一,锁具巨大的市场容量以及逐年递增的需求量,给制锁行业的自动化加工以及组装效率提出了很高的要求。传统的加工技术、制造设备以及生产方式难以满足市场的需求。

钥匙牙花识别是锁具装配中的一道关键工序,直接影响着锁具装配的效率与良品率。目前,普遍采用的方法是人工识别和传感器机械识别。人工识别方法效率低、可靠性差,无法满足工业化批量生产的要求;机械识别有识别精度不高、自动化程度低、有机械损耗等弊端。



技术实现要素:

本发明的目的是克服现有技术中的不足之处,提供一种钥匙牙花识别方法,能够解决传统钥匙牙花人工识别效率低,以及机械识别精度不稳定的问题,本发明提出一种基于多层感知学习的智能识别方法;该发明以机器视觉为技术手段,采用深度学习算法,快速而准确地识别出钥匙的牙花。

本发明的目的是通过以下技术方案来实现的:

一种钥匙牙花识别方法,

s110:感知步骤:

定义输入层有n0个感知元,第一个隐含层有n1个感知元,第二个隐含层有n2个感知元,输出层有n3个感知元;定义w为权重;

建立预设数学模型,如图1所示

建立预设输入层函数关系:

第一隐含层:由w(1)与输入层全连接;

第二隐含层:由w(2)与第一隐含层全连接;

选取sigmoid函数作为激活函数:得到

x(1)=f(s(1))=f(w(1)x(0))(1)

x(2)=f(s(2))=f(w(2)x(1))(2)

在输出层中:由w(3)与第二隐含层全连接得到:

x(3)=f(s(3))=f(w(3)x(2))(3)

多层感知器按照层内之间无连接,相邻两层神经元全连接的方式,由输入向输出依次传递的前向计算的特点进行传播

s120:训练学习步骤:

假设第q个样本添加到上述感知模型中,可以定义其性能指标,该性能指标度量了期望输出与实际的模型输出之间的误差情况:

定义dq是期望输出,yq是实际的模型输出

对于输出层而言,其权重的梯度可以由公式直接求出:

对于隐含层来说,同样由公式(5)可以得到:

再由链式求导法则可得:

为了表达式上的方便,可以令:

如此由式(7)及上面的表达式,可以得到

定义δj(l)(l表示输出层的层数)是表示在输出层上的局部误差,而δj(l+1)(l=1,2,3…)则表示在各个隐含层的局部误差。

在其中一实施例中,在输出层l中,由δj(l)=(f(sj(l))-yj(l))f′(sj(l))能够求出,根据δj(l)=(f(sj(l))-yj(l))f′(sj(l))能够解出其他的δj(l)。

与现有技术相比,本发明具有以下优点:

本发明的钥匙牙花识别方法能够快速而准确地识别出钥匙牙花,而且识别过程完成由计算机自动完成,不需要人工干预,而且性能稳定。

附图说明

图1为多层感知模型图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。

需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

如图1所示,为多层感知模型图。

1、一种钥匙牙花识别方法,包括感知步骤与训练学习步骤。

s110:感知步骤:

定义输入层有n0个感知元,第一个隐含层有n1个感知元,第二个隐含层有n2个感知元,输出层有n3个感知元;定义w为权重;

建立预设数学模型:

建立预设输入层函数关系:

第一隐含层:由w(1)与输入层全连接;

第二隐含层:由w(2)与第一隐含层全连接;

选取sigmoid函数作为激活函数:得到

x(1)=f(s(1))=f(w(1)x(0))(1)

x(2)=f(s(2))=f(w(2)x(1))(2)

在输出层中:由w(3)与第二隐含层全连接得到:

x(3)=f(s(3))=f(w(3)x(2))(3)

多层感知器按照层内之间无连接,相邻两层神经元全连接的方式,由输入向输出依次传递的前向计算的特点进行传播

s120:训练学习步骤:

假设第q个样本添加到上述感知模型中,可以定义其性能指标,该性能指标度量了期望输出与实际的模型输出之间的误差情况:

定义dq是期望输出,yq是实际的模型输出

对于输出层而言,其权重的梯度可以由公式直接求出:

对于隐含层来说,同样由公式(5)可以得到:

再由链式求导法则可得:

为了表达式上的方便,可以令:

如此由式(7)及上面的表达式,可以得到

不失一般性,式(8)也可以推广到有限层的模型结构中,该式同样适用,其中,定义δj(l)(l表示输出层的层数)是表示在输出层上的局部误差,而δj(l+1)(l=1,2,3…)则表示在各个隐含层的局部误差。

进一步的,输出层l中,由δj(l)=(f(sj(l))-yj(l))f′(sj(l))能够求出,根据δj(l)=(f(sj(l))-yj(l))f′(sj(l))能够解出其他的δj(l)。

一般情况下,由于在输出层l中,由δj(l)=(f(sj(l))-yj(l))f′(sj(l))可以直接求出,所以由这个公式可以解出其他的δj(l),进一步就可以计算出各个权重的梯度,然后就可以按照梯度下降的算法进行感知模型的误差反向训练学习算法,从而可以按照识别的要求与精度来更新权重达到具体问题的要求。

一种反向训练学习方法,包括以下步骤:

s1、按照实际问题要求采集样本数据(x,y),

s2、按照感知模型的前向传播信息的方式求解每层各个神经元的加权w和s,

s3、计算解出输出层中的δ(l);

s4、由式(8)计算其他的δj(l),并且进一步就得各个权重的梯度;

s5、选取一个合适的学习率参数μ,来进行权重的调整或者更新:

综上所述,通过这种误差反向训练学习算法,能保证感知模型(即预设数学模型)的性能误差eq最小化,从而可以获得满足钥匙牙花识别分类要求的最优化的权重wij(l)。

在一实施例中,采用本发明的钥匙牙花识别方法进行操作时,首先,由工业相机(ccd)对钥匙牙花进行拍照,通过图像采集卡上传到计算机,计算机通过图像获取牙花信息(x,y),建立如图1所示的感知模型;然后,通过图像信息不断学习更新对应感知模型参数;最后,经过大量的学习训练后得到确定的感知模型,经过模型匹配或对比,识别出钥匙牙花对应齿形。

与现有技术相比,本发明具有以下优点:

本发明的钥匙牙花识别方法能够快速而准确地识别出钥匙牙花,而且识别过程完成由计算机自动完成,不需要人工干预,而且性能稳定。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1