CN113344145A - 字符识别方法、装置、电子设备和存储介质 - Google Patents
字符识别方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113344145A CN113344145A CN202110878449.8A CN202110878449A CN113344145A CN 113344145 A CN113344145 A CN 113344145A CN 202110878449 A CN202110878449 A CN 202110878449A CN 113344145 A CN113344145 A CN 113344145A
- Authority
- CN
- China
- Prior art keywords
- cnn
- character recognition
- output
- rnn
- result
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
Abstract
本申请公开了字符识别方法、装置、电子设备和存储介质。字符识别方法包括:获取包含待识别字符的图像;将包含待识别字符的图像输入预设字符识别模型,得到字符识别结果;其中,预设字符识别模型依次包括:卷积神经网络CNN、循环神经网络RNN以及转录网络CTC,CNN的输出与RNN的输出之间设有短路连接,短路连接用于根据CNN的输出与RNN的输出得到中间输出结果;CTC用于对中间输出结果进行处理,输出字符识别结果。该技术方案基于对CRNN算法的改进,在原始CRNN的基础上添加CNN的输出与RNN的输出之间的短路连接,从而提升了字符识别结果的准确度。
Description
技术领域
本申请涉及图像识别技术领域,尤其涉及字符识别方法、装置、电子设备和存储介质。
背景技术
字符识别方法总的来说主要分为两大类,传统算法识别和神经网络算法识别。用传统算法识别时,在设计算法时,需要对图片的噪声,图像质量,分辨率等做出较多的设计和思考。而随着神经网络技术的不断发展,目前,基于神经网络的字符识别算法取得了很多突破,已经成为了主流。但是,识别准确度还有一定的提升空间。
发明内容
本申请实施例提供了字符识别方法、装置、电子设备和存储介质,以提升字符识别的准确度。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种字符识别方法,包括:获取包含待识别字符的图像;将包含待识别字符的图像输入预设字符识别模型,得到字符识别结果;其中,预设字符识别模型依次包括:卷积神经网络CNN、循环神经网络RNN以及转录网络CTC,CNN的输出与RNN的输出之间设有短路连接,短路连接用于根据CNN的输出与RNN的输出得到中间输出结果;CTC用于对中间输出结果进行处理,输出字符识别结果。
在一些实施例中,CNN具有多感受野结构,CNN用于根据多感受野结构,对包含待识别字符的图像进行字符特征提取,从而能够适应不同字形的字符。
在一些实施例中,多感受野结构基于平行多池化层实现,平行多池化层中的各池化层不同;平行多池化层用于接收CNN中前一层的输出,相应地得到各池化层的输出结果,对各输出结果进行第一指定运算,得到第一运算结果作为CNN中下一层的输入。
在一些实施例中,平行多池化层有多组,其中,CNN中第一卷积层之后以及第二卷积层之后的两组平行多池化层中,每组平行多池化层中的最大池化层分别使用1×2的池化核和2×2的池化核;CNN的最后两组平行多池化层中,每组平行多池化层中的最大池化层分别使用1×2的池化核和3×2的池化核。
在一些实施例中,CNN的第三个卷积层与第四个卷积层之间设置有批标准化层,批标准化层用于对第三个卷积层的卷积结果进行批标准化处理后,将批标准化结果输入到第四个卷积层。
在一些实施例中,RNN用于对CNN的输出结果进行处理,得到第一RNN输出结果;短路连接,用于对CNN的输出结果和第一RNN输出结果进行第二指定运算,得到中间运算结果;RNN还用于对中间运算结果进行处理,得到第二RNN输出结果;短路连接,还用于对CNN的输出结果、中间运算结果和第二RNN输出结果进行第三指定运算,得到中间输出结果。
在一些实施例中,RNN具体为长短期记忆循环神经网络LSTM,LSTM,用于将CNN的输出结果或中间运算结果作为输入量,根据输入量依次计算遗忘门信息、记忆门信息、细胞状态、输出门信息,最终得到隐藏层信息作为与输入量对应的输出结果。
在一些实施例中,LSTM具体为双向长短期记忆循环神经网络BiLSTM,BiLSTM,用于将自身的正向网络得到的隐藏层信息,与自身的负向网络得到的隐藏层信息进行拼接,作为与输入量对应的输出结果。
第二方面,本申请实施例还提供一种字符识别装置,用于实现如上任一的字符识别方法。
在一些实施例中,字符识别装置包括:获取单元,用于获取包含待识别字符的图像;识别单元,用于将包含待识别字符的图像输入预设字符识别模型,得到字符识别结果。其中,预设字符识别模型依次包括:卷积神经网络CNN、循环神经网络RNN以及转录网络CTC,CNN的输出与RNN的输出之间设有短路连接,短路连接用于根据CNN的输出与RNN的输出得到中间输出结果;CTC用于对中间输出结果进行处理,输出字符识别结果。
第三方面,本申请实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器执行如上任一的字符识别方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储一个或多个程序,一个或多个程序当被包括多个应用程序的电子设备执行时,使得电子设备执行如上任一的字符识别方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:基于对CRNN算法的改进,在原始CRNN的基础上添加CNN的输出与RNN的输出之间的短路连接,从而提升了字符识别结果的准确度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请一个实施例的字符识别方法的流程示意图;
图2示出了根据本申请一个实施例的CNN计算流程图;
图3示出了本申请一个实施例的利用LSTM和短路连接得到中间输出结果的计算原理图;
图4示出了本申请一个实施例的利用BiLSTM和短路连接得到中间输出结果的计算原理图;
图5示出了根据本申请一个实施例的字符识别方法的结构示意图;
图6为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1示出了根据本申请一个实施例的字符识别方法的流程示意图。如图1所示,该方法包括:
步骤S110,获取包含待识别字符的图像。其中,包含待识别字符的图像可以根据实际需求来获得,例如,可以是包含字符验证码的图像,等等,本申请对此不做限制。
步骤S120,将包含待识别字符的图像输入预设字符识别模型,得到字符识别结果。
本申请实施例的字符识别模型可以是根据CRNN(Convolutional RecurrentNeural Network,卷积循环神经网络)构建的,关于CRNN算法的内容可以参考原论文CRNN(Baoguang Shi, 2015)。本申请与之的区别在于,在字符识别模型中添加了CNN的输出与RNN的输出之间的短路连接。通过这种方式,使得CTC能够得到更准确的字符识别结果。
本申请的技术方案基于对CRNN算法的改进,在原始CRNN的基础上添加CNN的输出与RNN的输出之间的短路连接,从而提升了字符识别结果的准确度。本申请的技术方案可以应用于各类字符识别场景,尤其适用于车联网场景下,对车载摄像头所拍摄的视频中的时间水印进行识别的场景。
在一些实施例中,CNN具有多感受野结构,CNN用于根据多感受野结构,对包含待识别字符的图像进行字符特征提取,从而能够适应不同字形的字符。
在实际场景中,字符可能具有不同的宽度。本申请实施例在CNN中设置多感受野结构,使得CNN可以同时更好的提取窄形字符的特征和宽形字符的特征,提升不同大小字符的识别精度。
在一些实施例中,多感受野结构基于平行多池化层实现,平行多池化层中的各池化层不同;平行多池化层用于接收CNN中前一层的输出,相应地得到各池化层的输出结果,对各输出结果进行第一指定运算,得到第一运算结果作为CNN中下一层的输入。
这里的平行多池化层是指在CNN原有的池化层的同级新增池化层,从而形成“平行”的设计,形成多个池化分支。
例如,CNN中某卷积层的输出结果O1,在经过原池化层后得到MP1,再进入下一卷积层。而在多感受野结构的实施例中,O1在经过原池化层后得到MP1,即原池化分支不变;进一步地,O1还经过新池化层得到MP2,即进行一个新的池化分支;然后对MP1和MP2进行第一指定运算,例如矩阵加法运算,得到MP1+MP2=MP,然后MP再进入下一卷积层。
在一些实施例中,平行多池化层有多组,其中,CNN中第一卷积层之后以及第二卷积层之后的两组平行多池化层中,每组平行多池化层中的最大池化层分别使用1×2的池化核和2×2的池化核;CNN的最后两组平行多池化层中,每组平行多池化层中的最大池化层分别使用1×2的池化核和3×2的池化核。经过实验,这种设置方式对于字符识别的准确度较高。
在一些实施例中,CNN的第三个卷积层与第四个卷积层之间设置有批标准化层,批标准化层用于对第三个卷积层的卷积结果进行批标准化处理后,将批标准化结果输入到第四个卷积层。BN(batch normalization,批标准化)层可以提升字符识别模型的容纳能力,缓解梯度饱和。通过实验,设置在CNN的该位置处,可以取得更好的效果。
下表示出了根据本申请一个实施例的CNN网络结构。
表1CNN网络结构
其中,在层与层之间可以按需使用激活函数如ReLU。在一些实施例中,中使用的池化层为最大池化(Max Pooling)层。
在一些实施例中,RNN用于对CNN的输出结果进行处理,得到第一RNN输出结果;短路连接,用于对CNN的输出结果和第一RNN输出结果进行第二指定运算,得到中间运算结果;RNN还用于对中间运算结果进行处理,得到第二RNN输出结果;短路连接,还用于对CNN的输出结果、中间运算结果和第二RNN输出结果进行第三指定运算,得到中间输出结果。
具体地,第二指定运算和第三指定运算可以均是矩阵加法运算。在进行第三指定运算后,还可以再进行全连接运算,从而得到中间输出结果。
记CNN输出结果为conO,RNN的处理为函数F(x),第一RNN输出结果为L1,中间运算结果为O2,第二RNN输出结果为L2,中间输出结果为O2。
首先,将conO输入RNN,得到F(conO)=L1,L1即为第一RNN输出结果。然后,得到O1=conO+L1。之后,将O1输入RNN,得到F(O1)=L2。最后,计算O2=conO+O1+L2,流程可参见图2。
在一些实施例中,RNN具体为长短期记忆循环神经网络LSTM,LSTM,用于将CNN的输出结果或中间运算结果作为输入量,根据输入量依次计算遗忘门信息、记忆门信息、细胞状态、输出门信息,最终得到隐藏层信息作为与输入量对应的输出结果。
图3示出了本申请一个实施例的利用LSTM和短路连接得到中间输出结果的计算原理图。记当前时刻(t时刻)的输入为xt。原始输入(input)为CNN输出结果。
首先,计算当前时刻(t时刻)的遗忘门信息f1t:
f1t=sigmoid(wf*[ht-1,xt]+bf)。其中,sigmoid为sigmoid函数,wf为权重,bf为偏置,ht-1为上一时刻(t-1时刻)的隐藏层的状态。
其次,计算记忆门信息i1t和C~1t:
i1t=sigmoid(wi[ht-1,xt]+bi),其中wi为权重,bi为偏置;
C~1t=tanh(wc[ht-1,xt]+bc ),其中wc为权重,bc为偏置,tanh为双曲正切函数。
接下来,计算当前时刻(t时刻)的细胞状态:
C1t=C1t-1*f1t+i1t*C~1t,其中,C1t-1为上一时刻(t-1时刻)的细胞状态。
然后,计算输出门信息o1t:
o1t=sigmoid(wo[ht-1,xt]+bo) ,其中,wo 为权重,bo为偏置。
最后,可以得到当前时刻(t时刻)隐藏层的状态ht:
ht=o1t*tanh(C1t)
我们以t时刻的隐藏层的状态作为LSTM得到的第一RNN输出结果为示例,则接下来计算中间运算结果output1,则有output1=xt+ht。接下来,利用LSTM对output1进行处理,具体地:
f1t=sigmoid(wf*[ht-1,output1]+bf)
i1t=sigmoid(wi[ht-1,output1]+bi)
C~1t=tanh(wc[ht-1,output1]+bc )
C1t=C1t-1*f1t+i1t*C~1t
o1t=sigmoid(wo[ht-1,output1]+bo)
ht=o1t*tanh(C1t)
output2=xt+ht
output2即为第二RNN输出结果。
所以最终可以得到中间输出结果output:output=xt+output2+output1。
在一个实施例中,CNN输出的形状(即CNN输出结果)为[timestep,batchSize,512],据此,RNN第一次输出的形状(第一RNN输出结果)为[timestep,batchSize,512],求和得到的中间运算结果仍为[timestep,batchSize,512],据此,RNN第二次输出的形状(第二RNN输出结果)也为[timestep,batchSize,512], 之后将CNN输出结果、中间运算结果和第二RNN输出结果进行求和,再进行全连接,得到形状为[timestep*batchSize,nclass],最后将结果转换输出,输出形状为[timestep,batchSize,nclass],也即中间输出结果。其中,timestep 表示的是时间序列的长度,batchSize表示的是训练时输入至网络的每批次图片数,nclass表示的是分类的类别数。
在一些实施例中,LSTM具体为双向长短期记忆循环神经网络BiLSTM,BiLSTM,用于将自身的正向网络得到的隐藏层信息,与自身的负向网络得到的隐藏层信息进行拼接,作为与输入量对应的输出结果。
参照图4并对照图3,BiLSTM可以简单理解为将两个单向的LSTM进行拼接,这两个单向的LSTM一个为正向网络,一个为负向网络。因此,详细的计算原理在此不再重复说明,只需要将正向网络得到的隐藏层信息与负向网络得到的隐藏层信息进行concat(拼接)即可。此外,使用递归残差的共享参数的双向LSTM,可以减少参数量。
本申请还提供了对照实验的数据以凸显本申请方案的优势。
对照实验的数据集:
为便于与原始CRNN比较,选用了和CRNN(Baoguang Shi, 2015)相同的合成数据集(Synth)(Max Jaderberg, 2014)作为训练数据。训练数据的数据集包含8百万训练图像及其对应的实际单词。另外,选用了跟CRNN(Baoguang Shi, 2015)相同的测试数据集,即ICDAR 2003(IC03)(Lucas et al., 2005),ICDAR 2013(IC13)(D. Karatzas et al.,2013),IIIT 5k-word(IIIT5k)(A. Mishra, 2012)和Street View Text (SVT)(K. Wang,2011) 这四个测试数据集,测试数据集的划分也没有做修改,即使用的训练数据与测试数据与CRNN(Baoguang Shi, 2015)完全保持一致。在输入网络时也将图片统一等比例缩放至100x32的大小。
下面全部是使用Tesla V100 gpu计算得到的结果对比:
表2识别率对比
方法数据 | IC03 | IC13 | IIIT5k | SVT |
CRNN(Baoguang Shi, 2015) | 0.894 | 0.867 | 0.782 | 0.808 |
本申请用于对照实验的实施例 | 0.969 | 0.8985 | 0.8363 | 0.8296 |
表3模型大小、参数量和识别速度对比
方法维度 | 模型大小 | 识别速度 | 参数量 |
CRNN(Baoguang Shi, 2015) | 32m | 6.93ms | 8331301 |
本申请用于对照实验的实施例 | 28m | 6.07ms | 7148325 |
可以看到,在四种数据集上,本申请用于对照实验的实施例分别比CRNN(BaoguangShi, 2015)高出 1.40%、3.15%、5.43%、2.16%,识别率(精度)有明显提升;并且,网络模型比CRNN(Baoguang Shi, 2015)小了4M;平均识别时间快了14%。即实现了速度更快、模型更小,且实现了更高的识别率。
其中,本申请用于对照实验的实施例中,CNN结构可参照前述表1,RNN选用递归残差的共享参数的双向LSTM,并且整个字符识别模型具有如前所述的短路连接。本申请的实施例中,CTC可以参照CRNN(Baoguang Shi, 2015)来设计。
本申请实施例还提供一种字符识别装置,用于实现如上任一的字符识别方法。
图5示出了根据本申请一个实施例的字符识别装置的结构示意图,如图5所示,字符识别装置500包括:
获取单元510,用于获取包含待识别字符的图像。其中,包含待识别字符的图像可以根据实际需求来获得,例如,可以是包含字符验证码的图像,等等,本申请对此不做限制。
识别单元520,用于将包含待识别字符的图像输入预设字符识别模型,得到字符识别结果。
其中,预设字符识别模型依次包括:卷积神经网络CNN、循环神经网络RNN以及转录网络CTC,CNN的输出与RNN的输出之间设有短路连接,短路连接用于根据CNN的输出与RNN的输出得到中间输出结果;CTC用于对中间输出结果进行处理,输出字符识别结果。
本申请实施例的字符识别模型可以是根据CRNN(Convolutional RecurrentNeural Network,卷积循环神经网络)构建的,关于CRNN算法的内容可以参考原论文CRNN(Baoguang Shi, 2015)。本申请与之的区别在于,在字符识别模型中添加了CNN的输出与RNN的输出之间的短路连接。通过这种方式,使得CTC能够得到更准确的字符识别结果。
本申请的技术方案基于对CRNN算法的改进,在原始CRNN的基础上添加CNN的输出与RNN的输出之间的短路连接,从而提升了字符识别结果的准确度。本申请的技术方案可以应用于各类字符识别场景,尤其适用于车联网场景下,对车载摄像头所拍摄的视频中的时间水印进行识别的场景。
在一些实施例中,CNN具有多感受野结构,CNN用于根据多感受野结构,对包含待识别字符的图像进行字符特征提取,从而能够适应不同字形的字符。
在一些实施例中,多感受野结构基于平行多池化层实现,平行多池化层中的各池化层不同;平行多池化层用于接收CNN中前一层的输出,相应地得到各池化层的输出结果,对各输出结果进行第一指定运算,得到第一运算结果作为CNN中下一层的输入。
在一些实施例中,平行多池化层有多组,其中,CNN中第一卷积层之后以及第二卷积层之后的两组平行多池化层中,每组平行多池化层中的最大池化层分别使用1×2的池化核和2×2的池化核;CNN的最后两组平行多池化层中,每组平行多池化层中的最大池化层分别使用1×2的池化核和3×2的池化核。
在一些实施例中,CNN的第三个卷积层与第四个卷积层之间设置有批标准化层,批标准化层用于对第三个卷积层的卷积结果进行批标准化处理后,将批标准化结果输入到第四个卷积层。
在一些实施例中,RNN用于对CNN的输出结果进行处理,得到第一RNN输出结果;短路连接,用于对CNN的输出结果和第一RNN输出结果进行第二指定运算,得到中间运算结果;RNN还用于对中间运算结果进行处理,得到第二RNN输出结果;短路连接,还用于对CNN的输出结果、中间运算结果和第二RNN输出结果进行第三指定运算,得到中间输出结果。
在一些实施例中,RNN具体为长短期记忆循环神经网络LSTM,LSTM,用于将CNN的输出结果或中间运算结果作为输入量,根据输入量依次计算遗忘门信息、记忆门信息、细胞状态、输出门信息,最终得到隐藏层信息作为与输入量对应的输出结果。
在一些实施例中,LSTM具体为双向长短期记忆循环神经网络BiLSTM,BiLSTM,用于将自身的正向网络得到的隐藏层信息,与自身的负向网络得到的隐藏层信息进行拼接,作为与输入量对应的输出结果。
能够理解,上述字符识别装置,能够实现前述实施例中提供的字符识别方法的各个步骤,关于字符识别方法的相关阐释均适用于字符识别装置,此处不再赘述。
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成字符识别装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取包含待识别字符的图像;将包含待识别字符的图像输入预设字符识别模型,得到字符识别结果;其中,预设字符识别模型依次包括:卷积神经网络CNN、循环神经网络RNN以及转录网络CTC,CNN的输出与RNN的输出之间设有短路连接,短路连接用于根据CNN的输出与RNN的输出得到中间输出结果;CTC用于对中间输出结果进行处理,输出字符识别结果。
上述如本申请图1所示实施例揭示的字符识别装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中字符识别装置执行的方法,并实现字符识别装置在图5所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中字符识别装置执行的方法,并具体用于执行:
获取包含待识别字符的图像;将包含待识别字符的图像输入预设字符识别模型,得到字符识别结果;其中,预设字符识别模型依次包括:卷积神经网络CNN、循环神经网络RNN以及转录网络CTC,CNN的输出与RNN的输出之间设有短路连接,短路连接用于根据CNN的输出与RNN的输出得到中间输出结果;CTC用于对中间输出结果进行处理,输出字符识别结果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种字符识别方法,其特征在于,该方法包括:
获取包含待识别字符的图像;
将所述包含待识别字符的图像输入预设字符识别模型,得到字符识别结果;其中,所述预设字符识别模型依次包括:卷积神经网络CNN、循环神经网络RNN以及转录网络CTC,所述CNN的输出与所述RNN的输出之间设有短路连接,所述短路连接用于根据所述CNN的输出与所述RNN的输出得到中间输出结果;所述CTC用于对所述中间输出结果进行处理,输出所述字符识别结果。
2.如权利要求1所述的方法,其特征在于,所述CNN具有多感受野结构,所述CNN用于根据所述多感受野结构,对所述包含待识别字符的图像进行字符特征提取,从而能够适应不同字形的字符。
3.如权利要求2所述的方法,其特征在于,所述多感受野结构基于平行多池化层实现,平行多池化层中的各池化层不同;
所述平行多池化层用于接收CNN中前一层的输出,相应地得到各池化层的输出结果,对各输出结果进行第一指定运算,得到第一运算结果作为所述CNN中下一层的输入。
4.如权利要求3所述的方法,其特征在于,所述平行多池化层有多组,其中,
所述CNN中第一卷积层之后以及第二卷积层之后的两组平行多池化层中,每组平行多池化层中的最大池化层分别使用1×2的池化核和2×2的池化核;
所述CNN的最后两组平行多池化层中,每组平行多池化层中的最大池化层分别使用1×2的池化核和3×2的池化核。
5.如权利要求1所述的方法,其特征在于,所述CNN的第三个卷积层与第四个卷积层之间设置有批标准化层,所述批标准化层用于对所述第三个卷积层的卷积结果进行批标准化处理后,将批标准化结果输入到所述第四个卷积层。
6.如权利要求1所述的方法,其特征在于,
所述RNN用于对所述CNN的输出结果进行处理,得到第一RNN输出结果;
所述短路连接,用于对所述CNN的输出结果和所述第一RNN输出结果进行第二指定运算,得到中间运算结果;
所述RNN还用于对所述中间运算结果进行处理,得到第二RNN输出结果;
所述短路连接,还用于对所述CNN的输出结果、所述中间运算结果和所述第二RNN输出结果进行第三指定运算,得到中间输出结果。
7.如权利要求6所述的方法,其特征在于,所述RNN具体为长短期记忆循环神经网络LSTM,
所述LSTM,用于将所述CNN的输出结果或所述中间运算结果作为输入量,根据所述输入量依次计算遗忘门信息、记忆门信息、细胞状态、输出门信息,最终得到隐藏层信息作为与所述输入量对应的输出结果。
8.如权利要求7所述的方法,其特征在于,所述LSTM具体为双向长短期记忆循环神经网络BiLSTM,
所述BiLSTM,用于将自身的正向网络得到的隐藏层信息,与自身的负向网络得到的隐藏层信息进行拼接,作为与所述输入量对应的输出结果。
9.一种字符识别装置,其特征在于,所述字符识别装置用于实现权利要求1~8之任一所述字符识别方法。
10.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~8之任一所述字符识别方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~8之任一所述字符识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110878449.8A CN113344145B (zh) | 2021-08-02 | 2021-08-02 | 字符识别方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110878449.8A CN113344145B (zh) | 2021-08-02 | 2021-08-02 | 字符识别方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113344145A true CN113344145A (zh) | 2021-09-03 |
CN113344145B CN113344145B (zh) | 2021-11-19 |
Family
ID=77480497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110878449.8A Active CN113344145B (zh) | 2021-08-02 | 2021-08-02 | 字符识别方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113344145B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082922A (zh) * | 2022-08-24 | 2022-09-20 | 济南瑞泉电子有限公司 | 基于深度学习的水表数字图片处理方法及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832289A (zh) * | 2017-10-12 | 2018-03-23 | 北京知道未来信息技术有限公司 | 一种基于lstm‑cnn的命名实体识别方法 |
CN109389059A (zh) * | 2018-09-26 | 2019-02-26 | 华南理工大学 | 一种基于cnn-lstm网络的p300检测方法 |
CN109977861A (zh) * | 2019-03-25 | 2019-07-05 | 中国科学技术大学 | 离线手写体数学公式识别方法 |
CN110414520A (zh) * | 2019-06-28 | 2019-11-05 | 平安科技(深圳)有限公司 | 通用字符识别方法、装置、计算机设备和存储介质 |
CN110458201A (zh) * | 2019-07-17 | 2019-11-15 | 北京科技大学 | 一种遥感影像面向对象分类方法及分类装置 |
US20200026951A1 (en) * | 2018-07-19 | 2020-01-23 | Tata Consultancy Services Limited | Systems and methods for end-to-end handwritten text recognition using neural networks |
CN111739537A (zh) * | 2020-06-08 | 2020-10-02 | 北京灵蚌科技有限公司 | 语义识别方法、装置、存储介质及处理器 |
CN112528963A (zh) * | 2021-01-09 | 2021-03-19 | 江苏拓邮信息智能技术研究院有限公司 | 基于MixNet-YOLOv3和卷积递归神经网络CRNN的算术题智能批阅*** |
-
2021
- 2021-08-02 CN CN202110878449.8A patent/CN113344145B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832289A (zh) * | 2017-10-12 | 2018-03-23 | 北京知道未来信息技术有限公司 | 一种基于lstm‑cnn的命名实体识别方法 |
US20200026951A1 (en) * | 2018-07-19 | 2020-01-23 | Tata Consultancy Services Limited | Systems and methods for end-to-end handwritten text recognition using neural networks |
CN109389059A (zh) * | 2018-09-26 | 2019-02-26 | 华南理工大学 | 一种基于cnn-lstm网络的p300检测方法 |
CN109977861A (zh) * | 2019-03-25 | 2019-07-05 | 中国科学技术大学 | 离线手写体数学公式识别方法 |
CN110414520A (zh) * | 2019-06-28 | 2019-11-05 | 平安科技(深圳)有限公司 | 通用字符识别方法、装置、计算机设备和存储介质 |
CN110458201A (zh) * | 2019-07-17 | 2019-11-15 | 北京科技大学 | 一种遥感影像面向对象分类方法及分类装置 |
CN111739537A (zh) * | 2020-06-08 | 2020-10-02 | 北京灵蚌科技有限公司 | 语义识别方法、装置、存储介质及处理器 |
CN112528963A (zh) * | 2021-01-09 | 2021-03-19 | 江苏拓邮信息智能技术研究院有限公司 | 基于MixNet-YOLOv3和卷积递归神经网络CRNN的算术题智能批阅*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082922A (zh) * | 2022-08-24 | 2022-09-20 | 济南瑞泉电子有限公司 | 基于深度学习的水表数字图片处理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113344145B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112016475B (zh) | 一种人体检测识别方法和装置 | |
CN110909663B (zh) | 一种人体关键点识别方法、装置及电子设备 | |
CN111862035B (zh) | 光斑检测模型的训练方法、光斑检测方法、设备及介质 | |
CN111914908B (zh) | 一种图像识别模型训练方法、图像识别方法及相关设备 | |
CN109034183A (zh) | 一种目标检测方法、装置及设备 | |
US10769784B2 (en) | Image analyzing method and electrical device | |
CN112949692A (zh) | 一种目标检测方法和装置 | |
CN112598321B (zh) | 一种风险防控方法、***及终端设备 | |
CN113344145B (zh) | 字符识别方法、装置、电子设备和存储介质 | |
CN112598012B (zh) | 神经网络模型中数据处理方法、存储介质和电子装置 | |
CN114694005A (zh) | 目标检测模型训练方法和装置、目标检测方法和装置 | |
CN111709415B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN113869282A (zh) | 人脸识别方法、超分模型训练方法及相关设备 | |
CN114861842B (zh) | 少样本目标检测方法、装置和电子设备 | |
CN113963236A (zh) | 目标检测方法及装置 | |
CN113723352A (zh) | 一种文本检测方法、***、存储介质及电子设备 | |
CN110992371B (zh) | 一种基于先验信息的人像分割方法、装置及电子设备 | |
CN115841672A (zh) | 文字检测识别方法、装置及设备 | |
CN113255700B (zh) | 图像的特征图的处理方法及装置、存储介质、终端 | |
CN114972775A (zh) | 特征处理方法、装置、产品、介质及设备 | |
CN114332564A (zh) | 车辆分类方法、设备及存储介质 | |
CN114612758A (zh) | 一种基于深度分组可分离卷积的目标检测方法 | |
CN114066958A (zh) | 目标的深度信息预测方法和装置、电子设备和存储介质 | |
US11537839B2 (en) | Arithmetic processing device and system to realize multi-layer convolutional neural network circuit to perform process with fixed-point number format | |
CN113743308B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |