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

文本识别方法、装置、电子设备、存储介质

文献发布时间:2023-06-19 12:13:22


文本识别方法、装置、电子设备、存储介质

技术领域

本公开涉及文本检测、识别技术领域,具体涉及文本识别方法、装置、电子设备及存储介质。

背景技术

文本检测与识别应用范围广泛,是很多计算机视觉任务的前置步骤,比如图像搜索、身份认证和视觉导航等。文本检测的主要目的是定位文本行或字符在图像中的位置,而文本识别是将带文本行图像转录成字符序列(识别其内容)。文本的精准定位和准确识别既十分重要又具备挑战,相较于通用目标检测和识别来说,文字具有多方向、不规则形状、极端长宽比、字体、颜色、背景多样等特点。因此,传统目标检测和识别上较为成功的算法无法直接迁移到文字检测中,但近年来随着深度学习的再次兴起,对文本检测和识别的研究也成为了一大热点,出现了大量专用于文本检测和识别的方法,且都取得了较好的效果。

自然场景文字识别是在带文字的图片中识别出字符序列(对于中文,一个字符便是一个汉字,对于英文,一个字符便是一个字母)。它是一项具有极大挑战性的课题,除了图片背景复杂,光照变化等因素外,识别输出空间的复杂性也是一大困难。通常在带文字的图片中字符数量不固定,因此,自然场景文字识别需要从图片中识别长度不固定的字符序列。目前有两种解决思路,为基于字符的方法和基于序列的方法,但是基于字符的方法标注成本高,并且基于序列的方法可能会有漏识别或多识别的问题。

针对现有技术中基于字符的方法标注成本高,以及基于序列的方法可能会有漏识别或多识别的问题,还未提出有效的解决方案。

发明内容

有鉴于此,本公开实施例提供了一种文本识别方法、装置、电子设备及存储介质文,以解决现有技术中在文字识别过程中,基于序列的方法可能会有字符漏识别或多识别的问题。

为此,本公开实施例提供了如下技术方案:

本公开第一方面,提供了一种文本识别方法,包括:

确定待识别文本图像;

提取所述待识别文本图像的第一图像编码特征,并根据所述待识别文本图像获取字符中心点得分图;

根据所述第一图像编码特征和所述字符中心点得分图,获取第二图像编码特征;

对所述第二图像编码特征进行解码,获取所述待识别文本图像中的字符序列。

可选地,根据所述第一图像编码特征和所述字符中心点得分图,获取第二图像编码特征包括:

将所述字符中心点得分图与所述第一图像编码特征的特征映射进行逐点相乘,获取所述第二图像编码特征。

可选地,提取所述待识别文本图像的第一图像编码特征,并根据所述待识别文本图像获取字符中心点得分图包括:

将所述待识别文本图像输入至CRNN模型中的指定Resnet网络,获取所述第一图像编码特征以及所述指定Resnet网络中多个块输出的多个图像特征;

将所述多个图像特征进行串联叠加并经过卷积处理,获取所述字符中心点得分图。

可选地,所述方法还包括:

所述指定Resnet网络由N个块串联构建;

第n个块输出所述待识别文本图像大小的1/2

将N组特征映射通过插值算法获取N个所述待识别文本图像大小的1/2

将N个所述待识别文本图像大小的1/2

将所述一组特征映射进行等宽卷积,获取一个通道数量为所述待识别文本图像大小的1/2

可选地,所述指定Resnet网络通过如下步骤训练获取:

获取多个样本文本图像,并对所述样本文本图像上的字符内容进行转录,形成训练集;

从所述训练集中选取部分样本文本图像,标注字符的位置;

根据字符的位置对文字检测网络进行训练,获取所述指定Resnet网络。

可选地,所述方法还包括:通过梯度反向传播法对CRNN网络进行修正;其中,获取所述字符中心点得分图的卷积层参数固定。

可选地,对所述第二图像编码特征进行解码,获取所述待识别文本图像中的字符序列包括:

将所述第二图像编码特征输入RNN进行序列建模,获取时序特征;

将所述时序特征输入CTC进行转录,获取字符概率矩阵;

对所述字符概率矩阵进行解码,获取所述待识别文本图像上的字符序列。

本公开第二方面,提供了一种文本识别装置,包括:

确定模块,用于确定待识别文本图像;

提取模块,用于提取所述待识别文本图像的第一图像编码特征,并根据所述待识别文本图像获取字符中心点得分图;

