CN111400497A - 一种文本识别方法、装置、存储介质及电子设备 - Google Patents
一种文本识别方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111400497A CN111400497A CN202010198485.5A CN202010198485A CN111400497A CN 111400497 A CN111400497 A CN 111400497A CN 202010198485 A CN202010198485 A CN 202010198485A CN 111400497 A CN111400497 A CN 111400497A
- Authority
- CN
- China
- Prior art keywords
- layer
- text
- orientation
- convolution
- channels
- 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 74
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 71
- 230000015654 memory Effects 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000010586 diagram Methods 0.000 claims description 58
- 238000011176 pooling Methods 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000004044 response Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 9
- 230000000052 comparative effect Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 102100032202 Cornulin Human genes 0.000 description 1
- 101000920981 Homo sapiens Cornulin Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- 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)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
本申请涉及文本识别技术领域,提供一种文本识别方法、装置、存储介质及电子设备。其中,文本识别方法包括:获取待识别的文本行图像;利用卷积神经网络提取文本行图像的朝向不变特征,朝向不变特征是指与所述文本行图像中的文本朝向无关的特征;将朝向不变特征输入至依次设置的长短时记忆网络和连接时序分类器进行处理,获得所述文本行图像的文本识别结果。上述方法中通过卷积神经网络提取到的朝向不变特征不受文本行图像中的文本朝向的影响,从而,基于该特征去做文本识别,识别结果也不受文本行图像中的文本朝向影响。因此该方法能够有效处理包含各种文本朝向的图像,显著拓展了文本识别技术的应用范围。
Description
技术领域
本发明涉及文本识别技术领域,具体而言,涉及一种文本识别方法、装置、存储介质及电子设备。
背景技术
近年来,通过广大学者的研究,文本检测和识别的性能已经有了长足的进步。目前,主流的检测和识别方法都是基于文本行的,其基本流程是:先使用检测算法得到文本行图像的范围,然后从输入图像中切出局部的文本行图像,再将文本行图像输入识别网络得到识别结果,最后将文本行图像在输入图像中的坐标和识别出的字符串返回给调用者。
上面的基本流程中,有一个关键的假设必不可少,即切出图像中的文本行都是(或者大致上是)水平且朝上的(文本朝向指字符的字头朝向),因此可以直接输入至识别网络处理。或者,在一些改进方案中,还可以先设法确定文本行与水平方向的较小夹角(小于90度的角),然后按此夹角方向旋转局部图像,最后从中旋转后的局部图像中切出文本行图像再进行识别。以图1为例,“螺口弯针头”、“规格15G-27G”、“管长15mm”三个文本行行是水平且朝上的,“1.5英寸”、“鑫源电子产品”两个文本行根据与水平方向的较小夹角分别逆时针和顺时针旋转后也是水平且朝上的,因此这五个切分出的文本行图像都满足上述条件,基本流程可以正确处理。
然而,现实中也有很多输入图像中的文本朝向并不满足上述条件。以图2为例,“螺口弯针头”、“规格15G-27G”、“管长15mm”三个文本行是水平且朝上的,“1.5英寸”是竖排文本,无论如何旋转其文本朝向都与横排文本不同,“鑫源电子产品”虽然是横排文本,但按照其与水平方向的较小夹角旋转后,文本行是朝下的,因此这五个切分出的文本行图像只有前三个可以通过基本流程正确识别,后两个则无法正确识别。
在某些特定的场景中,可以通过采取一些措施避免上述问题,比如身份证的前端识别中,可以通过程序界面引导用户按规定的方式采集身份证图像,或者可以对身份证图像进行配准(因为身份证的样式是统一的)再进行识别。不过这样的场景毕竟十分有限,例如在电商的广告图像、手机拍摄的各种场景图像中,往往会出现各种文本朝向,并且也很难通过额外的技术手段加以限制,这无疑给文本识别技术的推广应用带来了极大的障碍。
发明内容
本申请实施例的目的在于提供一种文本识别方法、装置、存储介质及电子设备,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种文本识别方法,包括:获取待识别的文本行图像;利用卷积神经网络提取所述文本行图像的朝向不变特征,所述朝向不变特征是指与所述文本行图像中的文本朝向无关的特征;将所述朝向不变特征输入至依次设置的长短时记忆网络和连接时序分类器进行处理,获得所述文本行图像的文本识别结果。
上述方法中通过卷积神经网络提取到的朝向不变特征不受文本行图像中的文本朝向的影响,从而,基于该特征去做文本识别,识别结果也不受文本行图像中的文本朝向影响,即可以正常识别多种朝向的文本。因此该方法能够有效处理包含各种文本朝向的图像,显著拓展了文本识别技术的应用范围。
在第一方面的一种实现方式中,所述卷积神经网络包括至少一个方向卷积层,以及,在所述至少一个方向卷积层之后依次设置的反向旋转层和编码层,所述利用卷积神经网络提取所述文本行图像的朝向不变特征,包括:所述方向卷积层利用每K个一组的卷积核对该层的输入特征图进行卷积,并输出每组卷积核卷积后得到K个相应的特征通道;其中,K为大于1的正整数,表示需要识别的文本朝向的总数量,每组中的K个卷积核由该组中的基准卷积核按照K个文本朝向旋转后产生;所述反向旋转层对该层的输入特征图中的K个特征通道进行旋转,并输出特征通道旋转后的特征图;其中,每个特征通道的旋转方式与生成该特征通道时采用的卷积核相对于所述基准卷积核的旋转方式相反;所述编码层对该层的输入特征图中的K个特征通道进行编码,并输出特征通道编码后的特征图;其中,编码是指将该层的输入特征图与特征通道的排列顺序去相关化的操作,所述编码层的输出特征图具有朝向不变性,该特征图为所述朝向不变特征,或者,该特征图经所述卷积神经网络位于所述编码层之后的部分处理后能够得到所述朝向不变特征。
上述实现方式给出了利用卷积神经网络获取朝向不变特征的一种具体方案,其中方向卷积层的K个一组的卷积核可由基准卷积核旋转后产生,因此方向卷积层可以只存储基准卷积核的参数,从而不会因为了识别多个朝向的文本造成网络容量的扩大。另外,由于K个卷积核分别对应K个文本朝向,相当于对卷积神经网络的结构施加了某种限制(限制该网络经学习后用于识别这K个朝向的文本),从而使得网络的需要优化搜索的空间变小,训练网络所需的数据和时间都明显减少(神经网络的训练过程可以理解为在参数空间中搜索一组最优参数值)。
在第一方面的一种实现方式中,所述至少一个方向卷积层设置于所述卷积神经网络的开始位置。
若方向卷积层未设置在卷积神经网络的开始位置(例如卷积神经网络的开始若干层还是普通的卷积层),则在处理流程进入到方向卷积层之前,提取到的特征已经受到前面各层施加的限制,不能再很好地适应各个文本朝向。另外,前若干层可能已经在输出特征中产生了冗余信息,这些冗余信息无法再通过方向卷积层予以消除。
在第一方面的一种实现方式中,K=4,需要识别的文本朝向包括上、右、下、左4个方向。
对于输入卷积神经网络的文本行图像,往往已经经过了旋转处理(例如,旋转至图像的长边与水平方向平行),此时文本行图像中的文本朝向基本只有上、右、下、左4个方向,这是最为常见的情况,足以涵盖绝大多数的文本识别任务。
在第一方面的一种实现方式中,所述卷积神经网络在所述方向卷积层之前的层的参数被配置为使得所述反向旋转层的输入特征图为正方形。
若反向旋转层的输入特征图是长方形(当然此时特征图中包含的各特征通道也是长方形),直接对各特征通道进行反向旋转,将造成输出特征图中各特征通道尺寸不统一(正方形的特征图由于长宽相等,即使反向旋转也不会引起此问题),导致后续网络无法处理。因此在设计反向旋转层之前的各层时,可以适当配置其参数(主要指一些超参数)使得反向旋转层的输入特征图是正方形。
在第一方面的一种实现方式中,所述卷积神经网络在所述向旋转层和所述编码层之间还设置有尺度变换层,在所述反向旋转层对该层的输入特征图中的K个特征通道进行旋转之后,以及在所述编码层对该层的输入特征图中的K个特征通道进行编码之前,所述方法还包括:所述尺度变换层将该层的输入特征图中的K个特征通道池化为相同的尺寸,并输出特征通道池化后的特征图。
除了上一种实现方式外,为了使反向旋转层的输出特征图中各特征通道的尺寸变为统一的,也可以在反向旋转层之后设置尺度变换层进行后处理,尺度变换层采用的池化方式可以是感兴趣区域池化(ROI Pooling)、感兴趣区域对齐(ROI Align)等,这种实现方式下反向旋转层的输入特征图和输出特征图都不必是正方形。
在第一方面的一种实现方式中,所述卷积神经网络在所述尺度变换层之前还设置有至少一个池化层。
尺度变换层中的池化操作会造成特征通道在水平和垂直两个方向尺度不一,可能影响后续的文本识别效果,但若在尺度变换层之前设置若干普通的池化层,则可以显著弱化尺度问题带来的影响,传统的卷积神经网络对目标尺寸有一定的适应性也是由于这个原因。
在第一方面的一种实现方式中,所述编码层对该层的输入特征图中的K个特征通道进行编码,包括:所述编码层确定所述K个特征通道中的主通道,所述主通道是指所包含的像素值在预设度量方式下度量结果最大的特征通道;所述编码层调整所述K个特征通道的排列顺序,使得在所述编码层的输出特征图中所述主通道被排在首位,并且所述K个特征通道之间的相对次序在循环意义上保持不变。
在第一方面的一种实现方式中,所述编码层对该层的输入特征图中的K个特征通道进行编码,包括:所述编码层针对该层的输入特征图中的每个像素位置,将所述K个特征通道在该像素位置处的K个像素的最大取值作为所述编码层的输出特征图在该像素位置处的像素值。
以上给出了编码层可能采用的两种编码方式,第一种编码方式较复杂,第二种编码方式较简单,但前者在输出特征图中保留了全部的特征通道,后者其实在每个像素位置只保留了一个特征通道,因此第二种编码方式的方向信息有损失,导致对后续的识别效果有一定影响,具体实施时可根据需求进行编码方式的选择。
在第一方面的一种实现方式中,所述方向卷积层仅存储所述基准卷积核的参数,并且在训练时也只更新所述基准卷积核的参数。
在上述实现方式中,方向卷积层实际需要维护的卷积核只有一个,即基准卷积核,其他卷积核只需在进行卷积计算时根据基准卷积核旋转产生,从而方向卷积层的参数数量相对于一个普通卷积层并没有增加。
第二方面,本申请实施例提供一种文本识别装置,包括:图像获取模块,用于获取待识别的文本行图像;特征提取模块,用于利用卷积神经网络提取所述文本行图像的朝向不变特征,所述朝向不变特征是指与所述文本行图像中的文本朝向无关的特征;文本识别模块,用于将所述朝向不变特征输入至依次设置的长短时记忆网络和连接时序分类器进行处理,获得所述文本行图像的文本识别结果。
第三方面,本申请实施例提供一种文本识别网络,包括:依次设置的卷积神经网络、长短时记忆网络和连接时序分类器;所述卷积神经网络用于提取待识别的文本行图像的朝向不变特征,所述朝向不变特征是指与所述文本行图像中的文本朝向无关的特征;所述长短时记忆网络和连接时序分类器用于对所述朝向不变特征进行处理,获得所述文本行图像的文本识别结果。
在第三方面的一种实现方式中,所述卷积神经网络包括至少一个方向卷积层,以及,在所述至少一个方向卷积层之后依次设置的反向旋转层和编码层;所述方向卷积层用于利用每K个一组的卷积核对该层的输入特征图进行卷积,并输出每组卷积核卷积后得到K个相应的特征通道;其中,K为大于1的正整数,表示需要识别的文本朝向的总数量,每组中的K个卷积核由该组中的基准卷积核按照K个文本朝向旋转后产生;所述反向旋转层用于对该层的输入特征图中的K个特征通道进行旋转,并输出特征通道旋转后的特征图;其中,每个特征通道的旋转方式与生成该特征通道时采用的卷积核相对于所述基准卷积核的旋转方式相反;所述编码层用于对该层的输入特征图中的K个特征通道进行编码,并输出特征通道编码后的特征图;其中,编码是指将该层的输入特征图与特征通道的排列顺序去相关化的操作,所述编码层的输出特征图具有朝向不变性,该特征图为所述朝向不变特征,或者,该特征图经所述卷积神经网络位于所述编码层之后的部分处理后能够得到所述朝向不变特征。
在第三方面的一种实现方式中,所述卷积神经网络在所述向旋转层和所述编码层之间还设置有尺度变换层,所述尺度变换层用于将该层的输入特征图中的K个特征通道池化为相同的尺寸,并输出特征通道池化后的特征图。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
第五方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了一种文本识别场景的示意图;
图2示出了另一种文本识别场景的示意图;
图3示出了本申请实施例提供的一种文本识别网络的结构图;
图4示出了本申请实施例提供的一种文本识别方法的流程图;
图5示出了卷积的响应不变性的原理图;
图6示出了本申请实施例提供的反向旋转层和尺度变换层的工作原理图;
图7示出了本申请实施例提供的一种文本识别装置的模块图;
图8示出了本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
卷积循环网络(Convolutional Recurrent Neural Network,简称CRNN)是将深度学习与文本识别相结合的经典算法。卷积循环网络可以直接识别文本行图像,而不需要像传统方法一样先进行字符分割再识别,训练的时候也不需要做逐字符的标注,而只需标注整个文本行的位置和文本行的字符串即可。由于该方法相比传统方法优势明显,且易于实现,目前已成为文本识别的主流方法。
卷积循环网络主要包括三部分:卷积神经网络(Convolutional RecurrentNeural Network,简称CNN)、长短时记忆网络(Long Short-Term Memory,简称LSTM)以及连接时序分类器(Connectionist Temporal Classifier,简称CTC)。这三个部分在文本识别网络中依次设置,其中,卷积神经网络负责提取图像特征,长短时记忆网络负责处理序列隐含的上下文关系,连接时序分类器负责处理特征序列和标签序列的对应关系,文本行图像从卷积神经网络输入,文本识别结果从连接时序分类器输出。
关于卷积循环网络的具体实现方式,可以参考现有技术,此处不进行详细阐述。行识别器(如上面的卷积循环网络等)从原理上来说,就是用一个字符分类器在时间步(timestep)上的循环来识别一行文本。由于每个时间步上的字符分类器只能识别一种朝向的字符(字符分类器对于字符朝向并没有不变性,如果训练时字符是朝上的,在分类器实际使用时也只能识别朝上的字符,字符朝向一旦变化则无法识别),因此整个行识别器也只能识别一种朝向的文本,比如前文提到的水平且朝上的文本。若要识别多种朝向的文本需要做一些额外处理,在介绍本申请的方案前先给出几种对照实施例。为便于阐述,不妨假定切出的文本行图像已经按长边对齐到水平方向(指将文本行图像的长边旋转至与水平方向平行),此时文本朝向可能是上,右,下,左4种情况,其中,文本朝上或朝下的情况表明文本行是横排(如图2中的“螺口弯针头”),文本朝右或朝左的情况表明文本行是竖排(如图2中的“1.5英寸”)。
对照实施例1:对文本行图像所有可能的文本朝向都进行一次识别。首先,训练两个行识别器,分别是专门用于识别横排文本的行识别器以及专门用于识别竖排文本的行识别器。然后,考虑所有4种文本朝向,将文本行图像和旋转180度后的文本行图像都送入横排文本的行识别器中识别,同时将文本行图像和旋转180度后的文本行图像都送入竖排文本的行识别器中识别,得到4个识别结果,然后根据识别概率或者额外的语言模型,以4种结果中概率最大的一个结果作为最终识别结果。
对照实施例1对于一个文本行图像需要进行4次识别,耗时较长,并且最后还涉及一个最终识别结果判定的步骤,导致文本识别流程复杂化。
对照实施例2:额外训练一个字符朝向分类器来判定文本行图像的文本朝向。例如,该分类器对一个文本行图像可输出5个类别,即非文本和4种文本朝向。其具体做法是:得到文本行图像之后,首先沿长边方向等距离将文本行图像切成小块,然后将每个小块图像都送入上述字符朝向分类器,如果希望得到更稳定的结果,切分文本行图像时各小块可以有重叠。然而,一些字符的“旋转相似”性:比如有些字符自身旋转180度后相同,如汉字“中”或字母“I”;有些是两个字符旋转180度后相似,如字母“b”和“q”;有些是两个字符旋转90度后相似,比如汉字“区”和“冈”。考虑这些情况,单个字符的分类结果未必可靠,但对一个文本行而言,综合多个字符的分类结果,取大部分字符分类得到的方向,通常是没有问题的。得到正确的文本朝向后,可以先将文本行图调整到预设的方向(例如,横排文本统一调整至水平朝上,竖排文本统一调整至水平朝右),然后调用横排或竖排的行识别器进行识别。
对照实施例2要使用横排文本和识别竖排文本两个行识别器,并且还需要增加一个字符朝向分类器,其处理流程仍然比较复杂。
对照实施例3:将文本朝向判定集成到文本检测网络中,即文本检测网络不但输出文本框(即文本行的位置),还同时输出每个文本框的一些属性,比如文本朝向。后续切出文本行图像后,参考对应文本框的文本朝向属性,即可正确地旋转文本行图像,并对应地采用横排文本的行识别器或竖排文本的行识别器。
对照实施例3在逻辑上可视为将对照实施例2中的字符朝向分类器集成到文本检测网络中,即将复杂度转移到检测端,而一般来说文本检测是文本识别所不可避免的前序步骤,因此并没有简化问题。
对照实施例4:训练行识别器时采用包含4种文本朝向的样本,并让同一个字符的4个朝向都输出同一个类别(即识别结果),即允许同一个字符在网络内部可以有4种合法的朝向,其本质就是训练一个足以识别4种文本朝向的网络。
对照实施例4看似比较简洁,只需找到足够的4个朝向的样本,加入网络进行训练即可,也比较符合目前端到端的潮流。但实际上,该方案相当于是把文本识别网络分类的类别变成了原来的4倍。研究表明,对于一个实用的文本识别产品,识别的汉字至少应在6000以上,如果还要识别繁体,则识别汉字至少应在1万以上。按照对照实施例4中的做法,网络内部需要处理6000×4=24000或者10000×4=40000个分类。在这样巨大的分类类别下,要想做到比较好的识别效果,网络的容量(可以理解为网络的参数数量)需要大幅提高,这意味着网络的训练时间和训练难度随之大幅提高,使用该网络进行识别的计算代价也相应大幅增加。
本申请实施例提出的文本识别方法,可视为卷积循环网络的一种改进形式,其采用的网络结构也包括依次设置的卷积神经网络100、长短时记忆网络110以及连接时序分类器120,如图3所示。各部分的功能也和卷积循环网络中的类似,不再重复,文本行图像从卷积神经网络100输入,文本识别结果从连接时序分类器120输出。本申请改进的重点在于其中的卷积神经网络100,对于长短时记忆网络110以及连接时序分类器120则可沿用卷积循环网络中的结构。对于卷积神经网络100,在本申请的一些实现方式中,可以进一步包括方向卷积层102、反向旋转层104、尺度变换层106以及编码层108等结构,后文将进行具体介绍。可以理解的,图2中示出的文本识别网络只是适用于本申请实施例提出的文本识别方法的一种网络结构而已,本申请的文本识别方法亦有可能采用不同于图2的网络结构。
另外,该文本识别方法的一些实现方式还可以避免上述对照实施例中存在的一些缺陷,后文也会进行具体介绍。
图4示出了本申请实施例提供的一种文本识别方法的流程图。该方法可由一电子设备执行,图8示出了该电子设备可能的结构,具体请参考后文描述。参照图4,该方法包括:
步骤S200:获取待识别的文本行图像。
从原始的输入图像中切分文本行图像属于现有方法,此处不进行详细阐述。如前文所述,切出文本行图像后,可以按长边对齐到水平方向,方便后续步骤进行统一处理。
步骤S210:利用卷积神经网络提取文本行图像的朝向不变特征。
朝向不变特征是指与文本行图像中的文本朝向无关的特征,换句话说,即使文本行图像中的文本朝向改变了,但只要文本内容未发生改变,利用卷积神经网络提取出的朝向不变特征均不受文本朝向改变的影响。其中,文本内容可以指文本对应的字符串、采用的字体等。
需要指出,上面对朝向不变特征的定义是比较绝对的,但实践中朝向不变特征并不一定要限定为绝对意义上的“朝向不变”,即认为文本朝向的改变对特征提取结果不造成任何影响,例如,文本行图像中不仅包含文本,还包含背景,若文本的朝向发生了改变,文本和背景之间的关系也会发生变化,因此影响特征提取结果的因素并非只有文本自身的因素。所以,对特征的朝向不变性可以从识别结果上进一步加以理解:即使文本行图像中的文本朝向改变了,但只要文本内容未发生改变,本申请采用的卷积神经网络提取到的特征都是近似的,基于这些近似的特征最终得到的文本识别结果是相同或基本相同的。
传统的卷积神经网络并不能提取朝向不变特征,需要进行适当的改造,在后文会结合图2示出的结构给出一些可能的实现方式。当然改造后的网络在提取特征时仍然采用卷积运算,故仍然可称为卷积神经网络。
步骤S220:将朝向不变特征输入至依次设置的长短时记忆网络和连接时序分类器进行处理,获得文本行图像的文本识别结果。
长短时记忆网络结合连接时序分类器是文本识别领域的常见结构,在卷积循环网络中也使用了这样的结构,其具体工作原理参考现有技术即可,这里不作详细阐述。
在上述文本识别方法中,通过卷积神经网络提取到的朝向不变特征不受文本行图像中的文本朝向的影响,从而,基于该特征去做文本识别,识别结果也不受文本行图像中的文本朝向影响,即可以正常识别多种朝向的文本。因此该方法能够有效处理包含各种文本朝向的图像,显著拓展了文本识别技术的应用范围。
进一步的,在一些实现方式中,步骤S220中的卷积神经网络可以包括至少一个方向卷积层,以及,在至少一个方向卷积层之后依次设置的反向旋转层和编码层。需要指出,以上各层结构是本申请的方案为提取朝向不变特征新提出的,但并不是说卷积神经网络只能包含这些层,传统卷积神经网络中常见的普通卷积层(这里的普通指相对于方向卷积层而言)、池化层、激活层(如ReLU、tanh)等仍然可以保留在本申请的卷积神经网络中。上面的至少一个方向卷积层、反向旋转层和编码层也不一定要连续设置,中间也可以间隔一些其他层。
下面分别对各层的功能予以阐述,在阐述前不妨假定文本行图像中需要识别的文本朝向的总数量为K(K为大于1的正整数),最常见的情况,若文本行图像已经按长边对齐到水平方向,需要识别的文本朝向包括上、右、下、左4个方向(K=4),这足以涵盖绝大多数的文本识别任务,在后文中也主要以这种情况为例进行阐述。当然,K也可以取其他值,比如,事先可以确定图像中的文字都是横排的,则需要识别的文本朝向只有上下两个方向(K=2)。
方向卷积层中的卷积核以K个为一组,每组中的K个卷积核由该组中的基准卷积核按照K个文本朝向旋转后产生(基准卷积核自身可视为旋转0度的特殊情况)。
为便于阐述,不妨用旋转运算符R和L表示矩阵的顺时针和逆时针旋转,并用XRn表示矩阵X顺时针旋转n×90度后得到的矩阵,XLn表示矩阵X逆时针旋转n×90度后得到的矩阵。在这一定义方式下,XR1、XR2、XR3分别表示矩阵X顺时针旋转90度、180度、270度后得到的矩阵,XL1、XL2、XL3分别表示矩阵X逆时针旋转90度、180度、270度后得到的矩阵。特别地,有XR0=XL0=X。其中,矩阵的旋转可以用转置和翻转两个子操作来实现,例如XR1=FLIPh(XT),其中FLIPh表示对后面的矩阵进行水平翻转。
由于卷积核可以视为权重参数构成的矩阵,所以可以采用上面的方法表示方向卷积层中4个一组(以K=4为例)的卷积核,比如在一种表示方式中,有Ci=ConvRi,其中i=0,1,2,3,C0(即Conv)表示基准卷积核,若C0对应文本朝上的方向,则C1、C2、C3分别对应文本朝右、朝下、朝左的方向,其中,卷积核对应某个文本朝向可以理解为该卷积核主要是用来提取该文本朝向上的特征。当然,不排除在其他的实现方式中C0对应其他的文本朝向,此时C1、C2、C3对应的文本朝向也需要相应调整。另外,4个一组的卷积核也有其他表示方式,例如Ci=ConvLi,其中i=0,1,2,3,等等。
方向卷积层利用上述K个一组的卷积核对该层的输入特征图进行卷积,并输出每组卷积核卷积后得到K个相应的特征通道。其中,某个方向卷积层的输入特征图是指卷积神经网络位于该方向卷积层之前的层的输出特征图,若该方向卷积层位于卷积神经网络的第一层,则其输入特征图就是文本行图像。不妨将方向卷积层的这种卷积操作称为方向响应卷积,方向响应卷积可以用公式表示为:其中i=0,1,2,3(以K=4为例),M为方向卷积层的输入特征图,为方向卷积层的输出特征图中的特征通道,表示卷积运算。注意,方向卷积层可以有一组或多组卷积核,每组卷积核进行方向响应卷积都会产生K个特征通道,但为简单起见,在阐述时主要以其中一组卷积核为例进行说明。
设计方向响应卷积的出发点在于,使得文本行图像中的文本朝向改变后,提取到的特征(即输出的特征通道)能够在某种意义上得以保持,或者说与文本朝向未改变前提取到的特征具有较高的相似性,从而基于方向响应卷积的计算结果可以进一步构建朝向不变特征。
具体而言,发明人长期研究发现,在一幅图像中如果某个目标的仅仅是朝向改变了而目标本身未变化(对于本申请该图像可以是文本行图像,该目标可以是文本),比如从原始位置顺时针旋转90度,如果将对应的卷积核同样顺时针旋转90度,则在图像中构成目标的同一个像素点上的响应(指特征图中该像素对应的卷积计算结果)不变(虽然响应在特征图中的位置会顺时针旋转90度)。
不妨参照图5进行理解,图5分为上下两排,上面一排是原始图像和原始的卷积核做卷积运算,下面一排是旋转之后的原始图像与旋转之后的卷积核做卷积运算(二者均顺时针旋转90度)。在每排的第一幅图像和第三幅图像中,相同的数字表示一种对应关系:比如,以上面一排为例,第一幅图像中的数字不妨理解为像素值,对第一幅图像中的像素7做卷积(卷积核覆盖部分用灰色示出),卷积结果保存在第三幅图像中像素7所在的位置,第三幅图像中的数字只表示位置对应关系,不应理解为像素值;类似地,对第一幅图像中的像素8做卷积,卷积结果保存在第三幅图像中像素8所在的位置,等等。
更重要的是,对比上下两排,像素7的卷积计算结果均为1a+2b+3c+6d+7e+8f+11g+12h+13i,类似地,对于像素8、9、12、13、14、17、18、19的计算结果也是一样。这表明,虽然在下一排中,原始图像进行了旋转,但只要相应的卷积核也同步旋转,原始图像中同一个像素点上的响应并没有变化,当然其保存位置有一定变化,但只要反向旋转就能复原,比如将下面一排的第三幅图像逆时针旋转90度(与原始图像、卷积核的旋转方向及旋转角度恰好相反),就和第一排的第三幅图像相同了。
基于上面的发现,在方向卷积层中,每K个一组的卷积核中只存储一个基准卷积核的参数即可,其余卷积核可以利用基准卷积核按照剩余的K-1个文本朝向旋转后产生,这样不仅不会导致网络容量扩大,而且无论文本行图像中的文本朝向是怎样的,采用与该朝向对应的卷积核进行方向响应卷积后得到的特征通道中包含的像素值都是类似的,只是进行了旋转。例如,对于K=4的情况,在文本行图像中,文本原来是朝上的,响应最强的特征通道应为(由C0进行方向响应卷积得到,C0对应的文本朝向为朝上);若文本朝向变为朝右但文本内容不变(或者也可以理解为,具有相同文本内容的另一个文本行图像),响应最强的特征通道应为(由C1进行方向响应卷积得到,C1对应的文本朝向为朝右),和具有较高的相似性(虽然经过了顺时针90度的旋转)。这样的卷积计算结果本来也符合逻辑,因为文本内容未变,提取出的特征也没有理由发生明显的变化。但需要强调一点,这里的和是针对不同的文本行图像计算得到的,而非针对同一文本行图像计算得到的。
作为对比的,在一些方案中(这些方案可归为对照实施例4的某些实现方式),将方向卷积层每K个一组的卷积核设置成独立的,即同时保存K个卷积核的参数,这无疑将导致网络容量显著扩大,进而引起网络在训练和使用过程中的一系列问题。正如上面所说,若文本内容未变只是朝向发生了变化,提取出的特征没有理由存在很大的区别,即各特征通道之间实际上是存在冗余的,而特征通道又是通过卷积核进行计算的,从而K个卷积核的参数也存在冗余,独立地保存K个卷积核的参数正是未充分考虑特征冗余性的结果,必然造成极大的资源浪费。而本申请的方案通过“合并”K个卷积核,在最大程度上削弱了这种冗余性。
此外,由于方向卷积层的K个卷积核分别对应K个文本朝向,相当于对卷积神经网络的结构施加了某种限制(限制该网络经学习后恰好用于识别这K个朝向的文本),从而使得网络的需要优化搜索的空间变小,训练网络所需的数据和时间都明显减少(神经网络的训练过程可以理解为在参数空间中搜索一组最优参数值)。
卷积神经网络中方向卷积层的数量并不限定,当然方向响应卷积需要进行的卷积运算次数较多,因此一些可选方案中将方向卷积层的数量控制在3至5层。
本申请并不限定将方向卷积层设置在卷积神经网络中的什么位置,在一些实现方式中,可以将卷积神经网络中的方向卷积层都设置在卷积神经网络的开始位置(指开始若干层都是方向卷积层,没有普通卷积层,但方向卷积层之间可以有别的层,比如池化层)。作为对比的,若方向卷积层未设置在卷积神经网络的开始位置,则在处理流程进入到方向卷积层之前,提取到的特征已经受到前面各层施加的限制,不能再很好地适应各个文本朝向。并且,前若干层可能已经在输出特征中产生了冗余信息,这些冗余信息无法再通过方向卷积层予以消除。
方向卷积层的输出特征图还不能直接作为朝向不变特征,其理由有两点:
其一,文本行图像中的文本朝向改变后,虽然响应还能够保持在输出特征图中,但相对于文本朝向改变前提取到的特征经过了旋转,已与原特征不同。
其二,文本行图像中的文本朝向改变后,虽然响应还能够保持在输出特征图中,但特征图中各特征通道的排列顺序已经与文本朝向改变前不同。例如,假设在文本朝向为朝上时,方向卷积层的输出特征图为(1,0,0,0),响应最强的是0号特征通道,在文本朝向变为朝右时,方向卷积层的输出特征图为(0,1,0,0),响应最强的是1号特征通道,虽然总体上看,特征通道的值还是原来的4个数值,但排列顺序已经和之前不同。当然,这是一个极其简化的例子,每个特征通道已经精简为只有一个数值,但足以说明问题。
本申请针对上面两个问题,在卷积神经网络中对应设置了反向旋转层和编码层,以得到朝向不变特征。
反向旋转层对该层的输入特征图中的K个特征通道进行旋转,并输出特征通道旋转后的特征图,以消除在方向卷积层由于卷积核旋转引起的特征通道间的差异。其中,每个特征通道的旋转方式与生成该特征通道时采用的卷积核相对于基准卷积核的旋转方式相反,故称反向旋转,此处所谓的旋转方式包括旋转方向和角度。反向旋转层的输入特征图是指卷积神经网络位于反向旋转层之前的层的输出特征图,若反向旋转层紧接着最后一个方向卷积层,则其输入特征图就是最后一个方向卷积层的输出特征图。
沿用上面的例子,生成所用的卷积核C1是由基准卷积核C0顺时针旋转90度得到的,则对应逆时针旋转90度,旋转后的与具有较高的相似度(并且还消除了旋转因素的影响)。用一个更具体的例子说明,图5中两排最后的第三幅图像在旋转前虽然也相似,但这是在忽略顺时针旋转90度这一前提下才能得出这一结论,若将下面一排的第三幅图像逆时针旋转90度,就与上面一排的第三幅图像完全相同了。
编码层对该层的输入特征图中的K个特征通道进行编码,并输出特征通道编码后的特征图,以消除因特征通道的排列顺序引起的特征图的差异。其中,编码泛指将该层的输入特征图与特征通道的排列顺序去相关化的操作,具体的编码方式不限定,下面会列举两种可能的编码方式。编码层的输入特征图是指卷积神经网络位于编码层之前的层的输出特征图,若编码层紧接着反向旋转层,则其输入特征图就是反向旋转层的输出特征图。
得益于编码操作的执行,编码层的输出特征图具有朝向不变性,若卷积神经网络在编码层之后没有其他层,则编码层的输出特征图就是卷积神经网络要输出的朝向不变特征,如果卷积神经网络在编码层之后还有其他层,则编码层的输出特征图需要经这些层处理后才能得到朝向不变特征(在图2中用文字“直接”和“间接”说明了这两种情况)。需要指出,编码层之后的其他层(如果有的话)只是传统的卷积神经网络中的层(比如,普通卷积层而非方向卷积层),不会影响编码层的输出特征图的朝向不变性。
编码方式一:
首先确定编码层的输入特征图的K个特征通道中的主通道,所谓主通道是指卷积响应最强的特征通道,一般是与当前的文本朝向对应的那个通道。在计算层面,可以采用某种预设的度量方式度量各特征通道包含的像素值(如求和、取绝对值求和、求平方和等)并将度量结果最大的特征通道确定为主通道。
然后调整K个特征通道的排列顺序,使得在编码层的输出特征图中主通道被排在首位,并且K个特征通道之间的相对次序在循环意义上保持不变。
在输出特征图中,响应最强的特征通道总是排在首位,而各特征通道的相对次序又固定不变,所以输入特征图与特征通道的排列顺序之间的相关性得到消除。
举一个极其简化的例子,对某行朝上文本,编码层的输入特征图为(2.7,0.2,0.3,0.1),由于每个特征通道都是一个数值,直接将最大值2.7所在的通道作为主通道就可以了,而2.7恰好又排在首位,因此编码层的输出特征图也是(2.7,0.2,0.3,0.1)。若文本朝向变为朝右,假设编码层的输入特征图为(0.08,2.8,0.15,0.28),主通道为最大值2.8所在的通道,将2.8调整至首位,其后各通道循环左移一位,编码结果为(2.8,0.15,0.28,0.08),不难看出,该结果和(2.7,0.2,0.3,0.1)中的各个特征通道的数值都比较近似,即具有朝向不变性。
编码方式二
遍历编码层的输入特征图中的每个像素位置,对其中任一像素位置(各像素位置处理方式相同),将K个特征通道在该像素位置处的K个像素的最大取值作为编码层的输出特征图在该像素位置处的像素值。比如,在输入特征图的坐标(10,10)的像素位置处,4个通道的像素值分别为(1,3,12,4),则在输出特征图的坐标(10,10)的像素位置处的像素值应为12。
在输出特征图中,由于每个像素位置实际上只保留了一个特征通道的像素值,并且要保留什么像素值只和像素值大小有关,和特征通道的排列顺序无关,所以输入特征图与特征通道的排列顺序之间的相关性得到消除。
相较而言,第一种编码方式较复杂,第二种编码方式较简单,但前者在输出特征图中保留了全部的特征通道,后者其实在每个像素位置只保留了一个特征通道,因此第二种编码方式的方向信息有损失,导致对后续的识别效果有一定影响,具体实施时可根据需求进行编码方式的选择。
进一步的,在上面提出的方案中,若反向旋转层的输入特征图是长方形(当然此时特征图中包含的各特征通道也是长方形),直接对各特征通道进行反向旋转,将造成输出特征图中各特征通道尺寸不统一,导致后续网络无法处理。不妨参照图6的前两幅图像,第一幅图像表示反向旋转层的输入特征图,该特征图为长方形,有4个特征通道,若直接对各特征通道进行反向旋转,则在反向旋转层的输出特征图中有两个通道的长边保持水平,另两个通道的长边则对齐到垂直方向。本申请提出两种方案解决这一问题,但也不排除其他解决方案。
方案一:
考虑到正方形的特征图由于长宽相等,即使反向旋转也不会引起上述问题,因此在设计反向旋转层之前的各层时,可以适当配置其参数使得反向旋转层的输入特征图是正方形。例如,可配置的参数包括卷积核尺寸、卷积核类型(常规卷积、空洞卷积等)、填充方式(pad),步长(stride)等,这些参数的含义以及调整方式可以参考现有技术,此处不进行详细阐述。
方案二:
对反向卷积层本身不施加额外的要求,即允许其输出特征图中各特征通道尺寸不统一,但在其后设置一个尺度变换层(同时应位于编码层之前)进行后处理,该层通过某种池化操作将各特征通道的尺寸调整为统一的(若反向卷积层本就输出正方向的特征图,也可以跳过尺度变换层),其效果可以参照图6的后两幅图像。尺度变换层采用的池化方式可以是感兴趣区域池化(ROI Pooling)、感兴趣区域对齐(ROI Align)等,其具体实现可以参考现有技术,此处不进行详细阐述。
然而,尺度变换层中的池化操作会造成特征通道在水平和垂直两个方向上的尺度不统一,进而可能影响后续的文本识别效果,但若在尺度变换层之前设置一个或多个普通的池化层,则可以显著弱化尺度问题带来的影响,传统的卷积神经网络对目标尺寸有一定的适应性也是由于这个原因。需要指出,普通的池化层在设置时,池化窗口的尺寸建议选择正方形,否则也会出现池化结果中水平和垂直方向尺度不等的问题,进而造成文本朝向改变前后,特征无法对应。
相较而言,方案一由于只需要调整网络本身的参数,网络结构要简单一些,方案二由于不限制反向卷积层的输入输出,实施起来要灵活一些,可以根据需求选择合适的解决方案。
除了上面提到的一些优点外,本申请实施例提供的文本识别方法并不需要训练多个行识别器(相对于对照实施例1、2、3),或者用额外的分类器来识别文本朝向(相对于对照实施例2、3),网络结构比较简单。
下面再简单介绍本申请的文本识别网络在训练过程中需要注意的一些问题。
首先,之前已经提到,方向卷积层可以仅存储基准卷积核的参数,因此训练时也只需要更新基准卷积核的参数。例如,对于K=4的情况,网络在进行反向传播求导时,方向响应卷积的误差有4份,可以将4个误差相加后全部作用到基准卷积核上。
其次,网络中涉及的一些操作,比如方向卷积层的方向响应卷积操作(仅从计算层面来看和普通卷积没有区别)、反向旋转层的旋转操作(可以分解为基本的转置和翻转)、尺度变换层的池化操作、编码层的编码操作都是常规操作,其反向传播求导都可以利用现成的框架实现,实施起来比较容易。
最后,仍然以K=4为例,训练时需要4个朝向的文本行图像,这只需将正常横排文本行、竖排文本行旋转一定角度即可,并不需要额外标注。但有一个细节需要注意,即横排文本行旋转180度后,其标签需对应地反向排列。因为行扫描方向是固定的(例如从左到右扫描),旋转180度后,原来位于文本行末尾的字符就变成了位于文本行开头的字符。比如,对于图2中“鑫源电子产品”这个文本行图像,其正确的标签应该是“品产子电源鑫”。对于竖排文本行旋转180度的情况也是类似的,不再赘述。
图7示出了本申请实施例提供的文本识别装置300的功能模块图。参照图7,文本识别装置300包括:
图像获取模块310,用于获取待识别的文本行图像;
特征提取模块320,用于利用卷积神经网络提取所述文本行图像的朝向不变特征,所述朝向不变特征是指与所述文本行图像中的文本朝向无关的特征;
文本识别模块330,用于将所述朝向不变特征输入至依次设置的长短时记忆网络和连接时序分类器进行处理,获得所述文本行图像的文本识别结果。
在文本识别装置300的一种实现方式中,所述卷积神经网络包括至少一个方向卷积层,以及,在所述至少一个方向卷积层之后依次设置的反向旋转层和编码层,特征提取模块320利用卷积神经网络提取所述文本行图像的朝向不变特征,包括:所述方向卷积层利用每K个一组的卷积核对该层的输入特征图进行卷积,并输出每组卷积核卷积后得到K个相应的特征通道;其中,K为大于1的正整数,表示需要识别的文本朝向的总数量,每组中的K个卷积核由该组中的基准卷积核按照K个文本朝向旋转后产生;所述反向旋转层对该层的输入特征图中的K个特征通道进行旋转,并输出特征通道旋转后的特征图;其中,每个特征通道的旋转方式与生成该特征通道时采用的卷积核相对于所述基准卷积核的旋转方式相反;所述编码层对该层的输入特征图中的K个特征通道进行编码,并输出特征通道编码后的特征图;其中,编码是指将该层的输入特征图与特征通道的排列顺序去相关化的操作,所述编码层的输出特征图具有朝向不变性,该特征图为所述朝向不变特征,或者,该特征图经所述卷积神经网络位于所述编码层之后的部分处理后能够得到所述朝向不变特征。
在文本识别装置300的一种实现方式中,所述至少一个方向卷积层设置于所述卷积神经网络的开始位置。
在文本识别装置300的一种实现方式中,K=4,需要识别的文本朝向包括上、右、下、左4个方向。
在文本识别装置300的一种实现方式中,所述卷积神经网络在所述方向卷积层之前的层的参数被配置为使得所述反向旋转层的输入特征图为正方形。
在文本识别装置300的一种实现方式中,所述卷积神经网络在所述向旋转层和所述编码层之间还设置有尺度变换层,特征提取模块320还用于在所述反向旋转层对该层的输入特征图中的K个特征通道进行旋转之后,以及在所述编码层对该层的输入特征图中的K个特征通道进行编码之前,利用所述尺度变换层将该层的输入特征图中的K个特征通道池化为相同的尺寸,并输出特征通道池化后的特征图。
在文本识别装置300的一种实现方式中,所述卷积神经网络在所述尺度变换层之前还设置有至少一个池化层。
在文本识别装置300的一种实现方式中,特征提取模块320利用所述编码层对该层的输入特征图中的K个特征通道进行编码,包括:利用所述编码层确定所述K个特征通道中的主通道,所述主通道是指所包含的像素值在预设度量方式下度量结果最大的特征通道;利用所述编码层调整所述K个特征通道的排列顺序,使得在所述编码层的输出特征图中所述主通道被排在首位,并且所述K个特征通道之间的相对次序在循环意义上保持不变。
在文本识别装置300的一种实现方式中,特征提取模块320利用所述编码层对该层的输入特征图中的K个特征通道进行编码,包括:利用所述编码层针对该层的输入特征图中的每个像素位置,将所述K个特征通道在该像素位置处的K个像素的最大取值作为所述编码层的输出特征图在该像素位置处的像素值。
在文本识别装置300的一种实现方式中,所述方向卷积层仅存储所述基准卷积核的参数,并且在训练时也只更新所述基准卷积核的参数。
本申请实施例提供的文本识别装置300,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法施例中相应内容。
图8示出了本申请实施例提供的电子设备400的一种可能的结构。参照图8,电子设备400包括:处理器410、存储器420以及通信接口430,这些组件通过通信总线440和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器420包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器410以及其他可能的组件可对存储器420进行访问,读和/或写其中的数据。
处理器410包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
通信接口430包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口430可以包括进行有线和/或无线通信的接口。
在存储器420中可以存储一个或多个计算机程序指令,处理器410可以读取并运行这些计算机程序指令,以实现本申请实施例提供的文本识别方法以及其他期望的功能。
可以理解,图4所示的结构仅为示意,电子设备400还可以包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。电子设备400可能是实体设备,例如PC机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备400也不限于单台设备,也可以是多台设备的组合或者大量设备构成的一个或多个集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的文本识别方法。例如,计算机可读存储介质可以实现为图4中电子设备400中的存储器420。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种文本识别方法,其特征在于,包括:
获取待识别的文本行图像;
利用卷积神经网络提取所述文本行图像的朝向不变特征,所述朝向不变特征是指与所述文本行图像中的文本朝向无关的特征;
将所述朝向不变特征输入至依次设置的长短时记忆网络和连接时序分类器进行处理,获得所述文本行图像的文本识别结果。
2.根据权利要求1所述的文本识别方法,其特征在于,所述卷积神经网络包括至少一个方向卷积层,以及,在所述至少一个方向卷积层之后依次设置的反向旋转层和编码层,所述利用卷积神经网络提取所述文本行图像的朝向不变特征,包括:
所述方向卷积层利用每K个一组的卷积核对该层的输入特征图进行卷积,并输出每组卷积核卷积后得到K个相应的特征通道;其中,K为大于1的正整数,表示需要识别的文本朝向的总数量,每组中的K个卷积核由该组中的基准卷积核按照K个文本朝向旋转后产生;
所述反向旋转层对该层的输入特征图中的K个特征通道进行旋转,并输出特征通道旋转后的特征图;其中,每个特征通道的旋转方式与生成该特征通道时采用的卷积核相对于所述基准卷积核的旋转方式相反;
所述编码层对该层的输入特征图中的K个特征通道进行编码,并输出特征通道编码后的特征图;其中,编码是指将该层的输入特征图与特征通道的排列顺序去相关化的操作,所述编码层的输出特征图具有朝向不变性,该特征图为所述朝向不变特征,或者,该特征图经所述卷积神经网络位于所述编码层之后的部分处理后能够得到所述朝向不变特征。
3.根据权利要求2所述的文本识别方法,其特征在于,所述至少一个方向卷积层设置于所述卷积神经网络的开始位置。
4.根据权利要求2所述的文本识别方法,其特征在于,K=4,需要识别的文本朝向包括上、右、下、左4个方向。
5.根据权利要求2所述的文本识别方法,其特征在于,所述卷积神经网络在所述方向卷积层之前的层的参数被配置为使得所述反向旋转层的输入特征图为正方形。
6.根据权利要求2所述的文本识别方法,其特征在于,所述卷积神经网络在所述向旋转层和所述编码层之间还设置有尺度变换层,在所述反向旋转层对该层的输入特征图中的K个特征通道进行旋转之后,以及在所述编码层对该层的输入特征图中的K个特征通道进行编码之前,所述方法还包括:
所述尺度变换层将该层的输入特征图中的K个特征通道池化为相同的尺寸,并输出特征通道池化后的特征图。
7.根据权利要求6所述的文本识别方法,其特征在于,所述卷积神经网络在所述尺度变换层之前还设置有至少一个池化层。
8.根据权利要求2所述的文本识别方法,其特征在于,所述编码层对该层的输入特征图中的K个特征通道进行编码,包括:
所述编码层确定所述K个特征通道中的主通道,所述主通道是指所包含的像素值在预设度量方式下度量结果最大的特征通道;
所述编码层调整所述K个特征通道的排列顺序,使得在所述编码层的输出特征图中所述主通道被排在首位,并且所述K个特征通道之间的相对次序在循环意义上保持不变。
9.根据权利要求2所述的文本识别方法,其特征在于,所述编码层对该层的输入特征图中的K个特征通道进行编码,包括:
所述编码层针对该层的输入特征图中的每个像素位置,将所述K个特征通道在该像素位置处的K个像素的最大取值作为所述编码层的输出特征图在该像素位置处的像素值。
10.根据权利要求2-9中任一项所述的文本识别方法,其特征在于,所述方向卷积层仅存储所述基准卷积核的参数,并且在训练时也只更新所述基准卷积核的参数。
11.一种文本识别装置,其特征在于,包括:
图像获取模块,用于获取待识别的文本行图像;
特征提取模块,用于利用卷积神经网络提取所述文本行图像的朝向不变特征,所述朝向不变特征是指与所述文本行图像中的文本朝向无关的特征;
文本识别模块,用于将所述朝向不变特征输入至依次设置的长短时记忆网络和连接时序分类器进行处理,获得所述文本行图像的文本识别结果。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-9中任一项所述的方法。
13.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010198485.5A CN111400497A (zh) | 2020-03-19 | 2020-03-19 | 一种文本识别方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010198485.5A CN111400497A (zh) | 2020-03-19 | 2020-03-19 | 一种文本识别方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111400497A true CN111400497A (zh) | 2020-07-10 |
Family
ID=71431018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010198485.5A Pending CN111400497A (zh) | 2020-03-19 | 2020-03-19 | 一种文本识别方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400497A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950397A (zh) * | 2020-07-27 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 图像的文本标注方法、装置、设备及存储介质 |
CN113392825A (zh) * | 2021-06-16 | 2021-09-14 | 科大讯飞股份有限公司 | 文本识别方法、装置、设备及存储介质 |
CN117037136A (zh) * | 2023-10-10 | 2023-11-10 | 中国科学技术大学 | 场景文本识别方法、系统、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180211109A1 (en) * | 2017-01-24 | 2018-07-26 | Fujitsu Limited | Method, system, and neural network for identifying direction of a document |
CN109299717A (zh) * | 2018-09-13 | 2019-02-01 | 网易(杭州)网络有限公司 | 文字识别模型建立及文字识别方法、装置、介质及设备 |
CN109948714A (zh) * | 2019-03-22 | 2019-06-28 | 华南理工大学 | 基于残差卷积和递归神经网络的中文场景文本行识别方法 |
CN110490198A (zh) * | 2019-08-12 | 2019-11-22 | 上海眼控科技股份有限公司 | 文本方向校正方法、装置、计算机设备和存储介质 |
CN110569835A (zh) * | 2018-06-06 | 2019-12-13 | 北京搜狗科技发展有限公司 | 一种图像识别方法、装置和电子设备 |
CN110781885A (zh) * | 2019-10-24 | 2020-02-11 | 泰康保险集团股份有限公司 | 基于图像处理的文本检测方法、装置、介质及电子设备 |
-
2020
- 2020-03-19 CN CN202010198485.5A patent/CN111400497A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180211109A1 (en) * | 2017-01-24 | 2018-07-26 | Fujitsu Limited | Method, system, and neural network for identifying direction of a document |
CN110569835A (zh) * | 2018-06-06 | 2019-12-13 | 北京搜狗科技发展有限公司 | 一种图像识别方法、装置和电子设备 |
CN109299717A (zh) * | 2018-09-13 | 2019-02-01 | 网易(杭州)网络有限公司 | 文字识别模型建立及文字识别方法、装置、介质及设备 |
CN109948714A (zh) * | 2019-03-22 | 2019-06-28 | 华南理工大学 | 基于残差卷积和递归神经网络的中文场景文本行识别方法 |
CN110490198A (zh) * | 2019-08-12 | 2019-11-22 | 上海眼控科技股份有限公司 | 文本方向校正方法、装置、计算机设备和存储介质 |
CN110781885A (zh) * | 2019-10-24 | 2020-02-11 | 泰康保险集团股份有限公司 | 基于图像处理的文本检测方法、装置、介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
YANZHAO ZHOU 等: "Oriented Response Networks" * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950397A (zh) * | 2020-07-27 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 图像的文本标注方法、装置、设备及存储介质 |
CN111950397B (zh) * | 2020-07-27 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 图像的文本标注方法、装置、设备及存储介质 |
CN113392825A (zh) * | 2021-06-16 | 2021-09-14 | 科大讯飞股份有限公司 | 文本识别方法、装置、设备及存储介质 |
WO2022262239A1 (zh) * | 2021-06-16 | 2022-12-22 | 科大讯飞股份有限公司 | 文本识别方法、装置、设备及存储介质 |
CN113392825B (zh) * | 2021-06-16 | 2024-04-30 | 中国科学技术大学 | 文本识别方法、装置、设备及存储介质 |
CN117037136A (zh) * | 2023-10-10 | 2023-11-10 | 中国科学技术大学 | 场景文本识别方法、系统、设备及存储介质 |
CN117037136B (zh) * | 2023-10-10 | 2024-02-23 | 中国科学技术大学 | 场景文本识别方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738090B (zh) | 使用神经网络进行端到端手写文本识别的系统和方法 | |
US11710293B2 (en) | Target detection method and apparatus, computer-readable storage medium, and computer device | |
US20170124711A1 (en) | Universal correspondence network | |
CN111400497A (zh) | 一种文本识别方法、装置、存储介质及电子设备 | |
US11442430B2 (en) | Rapid packaging prototyping using machine learning | |
CN114596566B (zh) | 文本识别方法及相关装置 | |
CN107886082B (zh) | 图像中数学公式检测方法、装置、计算机设备及存储介质 | |
CN112926565B (zh) | 图片文本的识别方法、系统、设备和存储介质 | |
CN112926564B (zh) | 图片分析方法、系统、计算机设备和计算机可读存储介质 | |
US20190266443A1 (en) | Text image processing using stroke-aware max-min pooling for ocr system employing artificial neural network | |
CN114254071A (zh) | 从非结构化文档中查询语义数据 | |
CN113159013A (zh) | 基于机器学习的段落识别方法、装置、计算机设备和介质 | |
CN116721301A (zh) | 目标场景分类模型训练方法、分类方法、设备及存储介质 | |
CN111985525A (zh) | 基于多模态信息融合处理的文本识别方法 | |
KR20200092450A (ko) | 데이터 라벨링을 수행하기 위한 기법 | |
Valy et al. | Data augmentation and text recognition on Khmer historical manuscripts | |
CN112036290B (zh) | 一种基于类标编码表示的复杂场景文字识别方法及系统 | |
CN114155395A (zh) | 图像分类方法、装置、电子装置和存储介质 | |
CN115984886A (zh) | 表格信息抽取方法、装置、设备及存储介质 | |
CN113468906B (zh) | 图形码提取模型构建方法、识别方法、装置、设备和介质 | |
CN115937862A (zh) | 一种端到端的集装箱号码识别方法及系统 | |
US11275969B2 (en) | Visually-aware encodings for characters | |
CN113011132B (zh) | 竖排文字识别方法、装置、计算机设备和存储介质 | |
CN114694150A (zh) | 一种提升数字图像分类模型泛化能力的方法及系统 | |
CN114565913A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200710 |
|
RJ01 | Rejection of invention patent application after publication |