本公开的实施例涉及一种印章图像识别方法、印章图像识别装置、智能发票识别设备和存储介质。
背景技术:
虽然机器学习和计算机视觉技术不断发展,但是由于不规则排列文字是弧形、曲面或者具有透视效果,因此,不规则排列文字识别(例如印章图像中的弧形文字识别或者其他类型的弧形文字识别等)一直是文字识别领域的一个技术难点。
技术实现要素:
本公开至少一实施例提供一种印章图像识别方法,包括:获取输入图像,其中,所述输入图像包括印章图像;基于注意力模型和字符识别模型对所述印章图像中的目标字符区域进行字符识别,以得到并输出所述目标字符区域中的目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,基于注意力模型和字符识别模型对所述印章图像中的目标字符区域进行字符识别,以得到并输出所述目标字符区域中的目标字符信息,包括:利用所述注意力模型对所述输入图像进行处理,以得到所述印章图像中的所述目标字符区域;利用所述字符识别模型对所述目标字符区域进行字符识别处理,得到所述目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,利用所述字符识别模型对所述目标字符区域进行字符识别处理,得到所述目标字符信息包括:利用所述字符识别模型对所述目标字符区域进行字符识别处理,以得到并输出中间字符信息;对所述中间字符信息进行校验,以得到所述目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,基于注意力模型和字符识别模型对所述印章图像中的目标字符区域进行字符识别,以得到并输出所述目标字符区域中的目标字符信息,包括:利用所述字符识别模型对所述印章图像进行字符识别,以得到中间处理结果;利用所述注意力模型对所述输入图像进行处理,以得到所述印章图像中的所述目标字符区域;基于所述目标字符区域和所述中间处理结果,确定所述目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,基于所述目标字符区域和所述中间处理结果,确定所述目标字符信息,包括:基于所述目标字符区域,从所述中间处理结果中确定与所述目标字符区域对应的中间字符信息;对所述中间字符信息进行校验,以得到所述目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,基于注意力模型和字符识别模型对所述印章图像中的目标字符区域进行字符识别,以得到并输出所述目标字符区域中的目标字符信息,包括:利用所述注意力模型对所述输入图像进行处理,以得到所述印章图像中的所述目标字符区域;对所述目标字符区域进行处理以得到字符标注框组;利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出所述目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,对所述目标字符区域进行处理以得到字符标注框组包括:利用掩膜区域卷积神经网络对所述目标字符区域进行处理,以得到一个字符标注框,其中,所述字符标注框组包括所述一个字符标注框,所述一个字符标注框包括多个字符;或者利用掩膜区域卷积神经网络对所述目标字符区域进行处理,以得到多个字符标注框,其中,所述字符标注框组包括所述多个字符标注框,且所述多个字符标注框中的每个字符标注框包括至少一个字符;或者利用基于opencv的字符轮廓提取算法对所述目标字符区域进行处理,以得到多个字符标注框,其中,所述字符标注框组包括所述多个字符标注框,且所述多个字符标注框中的每个字符标注框包括一个字符。
例如,在本公开至少一个实施例提供的印章图像识别方法中,利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出所述目标字符信息,包括:利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出中间字符信息;对所述中间字符信息进行校验,以得到所述目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,在所述字符标注框组包括所述多个字符标注框的情况下,所述多个字符标注框呈曲线排布,在利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出所述目标字符信息之前,所述印章图像识别方法还包括:对于所述多个字符标注框中的每个字符标注框,获取该字符标注框的中心点,从而得到多个中心点;将所述多个中心点平滑连接以得到中心点曲线;将所述中心点曲线进行拉直处理,以将所述多个字符标注框拉直成直线排布的形式;在所述字符标注框组包括所述一个字符标注框的情况下,所述一个字符标注框呈曲线状,在利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出所述目标字符信息之前,所述印章图像识别方法还包括:将所述一个字符标注框进行拉直处理。
例如,在本公开至少一个实施例提供的印章图像识别方法中,利用所述注意力模型对所述输入图像进行处理,以得到所述印章图像中的所述目标字符区域包括:对所述输入图像进行处理以确定所述印章图像;利用所述注意力模型对所述印章图像进行处理,以得到所述印章图像中的所述目标字符区域。
例如,在本公开至少一个实施例提供的印章图像识别方法中,对所述输入图像进行处理,以确定所述印章图像包括:通过印章区域识别模型对所述输入图像进行处理,以确定所述印章图像;或者通过印章区域识别模型对所述输入图像进行处理,以确定所述印章图像,通过印章标注框标注出所述印章图像,对所述印章标注框进行切片处理,以得到所述印章图像,其中,所述印章标注框包括所述印章图像。
例如,在本公开至少一个实施例提供的印章图像识别方法中,利用所述注意力模型对所述输入图像进行处理,以得到所述印章图像中的所述目标字符区域包括:对所述输入图像进行处理以获取初始印章图像;对所述初始印章图像按照预设角度进行旋转以得到多个印章图像;对所述多个印章图像中的每个印章图像,利用所述注意力模型对所述每个印章图像进行处理,以得到所述每个印章图像内的目标字符区域。
例如,在本公开至少一个实施例提供的印章图像识别方法中,对所述目标字符区域进行处理以得到字符标注框组包括:利用掩膜区域卷积神经网络对所述每个印章图像内的目标字符区域进行处理,以得到与所述每个印章图像对应的字符标注框组,其中,与所述每个印章图像对应的字符标注框组包括与所述每个印章图像对应的一个字符标注框;或者利用掩膜区域卷积神经网络对所述每个印章图像内的目标字符区域进行处理,以得到与所述每个印章图像对应的字符标注框组,其中,与所述每个印章图像对应的字符标注框组包括与所述每个印章图像对应的所述多个字符标注框;或者利用基于opencv的字符轮廓提取算法对所述每个印章图像内的目标字符区域进行处理,以得到与所述每个印章图像对应的字符标注框组,其中,与所述每个印章图像对应的字符标注框组包括与所述每个印章图像对应的所述多个字符标注框。
例如,在本公开至少一个实施例提供的印章图像识别方法中,利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出所述目标字符信息包括:利用所述字符识别模型对与所述每个印章图像对应的字符标注框组进行字符识别处理,以得到多个中间字符信息,其中,所述多个中间字符信息与所述多个印章图像一一对应;根据所述多个中间字符信息得到所述目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,利用所述注意力模型对所述输入图像进行处理,以得到所述印章图像中的目标字符区域包括:对所述输入图像进行处理以确定初始印章图像,所述初始印章图像包括目标字符区域和参考字符区域;确定所述参考字符区域相对于给定方向的偏转角度;根据所述偏转角度确定用于所述初始印章图像的校正角度;将所述初始印章图像按照所述校正角度进行旋转以确定所述印章图像;利用所述注意力模型对所述印章图像进行处理,以得到所述目标字符区域。
例如,在本公开至少一个实施例提供的印章图像识别方法中,对所述目标字符区域进行处理以得到字符标注框组包括:利用掩膜区域卷积神经网络对所述目标字符区域进行处理,以得到一个第一中间字符标注框或多个第一中间字符标注框;利用基于opencv的字符轮廓提取算法对所述目标字符区域进行处理,以得到多个第二中间字符标注框,其中,所述字符标注框组包括所述多个第一中间字符标注框和所述多个第二中间字符标注框;或者,所述字符标注框组包括所述一个第一中间字符标注框和所述多个第二中间字符标注框。
例如,在本公开至少一个实施例提供的印章图像识别方法中,利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出所述目标字符信息包括:利用所述字符识别模型对所述一个第一中间字符标注框或所述多个第一中间字符标注框进行字符识别处理,以得到第一中间字符信息;利用所述字符识别模型对所述多个第二中间字符标注框进行字符识别处理,以得到第二中间字符信息;根据所述第一中间字符信息和所述第二中间字符信息,得到并输出所述目标字符信息。
例如,在本公开至少一个实施例提供的印章图像识别方法中,在所述字符标注框组包括所述多个第一中间字符标注框和所述多个第二中间字符标注框,且所述多个第一中间字符标注框呈曲线排布,所述多个第二中间字符标注框呈曲线排布的情况下,在利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出所述目标字符信息之前,所述印章图像识别方法还包括:获取所述多个第一中间字符标注框的多个第一中心点,其中,所述多个第一中心点与所述多个第一中间字符标注框一一对应,将所述多个第一中心点平滑连接以得到第一中心点曲线,将所述第一中心点曲线进行拉直处理,以将所述多个第一中间字符标注框拉直成直线排布的形式;和/或获取所述多个第二中间字符标注框的多个第二中心点,其中,所述多个第二中心点与所述多个第二中间字符标注框一一对应,将所述多个第二中心点平滑连接以得到第二中心点曲线,将所述第二中心点曲线进行拉直处理,以将所述多个第二中间字符标注框拉直成直线排布的形式;在所述字符标注框组包括所述一个第一中间字符标注框和所述多个第二中间字符标注框,且所述一个第一中间字符标注框呈曲线状,所述多个第二中间字符标注框呈曲线排布的情况下,在利用所述字符识别模型对所述字符标注框组进行字符识别处理,以得到并输出所述目标字符信息之前,所述印章图像识别方法还包括:将所述一个第一中间字符标注框进行拉直处理;和/或获取所述多个第二中间字符标注框的多个第二中心点,其中,所述多个第二中心点与所述多个第二中间字符标注框一一对应,将所述多个第二中心点平滑连接以得到第二中心点曲线,将所述第二中心点曲线进行拉直处理,以将所述多个第二中间字符标注框拉直成直线排布的形式。
本公开至少一个实施例提供一种印章图像识别装置,包括:存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行上述任一实施例所述的印章图像识别方法。
本公开至少一个实施例提供一种智能发票识别设备,包括:图像获取部件,用于获得纸质发票的发票图像;存储器,用于存储所述发票图像以及计算机可读指令;处理器,用于读取所述发票图像作为输入图像,并运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行上述任一实施例所述的印章图像识别方法。
本公开至少一个实施例提供一种存储介质,非暂时性地存储计算机可读指令,当所述计算机可读指令由计算机执行时可以执行上述任一实施例所述的印章图像识别方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1a为本公开一些实施例提供的一种印章图像识别方法的示意性流程图;
图1b为本公开一些实施例提供的一种印章图像识别方法的一种示意性流程图;
图1c为本公开一些实施例提供的一种印章图像识别方法的另一种示意性流程图;
图1d为本公开一些实施例提供的一种印章图像识别方法的又一种示意性流程图;
图2a为本公开一些实施例提供的一种输入图像的示意图;
图2b为图2a所示的输入图像的印章图像;
图3a为根据本公开的实施例提供的注意力模型对图2b所示的印章图像进行处理后的一种示意图;
图3b为根据本公开的实施例提供的注意力模型对图2b所示的印章图像进行处理后的另一种示意图;
图4a为本公开一些实施例提供的另一种输入图像的示意图;
图4b为根据本公开一些实施例提供的印章图像识别方法对图4a所示的输入图像进行识别后的示意图;
图5为本公开一些实施例提供的一种印章图像识别装置的示意性框图;
图6为本公开一些实施例提供的一种智能发票识别设备的示意性框图;以及
图7为本公开一些实施例提供的一种存储介质的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
本公开至少一实施例提供一种印章图像识别方法、印章图像识别装置、智能发票识别设备和存储介质。印章图像识别方法能够很好地实现对印章图像中的不规则排列文字进行识别,提高识别不规则排列文字的准确性,以获得精确的识别结果。
需要说明的是,在本公开的实施例中,“不规则排列文字”可以表示多个文字没有排列为一行或一列,也就是说,多个文字没有沿同一条直线排列。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1a为本公开一些实施例提供的一种印章图像识别方法的示意性流程图,图1b为本公开一些实施例提供的一种印章图像识别方法的一种示意性流程图,图1c为本公开一些实施例提供的一种印章图像识别方法的另一种示意性流程图,图1d为本公开一些实施例提供的一种印章图像识别方法的又一种示意性流程图,图2a为本公开一些实施例提供的一种输入图像的示意图,图2b为图2a所示的输入图像的印章图像。
如图1a所示,首先,本公开实施例提供的印章图像识别方法在步骤s10,获取输入图像,例如,在步骤s10中,输入图像包括印章图像。
例如,在步骤s10中,输入图像可以为任何包括印章图像的图像,例如,如图2a所示,在一些实施例中,输入图像100可以为发票图像。本公开不限于此,在另一些实施例中,输入图像100也可以文档图像等。
例如,输入图像100中可以包括至少一个印章图像。如图2a所示,在一些实施例中,输入图像100中可以包括一个印章图像,图2b示出了图2a所示的输入图像100的印章图像101。
例如,每个印章图像101包括至少一个印章,印章可以为合同专用章、发票专用章等各种类型的印章。印章可以为圆形印章、椭圆形印章、多边形印章(例如,矩形印章)等规则形状印章,也可以为不规则形状印章。如图2b所示,该印章图像101包括一个圆形印章,且该圆形印章为合同专用章。
例如,输入图像100中的至少一个印章图像中包括输入图像100的相关文字信息,例如,当输入图像100为发票图像时,输入图像100的相关文字信息可以为开票公司的名称等文字信息,也就是说,在该印章图像101中包括开票公司的名称等信息的文字,在图2b所示的示例中,该印章图像101包括的开票公司的名称为“杭州睿琪软件有限公司”。需要说明的是,该印章图像101中还可以包括公司编码、税号等信息。
例如,印章图像中可以包括不规则排列的文字,也可以包括规则排列的文字。需要说明的是,“规则排列的文字”可以表示多个文字排列为一行或一列,也就是说,多个文字沿同一条直线排列。
例如,印章图像101的尺寸可以由用户根据实际情况自行设定。
例如,输入图像100可以为通过数码相机或手机拍摄的图像,输入图像100可以为灰度图像,也可以为彩色图像。
例如,输入图像100可以为图像采集装置直接采集到的原始图像,也可以是对原始图像进行预处理之后获得的图像。例如,为了避免输入图像的数据质量、数据不均衡等对于印章图像识别的影响,在处理输入图像前,本公开实施例提供的印章图像识别方法还可以包括对输入图像进行预处理的操作。预处理可以消除输入图像中的无关信息或噪声信息,以便于更好地对输入图像进行处理。预处理例如可以包括对输入图像进行缩放、剪裁、伽玛(gamma)校正、图像增强或降噪滤波等处理。
接下来,如图1a所示,在步骤s11,基于注意力模型和字符识别模型对印章图像中的目标字符区域进行字符识别,以得到并输出目标字符区域中的目标字符信息。
例如,目标字符信息可以为印章图像中的开票公司的名称,目标字符区域表示印章图像中与开票公司的名称对应的区域。
例如,在一些实施例中,如图1b所示,步骤s11可以包括步骤s110和步骤s111。在步骤s110:利用注意力模型对输入图像进行处理,以得到印章图像中的目标字符区域,在步骤s111:利用字符识别模型对目标字符区域进行字符识别处理,得到目标字符信息。也就是说,在图1b所示的实施例中,可以首先利用注意力模型对输入图像进行处理,以得到印章图像中的目标字符区域;然后,利用字符识别模型仅对目标字符区域进行字符识别处理,得到目标字符信息,由此,可以减少字符识别模型的计算量。需要说明的是,在一些示例中,在得到目标字符区域后,可以对目标字符区域进行拉直处理。然后利用字符识别模型对拉直后的目标字符区域进行字符识别处理,以得到目标字符信息。
例如,步骤s111可以包括:利用字符识别模型对目标字符区域进行字符识别处理,以得到并输出中间字符信息;对中间字符信息进行校验,以得到目标字符信息。
例如,在另一些实施例中,如图1c所示,步骤s11可以包括步骤s110、步骤s112和步骤s113。在步骤s112:利用字符识别模型对印章图像进行字符识别,以得到中间处理结果;在步骤s110:利用注意力模型对输入图像进行处理,以得到印章图像中的目标字符区域;在步骤s113:基于目标字符区域和中间处理结果,确定目标字符信息。
例如,中间处理结果可以包括印章图像中的全部字符,例如包括数字(例如税号)、公司名和“发票专用章”等字符。
也就是说,在图1c所示的实施例中,首先,可以利用字符识别模型直接将整个印章图像进行字符识别,以识别出印章图像中的全部的字符(即中间处理结果);然后,从全部的字符中确定并输出通过注意力模型确定的目标字符区域的字符(即目标字符信息)。需要说明的是,步骤s110、步骤s112没有先后顺序,可以先执行步骤s110,然后执行步骤s112;或者,也可以先执行步骤s112,然后执行步骤s110。
例如,步骤s113可以包括:基于目标字符区域,从中间处理结果中确定与目标字符区域对应的中间字符信息;对中间字符信息进行校验,以得到目标字符信息。
例如,在又一些实施例中,如图1d所示,步骤s11可以包括步骤s110、步骤s114和步骤s115。
在步骤s110,利用注意力模型对输入图像进行处理,以得到印章图像中的目标字符区域。
例如,在对于图1b-1d所示的实施例中,步骤s110可以包括:对输入图像进行处理以确定印章图像;以及利用注意力模型对印章图像进行处理,以得到印章图像中的目标字符区域。
例如,在一些示例中,在步骤s110中,对输入图像进行处理以确定印章图像包括:通过印章区域识别模型对输入图像进行处理,以确定印章图像。可以在输入图像中标注出印章图像的区域,从而在后续操作中,可以直接对该标注出的印章图像的区域进行处理。也就是说,可以不对输入图像中的印章图像进行切割操作。
例如,在另一些示例中,在步骤s110中,对输入图像进行处理以确定印章图像包括:通过印章区域识别模型对输入图像进行处理,以确定印章图像;通过印章标注框标注出印章图像;对印章标注框进行切片处理,以得到印章图像。例如,印章标注框包括印章图像。可以在输入图像中标注出印章图像的区域,然后从输入图像中将印章图像切割,以得到单独的印章图像,从而在后续操作中,可以直接对该切割得到的印章图像进行处理。
例如,印章标注框可以为矩形框,从而印章图像可以具有矩形形状。例如,印章标注框的尺寸与印章图像的尺寸相同。但本公开的实施例不限于成,印章标注框的尺寸与印章图像的尺寸也可以不相同,例如,印章标注框的尺寸大于印章图像的尺寸,也就是说,印章图像位于印章标注框内。
需要说明的是,印章标注框也可以为菱形框、椭圆形框、圆形框等。
例如,印章区域识别模型可以采用机器学习技术实现,且该印章区域识别模型为预先训练好的模型。印章区域识别模型可以采用深度卷积神经网络(cnn)或者深度残差网络(resnet)等神经网络实现。
例如,在步骤s110中,注意力模型(attentionmodel)可以采用深度学习技术实现。例如,注意力模型采用注意力机制(attentionmechanism)实现对印章图像中的目标字符区域的提取。注意力机制可以对印章图像中的每个部分赋予不同的权重,抽取出更加关键及重要的信息,使注意力模型做出更加准确的判断,同时不会对注意力模型的计算和存储带来更大的开销。
例如,注意力模型也可以为预先训练好的模型,例如,经过大量的样本对原始的注意力模型进行训练后可以得到训练好的注意力模型,训练过程可以包括:对训练印章图像中的训练目标字符区域进行标注,向原始的注意力模型输入标注的训练印章图像,以对原始的注意力模型进行训练,原始的注意力模型会对训练目标字符区域设置较高的权重,即该训练目标字符区域为注意力关注区域。因此,训练好的注意力模型可以对印章图像中的目标字符区域设置较高的权重,从而注意力模型对印章图像进行处理后,可以获取印章图像中的权重较高的区域作为目标字符区域,即提取出印章图像中的目标字符区域。
图3a为根据本公开的实施例提供的注意力模型对图2b所示的印章图像进行处理后的一种示意图;图3b为根据本公开的实施例提供的注意力模型对图2b所示的印章图像进行处理后的另一种示意图。
例如,当利用注意力模型对图2b所示的印章图像进行处理后,如图3a所示,在二值化的印章图像中,图3a中白色的弧形框示出的部分表示权重较高的区域,即目标字符区域;如图3b所示,当利用注意力模型对图2b所示的印章图像进行处理后,印章图像101中的目标字符区域102可以被标识出来;或者,也可以对印章图像101中的目标字符区域102进行切片处理,从而可以得到仅包括目标字符区域102的图像。例如,在图3b所示的示例中,目标字符区域102包括开票公司名称对应的区域。
需要说明的是,图3a和3b所示的目标字符区域仅是示意性的,基于注意力模型得到的目标字符区域的具体形状和尺寸可以根据具体情况设置。
接下来,如图1d所示,在步骤s114,对目标字符区域进行处理以得到字符标注框组。字符标注框组可以包括一个或多个字符标注框。
例如,在步骤s114中,在一些示例中,对目标字符区域进行处理以得到字符标注框组包括:利用掩膜区域卷积神经网络对目标字符区域进行处理,以得到一个字符标注框,其中,字符标注框组包括一个字符标注框,一个字符标注框包括多个字符。也就是说,该一个字符标注框为利用掩膜区域卷积神经网络(mask-rcnn)对目标字符区域进行处理后得到的掩膜(mask)区域,该一个字符标注框包括需要识别的目标字符信息中的所有字符。在图2b所示的示例中,该一个字符标注框包括开票公司的名称的所有字符,即“杭州睿琪软件有限公司”均被包含在该一个字符标注框中。
例如,在字符标注框组包括一个字符标注框的情况下,一个字符标注框呈曲线状。例如,该一个字符标注框的形状可以为弧形。
例如,在步骤s114中,在另一些示例中,对目标字符区域进行处理以得到字符标注框组包括:利用掩膜区域卷积神经网络对目标字符区域进行处理,以得到多个字符标注框,其中,字符标注框组包括多个字符标注框,每个字符标注框包括至少一个字符。
例如,在步骤s114中,在又一些示例中,对目标字符区域进行处理以得到字符标注框组包括:利用基于opencv的字符轮廓提取算法对目标字符区域进行处理,以得到多个字符标注框,其中,字符标注框组包括多个字符标注框,每个字符标注框包括一个字符。
例如,掩膜区域卷积神经网络是faster-rcnn的一种改进算法,是一个实例分割(instancesegmentation)算法,通过增加不同的分支,可以完成目标分类、目标检测、语义分割、实例分割、人体姿势识别等多种任务,具有处理灵活而强大的特点。
例如,利用mask-rcnn获取待处理图像中的一个目标物体,则mask-rcnn的处理流程可以包括:输入的一幅待处理图像,然后对待处理图像进行预处理操作,或者该待处理图像为预处理后的图像;然后,将该待处理图像输入到一个预训练好的神经网络中(例如,resnext网络等)获得对应的特征图像(featuremap);接着,对特征图像中的每一点设定预定数量的感兴趣区域(regionofinterest,roi),从而获得多个候选roi;接着,将这些候选的roi送入区域候选网络(regionproposalnetworks,rpn)进行二值分类(前景或背景)和边框回归(bounding-boxregression),过滤掉不感兴趣区域(需要说明的是,被过滤的不感兴趣区域的数量和种类等可以根据实际应用需求在mask-rcnn的训练时进行选择,从而当mask-rcnn训练完成后,即可实现对不感兴趣区域进行过滤),从而得到目标roi;接着,对目标roi进行roialign操作(即先将输入图和特征图像的像素对应起来,然后将特征图像和固定的特征对应起来);最后,对这些目标roi进行分类(n类别分类)、边框回归和掩膜区域生成,从而得到目标物体的标注框。例如,当将mask-rcnn应用到车牌识别时,可以直接获取到车牌的掩膜区域,然后利用外接标注框标注该车牌的掩膜区域。也就是说,外接标注框包括该掩膜区域。
例如,mask-rcnn包括三个输出,三个输出分别是分类结果(即预测框的标签)、回归结果(即预测框的坐标)、掩膜区域(mask)。
例如,基于opencv(开源算法)的字符轮廓提取算法可以采用自带的三个子函数,即detect(检测)函数、preprocess(图片预处理)函数和findtextregion(查找和筛选文字区域)函数,来获取目标字符区域中的多个字符标注框。detect函数用于实现文字目标字符区域的检测,preprocess函数可以采用数学形态学(morphology)进行预处理。
需要说明的是,在本公开的一些实施例中,也可以只利用opencv算法对印章图像的目标字符区域进行图像处理(例如,将印章图像的目标字符区域进行二值化等处理),然后,利用神经网络模型对目标字符区域进行处理,以得到多个字符标注框。或者,也可以利用各种opencv算法结合处理函数(easttextdetector,svm或者自定义的函数)的方法来识别和处理目标字符区域,以得到多个字符标注框。本公开对此不作具体限定。
例如,对于利用掩膜区域卷积神经网络对目标字符区域进行处理且得到多个字符标注框的实施例,每个字符标注框中可以包括至少一个字符。例如,在一些示例中,每个字符标注框中可以包括一个字符,例如,在步骤s114中,利用掩膜区域卷积神经网络对目标字符区域进行处理后,可以得到目标字符区域中的每个字符对应的字符标注框,例如,在图3b所示的示例中,目标字符区域102包括10个字符(即10个汉字),则利用掩膜区域卷积神经网络对目标字符区域102进行处理后,可以得到10个字符标注框,每个字符标注框对应一个汉字。在另一些示例中,字符标注框中也可以包括多个字符(两个、三个字符等),多个字符可以大致沿水平方向排列为一行或沿竖直方向排列为一列,水平方向与竖直方向彼此垂直。例如,在图3b所示的示例中,由于“公司”这两个汉字大致沿水平方向排列在同一行,则“公司”这两个汉字可以通过一个字符标注框进行标注。
例如,对于利用基于opencv的字符轮廓提取算法对所述目标字符区域进行处理且得到多个字符标注框的实施例,每个字符标注框中仅包括一个字符,例如,在步骤s114中,利用基于opencv的字符轮廓提取算法对目标字符区域进行处理后,可以得到目标字符区域中的每个字符对应的字符标注框,例如,在图3b所示的示例中,目标字符区域102包括10个字符(即10个汉字),则利用基于opencv的字符轮廓提取算法对目标字符区域102进行处理后,可以得到10个字符标注框,每个字符标注框对应一个汉字。
例如,在字符标注框组包括多个字符标注框的情况下,多个字符标注框可以均为矩形框。但本公开不限于此,在另一些实施例中,多个字符标注框也可以均为菱形框、圆形框等。需要说明的是,多个字符标注框可以具有相同的尺寸和形状,但不限于此,多个字符标注框可以具有不同的尺寸和/或形状,例如,多个字符标注框可以均为矩形框,但是至少部分矩形的字符标注框具有不同的尺寸。
需要说明的是,在本公开的一些实施例中,在获取到印章图像后,直接采用mask-rcnn或基于opencv的字符轮廓提取算法的方式获取印章图像中的全部字符的字符标注框,例如公司名称、税号和“发票专用章”等,然后,通过字符识别模型识别所有字符标注框中的字符信息,最后,根据基于注意力模型得到的印章图像中的目标字符区域,从得到的字符信息中选择并输出与目标字符区域对应的目标字符信息。
例如,利用掩膜区域卷积神经网络对目标字符区域进行处理,以得到一个字符标注框包括:利用掩膜区域卷积神经网络对目标字符区域进行提取字符轮廓处理,以得到一个包含多个字符的字符轮廓;对该一个字符轮廓进行外接标注框处理,以得到一个字符标注框。
例如,利用掩膜区域卷积神经网络或基于opencv的字符轮廓提取算法对目标字符区域进行处理,以得到多个字符标注框包括:利用掩膜区域卷积神经网络或基于opencv的字符轮廓提取算法对目标字符区域进行提取字符轮廓处理,以得到多个字符轮廓;对多个字符轮廓进行外接标注框处理,以得到多个字符标注框。例如,多个字符轮廓与多个字符标注框一一对应。字符轮廓可以具有不规则形状。
然后,如图1d所示,在步骤s115:利用字符识别模型对字符标注框组进行字符识别处理,以得到并输出目标字符信息。例如,步骤s115可以包括:利用字符识别模型对字符标注框组进行字符识别处理,以得到并输出中间字符信息;对中间字符信息进行校验,以得到目标字符信息。
例如,目标字符信息可以包括印章图像101中的印章所包括的文字,例如,开票公司的名称等信息的文字。
例如,字符识别模型可以基于光学字符识别(opticalcharacterrecognition,ocr)等技术实现,例如,字符识别模型也可以为预先训练好的模型。字符识别模型可以对字符标注框组中的所有字符标注框进行整体字符识别,也可以分别对字符标注框组中的每个字符标注框进行字符识别。
例如,中间字符信息可以为一个完整的句子(例如,完整的公司名称),也可以包括多个字符。对于图3b所示的示例,中间字符信息可能为“杭州睿琪软件有限公司”,或者,中间字符信息也可能包括“杭州”、“睿”、“琪”、“软件”、“有限公司”等多个字符。
例如,中间字符信息可能存在语义错误、逻辑错误等,因此,需要对中间字符信息进行校验,纠正中间字符信息中的语义错误、逻辑错误等,以得到准确的目标字符信息。例如,对于图3b所示的示例,中间字符信息可能包括“杭洲睿琪软件有限公司”,其中,“洲”这个字符与印章中的文字是不对应的,且“杭洲”这个词在语义上是错误的,经过校验,则可以将“杭洲”修正为“杭州”,从而经过校验后的目标字符信息为“杭州睿琪软件有限公司”,由此得到准确的公司名称。
例如,在字符标注框组包括多个字符标注框的情况下,多个字符标注框呈曲线排布,也就是说,在水平方向上,多个字符标注框中的至少部分字符标注框位于不同行,即至少部分字符标注框的中心不位于同一条直线上。
例如,在对多个字符标注框进行字符识别处理,以得到并输出目标字符信息之前,也就是说,在执行步骤s115之前,印章图像识别方法还包括:对于多个字符标注框中的每个字符标注框,获取该字符标注框的中心点,从而得到多个中心点;将多个中心点平滑连接以得到中心点曲线;将中心点曲线进行拉直处理,以将多个字符标注框拉直成直线排布的形式。例如,多个中心点与多个字符标注框一一对应。
得到直线排布形式的多个字符标注框后,在步骤s115中,利用字符识别模型对直线排布的形式的多个字符标注框进行字符识别处理,以得到并输出中间字符信息;接着,对中间字符信息进行校验,以得到目标字符信息。需要说明的是,当利用字符识别模型对直线排布形式的多个字符标注框进行字符识别处理时,字符识别的准确度可以得到提高。
例如,将多个字符标注框拉直成直线排布的形式后,印章图像中的弧形文字排列则被拉直成水平文字排列。
例如,将多个字符标注框拉直成直线排布的形式可以表示:在水平方向上,多个字符标注框位于同一行,即多个字符标注框的中心位于同一条与水平方向平行的直线上。
例如,将中心点曲线进行拉直处理,以将多个字符标注框拉直成直线排布的形式包括:根据中心点曲线生成中线;根据中心点曲线和中线的对应关系,得到与多个中心点一一对应的多个映射关系;根据多个映射关系,通过双线性插值的方式分别将多个字符标注框拉直成直线排布的形式。
例如,多个字符标注框均位于像素坐标系中,像素坐标系中的每个点的像素坐标表示像素的列数和行数,且能从图像采集装置(例如,摄像机)中得到。像素坐标系中的两个坐标轴分别平行于水平方向和竖直方向。
例如,根据中心点曲线生成中线可以包括:获取中心点曲线上每个像素点的坐标,以计算得到坐标平均值,基于该坐标平均值得到中线。例如,中线可以与水平方向平行。例如,中心点曲线上各个像素点的纵坐标的平均值即可以为中线的纵坐标。
例如,根据中心点曲线和中线的对应关系,得到与多个中心点一一对应的多个映射关系可以包括:根据每个字符标注框的中心点与该中心点在中线上的对应点的坐标对应关系,确定与该中心点对应的映射关系。然后,根据多个映射关系,通过双线性插值的方式分别将多个字符标注框拉直成直线排布的形式可以包括:将每个中心点对应的字符标注框中每个像素点都根据该中心点的映射关系进行转换,从而将该字符标注框拉直成直线排布的形式。需要说明的是,由于将字符标注框进行映射(即字符标注框投影到新的平面上),形状的变换会导致像素缺失,相应的像素缺失的点需要通过双线性插值的方式进行补充。按照上述方式将多个字符标注框拉直后即得到直线排布的形式的多个字符标注框。
例如,在字符标注框组包括一个字符标注框的情况下,一个字符标注框呈曲线状,在对该一个字符标注框进行字符识别处理,以得到并输出目标字符信息之前,也就是说,在执行步骤s115之前,印章图像识别方法还包括:将一个字符标注框进行拉直处理。拉直后的该字符标注框的形状例如可以为矩形。得到拉直后的该字符标注框后,在步骤s115中,利用字符识别模型对拉直后的该字符标注框进行字符识别处理,以得到并输出中间字符信息;接着,对中间字符信息进行校验,以得到目标字符信息。需要说明的是,当利用字符识别模型对拉直后的该字符标注框进行字符识别处理时,字符识别的准确度可以得到提高。
由于原始获取的输入图像中的印章图像可能会相对于水平方向具有各种不同的角度,会导致识别出的目标字符信息可能不准确,从而可以在进行字符识别前对原始获取的输入图像中的印章图像按照各种预设角度进行选择,这个步骤称为数据增强。例如,在获取初始印章图像后,可以对初始印章图像按照预设角度进行旋转,从而获取多个印章图像,然后,基于注意力模型和字符识别模型对每个印章图像中的目标字符区域进行字符识别,以得到并输出每个印章图像中的目标字符区域对应的中间字符信息,最后,综合识别的多个印章图像中的多个中间字符信息后通过判断获取准确的目标字符信息。例如,在一些示例中,在获取初始印章图像后,可以对初始印章图像按照预设角度进行旋转,从而获取多个印章图像,将多个印章图像分别输入到注意力模型中分别获取与多个印章图像一一对应的多个目标字符区域,然后通过字符识别模型对每个目标字符区域进行识别,以获取与每个目标字符区域对应的中间字符信息,最后,综合识别的全部中间字符信息后通过判断获取准确的目标字符信息。下面将详细描述对原始获取的印章图像进行数据增强后再进行字符识别的实施例。
此外,在另一些实施例中,步骤s110还可以包括:对输入图像进行处理以获取初始印章图像;对初始印章图像按照预设角度进行旋转以得到多个印章图像;对多个印章图像中的每个印章图像,利用注意力模型对每个印章图像进行处理,以得到每个印章图像内的目标字符区域。
例如,可以对初始印章图像每次旋转预设角度以获取多个印章图像。或者,也可以对初始印章图像分别按照多个预设角度进行旋转以获取多个印章图像。
例如,预设角度可以包括30度、60度、90度、120度、150度、180度、210度、240度、270度、300度、330度等中的至少一项。预设角度可以根据实际情况进行设置,本公开的实施例对此不作限制。
在此情况下,在步骤s114中,对目标字符区域进行处理以得到字符标注框组可以包括:利用掩膜区域卷积神经网络对每个印章图像内的目标字符区域进行处理,以得到与每个印章图像对应的字符标注框组,其中,与每个印章图像对应的字符标注框组包括与每个印章图像对应的一个字符标注框。
或者,对目标字符区域进行处理以得到字符标注框组可以包括:利用掩膜区域卷积神经网络对每个印章图像内的目标字符区域进行处理,以得到与每个印章图像对应的字符标注框组,其中,与每个印章图像对应的字符标注框组包括与每个印章图像对应的多个字符标注框,且多个字符标注框中的每个字符标注框包括至少一个字符。
或者,对目标字符区域进行处理以得到字符标注框组可以包括:利用基于opencv的字符轮廓提取算法对每个印章图像内的目标字符区域进行处理,以得到与每个印章图像对应的字符标注框组,其中,与每个印章图像对应的字符标注框组包括与每个印章图像对应的多个字符标注框,且多个字符标注框中的每个字符标注框包括一个字符。
例如,步骤s115可以包括:利用字符识别模型对与每个印章图像对应的字符标注框组进行字符识别处理,以得到多个中间字符信息,其中,多个中间字符信息与多个印章图像一一对应;根据多个中间字符信息得到目标字符信息。
例如,在一些示例中,根据多个中间字符信息得到目标字符信息可以包括:确定多个中间字符信息中相同中间字符信息的数量与多个中间字符信息的数量的至少一个比例,与该至少一个比例中最高比例对应的中间字符信息作为最终输出的目标字符信息。
例如,在一些示例中,在步骤s110中,可以得到n个印章图像,n为大于或等于2的整数,在n为大于等于3的情况下,在步骤s12中可以得到n个中间字符信息,若在n个中间字符信息中的(n-1)个中间字符信息均相同,则确定与该相同的(n-1)个中间字符信息中的任意一个中间字符信息为目标字符信息。或者,在n为2的情况下,在步骤s12中可以得到n个中间字符信息,n个中间字符信息均相同,则确定与该相同的n个中间字符信息中的任意一个中间字符信息为目标字符信息。
需要说明的是,在又一些示例中,根据多个中间字符信息得到目标字符信息可以包括:若多个中间字符信息中相同中间字符信息的数量与多个中间字符信息的数量的比例大于给定阈值,则确定与该比例对应的该相同中间字符信息作为最终输出的目标字符信息。例如,给定阈值可以由用户预先设定,例如给定阈值可以为85%-100%,本公开对此不作限定。
例如,在另一些示例中,根据多个中间字符信息得到目标字符信息可以包括:确定多个中间字符信息中相同中间字符信息的数量与多个中间字符信息的数量的至少一个比例,将与该至少一个比例中最高比例对应的中间字符信息作为待输出目标字符信息,然后对该待输出目标字符信息进行校验,以得到目标字符信息。
需要说明的是,若多个中间字符信息各不相同或者多个中间字符信息中不存在最高比例对应的中间字符信息,则可以将多个中间字符信息分别进行校验,然后确定校验后的多个中间字符信息中相同的校验后的中间字符信息的数量与多个校验后的中间字符信息的数量的至少一个比例,将与该至少一个比例中最高比例对应的校验后的中间字符信息作为最终输出的目标字符信息。若校验后的多个中间字符信息仍然各不相同或者校验后的多个中间字符信息中不存在相同结果的比例最高对应的校验后的中间字符信息,则输出错误的信号;或者,不输出任何信息;或者,也可以将校验后的多个中间字符信息均输出,然后由用户进行判断;或者,也可以直接将多个中间字符信息输出,然后由用户进行判断。
此外,由于印章图像包括参考字符区域和目标字符区域,可以基于参考字符区域确定印章图像的旋转角度。因此,在又一些实施例中,步骤s110还可以包括:对输入图像进行处理以确定初始印章图像,初始印章图像包括目标字符区域和参考字符区域;确定参考字符区域相对于给定方向的偏转角度;根据偏转角度确定用于初始印章图像的校正角度;对初始印章图像按照校正角度进行旋转以得到印章图像;利用注意力模型对印章图像进行处理,以得到目标字符区域。然后,执行步骤s111,或者执行步骤s112和步骤s113,或者执行步骤s114和s115。最终得到目标字符信息。
例如,参考字符区域可以为印章图像中的数字区域、印章图像中的“发票专用章”区域等区域中的至少一个。
例如,参考字符区域可以具有规则形状,例如矩形。参考字符区域相对于给定方向的偏转角度可以表示该参考字符区域的一条中线与该给定方向之间的夹角。
例如,给定方向可以为水平方向或竖直方向。
例如,在一些示例中,偏转角度可以为锐角,此时,偏转角度与校正角度可以相同或者偏转角度与校正角度可以互为余角。在另一些示例中,偏转角度可以为钝角,此时,偏转角度与校正角度可以相同或者偏转角度与校正角度可以互为补角。
在上面对图1d所示的实施例的描述中,仅采用掩膜区域卷积神经网络和基于opencv的字符轮廓提取算法中的一种方式对目标字符区域进行处理,但本公开不限于此。
对于图1d所示的实施例,在另一些示例中,可以同时采用掩膜区域卷积神经网络和基于opencv的字符轮廓提取算法对目标字符区域进行处理。下面将描述同时采用掩膜区域卷积神经网络和基于opencv的字符轮廓提取算法对目标字符区域进行处理的实施例。值得注意的是,上面实施例的描述在不矛盾的情况下也适用于下面将要描述的实施例。
例如,在步骤s114中,对目标字符区域进行识别以得到字符标注框组包括:利用掩膜区域卷积神经网络对所述目标字符区域进行处理,以得到一个第一中间字符标注框或多个第一中间字符标注框;利用基于opencv的字符轮廓提取算法对所述目标字符区域进行处理,以得到多个第二中间字符标注框,其中,字符标注框组包括多个第一中间字符标注框和多个第二中间字符标注框;或者,字符标注框组包括一个第一中间字符标注框和多个第二中间字符标注框。
在此情况下,步骤s115可以包括:利用字符识别模型对一个第一中间字符标注框或多个第一中间字符标注框进行字符识别处理,以得到第一中间字符信息;利用该字符识别模型对多个第二中间字符标注框进行字符识别处理,以得到第二中间字符信息;根据第一中间字符信息和第二中间字符信息,得到并输出目标字符信息。
例如,根据第一中间字符信息和第二中间字符信息,得到并输出目标字符信息可以包括:分别对第一中间字符信息和第二中间字符信息进行校验,以得到目标字符信息。
需要说明的是,在一些实施例中,若第一中间字符信息和第二中间字符信息相同,也可以直接将第一中间字符信息和第二中间字符信息中的任意一个作为目标字符信息,而不用执行校验的步骤;需要说明的是,当第一中间字符信息和第二中间字符信息相同,也可以分别对第一中间字符信息和第二中间字符信息进行校验,若校验后的第一中间字符信息和校验后的第二中间字符信息相同,也可以直接将校验后的第一中间字符信息和校验后的第二中间字符信息中的任意一个作为目标字符信息。若第一中间字符信息和第二中间字符信息不相同,且校验后的第一中间字符信息和校验后的第二中间字符信息也不相同,则输出错误的信号;或者,不输出任何信息;或者,也可以将校验后的第一中间字符信息和校验后的第二中间字符信息均输出,然后由用户进行判断,例如用户可以查看校验后的第一中间字符信息和校验后的第二中间字符信息并进行选择,以确定是否输出校验后的第一中间字符信息或校验后的第二中间字符信息。或者,还可以将第一中间字符信息和第二中间字符信息均输出,然后由用户进行判断,例如用户可以查看第一中间字符信息和第二中间字符信息并进行选择,以确定是否输出第一中间字符信息或第二中间字符信息。
例如,对一个第一中间字符标注框或多个第一中间字符标注框进行字符识别处理的字符识别模型和对多个第二中间字符标注框进行字符识别处理的字符识别模型可以为同一个字符识别模型。但本公开的实施例不限于此,在一些示例中,可以采用第一字符识别模型对一个第一中间字符标注框或多个第一中间字符标注框进行字符识别处理,采用第二字符识别模型对多个第二中间字符标注框进行字符识别处理。第一字符识别模型和第二字符识别模型的结构和/或方法不相同。
例如,在字符标注框组包括多个第一中间字符标注框和多个第二中间字符标注框的情况下,此时,多个第一中间字符标注框呈曲线排布,也就是说,多个第一中间字符标注框的中心不位于一条直线上,多个第二中间字符标注框呈曲线排布,也就是说,多个第二中间字符标注框的中心也不位于一条直线上。在此情况下,例如,在对字符标注框组进行字符识别处理,以得到并输出目标字符信息之前,印章图像识别方法还包括:获取多个第一中间字符标注框的多个第一中心点,其中,多个第一中心点与多个第一中间字符标注框一一对应,将多个第一中心点平滑连接以得到第一中心点曲线,将第一中心点曲线进行拉直处理,以将多个第一中间字符标注框拉直成直线排布的形式;和/或,获取多个第二中间字符标注框的多个第二中心点,其中,多个第二中心点与多个第二中间字符标注框一一对应,将多个第二中心点平滑连接以得到第二中心点曲线,将第二中心点曲线进行拉直处理,以将多个第二中间字符标注框拉直成直线排布的形式。然后,在步骤s115中,利用字符识别模型分别对直线排布的形式的多个第一中间字符标注框和直线排布的形式的多个第二中间字符标注框进行字符识别处理,以得到第一中间字符信息和第二中间字符信息;根据第一中间字符信息和第二中间字符信息,得到并输出目标字符信息。
例如,在字符标注框组包括一个第一中间字符标注框和多个第二中间字符标注框的情况下,此时,该一个第一中间字符标注框呈曲线状,多个第二中间字符标注框呈曲线排布,也就是说,多个第二中间字符标注框的中心不位于一条直线上。在此情况下,在对字符标注框组进行字符识别处理,以得到并输出目标字符信息之前,印章图像识别方法还包括:将一个第一中间字符标注框进行拉直处理;和/或,获取多个第二中间字符标注框的多个第二中心点,其中,多个第二中心点与多个第二中间字符标注框一一对应,将多个第二中心点平滑连接以得到第二中心点曲线,将第二中心点曲线进行拉直处理,以将多个第二中间字符标注框拉直成直线排布的形式。然后,在步骤s115中,利用字符识别模型分别对拉直后的第一中间字符标注框和直线排布的形式的多个第二中间字符标注框进行字符识别处理,以得到第一中间字符信息和第二中间字符信息;根据第一中间字符信息和第二中间字符信息,得到并输出目标字符信息。
图4a为本公开一些实施例提供的另一种输入图像的示意图;图4b为根据本公开一些实施例提供的印章图像识别方法对图4a所示的输入图像进行识别后的示意图。
例如,如图4a所示,该输入图像110可以为发票图像。如图4b所示,输入图像110包括印章图像111,本公开实施例提供的印章图像识别方法对输入图像110中的印章图像111进行字符识别处理后,可以得到目标字符信息,即“杭州睿琪软件有限公司”,如图4b所示,该目标字符信息可以显示在输入图像110上。
应了解,在本公开的实施例中,在获取输入图像前,印章图像识别方法还包括:训练阶段。训练阶段包括对模型(mask-rcnn、印章区域识别模型或字符识别模型)进行训练的过程。需要说明的是,印章区域识别模型和字符识别模型可以被分别训练,或者,可以同时对印章区域识别模型和字符识别模型进行训练。
例如,以印章区域识别模型为例,模型的训练过程可以包括:在训练阶段,利用多张样本图像和与多张样本图像对应的多张印章图像训练待训练的印章区域识别模型,以得到印章区域识别模型。
例如,利用多张样本图像和与多张样本图像对应的多张印章图像训练待训练的印章区域识别模型包括:根据多张样本图像确定多张测试图像和多张训练图像;利用多张训练图像和与多张训练图像对应的多张印章图像训练待训练的印章区域识别模型,以得到中间印章区域识别模型;利用多张测试图像和与多张测试图像对应的多张印章图像对中间印章区域识别模型进行测试,以得到区域识别准确率;若区域识别准确率大于或者等于给定区域识别准确率,则确定中间印章区域识别模型为印章区域识别模型;若区域识别准确率小于给定区域识别准确率,则增加多张训练图像的数量,然后基于增加后的多张训练图像重复上述训练过程。
例如,给定区域识别准确率可以由用于预先设置,例如,给定区域识别准确率可以为90%-100%。
例如,多张样本图像中的测试图像的比例和训练图像的比例可以根据实际情况设定,本公开的实施例对此不作具体限定,例如,多张样本图像中的测试图像的比例可以为5%到20%,相应地,多张样本图像中的训练图像的比例可以为80%到95%。
例如,增加多张训练图像的数量可以包括:不改变样本图像中的测试图像和训练图像的比例,而增加样本图像的数量,从而增加多张训练图像的数量;或者调整多张样本图像中的测试图像的比例和训练图像的比例,以增加多张训练图像的数量。
图5为本公开一些实施例提供的一种印章图像识别装置的示意性框图。
本公开至少一实施例还提供一种印章图像识别装置,如图5所示,该印章图像识别装置200包括处理器202和存储器201。应当注意,图5所示的印章图像识别装置200的组件只是示例性的,而非限制性的,根据实际应用需要,该印章图像识别装置200还可以具有其他组件。
例如,存储器201用于非暂时性存储计算机可读指令;处理器202用于运行计算机可读指令,计算机可读指令被处理器202运行时执行根据上述任一实施例所述的印章图像识别方法中的一个或多个步骤。
例如,处理器202和存储器201等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(internetofthings)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3g/4g/5g移动通信网络、蓝牙、zigbee或者wifi等通信方式。本公开对网络的类型和功能在此不作限制。
例如,处理器202可以控制印章图像识别装置200中的其它组件以执行期望的功能。处理器202可以是中央处理单元(cpu)、张量处理器(tpu)或者图形处理器(gpu)等具有数据处理能力和/或程序执行能力的器件。中央处理元(cpu)可以为x86或arm架构等。gpu可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。gpu也可以内置于中央处理器(cpu)上。
例如,存储器201可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器202可以运行所述计算机可读指令,以实现印章图像识别装置200的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
例如,关于印章图像识别装置200执行印章图像识别的过程的详细说明可以参考印章图像识别方法的实施例中的相关描述,重复之处不再赘述。
图6为本公开一些实施例提供的一种智能发票识别设备的示意性框图。
本公开至少一实施例还提供一种智能发票识别设备。如图6所示,智能发票识别设备300可以包括存储器301、处理器302和图像获取部件303。应当注意,图6所示的智能发票识别设备300的组件只是示例性的,而非限制性的,根据实际应用需要,该智能发票识别设备300还可以具有其他组件。
例如,图像获取部件303用于获得纸质发票的发票图像。存储器301用于存储发票图像以及计算机可读指令。处理器302用于读取发票图像作为输入图像,并运行计算机可读指令。计算机可读指令被处理器302运行时执行根据上述任一实施例所述的印章图像识别方法中的一个或多个步骤。
例如,图像获取部件303即为上述印章图像识别方法的实施例中描述的图像采集装置,例如,图像获取部件303可以是智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、数码照相机的镜头、或者甚至可以是网络摄像头。
例如,发票图像可以是图像获取部件303直接采集到的原始发票图像,也可以是对原始发票图像进行预处理之后获得的图像。预处理可以消除原始发票图像中的无关信息或噪声信息,以便于更好地对发票图像进行处理。预处理例如可以包括对原始发票图像进行图像扩充(dataaugment)、图像缩放、伽玛(gamma)校正、图像增强或降噪滤波等处理。
例如,处理器302可以控制智能发票识别设备300中的其它组件以执行期望的功能。处理器302可以是中央处理单元(cpu)、张量处理器(tpu)或者图形处理器(gpu)等具有数据处理能力和/或程序执行能力的器件。中央处理元(cpu)可以为x86或arm架构等。gpu可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。gpu也可以内置于中央处理器(cpu)上。
例如,存储器301可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器302可以运行所述计算机可读指令,以实现智能发票识别设备300的各种功能。
例如,关于智能发票识别设备300执行印章图像识别的过程的详细说明可以参考印章图像识别方法的实施例中的相关描述,重复之处不再赘述。
图7为本公开一些实施例提供的一种存储介质的示意图。例如,如图7所示,在存储介质900上可以非暂时性地存储一个或多个计算机可读指令901。例如,当所述计算机可读指令901由计算机执行时可以执行根据上文所述的印章图像识别方法中的一个或多个步骤。
例如,该存储介质900可以应用于上述印章图像识别装置200和/或智能发票识别设备300中,例如,其可以为印章图像识别装置200中的存储器201和/或智能发票识别设备300中的存储器301。
例如,关于存储介质900的说明可以参考印章图像识别装置200和/或智能发票识别设备300的实施例中对于存储器的描述,重复之处不再赘述。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。