CN112508023A - 基于深度学习的零件喷码字符端到端识别方法 - Google Patents
基于深度学习的零件喷码字符端到端识别方法 Download PDFInfo
- Publication number
- CN112508023A CN112508023A CN202011163492.8A CN202011163492A CN112508023A CN 112508023 A CN112508023 A CN 112508023A CN 202011163492 A CN202011163492 A CN 202011163492A CN 112508023 A CN112508023 A CN 112508023A
- Authority
- CN
- China
- Prior art keywords
- time
- node
- paths
- sub
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000005507 spraying Methods 0.000 title claims abstract description 20
- 238000013135 deep learning Methods 0.000 title claims abstract description 12
- 238000012549 training Methods 0.000 claims abstract description 36
- 238000013528 artificial neural network Methods 0.000 claims abstract description 28
- 230000000306 recurrent effect Effects 0.000 claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims description 48
- 238000011176 pooling Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims description 11
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 238000013527 convolutional neural network Methods 0.000 abstract description 10
- 230000011218 segmentation Effects 0.000 abstract description 8
- 125000004122 cyclic group Chemical group 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000013518 transcription Methods 0.000 description 10
- 230000035897 transcription Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008034 disappearance Effects 0.000 description 3
- 238000004880 explosion Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009967 tasteless effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
Abstract
本发明提供一种基于深度学习的零件喷码字符端到端识别方法,所述方法包括以下步骤:S1:采用卷积层提取目标图片的图像特征,所述目标图片为含有待识别字符的图片;S2:采用循环神经网络RNN,以所述图像特征为输入,识别图像特征的感受野信息,获得所述图像特征的特征序列;S3:利用联结主义时间分类CTC训练后的循环神经网络对所述特征序列进行学习,获得所述特征序列的预测序列;S4:根据CTC Beam Search Decoding算法,以所述预测序列为输入,获得字符序列。本申请提供的识别方法采用了卷积神经网络(CNN)、循环神经网络(RNN)和联结主义时间分类(CTC)的网络结构,实现一行喷码字符的端到端识别;本申请的识别方法不依赖于字符分割,通用性强;字符识别效率更高。
Description
技术领域
本发明涉及字符识别技术领域,尤其涉及一种基于深度学习的零件喷码字符 端到端识别方法。
背景技术
在汽车发动机的生产过程中,有特定工位需要检测发动机的喷码信息,传 统的人工喷码检测存在劳动强度大、用人成本高、检测精度低等缺点。目前, 对于端到端字符识别已经提出了以字符分割为基础的喷码字符的识别方法,虽 然这种识别方法虽然在识别效果上非常理想,但是严重依赖于字符分割的效果, 即字符分割效果不佳的话,会严重影响字符的识别。而字符分割通常采用的图 像处理方法,往往是针对一类图像而特殊设计的,通用性不佳。
因此,亟需一种对字符分割的依赖性要小、通信性高的端到端字符识别方 法。
发明内容
有鉴于此,本发明提供一种基于深度学习的零件喷码字符端到端识别方法, 其特征在于:所述方法包括以下步骤:
S1:采用卷积层提取目标图片的图像特征,所述目标图片为含有待识别字 符的图片;
S2:采用循环神经网络RNN,以所述图像特征为输入,识别图像特征的感 受野信息,获得所述图像特征的特征序列;
S3:利用联结主义时间分类CTC训练后的循环神经网络对所述特征序列进 行学习,获得所述特征序列的预测序列;
S4:根据CTC Beam Search Decoding算法,以所述预测序列为输入,获得 字符序列。
进一步,所述卷积层包括7个卷积层和4个池化层,其网络架构从输入到 输出依次为输入、卷积1、池化1、卷积2、池化2、卷积3、卷积4、池化3、 卷积5、卷积6、池化4、卷积7;
其中,卷积1、卷积2、卷积3、卷积4、卷积5和卷积6的卷积核大小均 为(3,3)、步长均为1和周边填充系数均为1,卷积7的卷积核大小为(2, 2)、步长为1和周边填充系数为0;
池化1和池化2的系数为(2,2),池化3和池化4的系数为(2,1)。
进一步,所述步骤S3包括如下步骤:
S31:联结主义时间分类CTC定义CTC Loss损失函数,构建预测的字符序 列和训练标签之间的多对一映射;
S32:联结主义时间分类CTC采用了动态规划算法计算CTC Loss,实现循 环神经网络RNN端到端训练。
进一步,所述CTC Loss损失函数采用如下方法确定:
其中,L表示CTC Loss损失函数,x表示输入特征序列,Z表示预测结果, S表示训练数据集,πt表示t时刻预测序列π中对应的字符,表示BiLSTM网 络预测得到的概率矩阵y中时序为t时预测结果为πt的概率;
所述动态规划算法计算CTC Loss采用如下方法确定:
其中,x表示输入特征序列,Z表示图像的标签,S表示训练数据集,表 示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为πt的概率,βt(s)表 示后向传播时在时刻t经过节点s的全部子路径的概率总和,αt(s)表示前向传播 时在时刻t经过节点s的全部子路径的概率总和。
进一步,所述前向传播时在时刻t经过节点s的全部子路径的概率总和αt(s) 采用如下方法确定:
基于动态规划算法可以得到:
初始情况为:
其中,α1(1)表示前向传播时在时刻1经过节点1的全部子路径的概率总和, 表示BiLSTM网络预测得到的概率矩阵y中时序为1时预测结果为空格的概 率,α1(2)表示前向传播时在时刻2经过节点2的全部子路径的概率总和,表 示BiLSTM网络预测得到的概率矩阵y中时序为1时预测结果为s2的概率,α1(s) 表示前向传播时在时刻1经过节点s的全部子路径的概率总和,s表示节点;
当s为空字符或s表示的字符与s-2表示的字符一样时有:
其中,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和, αt-1(s)表示前向传播时在时刻t-1经过节点s的全部子路径的概率总和,s表示节 点,表示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为s的概 率;
其他情况为:
其中,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和, αt-1(s)表示前向传播时在时刻t-1经过节点s的全部子路径的概率总和,s表示节 点,表示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为s的概 率;
由此,可以得到前向传播情况下,CTC Loss表示为:
-ln(p(z|x))=-ln(αT(smax)+αT(smax-1)) (2-4)
其中,x表示输入特征序列,Z表示图像的标签,s表示节点,smax表示最 大的节点,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和。
进一步,所述后向传播时在时刻t经过节点s的全部子路径的概率总和 βt(s),采用如下方法确定:
基于动态规划算法可以得到:
初始情况为:
其中,βT(smax)表示后向传播时在时刻T经过节点smax的全部子路径的概率, 表示BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为空格的概 率,βT(smax-1)表示后向传播时在时刻T经过节点smax-1的全部子路径的概率,表示BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为smax-1的概率;
当s为空字符或s表示的字符与s+2表示的字符一样时有:
其中,βt(s)表示后向传播时在时刻t经过节点s的全部子路径的概率总和, βt+1(s)表示后向传播时在时刻t+1经过节点s的全部子路径的概率总和,βt+1(s+1) 表示后向传播时在时刻t+1经过节点s+1的全部子路径的概率总和,表示 BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为s的概率;
其他情况为:
其中,表示后向传播时在时刻t经过节点s的全部子路径的概率总和, βt+1(s)表示后向传播时在时刻t+1经过节点s的全部子路径的概率总和,βt+1(s+1) 表示后向传播时在时刻t+1经过节点s+1的全部子路径的概率总和,βt+1(s+2)表 示后向传播时在时刻t+1经过节点s+2的全部子路径的概率总和,表示BiLSTM 网络预测得到的概率矩阵y中时序为T时预测结果为s的概率;
由此,可以得到后向传播情况下,CTC Loss表示为:
-ln(p(z|x))=-ln(β1(1)+β1(2))
其中,x表示输入特征序列,Z表示图像的标签,s表示节点,β1(1)表示后 向传播时在时刻1经过节点1的全部子路径的概率总和,β1(2)表示后向传播时 在时刻2经过节点2的全部子路径的概率总和。
本发明的有益技术效果:本申请提供的识别方法采用了卷积神经网络 (CNN)、循环神经网络(RNN)和联结主义时间分类(CTC)的网络结构,实现 一行喷码字符的端到端识别;本申请的识别方法不依赖于字符分割,通用性强; 字符识别效率更高。
附图说明
下面结合附图和实施例对本发明作进一步描述:
图1是本发明的卷积网络结构图。
图2是本发明的特征序列与图像对应关系图。
图3是本发明的标准循环神经网络结构图。
图4是本发明的LSTM网络结构图。
图5是本发明的双向LSTM结构图。
图6是本发明的理想情况下映射关系图。
图7是本发明的训练过程示例图。
图8是本发明的映射关系示例图。
图9是本发明的概率矩阵图。
图10是本发明的前向传播路径图。
图11是本发明的后向传播路径图。
图12是本发明的概率矩阵简单示例图。
图13是本发明的穷举法概率图。
图14是本发明的Beam Search算法概率图。
具体实施方式
以下结合说明书附图对本发明做出进一步的说明:
本发明提供的一种基于深度学习的零件喷码字符端到端识别方法,其特征 在于:所述方法包括以下步骤:
S1:采用卷积层提取目标图片的图像特征,所述目标图片为含有待识别字 符的图片;
S2:采用循环神经网络RNN,以所述图像特征为输入,识别图像特征的感 受野信息,获得所述图像特征的特征序列;
S3:利用联结主义时间分类CTC训练后的循环神经网络对所述特征序列进 行学习,获得所述特征序列的预测序列;
S4:根据CTC Beam Search Decoding算法,以所述预测序列为输入,获得 字符序列。
在步骤S2中,循环层,通过卷积层得到图像的特征序列后,需要根据这些 特征序列来对各个感受野信息进行识别。这里必须考虑识别对象的上下文信息, 属于时序数据的识别问题。由于卷积神经网络没有考虑时序问题,所以解决这 一类识别问题通常采用循环神经网络(RNN)来实现,标准的RNN结构及其展开 如图3所示。
图中,xt为网络的输入,A表示一组神经网络结构,yt为该网络的输出。 可以从图中看出,当x0输入网络并输出y0后,其神经网络会记录这次预测的信 息作为输入参数来参与下一个y的预测。这使得循环神经网络具有考虑上下文 信息的功能。但是标准的RNN网络存在梯度爆炸和梯度消失的问题[74],这使 得其存储上下文的范围非常有限,而且也给训练过程造成了很大的负担。用长 短时记忆(LSTM)来解决这个问题。LSTM网络内部主要由一个记忆单元和三 个门结构(输入门、输出门和遗忘门)共4个部分组成。当本次输入xt和上一个状态传递来的ht-1作为输入进入到LSTM中时,首先根据这两个输入,计算得 到4个状态分别赋予4个单元,即:
z=tanh(W(xt,ht-1)) (3)
zi=σ(Wi(xt,ht-1)) (4)
zf=σ(Wf(xt,ht-1)) (5)
zo=σ(Wo(xt,ht-1)) (6)
其中,z表示记忆单元,zi表示输入门(input gate),zf下标f表示遗忘 门(forgetgate),zo表示输出门(output gate),W表示各单元的内部网 络计算参数,σ表示sigmoid激活函数,可以将输入数值转换为0到1之间的 数来控制门的状态,tanh表示tanh激活函数,将输入记忆单元的数值转换为 -1到1之间的数。
相较于标准RNN网络,LSTM增加了一个遗忘门以解决梯度爆炸或梯度消失 带来的无法联系更远上下文的问题。LSTM网络的内部结构如图4所示。
从图中可以看出,相较于标准RNN的两个参数(xt和ht-1)作为输入值,LSTM 网络增加了ct-1作为输入。图中的“·”符号表示两个同阶矩阵中的对应元素相 乘,即哈达玛积,根据连接的z的下标,分别代表遗忘门、输入门和输出门; “+”则表示两个矩阵相加,代表记忆单元。LSTM网络输出为三个值:ct、ht和 yt,其计算表达式分别为:
ct=zf·ct-1+zi·z (7)
ht=zo·tanh(ct) (8)
yt=σ(W′ht) (9)
其中,ct、ht和yt表示LSTM网络输出的三个值,zf下标f表示遗忘门(forget gate),zi表示输入门(input gate),zo表示输出门(output gate),W表 示各单元的内部网络计算参数,σ表示sigmoid激活函数,可以将输入数值转 换为0到1之间的数来控制门的状态,tanh表示tanh激活函数,将输入记忆 单元的数值转换为-1到1之间的数。
LSTM网络通过zf来控制遗忘门的开启或关闭,从而达到对上一状态ct-1进行 选择性遗忘的目的。这使得LSTM网络相较于传统RNN网络对上一阶段的输入有 了接受或者不接受的选择,从而避免了一味地接受上一阶段的状态,最终导致 梯度爆炸或消失。
图4中表示的是单向LSTM网络结构,即只是从1到t的单向传递。这意味 着每个时刻的输出只和前面的识别结果有关,而和后面的识别结果没有关系。 而在本文要解决的字符识别问题中,两个方向的上下文信息都是有用且互补的。 所以这里采用双向LSTM网络(BiLSTM),即将两个LSTM网络,一个向前一个 向后地组合在一起,达到同时考虑前后状态的目的。BiLSTM网络结构如图5所 示。
图5中,xt为网络的输入,A和A′分别表示一组LSTM网络结构,st表示ct和 ht两种参数在状态间传递,yt为该网络的输出。
BiLSTM网络会输出一个c×T的概率矩阵,其中c表示预测的类别(class) 个数,对于本文的研究对象喷码字符而言,包括类别为0-9的10种数字、A-Z 的26类大写英文字母和1类特殊字符,另外添加一个相当于背景类别的空格类, 一共有38类字符;T为特征序列的个数,本文中为25。最终输出的概率矩阵表 示为y=(y1,y2,...,yT),其中每一列表示为且满足每列的概率 和为1。循环层得到的概率矩阵y将作为输入值传入转录层,而想要得到最合理 的概率矩阵y就需要对循环神经网络中的参数进行训练优化。
对于循环神经网络而言,最理想的情况就是:训练时,训练标签和特征序 列一一对应,特征序列和每个字符的图像一一对应,即特征序列和图像之间的 映射关系已经对应地标注好了,如图6所示。这时由于特征序列和图像之间是 一一对应的,所以神经网络模型在训练时可以直接根据特征序列和训练标签之 间的差异来定义模型的损失函数,可以直接使用传统的RNN模型的训练方式, 完成端到端的模型训练。
然而,由于实际现实中的字符图像和训练标签都是不定长的,其特征序列 和图像之间的映射关系通常如图2所示,即特征序列完全无法和字符图像一一 对应。由于采集的图像数据中字符大小、单个字符宽度、字符个数都是不确定 的,难以通过设置参数的方法让特征序列和字符图像一一对应。而通过人工手 段,可以人为地将图像进行分割并单独进行标注。但这种方法的人力成本和时 间成本极高,难以制造大样本数据集,不具有实用价值。在这种情况下,传统 的RNN训练和预测方法不再适用。
上述技术方案本采用了卷积神经网络(CNN)、循环神经网络(RNN)和联 结主义时间分类(CTC)的网络结构,实现一行喷码字符的端到端识别;本申请 的识别方法不依赖于字符分割,通用性强;字符识别效率更高。
在本实施例中,所述卷积层包括7个卷积层和4个池化层,其网络架构从 输入到输出依次为输入、卷积1、池化1、卷积2、池化2、卷积3、卷积4、池 化3、卷积5、卷积6、池化4、卷积7;
其中,卷积1、卷积2、卷积3、卷积4、卷积5和卷积6的卷积核大小均 为(3,3)、步长均为1和周边填充系数均为1,卷积7的卷积核大小为(2, 2)、步长为1和周边填充系数为0;
池化1和池化2的系数为(2,2),池化3和池化4的系数为(2,1)。
卷积层,顾名思义该层主要由卷积操作构成,其主要功能是提取图像特征, 为后续的循环层提供图像的特征序列。该层的网络结构如图1所示。
其中,卷积神经网络包含卷积层的输入和输出,其输入为高度为32、宽度 为100的图像;输出为宽度为25、高度为1的512层特征图。这就是图像的特 征序列,将作为输入进入循环层。图像中每一个感受野的图像特征信息都记录 在对应的特征序列中,以供循环层识别,图像和特征序列的映射关系如8所示。 特征序列的高度为1,所以可以表示为x=(x1,x2,...,x25),25为特征序列的宽度。 其中,图像中每一个感受野的特征序列为512为特征图层数, t∈[1,25]。
在图1中,一共有7次卷积操作。前6次卷积核大小均为(3,3),步长均 为1,周边填充系数(padding size)均为1,这种情况下的特征图尺寸的高度 和宽度不会因为卷积操作而发生变化。最后一次卷积操作其卷积核大小为 (2,2),步长为1,周边填充系数(paddingsize)为0,这使得特征图的高 度由2变为了1。激活函数仍选用RReLU。
在图1中,一共有4次池化操作。前2次的系数为(2,2),即高宽均缩小 为原来的一半。后两次系数为(2,1),即只将高度缩为一半,宽度不变。
在本实施例中,所述步骤S3包括如下步骤:
S31:联结主义时间分类CTC定义CTC Loss损失函数,构建预测的字符序 列和训练标签之间的多对一映射;
S32:联结主义时间分类CTC采用了动态规划算法计算CTC Loss,实现循 环神经网络RNN端到端训练。
在本实施例中,所述CTC Loss损失函数采用如下方法确定:
其中,L表示CTC Loss损失函数,x表示输入特征序列,Z表示预测结果, S表示训练数据集,πt表示t时刻预测序列π中对应的字符,表示BiLSTM网 络预测得到的概率矩阵y中时序为t时预测结果为πt的概率;
所述动态规划算法计算CTC Loss采用如下方法确定:
其中,x表示输入特征序列,Z表示图像的标签,S表示训练数据集,表 示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为πt的概率,βt(s)表 示后向传播时在时刻t经过节点s的全部子路径的概率总和,αt(s)表示前向传播 时在时刻t经过节点s的全部子路径的概率总和。
联结主义时间分类(CTC)是一种RNN的端到端的训练和预测方法。通过 CTC,RNN无需事先对特征序列和图像信息之间的映射关系进行标注,就可以直 接对特征序列进行学习。在神经网络训练时,它定义了CTC Loss损失函数,实 现了预测的字符序列和训练标签之间的多对一映射;同时它采用了动态规划算 法计算CTC Loss,实现RNN端到端训练。
以一段喷码图像为例,如图7示,通过构建CTC Loss损失函数来分析循环 神经网络的训练过程。
其中,I表示输入的图像,x是该图像通过卷积神经网络得到的特征序列, w表示预测的字符序列,z为图像的标签。根据上一小节的定义,标签为 L={0,1,2,3,...,X,Y,Z,-}共37类,另外扩展一个表示背景类别的标签 L′={0,1,2,3,...,X,Y,Z,-,_},扩展后共38类。
定义一个多对一的映射函数Β:(L′)T→LT,其规则为:连续相同的字符进行 去重处理;去除空格字符(“_”)。示例如图8所示。
神经网络训练,就是已知一组图像和它们对应的标签,对神经网络中的参 数进行计算和优化,要使得输入特征序列为x时,预测结果为标签z的概率最大。 用数学表达式表示:
h(x)=argmaxp(z|x)
这里的p(z|x)表示所有识别结果为z的预测序列π的概率之和。
即当π∈(L′)T,z∈LT,π∈Β-1(z)时,有:
计算该损失函数的关键在于计算p(z|x),由于直接暴力计算p(z|x)的复杂 度非常高,采用动态规划算法完成计算。
根据RNN网络求得的概率矩阵y,可以得到图9。
根据前向传播的约束条件:转换只能为右下方向,禁止转向其它方向;相 同字符之间至少有一个空字符;非空字符不能跳过;起点为前两个字符;终点 必须为最后两个字符。可以遍历所有映射为“HY2”的合法路径,得到时序T=5, 标签z为“HY2”的全部路径如图10所示。
所述前向传播时在时刻t经过节点s的全部子路径的概率总和αt(s)采用如 下方法确定:
基于动态规划算法可以得到:
初始情况为:
其中,α1(1)表示前向传播时在时刻1经过节点1的全部子路径的概率总和, 表示BiLSTM网络预测得到的概率矩阵y中时序为1时预测结果为空格的概 率,α1(2)表示前向传播时在时刻2经过节点2的全部子路径的概率总和,表 示BiLSTM网络预测得到的概率矩阵y中时序为1时预测结果为s2的概率,α1(s) 表示前向传播时在时刻1经过节点s的全部子路径的概率总和,s表示节点;
当s为空字符或s表示的字符与s-2表示的字符一样时有:
其中,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和, αt-1(s)表示前向传播时在时刻t-1经过节点s的全部子路径的概率总和,s表示节 点,表示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为s的概 率;
其他情况为:
其中,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和, αt-1(s)表示前向传播时在时刻t-1经过节点s的全部子路径的概率总和,s表示节 点,表示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为s的概 率;
由此,可以得到前向传播情况下,CTC Loss表示为:
-ln(p(z|x))=-ln(αT(smax)+αT(smax-1)) (2-4)
其中,x表示输入特征序列,Z表示图像的标签,s表示节点,smax表示最 大的节点,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和。
所述后向传播时在时刻t经过节点s的全部子路径的概率总和βt(s),采用如 下方法确定:
基于动态规划算法可以得到:
初始情况为:
其中,βT(smax)表示后向传播时在时刻T经过节点smax的全部子路径的概率, 表示BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为空格的概 率,βT(smax-1)表示后向传播时在时刻T经过节点smax-1的全部子路径的概率,表示BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为smax-1的概率;
当s为空字符或s表示的字符与s+2表示的字符一样时有:
其中,βt(s)表示后向传播时在时刻t经过节点s的全部子路径的概率总和, βt+1(s)表示后向传播时在时刻t+1经过节点s的全部子路径的概率总和,βt+1(s+1) 表示后向传播时在时刻t+1经过节点s+1的全部子路径的概率总和,表示 BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为s的概率;
其他情况为:
其中,βt(s)表示后向传播时在时刻t经过节点s的全部子路径的概率总和, βt+1(s)表示后向传播时在时刻t+1经过节点s的全部子路径的概率总和,βt+1(s+1) 表示后向传播时在时刻t+1经过节点s+1的全部子路径的概率总和,βt+1(s+2)表 示后向传播时在时刻t+1经过节点s+2的全部子路径的概率总和,表示BiLSTM 网络预测得到的概率矩阵y中时序为T时预测结果为s的概率;
由此,可以得到后向传播情况下,CTC Loss表示为:
-ln(p(z|x))=-ln(β1(1)+β1(2))
其中,x表示输入特征序列,Z表示图像的标签,s表示节点,β1(1)表示后 向传播时在时刻1经过节点1的全部子路径的概率总和,β1(2)表示后向传播时 在时刻2经过节点2的全部子路径的概率总和。
至此,便完成了循环神经网络端到端训练的损失函数设计与计算。以该损 失函数值最小为优化目标,对神经网络参数进行优化,就实现了直接对特征序 列进行端到端学习训练的目的。
通过RNN的端到端训练,可以得到最优化的网络参数,从而使得根据输入 特征序列x求得的概率矩阵y最为合理。转录层的作用就是根据求得的概率矩阵y推断出最可能的字符序列l,一般采用CTC Beam Search Decoding算法实现。 下面将用一个简单的概率矩阵为例,来展示具体的转录算法。
如图12所示,,这是一个时序为3,标签为{a,b,-}的概率矩阵(“-”表 示空白)。值得注意的是,这里的概率矩阵是真实情况下的概率矩阵,之前网 络训练时的概率矩阵左侧标签进行了排序是为了更好地说明字符序列的传播路 径。该概率矩阵最终得到的序列的可能情况有:“a”、“b”、“aa”、“bb”、 “ab”、“ba”、“aba”、“bab”、“-”(空白)。穷举法计算概率如图 13所示。
图中,黑色概率代表各自对应字符出现的概率,红色表示预测序列不同但 转录结果相同的字符序列概率总和。如:“aaa”、“aa-”、“-aa”、“a--”、 “-a-”、“--a”的转录结果均为“a”,其概率和为0.297。可以看出最终转 录结果概率最高的是“a”。这种穷举算法虽然能得到最优解,但是时间复杂度 太大,对于类别更多的情况,运算量过大。
CTC一般采用Beam Search的方法,设置一个参数W为Beam Width,每一 步搜索只选取概率最大的W个节点进行扩展,以减少计算量。如设置W=3,Beam Search算法的概率图如图14所示。
图中,每一阶段只选取概率最大得3个节点,见图中的黄色方框。然后只 对这些节点进行进一步的扩展。在最后一个阶段对具有同一转录结果的不同字 符序列进行概率合并,虚线框表示被合并的项,红色表示合并的转录结果及其 总概率。可以看出最终转录结果概率最高的仍然是“a”。
Beam Search算法使每一步搜索只扩展W个节点,而不是穷举算法的指数 增长,大大降低了搜索的复杂度,计算量得到了明显的减少。而计算结果虽然 不一定是最优解,但是在实际应用中能够在限定时间的条件下找到近似解也是 可以接受的。
通过CTC Beam Search Decoding算法,循环神经网络就可以根据概率矩阵 y在较短的时间内找到对应字符序列的近似解甚至最优解,从而完成从概率矩 阵到字符序列的转录.
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管 参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解, 可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的 宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种基于深度学习的零件喷码字符端到端识别方法,其特征在于:所述方法包括以下步骤:
S1:采用卷积层提取目标图片的图像特征,所述目标图片为含有待识别字符的图片;
S2:采用循环神经网络RNN,以所述图像特征为输入,识别图像特征的感受野信息,获得所述图像特征的特征序列;
S3:利用联结主义时间分类CTC训练后的循环神经网络对所述特征序列进行学习,获得所述特征序列的预测序列;
S4:根据CTC Beam Search Decoding算法,以所述预测序列为输入,获得字符序列。
2.根据权利要求1所述基于深度学习的零件喷码字符端到端识别方法,其特征在于:所述卷积层包括7个卷积层和4个池化层,其网络架构从输入到输出依次为输入、卷积1、池化1、卷积2、池化2、卷积3、卷积4、池化3、卷积5、卷积6、池化4、卷积7;
其中,卷积1、卷积2、卷积3、卷积4、卷积5和卷积6的卷积核大小均为(3,3)、步长均为1和周边填充系数均为1,卷积7的卷积核大小为(2,2)、步长为1和周边填充系数为0;
池化1和池化2的系数为(2,2),池化3和池化4的系数为(2,1)。
3.根据权利要求1所述基于深度学习的零件喷码字符端到端识别方法,其特征在于:所述步骤S3包括如下步骤:
S31:联结主义时间分类CTC定义CTC Loss损失函数,构建预测的字符序列和训练标签之间的多对一映射;
S32:联结主义时间分类CTC采用了动态规划算法计算CTC Loss,实现循环神经网络RNN端到端训练。
4.根据权利要求3所述基于深度学习的零件喷码字符端到端识别方法,其特征在于:所述CTC Loss损失函数采用如下方法确定:
其中,L表示CTC Loss损失函数,x表示输入特征序列,Z表示预测结果,S表示训练数据集,πt表示t时刻预测序列π中对应的字符,表示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为πt的概率;
所述动态规划算法计算CTC Loss采用如下方法确定:
5.根据权利要求4所述基于深度学习的零件喷码字符端到端识别方法,其特征在于:所述前向传播时在时刻t经过节点s的全部子路径的概率总和αt(s)采用如下方法确定:
基于动态规划算法可以得到:
初始情况为:
其中,α1(1)表示前向传播时在时刻1经过节点1的全部子路径的概率总和,表示BiLSTM网络预测得到的概率矩阵y中时序为1时预测结果为空格的概率,α1(2)表示前向传播时在时刻2经过节点2的全部子路径的概率总和,表示BiLSTM网络预测得到的概率矩阵y中时序为1时预测结果为s2的概率,α1(s)表示前向传播时在时刻1经过节点s的全部子路径的概率总和,s表示节点;
当s为空字符或s表示的字符与s-2表示的字符一样时有:
其中,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和,αt-1(s)表示前向传播时在时刻t-1经过节点s的全部子路径的概率总和,s表示节点,表示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为s的概率;
其他情况为:
其中,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和,αt-1(s)表示前向传播时在时刻t-1经过节点s的全部子路径的概率总和,s表示节点,表示BiLSTM网络预测得到的概率矩阵y中时序为t时预测结果为s的概率;
由此,可以得到前向传播情况下,CTC Loss表示为:
-ln(p(z|x))=-ln(αT(smax)+αT(smax-1)) (2-4)
其中,x表示输入特征序列,Z表示图像的标签,s表示节点,smax表示最大的节点,αt(s)表示前向传播时在时刻t经过节点s的全部子路径的概率总和。
6.根据权利要求4所述基于深度学习的零件喷码字符端到端识别方法,其特征在于:所述后向传播时在时刻t经过节点s的全部子路径的概率总和βt(s),采用如下方法确定:
基于动态规划算法可以得到:
初始情况为:
其中,βT(smax)表示后向传播时在时刻T经过节点smax的全部子路径的概率,表示BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为空格的概率,βT(smax-1)表示后向传播时在时刻T经过节点smax-1的全部子路径的概率,表示BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为smax-1的概率;
当s为空字符或s表示的字符与s+2表示的字符一样时有:
其中,βt(s)表示后向传播时在时刻t经过节点s的全部子路径的概率总和,βt+1(s)表示后向传播时在时刻t+1经过节点s的全部子路径的概率总和,βt+1(s+1)表示后向传播时在时刻t+1经过节点s+1的全部子路径的概率总和,表示BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为s的概率;
其他情况为:
其中,βt(s)表示后向传播时在时刻t经过节点s的全部子路径的概率总和,βt+1(s)表示后向传播时在时刻t+1经过节点s的全部子路径的概率总和,βt+1(s+1)表示后向传播时在时刻t+1经过节点s+1的全部子路径的概率总和,βt+1(s+2)表示后向传播时在时刻t+1经过节点s+2的全部子路径的概率总和,表示BiLSTM网络预测得到的概率矩阵y中时序为T时预测结果为s的概率;
由此,可以得到后向传播情况下,CTC Loss表示为:
-ln(p(z|x))=-ln(β1(1)+β1(2))
其中,x表示输入特征序列,Z表示图像的标签,s表示节点,β1(1)表示后向传播时在时刻1经过节点1的全部子路径的概率总和,β1(2)表示后向传播时在时刻2经过节点2的全部子路径的概率总和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163492.8A CN112508023A (zh) | 2020-10-27 | 2020-10-27 | 基于深度学习的零件喷码字符端到端识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163492.8A CN112508023A (zh) | 2020-10-27 | 2020-10-27 | 基于深度学习的零件喷码字符端到端识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112508023A true CN112508023A (zh) | 2021-03-16 |
Family
ID=74955983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011163492.8A Pending CN112508023A (zh) | 2020-10-27 | 2020-10-27 | 基于深度学习的零件喷码字符端到端识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112508023A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524521A (zh) * | 2023-06-30 | 2023-08-01 | 武汉纺织大学 | 一种基于深度学习的英文字符识别方法和系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016197381A1 (en) * | 2015-06-12 | 2016-12-15 | Sensetime Group Limited | Methods and apparatus for recognizing text in an image |
CN106407971A (zh) * | 2016-09-14 | 2017-02-15 | 北京小米移动软件有限公司 | 文字识别方法及装置 |
CN109271989A (zh) * | 2018-09-03 | 2019-01-25 | 广东电网有限责任公司东莞供电局 | 一种基于cnn和rnn模型的手写试验数据自动识别方法 |
CN109726715A (zh) * | 2018-12-27 | 2019-05-07 | 信雅达系统工程股份有限公司 | 一种文字图像序列化识别、结构化数据输出方法 |
CN109871938A (zh) * | 2019-01-21 | 2019-06-11 | 重庆大学 | 一种基于卷积神经网络的零部件喷码检测方法 |
CN110276881A (zh) * | 2019-05-10 | 2019-09-24 | 广东工业大学 | 一种基于卷积循环神经网络的纸币序列号识别方法 |
CN110399845A (zh) * | 2019-07-29 | 2019-11-01 | 上海海事大学 | 一种图像中连续成段文本检测与识别方法 |
CN110415683A (zh) * | 2019-07-10 | 2019-11-05 | 上海麦图信息科技有限公司 | 一种基于深度学习的空中管制语音指令识别方法 |
CN110738090A (zh) * | 2018-07-19 | 2020-01-31 | 塔塔咨询服务公司 | 使用神经网络进行端到端手写文本识别的系统和方法 |
US20200082196A1 (en) * | 2018-09-10 | 2020-03-12 | Sony Corporation | License plate number recognition based on three dimensional beam search |
CN111027562A (zh) * | 2019-12-06 | 2020-04-17 | 中电健康云科技有限公司 | 基于多尺度cnn和结合注意力机制的rnn的光学字符识别方法 |
CN111046946A (zh) * | 2019-12-10 | 2020-04-21 | 昆明理工大学 | 基于crnn的缅甸语图像文本识别方法 |
CN111476067A (zh) * | 2019-01-23 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 图像的文字识别方法、装置、电子设备及可读存储介质 |
-
2020
- 2020-10-27 CN CN202011163492.8A patent/CN112508023A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016197381A1 (en) * | 2015-06-12 | 2016-12-15 | Sensetime Group Limited | Methods and apparatus for recognizing text in an image |
CN106407971A (zh) * | 2016-09-14 | 2017-02-15 | 北京小米移动软件有限公司 | 文字识别方法及装置 |
CN110738090A (zh) * | 2018-07-19 | 2020-01-31 | 塔塔咨询服务公司 | 使用神经网络进行端到端手写文本识别的系统和方法 |
CN109271989A (zh) * | 2018-09-03 | 2019-01-25 | 广东电网有限责任公司东莞供电局 | 一种基于cnn和rnn模型的手写试验数据自动识别方法 |
US20200082196A1 (en) * | 2018-09-10 | 2020-03-12 | Sony Corporation | License plate number recognition based on three dimensional beam search |
CN109726715A (zh) * | 2018-12-27 | 2019-05-07 | 信雅达系统工程股份有限公司 | 一种文字图像序列化识别、结构化数据输出方法 |
CN109871938A (zh) * | 2019-01-21 | 2019-06-11 | 重庆大学 | 一种基于卷积神经网络的零部件喷码检测方法 |
CN111476067A (zh) * | 2019-01-23 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 图像的文字识别方法、装置、电子设备及可读存储介质 |
CN110276881A (zh) * | 2019-05-10 | 2019-09-24 | 广东工业大学 | 一种基于卷积循环神经网络的纸币序列号识别方法 |
CN110415683A (zh) * | 2019-07-10 | 2019-11-05 | 上海麦图信息科技有限公司 | 一种基于深度学习的空中管制语音指令识别方法 |
CN110399845A (zh) * | 2019-07-29 | 2019-11-01 | 上海海事大学 | 一种图像中连续成段文本检测与识别方法 |
CN111027562A (zh) * | 2019-12-06 | 2020-04-17 | 中电健康云科技有限公司 | 基于多尺度cnn和结合注意力机制的rnn的光学字符识别方法 |
CN111046946A (zh) * | 2019-12-10 | 2020-04-21 | 昆明理工大学 | 基于crnn的缅甸语图像文本识别方法 |
Non-Patent Citations (5)
Title |
---|
ALEX GRAVES 等: "Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural \'networks", ROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON MACHINE LEARNING, pages 369 - 376 * |
ZHAN, HJ 等: "CNN-based Hindi Numeral String Recognition for Indian Postal", 2019 INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION WORKSHOPS (ICDARW), vol. 5, pages 77 - 82, XP033649185, DOI: 10.1109/ICDARW.2019.40085 * |
ZHOU, H 等: "DYNAMIC PSEUDO LABEL DECODING FOR CONTINUOUS SIGN LANGUAGE RECOGNITION", IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO (ICME), pages 1282 - 1287 * |
徐炫东;曹增轩;: "电力业扩工单手写日期识别的深度学习方法", 信息技术与标准化, no. 05, pages 54 - 59 * |
李代杨: "基于深度神经网络的汽车刹车片喷码检测识别技术研究", 中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑, no. 04, pages 035 - 234 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524521A (zh) * | 2023-06-30 | 2023-08-01 | 武汉纺织大学 | 一种基于深度学习的英文字符识别方法和系统 |
CN116524521B (zh) * | 2023-06-30 | 2023-09-15 | 武汉纺织大学 | 一种基于深度学习的英文字符识别方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597891B (zh) | 基于双向长短时记忆神经网络的文本情感分析方法 | |
CN110163299B (zh) | 一种基于自底向上注意力机制和记忆网络的视觉问答方法 | |
CN109934261B (zh) | 一种知识驱动参数传播模型及其少样本学习方法 | |
CN112733768B (zh) | 基于双向特征语言模型的自然场景文本识别方法及装置 | |
CN109783666B (zh) | 一种基于迭代精细化的图像场景图谱生成方法 | |
EP3832534B1 (en) | Video action segmentation by mixed temporal domain adaptation | |
CN112069328B (zh) | 一种基于多标签分类的实体关系联合抽取模型的建立方法 | |
Sharma et al. | A survey of methods, datasets and evaluation metrics for visual question answering | |
CN113158875A (zh) | 基于多模态交互融合网络的图文情感分析方法及系统 | |
CN112784929B (zh) | 一种基于双元组扩充的小样本图像分类方法及装置 | |
CN112036276A (zh) | 一种人工智能视频问答方法 | |
CN113449801B (zh) | 一种基于多级图像上下文编解码的图像人物行为描述生成方法 | |
CN115145551A (zh) | 一种面向机器学习应用低代码开发的智能辅助系统 | |
CN111428750A (zh) | 一种文本识别模型训练及文本识别方法、装置及介质 | |
CN111651993A (zh) | 融合局部-全局字符级关联特征的中文命名实体识别方法 | |
CN111242059B (zh) | 基于递归记忆网络的无监督图像描述模型的生成方法 | |
CN112989833A (zh) | 一种基于多层lstm的远程监督实体关系联合抽取方法和系统 | |
CN115687638A (zh) | 基于三元组森林的实体关系联合抽取方法及系统 | |
CN115860152A (zh) | 一种面向人物军事知识发现的跨模态联合学习方法 | |
CN113449815B (zh) | 一种基于深度包分析的异常包检测方法及系统 | |
CN114925205A (zh) | 基于对比学习的gcn-gru文本分类方法 | |
CN114648635A (zh) | 一种融合标签间强相关性的多标签图像分类方法 | |
CN112508023A (zh) | 基于深度学习的零件喷码字符端到端识别方法 | |
CN112767507B (zh) | 基于动态记忆模块和生成对抗网络的动漫草图上色方法 | |
CN111723649B (zh) | 一种基于语义分解的短视频事件检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |