一种字符识别方法及装置与流程

文档序号:19635896发布日期:2020-01-07 12:00阅读:161来源:国知局
一种字符识别方法及装置与流程

本申请涉及人工智能技术领域,尤其涉及一种字符识别方法及装置。



背景技术:

随着人工智能技术的快速发展,光学字符识别(opticalcharacterrecognition,ocr)技术应用的也越来越广泛。

目前,ocr方案主要是利用vgg网络结构进行特征提取,双向长短期记忆网络(longshort-termmemory,lstm)进行字符识别,联结主义时间分类(connectionisttemporalclassification,ctc)损失函数和ctc解码进行训练和验证,但由于双向lstm难以并行、计算量比较大,所以在有限的时间下难以得到好的识别效果,为此,本领域技术人员提出了使用卷积神经网络替换双向lstm的ocr方案。

但发明人发现,在ocr任务中,识别器并不需要观察全图,只需要观察一个足够大的图像区域,并聚焦到足够小的图像区域就可准确地识别出字符,而目前所使用的卷积神经网络都追求观察足够大的图像区域,并不能同时兼顾这两个需求,所以使用卷积神经网络替换双向lstm的ocr方案不能带来很好的字符识别效果。



技术实现要素:

本申请实施例提供一种字符识别方法及装置,用以解决现有技术中使用卷积神经网络替换双向lstm的ocr方案存在的字符识别效果比较差的问题。

第一方面,本申请实施例提供的一种字符识别方法,包括:

对获取的图像进行特征提取,得到所述图像的第一特征图,所述第一特征图中的每个元素用于表征所述图像中一个图像块的图像特征;

通过卷积层中至少两种不同的卷积核对所述第一特征图进行卷积运算,得到所述图像的第二特征图,所述第二特征图中的每个元素用于表征所述图像中一个图像块与相邻图像块的图像特征之间的关联关系;

根据所述图像的第二特征图和预设字符集确定所述图像中包含的字符。

本申请实施例中,对获取的图像进行特征提取,得到图像的第一特征图,通过卷积层中至少两种不同的卷积核对第一特征图进行卷积运算,得到图像的第二特征图,根据图像的第二特征图和预设字符集确定图像中包含的字符,其中,第二特征图中的每个元素用于表征图像中一个图像块与相邻图像块的图像特征之间的关联关系,且第二特征图是通过卷积层中至少两种不同的卷积核对第一特征图进行特征分析得到的,由于一种卷积核对应一个图像特征分析区域,所以在确定第二特征图时考虑了不同的图像特征分析区域,这些图像特征分析区域大小不同,可很好地兼顾观察足够大的区域、且聚焦到足够小的区域的需求,因此,字符识别效果较好。

在一种可能的实施方式中,若所述卷积层的数量为两个,通过卷积层中至少两种不同的卷积核对所述第一特征图进行卷积运算,得到所述图像的第二特征图,包括:

通过第一卷积层对所述第一特征图进行卷积运算,得到所述图像的第一中间特征图;

通过第二卷积层对所述第一中间特征图进行卷积运算,得到所述图像的第二中间特征图;

根据所述第二中间特征图,确定所述图像的第二特征图。

在一种可能的实施方式中,若所述卷积层的数量为三个,根据所述第二中间特征图,确定所述图像的第二特征图,包括:

通过第三卷积层对所述第二中间特征图进行卷积运算,得到所述图像的第三中间特征图;

根据所述第三中间特征图,确定所述图像的第二特征图。

在一种可能的实施方式中,通过卷积层中至少两种不同的卷积核对所述第一特征图进行卷积运算,得到所述图像的第二特征图,包括:

对于任一卷积层,将通过所述卷积层的每个卷积核得到的参考特征图进行融合处理,并将融合处理后的参考特征图确定为通过所述卷积层得到的所述图像的中间特征图,其中,每个卷积核对应的参考特征图是基于所述卷积核对输入所述卷积层的特征图进行卷积运算得到的。

在一种可能的实施方式中,若所述卷积层的数量为多个,其中:

各卷积层使用的卷积核个数均相同;或者

各卷积层使用的卷积核个数均不同;或者

各卷积层中的部分卷积层使用的卷积核个数相同。

在一种可能的实施方式中,第i个卷积层使用的卷积核个数大于或等于第i+1个卷积层使用的卷积核个数,其中,i为正整数。

在一种可能的实施方式中,根据所述图像的第二特征图和预设字符集确定所述图像中包含的字符,包括:

根据所述第二特征图中的每个元素,确定该元素对应的图像块在所述预设字符集中对应的字符;

根据各图像块的相对位置关系对各图像块对应的字符进行组合,得到第一字符序列;

对所述第一字符序列中相邻的重复字符进行去重处理,得到第二字符序列;

去除所述第二字符序列中表示间隔的字符,得到所述图像中包含的字符。第二方面,本申请实施例提供的一种字符识别装置,包括:

特征提取模块,用于对获取的图像进行特征提取,得到所述图像的第一特征图,所述第一特征图中的每个元素用于表征所述图像中一个图像块的图像特征;

特征分析模块,用于通过卷积层中至少两种不同的卷积核对所述第一特征图进行卷积运算,得到所述图像的第二特征图,所述第二特征图中的每个元素用于表征所述图像中一个图像块与相邻图像块的图像特征之间的关联关系;

确定模块,用于根据所述图像的第二特征图和预设字符集确定所述图像中包含的字符。

在一种可能的实施方式中,所述特征分析模块具体用于:

若所述卷积层的数量为两个,通过第一卷积层对所述第一特征图进行卷积运算,得到所述图像的第一中间特征图;

通过第二卷积层对所述第一中间特征图进行卷积运算,得到所述图像的第二中间特征图;

根据所述第二中间特征图,确定所述图像的第二特征图。

在一种可能的实施方式中,所述特征分析模块具体用于:

若所述卷积层的数量为三个,通过第三卷积层对所述第二中间特征图进行卷积运算,得到所述图像的第三中间特征图;

根据所述第三中间特征图,确定所述图像的第二特征图。

在一种可能的实施方式中,所述特征分析模块具体用于:

对于任一卷积层,将通过所述卷积层的每个卷积核得到的参考特征图进行融合处理,并将融合处理后的参考特征图确定为通过所述卷积层得到的所述图像的中间特征图,其中,每个卷积核对应的参考特征图是基于所述卷积核对输入所述卷积层的特征图进行卷积运算得到的。

在一种可能的实施方式中,若所述卷积层的数量为多个,其中:

各卷积层使用的卷积核个数均相同;或者

各卷积层使用的卷积核个数均不同;或者

各卷积层中的部分卷积层使用的卷积核个数相同。

在一种可能的实施方式中,第i个卷积层使用的卷积核个数大于或等于第i+1个卷积层使用的卷积核个数,其中,i为正整数。

在一种可能的实施方式中,所述确定模块具体用于:

根据所述第二特征图中的每个元素,确定该元素对应的图像块在所述预设字符集中对应的字符;

根据各图像块的相对位置关系对各图像块对应的字符进行组合,得到第一字符序列;

对所述第一字符序列中相邻的重复字符进行去重处理,得到第二字符序列;

去除所述第二字符序列中表示间隔的字符,得到所述图像中包含的字符。

第三方面,本申请实施例提供的一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:

存储器存储有可被至少一个处理器执行的指令,该指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述字符识别方法。

第四方面,本申请实施例提供的一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述字符识别方法。

另外,第二方面至第四方面中任一种设计方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。

本申请的这些方面或其它方面在以下实施例的描述中会更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种应用字符识别方法的计算装置的结构示意图;

图2为本申请实施例提供的一种用于识别字符的神经网络的结构示意图;

图3为本申请实施例提供的一种对同一卷积层中使用的多个卷积核设置的stride和padding的示意图;

图4为本申请实施例提供的一种利用图2中的神经网络进行字符识别的示意图;

图5为本申请实施例提供的一种使用四种不同的卷积核对特征图进行卷积运算的示意图;

