掌桥专利:专业的专利平台
掌桥专利
首页

文本识别的方法、装置、设备和存储介质

文献发布时间:2023-06-19 11:29:13


文本识别的方法、装置、设备和存储介质

技术领域

本申请涉及文本识别领域,尤其涉及一种文本识别的方法、装置、设备和存储介质。

背景技术

文本检测与识别应用范围广泛,是很多计算机视觉任务的前置步骤,比如图像搜索、身份认证和视觉导航等。文本检测的主要目的是定位文本行或字符在图像中的位置,而文本识别是将带文本行图像转录成字符串即识别其内容。相较于通用目标检测和识别来说,文字具有多方向、不规则形状、极端长宽比、字体、颜色、背景多样等特点,因此,文本的精准定位和准确识别既十分重要又具备挑战。

自然场景文字识别是在包含文字的图片中识别出字符序列的过程。它具有图片背景复杂、光照变化、识别输出空间复杂等极大挑战。而且由于文字由数量不固定的字母组成,因此,自然场景文字识别需要从图片中识别长度不固定的序列。目前有两种解决方案,一种是基于自底向上的策略,将识别问题拆分为字符检测、字符识别和字符组合,逐个解决。另一种是基于整体分析的策略,直接对整词整句进行分类识别。

上述两种解决方案虽然有各自在精度或速度上的优势,但是,目前都还难以在精度和速度上取得很好的平衡。

发明内容

本申请实施例提供一种文本识别的方法、装置、设备和存储介质,以解决相关技术存在的问题,技术方案如下:

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

使用多个卷积神经网络分别提取待检测图像不同尺度的特征;

对提取的该不同尺度的特征进行融合得到特征向量;

对该特征向量进行卷积操作得到概率矩阵;

在前向过程中对该概率矩阵进行解码得到识别的字符串。

第二方面,本申请实施例提供了一种文本识别的装置,包括:

提取模块,用于使用多个卷积神经网络分别提取待检测图像不同尺度的特征;

融合模块,用于对提取的该不同尺度的特征进行融合得到特征向量;

卷积模块,用于对该特征向量进行卷积操作得到概率矩阵;

解码模块,用于在前向过程中对该概率矩阵进行解码得到识别的字符串。

第三方面,本申请实施例提供了一种文本识别设备,该设备包括:存储器和处理器。其中,该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述各方面任一种实施方式中的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机程序,当计算机程序在计算机上运行时,上述各方面任一种实施方式中的方法被执行。

上述技术方案中的优点或有益效果至少包括:通过使用多个卷积神经网络分别提取待检测图像不同尺度的特征,对提取的所述不同尺度的特征进行融合得到特征向量,对该特征向量进行卷积操作得到概率矩阵,在前向过程中对该概率矩阵进行解码得到识别的字符串,全面提升了识别的速度和精度,有效地兼顾了文本识别的精度和速度的平衡。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。

图1为根据本申请一实施例的文本识别的方法流程图;

图2为根据本申请另一实施例的文本识别的方法流程图;

图3为根据本申请一实施例的文本识别的装置结构框图;

图4为根据本申请一实施例的文本识别的设备结构框图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

图1示出根据本申请一实施例的文本识别方法的流程图。如图1所示,该文本识别方法可以包括:

S11、使用多个卷积神经网络分别提取待检测图像不同尺度的特征;

S12、对提取的不同尺度的特征进行融合得到特征向量;

S13、对该特征向量进行卷积操作得到概率矩阵;

S14、在前向过程中对该概率矩阵进行解码得到识别的字符串。

上述方法借鉴了CRNN(Convolutional Recurrent Neural Networks,卷积循环神经网络)和Rosetta(Large Scale System for text detection and recognition inimages)的优势思路,深入改进网络结构,采用提取多个不同尺度特征的多个CNN(Convolutional Neural Networks,卷积神经网络)结构来进行文字识别,尽管增加了多个分支,但是卷积神经网络可以在GPU上并行计算,其提取特征的方式也比较简单,每一层次的操作都不依赖于上一层次或者上一步,因此全面提升了识别的速度和精度,有效地兼顾了文本识别的精度和速度的平衡。

在一种实施方式中,上述多个卷积神经网络中的每个卷积神经网络由多个块串联构建,每个块包括多层卷积操作,且每个块输出的特征向量大小与该待检测图像大小的比例均不同。

通常,待检测图像中的文字可以是句子、词或字等等。对于任意句子来说,它的组成的下一级别是词,更下一级别是字。也就是说,可以将文字视为一个三级结构,从底向上依次是字、词、句。当然,还可以有一个介于词与句之间的级别,即多个词连接在一起,它们并不能完整表达句子结构,但是却能比单个词表达更多的意思。同理,还可以有一个介于字和词之间的级别,即多个字连接在一起,它们并不是一个完整的词,但是却可以表达出比单个字更多的意思。

