文字识别方法和装置与流程

文档序号:13217109阅读:184来源:国知局
技术领域本发明涉及图像处理领域,更具体地涉及一种文字识别方法和装置。

背景技术:
由于机器识别文字能够带来巨大收益,市场对于文字识别有很大的需求。目前一般地对于文字识别采用的方法是,首先对图像进行分层扫描,获取初步的含有文字的文字框,然后再针对每个文字框获取对应的文字,这两步分别称为检测和识别。传统的文字识别方法具有以下缺陷:在检测过程中,同一行的文字常常有缺失现象,不能得到很好的解决,极大的影响了识别的效果。

技术实现要素:
考虑到上述问题而提出了本发明。本发明提供了一种文字识别方法和装置。根据本发明一方面,提供了一种文字识别方法。该文字识别方法包括:获取待识别图像;检测所述待识别图像,以获得包含文字的期望文字框;对所述期望文字框进行扩充和合并,以生成文字行;以及识别所生成的文字行中的文字。示例性地,所述对所述期望文字框进行扩充和合并包括:步骤S231:确定所述期望文字框为初始文字框;步骤S232:利用训练好的反馈神经网络计算与每个初始文字框相对应的扩充文字框的端点坐标以及扩充置信度;步骤S233:将需要合并的扩充文字框进行合并,以生成新文字框,其中,每个新文字框的扩充置信度根据合并为该新文字框的扩充文字框的扩充置信度确定;步骤S234:根据所有新文字框的扩充置信度判断是否存在需要进一步扩充的新文字框,如果存在,则转至步骤S235,否则转至步骤S236;步骤S235:确定需要进一步扩充的新文字框为初始文字框并返回步骤S232;以及步骤S236:确定最后获得的文字框为所述文字行,其中,所述最后获得的文字框包括所述期望文字框、所述扩充文字框和所述新文字框中的一种或多种。示例性地,所述步骤S233包括:根据两个扩充文字框的相对角度和重叠程度判断是否需要合并所述两个扩充文字框,如果需要合并,则合并所述两个扩充文字框,以生成与所述两个扩充文字框相对应的新文字框。示例性地,所述合并所述两个扩充文字框包括:对所述两个扩充文字框的长宽、中心坐标以及倾斜角度进行加权平均,以生成与所述两个扩充文字框相对应的新文字框。示例性地,所述检测所述待识别图像以获得包含文字的期望文字框包括:从所述待识别图像中检测包含文字的初级文字框;以及对所述初级文字框的大小、位置和/或倾斜角度进行修正,以获得所述期望文字框。示例性地,在所述对所述初级文字框的大小、位置和/或倾斜角度进行修正以获得所述期望文字框之前,所述检测所述待识别图像以获得包含文字的期望文字框进一步包括:按照预定比例扩大所述初级文字框。示例性地,所述对所述初级文字框的大小、位置和/或倾斜角度进行修正以获得所述期望文字框包括:利用训练好的第一卷积神经网络计算所述初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度;根据所述初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度对所述初级文字框进行修正;以及根据经修正的初级文字框获得所述期望文字框。示例性地,所述根据经修正的初级文字框获得所述期望文字框包括:利用训练好的第二卷积神经网络计算所述经修正的初级文字框中存在文字的第一文字置信度;以及根据所述第一文字置信度对所述经修正的初级文字框进行过滤,以获得所述期望文字框。示例性地,所述从所述待识别图像中检测包含文字的初级文字框包括:利用基于滑动窗的卷积神经网络计算在所述待识别图像的图像块中存在文字的第二文字置信度;以及根据所述第二文字置信度选择其中存在文字的图像块作为所述初级文字框。示例性地,所述识别所生成的文字行中的文字包括:利用训练好的分割器对所述文字行进行拆分;以及利用训练好的文字分类器识别拆分后的文字行中的文字。根据本发明另一方面,提供了一种文字识别装置。该文字识别装置包括:图像获取模块,用于获取待识别图像;检测模块,用于检测所述待识别图像,以获得包含文字的期望文字框;文字行生成模块,用于对所述期望文字框进行扩充和合并,以生成文字行;以及识别模块,用于识别所生成的文字行中的文字。示例性地,文字行生成模块包括初始子模块、扩充子模块、合并子模块、判断子模块、第一确定子模块和第二确定子模块,所述初始子模块用于确定所述期望文字框为初始文字框;所述扩充子模块用于利用训练好的反馈神经网络计算与每个初始文字框相对应的扩充文字框的端点坐标以及扩充置信度;所述合并子模块用于将需要合并的扩充文字框进行合并,以生成新文字框,其中,每个新文字框的扩充置信度根据合并为该新文字框的扩充文字框的扩充置信度确定;所述判断子模块用于根据所有新文字框的扩充置信度判断是否存在需要进一步扩充的新文字框,如果存在,则启动所述第一确定子模块,否则启动所述第二确定子模块;所述第一确定子模块用于确定需要进一步扩充的新文字框为初始文字框并启动所述扩充子模块;第二确定子模块用于确定最后获得的文字框为所述文字行,其中,所述最后获得的文字框包括所述期望文字框、所述扩充文字框和所述新文字框中的一种或多种。示例性地,所述合并子模块包括合并判断单元,用于根据两个扩充文字框的相对角度和重叠程度判断是否需要合并所述两个扩充文字框,如果需要合并,则合并所述两个扩充文字框,以生成与所述两个扩充文字框相对应的新文字框。示例性地,所述检测模块包括:初级检测子模块,用于从所述待识别图像中检测包含文字的初级文字框;以及修正子模块,用于对所述初级文字框的大小、位置和/或倾斜角度进行修正,以获得所述期望文字框。示例性地,所述检测模块进一步包括扩大子模块,用于按照预定比例扩大所述初级文字框。示例性地,所述修正子模块包括:第一计算单元,用于利用训练好的第一卷积神经网络计算所述初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度;修正单元,用于根据所述初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度对所述初级文字框进行修正;以及期望文字框获得单元,用于根据经修正的初级文字框获得所述期望文字框。示例性地,所述期望文字框获得单元包括:计算子单元,用于利用训练好的第二卷积神经网络计算所述经修正的初级文字框中存在文字的第一文字置信度;以及过滤子单元,用于根据所述第一文字置信度对所述经修正的初级文字框进行过滤,以获得所述期望文字框。示例性地,所述初级检测子模块包括:第二计算单元,用于利用基于滑动窗的卷积神经网络计算在所述待识别图像的图像块中存在文字的第二文字置信度;以及选择单元,用于根据所述第二文字置信度选择其中存在文字的图像块作为所述初级文字框。示例性地,所述识别模块包括:拆分子模块,用于利用训练好的分割器对所述文字行进行拆分;以及识别子模块,用于利用训练好的文字分类器识别拆分后的文字行中的文字。根据本发明实施例的文字识别方法和装置,通过将文字框扩充为文字行并针对文字行进行文字识别,可以避免字符间和字符内的混淆以及文字缺失现象。附图说明通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1示出用于实现根据本发明实施例的文字识别方法和装置的示例电子设备的示意性框图;图2示出根据本发明一个实施例的文字识别方法的示意性流程图;图3示出根据本发明一个实施例的期望文字框的示意图;图4示出根据本发明一个实施例的对期望文字框进行扩充和合并的步骤的示意性流程图;图5示出根据本发明一个实施例的文字识别装置的示意性框图;以及图6示出根据本发明一个实施例的文字识别系统的示意性框图。具体实施方式为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。首先,参照图1来描述用于实现根据本发明实施例的文字识别方法和装置的示例电子设备100。如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108和图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。所述图像采集装置110可以采集期望的图像(例如包含文字的图像),并且将所采集的图像存储在所述存储装置104中以供其它组件使用。图像采集装置110可以采用任何合适的设备实现,例如独立的照相机或移动终端的摄像头等。示例性地,用于实现根据本发明实施例的文字识别方法和装置的示例电子设备可以在诸如个人计算机或远程服务器等的设备上实现。下面,将参考图2描述根据本发明实施例的文字识别方法。图2示出根据本发明一个实施例的文字识别方法200的示意性流程图。如图2所示,文字识别方法200包括以下步骤。在步骤S210,获取待识别图像。待识别图像可以是任何需要进行文字识别的图像,其中包含文字。本文所述的文字可以包括任何合适的字符,例如不同类别语言(如中文、英文、韩文等)字符、数字字符和符号字符(如“”、“#”、“&”、“!”等)等等。待识别图像可以来自外部设备,由外部设备传送到电子设备100进行文字识别。此外,待识别图像也可以由电子设备100的图像采集装置110采集获得。图像采集装置110可以将采集到的待识别图像传送到处理器102,由处理器102进行文字识别。待识别图像可以是原始图像,也可以是对原始图像进行预处理后得到的图像。在步骤S220,检测待识别图像,以获得包含文字的期望文字框。可以采用任何合适的方法检测待识别图像。例如,可以采用常规的边缘增强方法定位可能的文字区域,初步获得包含文字的文字框。另外,还可以采用基于滑动窗的卷积神经网络从待识别图像中检测出可能的文字区域,初步获得包含文字的文字框。根据一个实施例,可以直接将初步获得的文字框作为期望文字框进行随后的扩充和合并。根据另一个实施例,可以在对初步获得的文字框进行进一步的修正之后获得期望文字框,随后对期望文字框进行扩充和合并。在步骤S230,对期望文字框进行扩充和合并,以生成文字行。通常来说,图像中的文字可能成行出现。通过先前的检测步骤所检测到的期望文字框有可能产生字符间和字符内的混淆。参考图3,示出根据本发明一个实施例的期望文字框的示意图。如图3所示,期望文字框310将一行文字“NOPROBLEM”中的字符“L”与字符“E”的一部分划分在一个文字框中,导致在随后的识别步骤中有可能将该文字框中的字符误识别为“U”。另外,期望文字框320将一行数字“12345678”中的数字字符“8”的一部分单独划分在一个文字框中,导致在随后的识别步骤中有可能将该文字框中的数字误识别为“3”。此外,如上文所述,在检测步骤中,同一行中的文字可能出现缺失现象,即将原本有字的地方检测为无字,从而无法识别出原本的文字。然而,通过对文字框进行扩充和合并,可以根据一行文字中的部分字符还原出整行文字。也就是说,可以将同一行的文字划分在一个文字行中,随后再对每个文字行中的文字进行分割和识别。例如,对于图3所示的“NOPROBLEM”这一行文字来说,在步骤S220中可能检测到的是多个分散的文字框,对这些文字框进行扩充和合并,可以还原出完整的文字行“NOPROBLEM”。然后,可以针对文字行“NOPROBLEM”而非每个分散的文字框进行文字的分割和识别。这样,可以纠正在检测步骤中对文字框的误划分,从而避免字符间和字符内的混淆以及文字缺失现象。在步骤S240,识别所生成的文字行中的文字。对文字的识别可以采用任何合适的技术实现,例如,可以采用常规的模板匹配法或者基于分类器的方法识别文字行中的文字。示例性地,根据本发明实施例的文字识别方法可以在具有存储器和处理器的设备、装置或者系统中实现。根据本发明实施例的文字识别方法可以部署在图像采集端,例如,可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。替代地,根据本发明实施例的文字识别方法还可以部署在服务器端(或云端)处。例如,可以在客户端采集包含文字的待识别图像,客户端将采集到的待识别图像传送给服务器端(或云端),由服务器端(或云端)进行文字识别。本领域普通技术人员可以理解,上述文字识别方法200具有普适性。其可以用于任何图像的文字识别。该文字识别方法200可以针对文档图像进行文字识别,文档图像例如证件和票据的照片、纸件文档的扫描件等。该文字识别方法200还可以针对自然场景图像进行文字识别。根据本发明提供的文字识别方法,通过将文字框扩充为文字行并针对文字行进行文字识别,可以避免字符间和字符内的混淆以及文字缺失现象。图4示出根据本发明一个实施例的对期望文字框进行扩充和合并的步骤(步骤S230)的示意性流程图。如图4所示,步骤S230可以包括以下步骤。在步骤S231,确定期望文字框为初始文字框。在步骤S232,利用训练好的反馈神经网络计算与每个初始文字框相对应的扩充文字框的端点坐标以及扩充置信度。针对每个初始文字框,利用训练好的反馈神经网络计算该初始文字框是否需要扩充、扩充后的端点在哪里以及进一步扩充的置信度。可以理解的是,对于无需扩充的初始文字框来说,其对应的扩充文字框与其自身相同。反馈神经网络可以包含门循环单元(GatedRecurrentUnit),其支持变长输入,即输入的文字框大小可以不一致。根据一个实施例,可以在待识别图像上截取包含初始文字框的一个更大的图像块作为反馈神经网络的输入。这个更大的图像块可以以初始文字框为中心,左右两侧各比初始文字框长一定距离。该反馈神经网络计算并返回初始文字框两侧的剪裁信息(包括例如所预测的扩充文字框的端点坐标)以及扩充要求(可以用扩充置信度表示)。该反馈神经网络的前几层为卷积层、池化层,此后连接门循环单元,最后连接全连接层,输出与初始文字框相对应的扩充文字框在x轴方向上的两个端点的坐标以及扩充文字框的左右两侧是否需要进一步扩充的扩充置信度。反馈神经网络是训练好的,其可以根据一定的标准判断文字框是否需要扩充,例如返回参考图3,假设初始文字框为文字框310,其包含字符“E”的一部分。反馈神经网络可以检测出这并非一个完整的字符,需要扩充。可以预测将文字框310向左右两侧各扩充一个字符的长度,将得到包含完整字符“B”“L”“E”以及字符“M”的一部分的一个文字框。又例如,假设待识别图像中包含一行文字“计算机技术”,假设在步骤S220中进行文字检测之后,获得五个文字框,每个汉字字符对应一个文字框。反馈神经网络可以分别计算这五个文字框在扩充之后获得的扩充文字框的端点在哪里以及关于扩充文字框是否需要进一步扩充的扩充置信度。对于包含字符“计”的文字框来说,其左侧不能扩充,但是其右侧还有字符,因此可以向右侧扩充,例如可以扩充为“计算”。也就是说,与包含字符“计”的文字框相对应的扩充文字框是“计算”,其端点坐标可以用字符“计”的左侧端点坐标与字符“算”的右侧端点坐标来表示。该扩充文字框的左侧不能进一步扩充,但是右侧能够进一步扩充,因此其扩充置信度可以是(0,1),表示左右两侧是否能够扩充。对于包含字符“算”的文字框来说,其左侧和右侧都可以扩充,例如可以扩充为“计算机”。扩充文字框“计算机”的置信度是(0,1)。剩余字符的扩充文字框的计算方式类似,不一一赘述。在步骤S233,将需要合并的扩充文字框进行合并,以生成新文字框,其中,每个新文字框的扩充置信度根据合并为该新文字框的扩充文字框的扩充置信度确定。例如,对于上述示例“计算机技术”,在步骤S232中获得的与包含字符“计”的文字框相对应的扩充文字框“计算”以及与包含字符“算”的文字框相对应的扩充文字框“计算机”具有重叠部分,可以将二者合并在一起,形成新文字框“计算机”(在本示例中与扩充文字框“计算机”相同)。对于新文字框“计算机”来说,其扩充置信度仍然是(0,1)。对文字框的合并是循环进行的,可以合并两个或两个以上的扩充文字框直至不存在可以合并的扩充文字框为止。在步骤S234,根据所有新文字框的扩充置信度判断是否存在需要进一步扩充的新文字框,如果存在,则转至步骤S235,否则转至步骤S236。在步骤S235,确定需要进一步扩充的新文字框为初始文字框并返回步骤S232。在步骤S236,确定最后获得的文字框为文字行,其中,最后获得的文字框包括期望文字框、扩充文字框和新文字框中的一种或多种。其中,最后获得的文字框所包括的期望文字框是不需要扩充和合并的期望文字框;最后获得的文字框所包括的扩充文字框是不需要合并的扩充文字框;最后获得的文字框所包括的新文字框是不需要进一步扩充的新文字框。在步骤S233中,可能形成多个新文字框,每个新文字框具有各自的扩充置信度,根据置信度判断它们是否需要进一步扩充。例如,对于上述新文字框“计算机”来说,其扩充置信度是(0,1)。因此,该新文字框的右侧可以进一步扩充,可以将新文字框“计算机”作为初始文字框返回到步骤S232,重新进行扩充预测及随后的合并。上述扩充和合并过程是循环进行的,直到不存在需要扩充和合并的文字框为止。经过几轮反复迭代,可以获得最终的文字行。利用训练好的反馈神经网络计算文字框的扩充需求,是一种准确性较高的计算方式,可以较方便地根据期望文字框获得需要的文字行。根据本发明实施例,步骤S233可以包括:根据两个扩充文字框的相对角度和重叠程度判断是否需要合并两个扩充文字框,如果需要合并,则合并两个扩充文字框,以生成与两个扩充文字框相对应的新文字框。对于两个扩充文字框,可以根据预设规则来判断这两个文字框是否需要合并。例如,可以规定只有重叠程度较高并且相对角度较小的两个扩充文字框能够进行合并。重叠程度可以通过两个扩充文字框之间的重叠部分的面积与总面积之比来计算。相对角度可以利用两个扩充文字框的倾斜角度之差来衡量。本文所述的倾斜角度可以用例如文字框的底边与待识别图像的底边之间的夹角来表示。当然,这样的表示方式仅是示例而非限制,可以用任何合适的方式来表示倾斜角度。基于这样的预设规则,需要首先判断两个文字框之间的重叠程度是否高于重叠阈值并且相对角度是否小于角度阈值。对于满足这些要求的两个扩充文字框进行合并。对于倾斜角度相差太大或重叠部分较少的两个扩充文字框来说,可以不进行合并。这种合并过程考虑到了文字框的角度,因而具有很强的泛用性。根据本发明实施例,合并两个扩充文字框包括:对两个扩充文字框的长宽、中心坐标以及倾斜角度进行加权平均,以生成与两个扩充文字框相对应的新文字框。可以分别将两个扩充文字框的长宽、中心坐标以及倾斜角度进行加权平均。例如,可以针对两个扩充文字框的倾斜角度取平均值,将获得的平均角度视为新文字框的倾斜角度。通过上述方式可以按照需要合并文字框,减少返回反馈神经网络的数据,减少冗余计算量,提高处理效率。根据本发明的一个实施例,步骤S220可以包括:从待识别图像中检测包含文字的初级文字框,将所述初级文字框作为期望文字框。根据本发明的另一个实施例,步骤S220可以包括:从待识别图像中检测包含文字的初级文字框;以及对初级文字框的大小、位置和/或倾斜角度进行修正,以获得期望文字框。如上文所述,可以采用常规的边缘增强等方法从待识别图像中检测出可能的文字区域,初步获得包含文字的文字框,即初级文字框。随后,可以对初级文字框进行修正。可以利用边界盒回归(BoundingBoxRegression)方法对初级文字框的大小和/或位置计算。另外,可以利用角度回归方法对初级文字框的倾斜角度进行修正。通常,利用常规方法检测出的初级文字框在位置上具有很大的局限性,导致初级文字框的大小和位置分布离散,常常使文字不在框的中心或者文字与框的大小不匹配。另一方面,初级文字框对于在街景等应用中较常出现的倾斜字体的匹配很差,不能对应地将框旋转过来以适应文字的倾斜,从而使识别效果变差。因此,通过对初级文字框的大小、位置和/或倾斜角度进行修正,可以使得修正后的文字框尽量与框中的文字相匹配,可以将文字尽量调整到框的中心并且能够很好地适应字体的倾斜。根据本发明实施例,在对初级文字框的大小、位置和/或倾斜角度进行修正以获得期望文字框之前,检测待识别图像以获得包含文字的期望文字框进一步包括:按照预定比例扩大初级文字框。如上所述,由于初级文字框的大小和位置不一定与文字匹配,因此其中的字符有可能并不完整或位置分布不合适(即偏离中心位置)等,因此可以通过扩大初级文字框来使文字框尽可能包含较完整的字符或使字符的位置更靠近中心。例如,假设一个初级文字框的原始大小为5像素*5像素,可以以该初级文字框为中心向四周延伸,取大小为10像素*10像素的图像块作为最终的初级文字框用于随后的修正、扩充和合并等。这样可以方便对初级文字框的进一步处理。根据本发明实施例,对初级文字框的大小、位置和/或倾斜角度进行修正以获得期望文字框包括:利用训练好的第一卷积神经网络计算初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度;根据初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度对初级文字框进行修正;以及根据经修正的初级文字框获得期望文字框。可以训练第一卷积神经网络用于实现上述边界盒回归方法和/或角度回归方法。第一卷积神经网络可以利用大量样本图像来训练。将初级文字框输入该卷积神经网络,这个卷积神经网络可以返回修正后的长宽以及修正后的中心坐标和修正后的倾斜角度。根据本发明实施例,根据经修正的初级文字框获得期望文字框包括:利用训练好的第二卷积神经网络计算经修正的初级文字框中存在文字的第一文字置信度;以及根据第一文字置信度对经修正的初级文字框进行过滤,以获得期望文字框。该第二卷积神经网络可以与第一卷积神经网络在一个总的卷积神经网络中实现。也就是说,总的卷积神经网络可以同时计算出文字框的修正后的长宽、修正后的中心坐标、修正后的倾斜角度以及在经修正的初级文字框中存在文字的第一文字置信度。利用第一文字置信度可以判断经修正的初级文字框中是否含有文字,相当于重新对初级文字框进行了一次筛选。例如,可以预先设定合适的第一阈值,当某个经修正的初级文字框的第一文字置信度大于第一阈值时,认为其中存在文字,是检测正确的文字框,否则,认为其中不存在文字,是检测错误的文字框。本步骤中对初级文字框的筛选可以适当严格一点,也就是即使筛掉一些仅含有部分字符或完整字符的文字框也没关系,因为在后期基于文字框生成文字行的过程中,会将漏掉的字符重新包含在文字行中用于最后的文字识别。通过第一文字置信度来过滤初级文字框,可以筛选出一些误检测的文字框,提高文字识别的准确度。根据本发明实施例,从待识别图像中检测包含文字的初级文字框可以包括:利用基于滑动窗的卷积神经网络计算在待识别图像的图像块中存在文字的第二文字置信度;以及根据第二文字置信度选择其中存在文字的图像块作为初级文字框。滑动窗可以具有各种规格,例如可以选用五种不同大小的滑动窗扫描待识别图像。采用每种规格的滑动窗扫描时,每次扫描到的图像块与滑动窗大小相同。也就是,将待识别图像分为多个图像块,扫描每个图像块中包含文字的置信度。可以预先设置一个合适的第二阈值,例如0.6。卷积神经网络是利用大量样本图像训练好的。针对每个图像块利用卷积神经网络计算出第二文字置信度。例如,如果某个图像块的第二文字置信度是0.5,说明该图像块中不包含文字,如果其第二文字置信度是0.8,说明该图像块中包含文字。包含文字的图像块就是需要的初级文字框。利用滑动窗检测初级文字框是一种高效、高准确度的文字检测方式。根据本发明实施例,步骤S240可以包括:利用训练好的分割器对文字行进行拆分;以及利用训练好的文字分类器识别拆分后的文字行中的文字。可以通过分割器(Charbeaker)对所生成的文字行进行拆分。具体而言,分割器可以是含有连接时序分类(ConnectionistTemporalClassification)层的卷积神经网络,该分割器可以返回在x轴上每个坐标对应是文字边界的置信度,此后利用这个信息对文字行完成拆分。在一个示例中,通过拆分步骤,可以将文字行拆分为多个包含单个字符的图像块。可以针对每个图像块进行单字识别,以识别出每个字符的含义。字符识别可以通过训练好的文字分类器完成。该文字分类器可以是常规的卷积神经网络分类器,本发明对此不进行赘述。通过拆分和识别,可以准确地、完整地将文字行中的文字识别出来。根据本发明另一方面,提供一种文字识别装置。图5示出了根据本发明一个实施例的文字识别装置500的示意性框图。如图5所示,根据本发明实施例的文字识别装置500包括图像获取模块510、检测模块520、文字行生成模块530和识别模块540。图像获取模块510用于获取待识别图像。图像获取模块510可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。检测模块520用于检测待识别图像,以获得包含文字的期望文字框。检测模块520可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。文字行生成模块530用于对期望文字框进行扩充和合并,以生成文字行。文字行生成模块530可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。识别模块540用于识别所生成的文字行中的文字。识别模块540可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。根据本发明实施例,文字行生成模块530包括初始子模块、扩充子模块、合并子模块、判断子模块、第一确定子模块和第二确定子模块。初始子模块用于确定期望文字框为初始文字框。扩充子模块用于利用训练好的反馈神经网络计算与每个初始文字框相对应的扩充文字框的端点坐标以及扩充置信度。合并子模块用于将需要合并的扩充文字框进行合并,以生成新文字框,其中,每个新文字框的扩充置信度根据合并为该新文字框的扩充文字框的扩充置信度确定。判断子模块用于根据所有新文字框的扩充置信度判断是否存在需要进一步扩充的新文字框,如果存在,则启动第一确定子模块,否则启动第二确定子模块。第一确定子模块用于确定需要进一步扩充的新文字框为初始文字框并启动扩充子模块。第二确定子模块用于确定最后获得的文字框为文字行,其中,最后获得的文字框包括期望文字框、扩充文字框和新文字框中的一种或多种。其中,最后获得的文字框所包括的期望文字框是不需要扩充和合并的期望文字框;最后获得的文字框所包括的扩充文字框是不需要合并的扩充文字框;最后获得的文字框所包括的新文字框是不需要进一步扩充的新文字框。根据本发明实施例,合并子模块包括合并判断单元,用于根据两个扩充文字框的相对角度和重叠程度判断是否需要合并两个扩充文字框,如果需要合并,则合并两个扩充文字框,以生成与两个扩充文字框相对应的新文字框。根据本发明一个实施例,检测模块520可以包括:初级检测子模块,用于从待识别图像中检测包含文字的初级文字框,将所述初级文字框作为期望文字框。根据本发明另一个实施例,检测模块520可以包括:初级检测子模块,用于从待识别图像中检测包含文字的初级文字框;以及修正子模块,用于对初级文字框的大小、位置和/或倾斜角度进行修正,以获得期望文字框。根据本发明实施例,检测模块520进一步包括扩大子模块,用于按照预定比例扩大初级文字框。根据本发明实施例,修正子模块包括:第一计算单元,用于利用训练好的第一卷积神经网络计算初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度;修正单元,用于根据初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度对初级文字框进行修正;以及期望文字框获得单元,用于根据经修正的初级文字框获得期望文字框。根据本发明实施例,期望文字框获得单元包括:计算子单元,用于利用训练好的第二卷积神经网络计算经修正的初级文字框中存在文字的第一文字置信度;以及过滤子单元,用于根据第一文字置信度对经修正的初级文字框进行过滤,以获得期望文字框。根据本发明实施例,初级检测子模块包括:第二计算单元,用于利用基于滑动窗的卷积神经网络计算在待识别图像的图像块中存在文字的第二文字置信度;以及选择单元,用于根据第二文字置信度选择其中存在文字的图像块作为初级文字框。根据本发明实施例,识别模块540包括:拆分子模块,用于利用训练好的分割器对文字行进行拆分;以及识别子模块,用于利用训练好的文字分类器识别拆分后的文字行中的文字。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。图6示出了根据本发明一个实施例的文字识别系统600的示意性框图。文字识别系统600包括图像采集装置610、存储装置620、以及处理器630。图像采集装置610用于采集包含文字的待识别图像。图像采集装置610是可选的,文字识别系统600可以不包括图像采集装置610。所述存储装置620存储用于实现根据本发明实施例的文字识别方法中的相应步骤的程序代码。所述处理器630用于运行所述存储装置620中存储的程序代码,以执行根据本发明实施例的文字识别方法的相应步骤,并且用于实现根据本发明实施例的文字识别装置中的图像获取模块510、检测模块520、文字行生成模块530和识别模块540。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600执行以下步骤:获取待识别图像;检测待识别图像,以获得包含文字的期望文字框;对期望文字框进行扩充和合并,以生成文字行;以及识别所生成的文字行中的文字。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的对期望文字框进行扩充和合并的步骤包括:步骤S231:确定期望文字框为初始文字框;步骤S232:利用训练好的反馈神经网络计算与每个初始文字框相对应的扩充文字框的端点坐标以及扩充置信度;步骤S233:将需要合并的扩充文字框进行合并,以生成新文字框,其中,每个新文字框的扩充置信度根据合并为该新文字框的扩充文字框的扩充置信度确定;步骤S234:根据所有新文字框的扩充置信度判断是否存在需要进一步扩充的新文字框,如果存在,则转至步骤S235,否则转至步骤S236;步骤S235:确定需要进一步扩充的新文字框为初始文字框并返回步骤S232;以及步骤S236:确定最后获得的文字框为文字行,其中,最后获得的文字框包括期望文字框、扩充文字框和新文字框中的一种或多种。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的步骤S233包括:根据两个扩充文字框的相对角度和重叠程度判断是否需要合并两个扩充文字框,如果需要合并,则合并两个扩充文字框,以生成与两个扩充文字框相对应的新文字框。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的合并两个扩充文字框的步骤包括:对两个扩充文字框的长宽、中心坐标以及倾斜角度进行加权平均,以生成与两个扩充文字框相对应的新文字框。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的检测待识别图像以获得包含文字的期望文字框的步骤包括:从待识别图像中检测包含文字的初级文字框;以及对初级文字框的大小、位置和/或倾斜角度进行修正,以获得期望文字框。在一个实施例中,在所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的对初级文字框的大小、位置和/或倾斜角度进行修正以获得期望文字框的步骤之前,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的检测待识别图像以获得包含文字的期望文字框的步骤进一步包括:按照预定比例扩大初级文字框。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的对初级文字框的大小、位置和/或倾斜角度进行修正以获得期望文字框的步骤包括:利用训练好的第一卷积神经网络计算初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度;根据初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度对初级文字框进行修正;以及根据经修正的初级文字框获得期望文字框。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的根据经修正的初级文字框获得期望文字框的步骤包括:利用训练好的第二卷积神经网络计算经修正的初级文字框中存在文字的第一文字置信度;以及根据第一文字置信度对经修正的初级文字框进行过滤,以获得期望文字框。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的从待识别图像中检测包含文字的初级文字框的步骤包括:利用基于滑动窗的卷积神经网络计算在待识别图像的图像块中存在文字的第二文字置信度;以及根据第二文字置信度选择其中存在文字的图像块作为初级文字框。在一个实施例中,所述程序代码被所述处理器630运行时使所述文字识别系统600所执行的识别所生成的文字行中的文字的步骤包括:利用训练好的分割器对文字行进行拆分;以及利用训练好的文字分类器识别拆分后的文字行中的文字。此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的文字识别方法的相应步骤,并且用于实现根据本发明实施例的文字识别装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。在一个实施例中,所述计算机程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的文字识别装置的各个功能模块,并且/或者可以执行根据本发明实施例的文字识别方法。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机执行以下步骤:获取待识别图像;检测待识别图像,以获得包含文字的期望文字框;对期望文字框进行扩充和合并,以生成文字行;以及识别所生成的文字行中的文字。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机所执行的对期望文字框进行扩充和合并的步骤包括:步骤S231:确定期望文字框为初始文字框;步骤S232:利用训练好的反馈神经网络计算与每个初始文字框相对应的扩充文字框的端点坐标以及扩充置信度;步骤S233:将需要合并的扩充文字框进行合并,以生成新文字框,其中,每个新文字框的扩充置信度根据合并为该新文字框的扩充文字框的扩充置信度确定;步骤S234:根据所有新文字框的扩充置信度判断是否存在需要进一步扩充的新文字框,如果存在,则转至步骤S235,否则转至步骤S236;步骤S235:确定需要进一步扩充的新文字框为初始文字框并返回步骤S232;以及步骤S236:确定最后获得的文字框为文字行,其中,最后获得的文字框包括期望文字框、扩充文字框和新文字框中的一种或多种。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机所执行的步骤S233包括:根据两个扩充文字框的相对角度和重叠程度判断是否需要合并两个扩充文字框,如果需要合并,则合并两个扩充文字框,以生成与两个扩充文字框相对应的新文字框。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机所执行的合并两个扩充文字框的步骤包括:对两个扩充文字框的长宽、中心坐标以及倾斜角度进行加权平均,以生成与两个扩充文字框相对应的新文字框。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机所执行的检测待识别图像以获得包含文字的期望文字框的步骤包括:从待识别图像中检测包含文字的初级文字框;以及对初级文字框的大小、位置和/或倾斜角度进行修正,以获得期望文字框。在一个实施例中,在所述计算机程序指令在被计算机运行时使所述计算机所执行的对初级文字框的大小、位置和/或倾斜角度进行修正以获得期望文字框的步骤之前,所述计算机程序指令在被计算机运行时使所述计算机所执行的检测待识别图像以获得包含文字的期望文字框的步骤进一步包括:按照预定比例扩大初级文字框。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机所执行的对初级文字框的大小、位置和/或倾斜角度进行修正以获得期望文字框的步骤包括:利用训练好的第一卷积神经网络计算初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度;根据初级文字框的修正后的长宽、修正后的中心坐标和/或修正后的倾斜角度对初级文字框进行修正;以及根据经修正的初级文字框获得期望文字框。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机所执行的根据经修正的初级文字框获得期望文字框的步骤包括:利用训练好的第二卷积神经网络计算经修正的初级文字框中存在文字的第一文字置信度;以及根据第一文字置信度对经修正的初级文字框进行过滤,以获得期望文字框。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机所执行的从待识别图像中检测包含文字的初级文字框的步骤包括:利用基于滑动窗的卷积神经网络计算在待识别图像的图像块中存在文字的第二文字置信度;以及根据第二文字置信度选择其中存在文字的图像块作为初级文字框。在一个实施例中,所述计算机程序指令在被计算机运行时使所述计算机所执行的识别所生成的文字行中的文字的步骤包括:利用训练好的分割器对文字行进行拆分;以及利用训练好的文字分类器识别拆分后的文字行中的文字。根据本发明实施例的文字识别系统中的各模块可以通过根据本发明实施例的实施文字识别的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。根据本发明实施例的文字识别方法及装置,通过将文字框扩充为文字行并针对文字行进行文字识别,可以避免字符间和字符内的混淆以及文字缺失现象。本发明应用深度学习方法,尤其是递归的反馈神经网络的方法,提高了文字识别的准确性。特别是在引入角度修正以及反馈神经网络扩充预测的实施例中,对于常见文字载体如街景照片、证件的识别,本方法的表现很出色,既可以正确识别旋转的文字,也能通过一行中少量的几个文字还原出整个文字行,使得文字识别的准确率获得了提高。尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文字识别装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1