第一获取模块,用于根据所述第一图像编码特征和所述字符中心点得分图,获取第二图像编码特征;

第二获取模块,用于对所述第二图像编码特征进行解码,获取所述待识别文本图像中的字符序列。

本公开第三方面,提供了一种电子设备,包括:至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述第一方面中任一所述的文本识别方法。

本公开第四方面,提供了一种计算机可读存储介质,存储有计算机指令,所述计算机指令被处理器执行时,使所述处理器实现根据第一方面中任一所述的文本识别方法。

本公开第五方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现第一方面中任一所述的文本识别方法。

本公开实施例技术方案,具有如下优点:

本公开实施例提供了一种文本识别方法、装置、电子设备及存储介质,其中,该方法包括:确定待识别文本图像;提取该待识别文本图像的第一图像编码特征,并根据该待识别文本图像获取字符中心点得分图;根据第一图像编码特征和字符中心点得分图,获取第二图像编码特征;对第二图像编码特征进行解码,获取该待识别文本图像中的字符序列。解决了现有技术中基于序列的方法可能会有漏识别或多识别的问题,提出一种全新的文本识别方法,能够更好的实现文本识别功能。

附图说明

为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本公开实施例的文本识别方法的流程图;

图2是根据本公开实施例的文本识别装置的结构框图;

图3是根据本公开实施例的电子设备的结构示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

在本公开的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本公开中,“示例性”一词用来表示“用作例子、例证或说明”。本公开中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本公开,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本公开。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本公开的描述变得晦涩。因此,本公开并非旨在限于所示的实施例,而是与符合本公开所公开的原理和特征的最广范围相一致。

本公开中涉及的卷积循环神经网络(Convolutional Recurrent NeuralNetwork,简称CRNN)、CenterNet以及注意力(Attention)模块具体说明如下:

CRNN从下至上,由卷积神经网络、循环神经网络和翻译层三部分组成,卷积神经网络负责从文本图片中提取特征,循环神经网络负责用卷积神经网络提取的特征进行序列预测,翻译层将循环神经网络获取的序列翻译为字母序列,目标函数选择“联结时序分类(Connectionist Temporal Classification,简称CTC)”损失函数。CRNN的一大优点是尽管包含不同类型的网络结构,但是仍然能够通过端到端的训练,目前在各种数据集上,CRNN性能优越,自从提出至今,虽然已历经数年,但仍然经久不衰。

CenterNet是一种用于通用目标检测的Anchor-free的方法,可视为基于回归的方法。其思路为:首先设定要预测的物体的总体的类别N,最后输出通道数量为N+2+2,它只预测物体的中心点,会为每种类别输出一张得分图(其每个像素点的值在0到1之间,表示这个点是某类物体中心的概率),因此会有N张得分图,因为在预测的过程中,并不能保证预测到的中心点就是真实的中心点,实际中往往会发生偏移,因此还会用两个通道来预测中心点的偏移量(一个是x轴偏移量,一个是y轴偏移量),除此之外,剩下的两个通道用来预测中心点距离矩形框左边框和上边框的距离,实际的后处理为,通过设定阈值在得分图找到物体的可能中心点,然后根据中心点对应的xy偏移量对中心点进行校正,然后通过中心点并结合预测到的宽高直接得到矩形框。

Attention也就是常说的注意力机制,它的特点是将有限的注意力集中在重点信息上,从而节省资源,快速获得最有效的信息,在数学上的操作形式,高度概括来说就是“加权求和”。它的模型复杂度与卷积神经网络(Convolutional Neural Network,简称CNN)、循环神经网络(Recurrent Neural Network,简称RNN)相比,复杂度更小,参数也更少,所以对算力的要求也就更小;同时,还解决了RNN不能并行计算的问题,它的每一步计算不依赖于上一步的计算结果,因此可以和CNN一样并行处理,同时,它可以捕捉重点信息,而不用考虑长距离信息丢失的问题,所以在很多任务中都能取得较好的效果。

目前,对于从文本图片中识别长度不固定的字符序列有两种解决思路,一种是基于自底向上的策略,将识别问题拆分为字符检测、字符识别和字符组合,逐个解决。这种方法虽然有效,但需要字符级别的标注,即每个字符在输入图像上的位置、以及信息都需要标注,这需要耗费大量的人工,标注成本高。另一种是基于整体分析的策略,即序列到序列的方法,先将图像编码,然后进行序列解码直接得出整个字符序列。这种方法虽然标注简单,只需转录字符序列,但是在识别字符序列的精度上有所欠缺。