针对文字结构的上述特点,在一种实施方式中,上述方法中的多个CNN可以具体为4个CNN,每个CNN由4个块(block)串联构建。第一个块输出的特征向量大小与待检测图像大小的比例为1/4,第二个块输出的特征向量大小与待检测图像大小的比例为1/8,第三个块输出的特征向量大小与待检测图像大小的比例为1/16,第四个块输出的特征向量大小与待检测图像大小的比例为1/32。其中,每个CNN都可以使用Resnet18作为骨干网络(backbone),最终每个block都输出128通道的特征向量。

在一种实施方式中,上述多个CNN使用的卷积核宽长比例均不同。在采用4个CNN的结构中,可以设置该4个CNN使用的卷积核宽长比例依次为:1:1,1:2,1:3和1:4。进一步地,在上述比例的基础上还可以尽量采用非常小的卷积核,从而提高模型的精度。

在一种实施方式中,步骤S14具体包括:

在前向过程中使用贪心搜索或集束搜索(beamsearch),对该概率矩阵进行解码得到识别的字符串。

上述方法中使用的多个CNN结构,在进行识别之前,可以基于人工标注的数据集使用CTC来进行训练。图2为根据本申请另一实施例的文本识别的方法流程图。如图2所示,该文本识别的方法可以包括:

S21、收集大量可以用于文本识别的文本图像数据;

S22、对收集的文本图像数据进行人工标注;

S23、构建文本识别模型,采用4个分支结构分别提取不同尺度的特征;

其中,每个分支均使用Resnet18作为backbone(骨干网络),Resnet18网络由4个block块串联构建,每个block块包括若干层卷积操作,第一个至第四个block块输出的特征向量大小依次为原图大小的1/4,1/8,1/16和1/32,每个block块输出的特征向量都是128个。不同的是,第一个至第四个分支使用的非常小的卷积核的宽长比例依次为1:1,1:2,1:3和1:4。

S24、将人工标注后的文本图像数据输入文本识别模型中进行训练,每个分支最后输出的128通道的特征向量进行逐通道逐点相加,再进行多次卷积操作,得到一个L*N的概率矩阵;

其中,L表示最大字符串长度,N表示字典的大小。经过上述特征融合得到的结果,既包含了图像特征,又融合了字符间时序关系的特征,从而为更精确地识别提供了保障。

S25、使用CTC对文本识别模型进行训练;

S26、使用训练好的文本识别模型对待检测图像进行识别得到概率矩阵,使用贪心搜索或集束搜索对概率矩阵进行解码得到字符串。

图3示出根据本发明一实施例的文本识别的装置结构框图。如图3所示,该装置300可以包括:

提取模块301,用于使用多个卷积神经网络分别提取待检测图像不同尺度的特征;

融合模块302,用于对提取的该不同尺度的特征进行融合得到特征向量;

卷积模块303,用于对该特征向量进行卷积操作得到概率矩阵;

解码模块304,用于在前向过程中对该概率矩阵进行解码得到识别的字符串。

在一种实施方式中,上述多个卷积神经网络中的每个卷积神经网络由多个块串联构建,每个块包括多层卷积操作,且每个块输出的特征向量大小与该待检测图像大小的比例均不同。

在一种实施方式中,上述多个卷积神经网络为4个卷积神经网络,每个卷积神经网络由4个块串联构建,第一个块输出的特征向量大小与该待检测图像大小的比例为1/4,第二个块输出的特征向量大小与该待检测图像大小的比例为1/8,第三个块输出的特征向量大小与该待检测图像大小的比例为1/16,第四个块输出的特征向量大小与该待检测图像大小的比例为1/32。

在一种实施方式中,上述多个卷积神经网络使用的卷积核宽长比例均不同。

在一种实施方式中,上述多个卷积神经网络为4个卷积神经网络,且使用的卷积核宽长比例依次为:1:1,1:2,1:3和1:4。

在一种实施方式中,解码模块具体用于:在前向过程中使用贪心搜索或集束搜索,对该概率矩阵进行解码得到识别的字符串。

本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。

上述装置通过使用多个卷积神经网络分别提取待检测图像不同尺度的特征,对提取的所述不同尺度的特征进行融合得到特征向量,对该特征向量进行卷积操作得到概率矩阵,在前向过程中对该概率矩阵进行解码得到识别的字符串,全面提升了识别的速度和精度,有效地兼顾了文本识别的精度和速度的平衡。

图4示出根据本发明一实施例的文本识别的设备结构框图。如图4所示,该设备包括:存储器410和处理器420,存储器410内存储有可在处理器420上运行的计算机程序。处理器420执行该计算机程序时实现上述实施例中的方法。存储器410和处理器420的数量可以为一个或多个。

该设备还包括:

通信接口430,用于与外界设备进行通信,进行数据交互传输。

如果存储器410、处理器420和通信接口430独立实现,则存储器410、处理器420和通信接口430可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器410、处理器420及通信接口430集成在一块芯片上,则存储器410、处理器420及通信接口430可以通过内部接口完成相互间的通信。

本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。

本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。

本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。

应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。

进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory ,DRAM) 、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。

应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 文本识别方法、文本识别装置、存储介质和电子设备
  • 一种文本识别方法、文本识别装置及可读存储介质
技术分类

06120112940368