图6为本申请实施例提供的一种字符识别方法的流程图;

图7为本申请实施例提供的一种确定图像的第二特征图的方法流程图;

图8为本申请实施例提供的又一种确定图像的第二特征图的方法流程图;

图9为本申请实施例提供的一种确定图像中包含的字符的方法流程图;

图10为本申请实施例提供的一种字符识别装置的结构示意图。

具体实施方式

为了解决现有技术中使用卷积神经网络替换双向lstm的ocr方案存在的字符识别效果比较差的问题,本申请实施例提供了一种字符识别方法及装置。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

为了便于理解本申请,本申请涉及的技术术语中:

感受野(receptivefield),是指卷积神经网络每一层输出的特征图(featuremap)上的像素点在输入图像上映射的区域大小。

图像的通道数,是指图像中每个像素的像素值以二进制表示时的位数。比如,对黑白图像而言,图像中每个像素的像素值不是0就是1,总共有2种可能,21=2,所以图像的通道数为1;对rgb图像而言,图像中的每个像素的像素值有8种可能(代表8种不同的颜色),23=8,所以rgb图像的通道数为3,并且,rgb分别代表红色通道、绿色通道和蓝色通道。

n×n,表示卷积运算时使用的窗口大小,n为奇数。

本申请提供的字符识别方法可以应用到多种计算装置中,图1给出了一种计算装置的结构示意图,这里,图1所示的计算装置10仅仅是一个示例,并不对本申请实施例的功能和使用范围带来任何限制。

如图1所示,计算装置10以通用计算设备的形式表现,计算装置10的组件可以包括但不限于:至少一个处理单元101、至少一个存储单元102、连接不同系统组件(包括存储单元102和处理单元101)的总线103。

总线103表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。

存储单元102可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)1021和/或高速缓存存储器1022,还可以进一步包括只读存储器(rom)1023。