为了解决上述问题,根据本公开实施例,提供一种文本识别方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

在本实施例中提供了一种文本识别方法实施例,可用于文本识别系统,例如,题拍拍以及图像转文字系统,图1是根据本公开实施例的文本识别方法的流程图,如图1所示,该流程100包括如下步骤:

步骤S101,确定待识别文本图像。

步骤S102,提取待识别文本图像的第一图像编码特征,并根据该待识别文本图像获取字符中心点得分图。通过字符中心点得分图可以得到待识别文本图像中包括多少个字符以及字符的大致位置。

步骤S103,根据第一图像编码特征和字符中心点得分图,获取第二图像编码特征。第二图像编码特征相比于第一图像编码特征还与字符中心点得分图有关,因此可以更好识别文字。

步骤S104,对第二图像编码特征进行解码,获取该待识别文本图像中的字符序列。在一些可选实施例中,可以通过神经网络进行解码,例如,可以通过贪心搜索或者束搜索(Beam Search)对第二图像编码特征进行处理和解码,进而获得待识别文本图像上的字符序列。

通过上述步骤,由于现有技术中的文本识别方法可能会有漏识别或多识别的问题。本公开实施例通过获取字符中心点得分图的方式,并根据第一图像编码特征和字符中心点得分图,获取第二图像编码特征,然后对第二图像编码特征进行解码,解决了现有技术中文本识别方法可能会有漏识别或多识别的问题。本公开通过字符中心点的得分图与第一图像编码特征可以知晓待识别文本图像中包含多少个字符以及字符的大致位置,进而有效的减少漏字符或者多字符的现象,从而更好的实现文本识别功能。

为了说明本公开实施例的CRNN网络,在一些可选实施例中,CRNN包括CNN网络(卷积神经网络)、RNN网络(循环神经网络)和CTC网络(连结一致性损失)。CNN用于提取待识别文本图像的特征,即第一图像编码特征,RNN用于建模第二图像编码特征不同字符之间的时序关系以及其相互关系。RNN网络可以为双向长短期记忆网络(Long Short-Term Memory,简称LSTM)网络,通过双向LSTM网络在对字符序列进行识别时不需要根据某一个字符前后的信息去确定该字符,用于解决信息传递过程中的长距离依赖问题。

上述步骤S102涉及提取待识别文本图像的第一图像编码特征,并根据待识别文本图像获取字符中心点得分图,在一些可选实施例中,将待识别文本图像输入至CRNN模型中的指定残差网络(Residual Neural Network,简称Resnet),获取第一图像编码特征以及该指定Resnet网络中多个块输出的多个图像特征。具体地,在本公开实施例中,指定Resnet网络为指定Resnet18网络。将多个块图像特征进行串联叠加并经过卷积处理,获取字符中心点得分图。另外,多个图像特征进行串联叠加并经过卷积处理时,所做卷积为两次等宽卷积,确保卷积输入输出大小一致。

上述步骤S103涉及根据第一图像编码特征和字符中心点得分图,获取第二图像编码特征,在一些可选实施例中,将字符中心点得分图与第一图像编码特征的特征映射进行逐点相乘,获取第二图像编码特征。具体地,第一图像编码特征的特征映射为第一图像编码的每个通道对应位置的图像特征。借鉴attention的思想,通过对输入序列网络的(LSTM网络)的第一图像编码特征加上注意力机制,即将每个字符位置的权重加大。通过为第一图像编码特征赋予权重的方法,进而可以执行后续为减少字符漏识别或多识别的步骤。

为了说明本公开实施例的指定Resnet网络,在一些可选实施例中,该指定Resnet网络由N个块串联构建。第n个块输出待识别文本图像大小的1/2

在一些可选实施例中,区别CenterNet网络对于一个目标只选择一个像素点作为其中心点,可能会出现中心点像素丢失的问题,使得无法获取中心点。本公开实施例对于任意一个字符以字符中心像素为圆心,3个像素为半径的圆内所有像素点作为区域最终的字符中心点,并且圆的半径可以根据需求变化。相较于传统的CenterNet网络,在本公开实施例中,在训练时,将样本图像输入文字检测网络,根据输出结果和分类标签对网络进行训练,进而获取区域最终的字符中心点。其中,分类标签中包括真实区域最终的字符中心点。通过训练字检测网络调整网络参数,使得文字检测网络为可以输出多个像素共同作为字符中心点,提高了识别准确率,防止出现字符中心点丢失。

为了进一步说明本公开实施例的指定Resnet网络,在一些可选实施例中,该指定Resnet网络通过如下步骤训练获取:获取多个样本文本图像,并对样本文本图像上的字符内容进行转录,形成训练集。从训练集中选取部分样本文本图像,标注字符的位置。具体地,通过获取多个样本文本图像,并对样本文本图像上的字符内容进行转录,进而获取字符序列,形成训练集。通过检测的方法标注训练集中部分文本图像上每个字符的位置。减少了标注的数量,降低了标注成本。另外,通常进行文本识别的数据集规模都在百万千万,而检测方法只需要数万数据就能取得较好的结果,特别是检测的待识别文本图像为背景单一且干净的图像上的字符位置,更是便捷准确。

根据字符的位置对文字检测网络进行训练,获取指定Resnet网络。具体地,在训练时,根据CenterNet理论,构建一个以Resnet网络为主干,且类似CenterNet的文字检测网络,将训练集输入该文字检测网络后,根据每个字符的位置对文字检测网络利用FocalLoss进行训练,获取能够预测字符中心点位置的文字检测网络;其中,该文字检测网络中的Resnet网络为该指定Resnet网络,并且将能预测字符中心点位置的检测模型中的Resnet18网络用于构建CNN网络,使得CNN网络可以获取待识别图像的字符中心点得分图。

在一些可选实施例中,通过梯度反向传播法对CRNN网络进行修正;其中,获取字符中心点得分图的卷积层参数固定。具体地,在训练CRNN网络时,将样本图像输入CRNN网络后,通过CTC的处理,获得概率函数,通过对概率函数进行求导,进而对网络进行修正。通过对CRNN网络训练使得CRNN网络可以准确快速的识别文本图像中的字符序列。

上述步骤S104涉及根据第二图像编码特征获取待识别文本图像上的字符序列,在一些可选实施例中,将该第二图像编码特征输入RNN进行序列建模,获取时序特征。将双向LSTM网络作为RNN网络,解决了信息传递过程中的长距离依赖问题。

将时序特征输入CTC进行转录,获取字符概率矩阵。具体地,对字符概率矩阵进行解码,获取待识别文本图像上的字符序列。通过CTC网络预测最大概率对应的字符概率,并且通过贪心算法或者Beam Search进行解码,最终获得待识别图像上的字符序列。

在本实施例中还提供了一种文本识别装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本实施例提供一种文本识别装置200,如图2所示,包括:

确定模块201,用于确定待识别文本图像;

提取模块202,用于提取该待识别文本图像的第一图像编码特征,并根据该待识别文本图像获取字符中心点得分图;

第一获取模块203,用于根据第一图像编码特征和字符中心点得分图,获取第二图像编码特征;

第二获取模块204,用于对第二图像编码特征进行解码,获取该待识别文本图像中的字符序列。

本实施例中的文本识别装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。

上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。

本公开实施例还提供一种电子设备,具有上述图2所示的文本识别装置。

请参阅图3,图3是本公开可选实施例提供的电子设备结构示意图300,如图3所示,该电子设备可以包括:至少一个处理器301,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口303,存储器304,至少一个通信总线302。其中,通信总线302用于实现这些组件之间的连接通信。其中,通信接口303可以包括显示屏(Display)、键盘(Keyboard),可选通信接口303还可以包括标准的有线接口、无线接口。存储器304可以是高速RAM存储器(Random Access Memory,随机存取存储器),也可以是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器304可选的还可以是至少一个位于远离前述处理器301的存储装置。其中处理器301可以结合图3所描述的装置,存储器304中存储应用程序,且处理器301调用存储器304中存储的程序代码,以用于执行上述任一文本识别方法方法步骤。

其中,通信总线302可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器304可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器304还可以包括上述种类的存储器的组合。

其中,处理器301可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。

其中,处理器301还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic, 缩写:GAL)或其任意组合。

可选地,存储器304还用于存储程序指令。处理器301可以调用程序指令,实现上述任一实施例中的文本识别方法。

本公开实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的文本识别方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

本公开实施例还提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现上述任一实施例中的文本识别方法。

虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

相关技术
  • 文本识别方法、文本识别装置、存储介质和电子设备
  • 文本区域的位置识别方法、装置、电子设备和存储介质
技术分类

06120113211461