存储单元102还可以包括具有一组(至少一个)程序模块1024的程序/实用工具1025,这样的程序模块1024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算装置10也可以与一个或多个外部设备104(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置10交互的设备通信,和/或与使得该计算装置10能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口105进行。并且,计算装置10还可以通过网络适配器106与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图1所示,网络适配器106通过总线103与用于计算装置10的其它模块通信。应当理解,尽管图1中未示出,可以结合计算装置10使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

本领域技术人员应当理解,图1仅仅是计算装置的举例,并不构成对计算装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

参见图2,图2为本申请实施例提供的一种用于识别字符的神经网络的结构示意图,包括特征提取层、重塑层、特征识别层和解码层,其中,特征提取层,用于对图像进行特征提取,得到图像的第一特征图,第一特征图中的每个元素用于表征图像中一个图像块的图像特征;重塑层,用于对第一特征图中的数据进行重塑,即,根据实际需求对第一特征图中的数据结构进行调整使调整后的第一特征图更适合进行特征识别;特征识别层,用于对重塑后的第一特征图进行卷积运算,得到图像的第二特征图,第二特征图中的每个元素用于表征图像中一个图像块与相邻图像块的图像特征之间的关联关系;解码层,用于根据图像的第二特征图和预设字符集确定图像中包含的字符。

在图2中,特征识别层包括三个卷积层:卷积层1、卷积层2和卷积层3,每个卷积层后面均连接对特征图进行优化的归一化层和激活层,并且,为了能够使第二特征图中的每个元素既能对应一个足够大的图像区域,又能聚焦到足够小的图像区域,每个卷积层均使用至少两种不同的卷积核进行卷积运算,参见图2,卷积层1和卷积层2使用7×7、5×5、3×3、1×1四种不同的卷积核进行卷积运算,卷积层3使用5×5、3×3、1×1三种不同的卷积核进行卷积运算,同时,为了便于对从同一卷积层提取到的特征进行融合,每个卷积层和归一化层之间还连接有通道连接层,其中,归一化层可采用批归一化(batchnormalization,bn)层,激活层可采用relu激活函数实现。

具体实施时,为了使不同卷积核进行卷积运算后得到的特征图的大小相同,可对不同的卷积核设置不同的stride和padding,其中,stride用于控制卷积运算窗口的滑动步数,padding用于控制边界图像块参与卷积计算的次数。

具体地,参见图3,图3为本申请实施例提供的一种对同一卷积层中使用的多个卷积核设置的stride和padding的示意图,其中,为7×7的卷积核设置的stride为1、padding为3,为5×5的卷积核设置的stride为1、padding为2,为3×3的卷积核设置的stride为1、padding为1,为1×1的卷积核设置的stride为1、padding为0,这样,使用每种卷积核提取的特征图的大小是一致的,便于后续进行通道连接(即对各特征图中的数据进行融合)。

需要说明的是,图2中的卷积层3同样可使用7×7、5×5、3×3、1×1四种不同的卷积核进行卷积运算,因为每层使用的卷积核均会对最终的感受野产生影响,所以具体使用何种卷积核可由技术人员根据实际情况确定。

另外,图2中的卷积层数和卷积核个数仅为举例,并不够成对本申请实施例中使用的卷积层数和每个卷积层使用的卷积核个数的限定,并且,实际应用中也可以使用11×11、13×13等卷积核。

下面以使用vgg网络作为特征提取层,使用ctc算法作为解码层为例,对本申请实施例提供的字符识别方法进行介绍。

参见图4,为本申请实施例提供的一种利用上述神经网络进行字符识别的示意图,其中,图像和图像的特征图均以“宽×高×通道数”的形式进行表示。

假设输入vgg网络的图像为320×32×3,通过vgg网络对图像进行特征提取,并对宽进行8倍降采样、对高进行32倍降采样后,输出40×1×512的特征图(第一特征图)。

进一步地,在卷积层1分别使用7×7、5×5、3×3、1×1共4种不同的卷积核对vgg网络输出的40×1×512的特征图进行卷积,得到4个40×1×64的特征图(参考特征图)。

参见图5,为本申请实施例提供的一种使用四种不同的卷积核对vgg网络输出的40×1×512特征图进行卷积运算的示意图,以图5中的目标图像块为例,7×7的卷积核可观察到以目标图像块为中心7×7范围内各图像块的图像特征,5×5的卷积核可观察到以目标图像块为中心5×5范围内各图像块的图像特征,3×3的卷积核可观察到以目标图像块为中心3×3范围内各图像块的图像特征,1×1的卷积核可观察到目标图像块自身的图像特征,也就是说,不同的卷积核可以观察到不同的图像区域,具有不同的感受野,这样,在同一卷积层使用多种感受野来分析图像特征即可观察足够大的区域、又可聚焦到足够小的区域,因此,字符识别效果较好。

之后,对这4个40×1×64的特征图进行通道连接,通道连接后的特征图再经过bn层和relu层进行优化,得到一个40×1×256的特征图(中间特征图)。

进一步地,在卷积层2使用7×7、5×5、3×3、1×1共4种不同的卷积核对卷积层1输出的40×1×256的中间特征图进行卷积运算,得到4个40×1×64的特征图(参考特征图),之后,对这4个40×1×64的特征图进行通道连接,通道连接后的特征图再经过bn层和relu层进行优化,得到另一个40×1×256的特征图(中间特征图)。

进一步地,在卷积层3使用5×5、3×3、1×1共3种不同的卷积核分别对卷积层2输出的40×1×256的中间特征图进行卷积运算,得到2个40×1×85特征图(参考特征图)和1个40×1×86的特征图(参考特征图),之后,对这3个特征图进行通道连接,通道连接后的特征图再经过bn层和relu层进行优化,得到40×1×256的特征图(第二特征图)。

然后,可通过一个1×1的卷积核,通道数为62的一维卷积对卷积层3输出的40×1×256的特征图进行压缩,得到40×1×62的特征图,之后,利用ctc解码出40个字符,以及对这40个字符进行去重处理,再去除字符中表示间隔如“-”的字符,从而确定出图像中包含的字符并输出。

具体实施时,若利用图2所示的网络结构进行模型训练,则还可比对输出的字符与为图像标注的字符是否一致,若不一致,还可从上而下逐层调整各层的参数以对字符识别模型进行训练,在此不再赘述。

本申请实施例提供的字符识别方案使用卷积神经网络进行特征分析,与现有技术中使用双向lstm的ocr方案相比速度更快,并且,因为lstm理论上具有无限大的感受野,会使得lstm具有太多的杂质,而实际上在ocr任务中,字宽总是有限的、并没有必要使用过大的感受野,所以lstm使用无限大的感受野其实并不能提升字符识别效果。本申请实施例为了在提高字符识别速度的同时提升字符识别效果,在每个卷积层中使用至少两种不同的卷积核进行卷积运算并进行通道连接,即是在该卷积层使用至少两种感受野进行特征分析并融合,多种感受野对应的特征可进行互补,因此,字符识别效果也比较好。

如图6所示,为本申请实施例提供的一种字符识别方法的流程图,包括以下步骤s601-s603:

s601:对获取的图像进行特征提取,得到图像的第一特征图,其中,第一特征图中的每个元素用于表征图像中一个图像块的图像特征。

具体实施时,可使用vgg网络对获取的图像进行特征提取,得到图像的第一特征图,第一特征图中的每个元素可以是特征向量的形式。

s602:通过卷积层中至少两种不同的卷积核对第一特征图进行卷积运算,得到图像的第二特征图,其中,第二特征图中的每个元素用于表征图像中一个图像块与相邻图像块的图像特征之间的关联关系。

这里,第二特征图中的每个元素也可以是特征向量的形式。

具体实施时,可以使用一个、两个、三个或更多个卷积层对图像的第一特征图进行卷积运算,并且,每个卷积层都使用至少两种不同的卷积核进行卷积运算,由于一种卷积核对应一个图像特征分析区域,所以在确定第二特征图时考虑了不同的图像特征分析区域,这些图像特征分析区域大小不同,可很好地兼顾观察足够大的区域、且聚焦到足够小的区域的需求,因此,可提升字符识别效果。

其中,当使用至少两个卷积层对第一特征图进行卷积运算时:

各卷积层使用的卷积核个数均相同;或者

各卷积层使用的卷积核个数均不同;或者

各卷积层中的部分卷积层使用的卷积核个数相同。

实际应用中,感受野是随着卷积层的堆叠而不断扩大的,所以第i+1个卷积层的感受野会大于第i个卷积层的感受野,而当感受野大于一定阈值后,不同卷积核得到的特征图互补效果并不明显,也就是说,在后续堆叠的卷积层上再增加卷积核的个数也难以再提升字符识别效果,所以,在一种可能的实施方式下,第i个卷积层使用的卷积核个数可大于或等于第i+1个卷积层使用的卷积核个数,其中,i为正整数。

具体实施时,若使用的卷积层的数量为两个,可按照图7所示的流程确定图像的第二特征图,该流程包括:

s701a:通过第一卷积层对第一特征图进行卷积运算,得到图像的第一中间特征图。

s702a:通过第二卷积层对第一中间特征图进行卷积运算,得到图像的第二中间特征图。

s703a:根据第二中间特征图,确定图像的第二特征图。

比如,直接将第二中间特征图确定为图像的第二特征图。

在一种可能的实施方式下,第一卷积层使用的卷积核个数和第二卷积层使用的卷积核个数相同,比如第一卷积层和第二卷积层使用的卷积核个数均为4。

在另一种可能的实施方式下,第一卷积层使用的卷积核个数和第二卷积层使用的卷积核个数不同,比如第一卷积层使用的卷积核个数为4,第二卷积层使用的卷积核个数为3。

下面以第一卷积层使用的卷积核个数为4,第二卷积层使用的卷积核个数为3为例对上述过程进行介绍。

具体实施时,在第一卷积层使用4种卷积核分别对第一特征图进行卷积运算,可得到4个参考特征图,对这4个参考特征图进行融合处理,即可得到图像的第一中间特征图,进一步地,在第二卷积层使用3种卷积核分别对第一特征图进行卷积运算,可得到3个参考特征图,对这3个参考特征图进行融合处理,即可得到图像的第二中间特征图,之后,可将第二中间特征图确定为图像的第二特征图。

其中,对参考特征图进行融合处理可以是对各参考特征图中属于同一图像块的数据进行拼接处理。

以第一卷积层为例,假设第一卷积层使用4种卷积核对第一特征图进行卷积运算后得到的4个参考特征图分别为:参考特征图1、参考特征图2、参考特征图3和参考特征图4。并且,假设某图像块在参考特征图1中对应的数据为:1011,在参考特征图2中对应的数据为:1101,在参考特征图3中对应的数据为:1010,在参考特征图4中对应的数据为:0011,那么,对这4个参考特征图的数据进行融合处理后该图像块的特征为:1011110110100011。

具体实施时,若使用的卷积层的数量为三个,可按照图8所示的流程确定图像的第二特征图,该流程包括:

s801a:通过第一卷积层对第一特征图进行卷积运算,得到图像的第一中间特征图。

s802a:通过第二卷积层对第一中间特征图进行卷积运算,得到图像的第二中间特征图。

s803a:通过第三卷积层对第二中间特征图进行卷积运算,得到图像的第三中间特征图。

s804a:根据第三中间特征图,确定图像的第二特征图。

比如,直接将第三中间特征图确定为图像的第二特征图。

在一种可能的实施方式下,第一卷积层使用的卷积核个数、第二卷积层使用的卷积核个数和第三卷积层使用的卷积核个数相同,比如第一卷积层、第二卷积层和第三卷积层使用的卷积核个数均为4。

在另一种可能的实施方式下,第一卷积层使用的卷积核个数、第二卷积层使用的卷积核个数和第三卷积层使用的卷积核个数均不相同,比如第一卷积层使用的卷积核个数均为4,第二卷积层使用的卷积核个数为3,第三卷积层使用的卷积核个数为2。

在另一种可能的实施方式下,第一卷积层使用的卷积核个数、第二卷积层使用的卷积核个数和第三卷积层使用的卷积核个数部分相同,比如第一卷积层使用的卷积核个数均为4,第二卷积层使用的卷积核个数为4,第三卷积层使用的卷积核个数为3。

下面以第一卷积层使用的卷积核个数均为4,第二卷积层使用的卷积核个数为4,第三卷积层使用的卷积核个数为3为例对上述过程进行介绍。

具体实施时,在第一卷积层使用4种卷积核分别对第一特征图进行卷积运算,可得到4个参考特征图,对这4个参考特征图进行融合处理,即可得到图像的第一中间特征图,进一步地,在第二卷积层使用4种卷积核分别对第一中间特征图进行卷积运算,可得到4个参考特征图,对这4个参考特征图进行融合处理,即可得到图像的第二中间特征图,然后,在第三卷积层使用3种卷积核分别对第二中间特征图进行卷积运算,可得到3个参考特征图,对这3个参考特征图进行融合处理,即可得到图像的第三中间特征图,之后,可将第三中间特征图确定为图像的第二特征图。

s603:根据图像的第二特征图和预设字符集确定图像中包含的字符。

具体实施时,可按照图9所示的流程确定图像中包含的字符,该流程包括以下步骤:

s901a:根据第二特征图中的每个元素,确定该元素对应的图像块在预设字符集中对应的字符。

其中,预设字符集中的每个字符可以为汉字、字母、数字或特殊符号,其中,字母如“a~z”、“a~z”,数字如“0~9”,特殊符号如“*”、“/”、“+”、“~”、“&”、“#、”等。

具体实施时,对第二特征图中的每个元素,可根据该元素和保存的预设字符集中每个字符的特征数据,确定该元素对应的图像块中的字符与预设字符集中每个字符之间的相似度,根据该元素对应的图像块中的字符与预设字符集中每个字符之间的相似度,确定该元素对应的图像块中的字符在预设字符集中各字符之间的概率分布,进而将概率最大的字符确定为该元素对应的图像块在预设字符集中对应的字符。

其中,该元素对应的图像块是指该元素对应的各图像块中的中心图像块,假设该元素对应的图像块为a,在确定该元素时考虑了与图像块a相邻的图像块的特征,并且这些图像块均以图像块a为中心,所以该元素对应的各图像块中的中心图像块就是指图像块a。

s902a:根据各图像块的相对位置关系对各图像块对应的字符进行组合,得到第一字符序列。

比如,按照各图像块的相对位置关系对各图像块对应的字符进行拼接,得到第一字符序列。

s903a:对第一字符序列中相邻的重复字符进行去重处理,得到第二字符序列。

实际应用中,可能图像中的一个字符被划分到了多个图像块中,因此,在得到第一字符序列之后,可对第一字符序列中相邻的重复字符进行去重处理,得到第二字符序列。

s904a:去除第二字符序列中表示间隔的字符,得到图像中包含的字符。

其中,表示间隔的字符如“-”。

当本申请实施例中提供的方法以软件或硬件或软硬件结合实现的时候,电子设备中可以包括多个功能模块,每个功能模块可以包括软件、硬件或其结合。具体的,参见图10所示,为本申请实施例提供的一种字符识别装置的结构示意图,包括特征提取模块1001、特征分析模块1002、确定模块1003。

特征提取模块1001,用于对获取的图像进行特征提取,得到所述图像的第一特征图,所述第一特征图中的每个元素用于表征所述图像中一个图像块的图像特征;

特征分析模块1002,用于通过卷积层中至少两种不同的卷积核对所述第一特征图进行卷积运算,得到所述图像的第二特征图,所述第二特征图中的每个元素用于表征所述图像中一个图像块与相邻图像块的图像特征之间的关联关系;

确定模块1003,用于根据所述图像的第二特征图和预设字符集确定所述图像中包含的字符。

在一种可能的实施方式中,所述特征分析模块1002具体用于:

若所述卷积层的数量为两个,通过第一卷积层对所述第一特征图进行卷积运算,得到所述图像的第一中间特征图;

通过第二卷积层对所述第一中间特征图进行卷积运算,得到所述图像的第二中间特征图;

根据所述第二中间特征图,确定所述图像的第二特征图。

在一种可能的实施方式中,所述特征分析模块1002具体用于:

若所述卷积层的数量为三个,通过第三卷积层对所述第二中间特征图进行卷积运算,得到所述图像的第三中间特征图;

根据所述第三中间特征图,确定所述图像的第二特征图。

在一种可能的实施方式中,所述特征分析模块1002具体用于:

对于任一卷积层,将通过所述卷积层的每个卷积核得到的参考特征图进行融合处理,并将融合处理后的参考特征图确定为通过所述卷积层得到的所述图像的中间特征图,其中,每个卷积核对应的参考特征图是基于所述卷积核对输入所述卷积层的特征图进行卷积运算得到的。

在一种可能的实施方式中,若所述卷积层的数量为多个,其中:

各卷积层使用的卷积核个数均相同;或者

各卷积层使用的卷积核个数均不同;或者

各卷积层中的部分卷积层使用的卷积核个数相同。

在一种可能的实施方式中,第i个卷积层使用的卷积核个数大于或等于第i+1个卷积层使用的卷积核个数,其中,i为正整数。

在一种可能的实施方式中,所述确定模块1003具体用于:

根据所述第二特征图中的每个元素,确定该元素对应的图像块在所述预设字符集中对应的字符;

根据各图像块的相对位置关系对各图像块对应的字符进行组合,得到第一字符序列;

对所述第一字符序列中相邻的重复字符进行去重处理,得到第二字符序列;

去除所述第二字符序列中表示间隔的字符,得到所述图像中包含的字符。

本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

本申请实施例还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一字符识别方法。

本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一字符识别方法。

在一些可能的实施方式中,本申请提供的字符识别方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的字符识别方法中的步骤。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本申请的实施方式的用于字符识别的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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