证件识别方法和装置、电子设备、计算机可读存储介质与流程

文档序号:18871087发布日期:2019-10-14 19:34阅读:193来源:国知局
证件识别方法和装置、电子设备、计算机可读存储介质与流程

本公开涉及计算机视觉技术,尤其是一种证件识别方法和装置、电子设备、计算机可读存储介质。



背景技术:

光学字符识别(opticalcharacterrecognition,ocr)技术被广泛应用于各种证件、卡片和票据的识别中。目前的ocr识别技术对于常用字符的识别具有较高的识别精度,然而对于少数民族文字等特殊类型的字符的识别精度还有待提高。



技术实现要素:

本公开实施例提供的一种证件识别技术。

根据本公开实施例的一个方面,提供的一种证件识别方法,包括:对证件图像进行关键点检测,获得所述证件图像中包括的证件的多个关键点的信息,其中,所述多个关键点包括所述证件中第一文本区域的至少两个边界限定点,所述第一文本区域中包括多个对应于第一字符类型的文本行;基于所述多个关键点的信息,确定所述证件的文本识别结果。

在一些实施例中,第一文本区域的至少两个边界限定点包含第一文本区域的左上角关键点和右下角关键点。

可选地,在本公开上述任一方法实施例中,所述证件还包括第二文本区域,其中,所述第二文本区域包括至少一个对应于不同于所述第一字符类型的第二字符类型的文本行,且所述第二文本区域与所述第一文本区域的文本内容相同。

可选地,在本公开上述任一方法实施例中,所述第一字符类型为汉字,所述第二字符类型为少数民族文字。

可选地,在本公开上述任一方法实施例中,基于所述多个关键点的信息,确定所述证件的文本识别结果,包括:基于所述第一文本区域的至少两个边界限定点的信息,对所述第一文本区域包含的多个文本行中每个文本行的初始预测位置进行修正处理,得到所述多个文本行的目标预测位置;基于所述第一文本区域包含的多个文本行中每个文本行的目标预测位置,对所述证件中包含的对应于所述第一字符类型的至少一个文本区域进行识别,获得所述证件的文本识别结果。

可选地,在本公开上述任一方法实施例中,基于所述多个关键点的信息,确定所述证件的文本识别结果,包括:基于所述第一文本区域的至少两个边界限定点的信息,对所述第一文本区域包含的多个文本行中每个文本行的初始预测行高进行修正处理,得到所述多个文本行的目标预测行高;基于所述第一文本区域包含的多个文本行中每个文本行的目标预测行高,对所述证件中包含的对应于所述第一字符类型的至少一个文本区域进行识别,获得所述证件的文本识别结果。

可选地,在本公开上述任一方法实施例中,所述基于所述多个关键点的信息,确定所述证件的文本识别结果,包括:

基于所述第一文本区域的至少两个边界限定点的信息,确定所述第一文本区域包含的多个文本行中每个文本行的目标预测位置;

基于所述第一文本区域包含的多个文本行中每个文本行的目标预测位置,对所述证件中包含的对应于所述第一字符类型的至少一个文本区域进行识别,获得所述证件的文本识别结果。

可选地,在本公开上述任一方法实施例中,所述基于所述第一文本区域的至少两个边界限定点的信息,确定所述第一文本区域包含的多个文本行中每个文本行的目标预测位置,包括:

基于所述第一文本区域的至少两个边界限定点的信息,确定所述第一文本区域包含的多个文本行中每个文本行的初始预测位置;

响应于确定所述多个文本行的初始预测位置存在异常,对第一文本区域包含的多个文本行的初始预测位置进行修正处理,获得所述多个文本行的目标预测位置。

可选地,在本公开上述任一方法实施例中,还包括:

响应于所述多个文本行中存在对应的初始预测行高大于第一预设行高的文本行,确定所述多个文本行的初始预测位置存在异常。

可选地,在本公开上述任一方法实施例中,所述对第一文本区域包含的多个文本行的初始预测位置进行修正处理,获得所述多个文本行的目标预测位置,包括:

基于所述第一文本区域的至少两个边界限定点的信息以及所述第一文本行的至少一个相邻行的初始预测位置,确定所述第一文本行的初始预测位置对应的初始预测行高是否异常;

响应于确定所述第一文本行的初始预测行高异常,对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高;

基于所述第一文本行的目标预测行高对所述第一文本行的初始预测位置进行修正,得到所述第一文本行的目标预测位置。

可选地,在本公开上述任一方法实施例中,所述基于所述第一文本区域的至少两个边界限定点的信息以及所述第一文本行的至少一个相邻行的初始预测位置,确定所述第一文本行的初始预测位置对应的预测行高是否异常,包括:

基于所述第一文本区域的至少两个边界限定点的信息以及所述第一文本区域的预测行数,确定所述第一文本区域的第一预测平均行高;

基于所述第一文本区域的第一预测平均行高以及基于所述第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定所述第一文本行的初始预测行高是否异常。

可选地,在本公开上述任一方法实施例中,所述基于所述第一文本区域的第一预测平均行高以及基于所述第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定所述第一文本行的初始预测行高是否异常,包括:

响应于所述第一文本行的初始预测行高达到所述第一预测平均行高的第一预设倍数,和/或所述第一文本行的初始预测行高达到所述第一文本行的至少一个相邻行的初始预测行高的第二预设倍数,确定所述第一文本行的初始预测行高异常。

可选地,在本公开上述任一方法实施例中,所述基于所述第一文本区域的第一预测平均行高以及基于所述第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定所述第一文本行的初始预测行高是否异常,包括:

响应于所述第一文本行的初始预测行高达到所述第一预测平均行高的第一预设倍数,且所述第一文本行的初始预测行高达到所述第一文本行的下一文本行的初始预测行高的第二预设倍数,确定所述第一文本行的初始预测行高异常;

所述对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高,包括:

基于所述第一预测平均行高和所述第一文本行的初始预测行高,确定所述多个文本行中除所述第一文本行之外的其他文本行的第二预测平均行高;

基于所述第二预测平均行高,对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高。

可选地,在本公开上述任一方法实施例中,所述基于所述第二预测平均行高,对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高,包括:

响应于所述第二预测平均行高超过第二预设数值,将所述第一文本行的行高修正为所述第三预设数值;和/或

响应于所述第二预测平均行高小于或等于所述第三预设数值,将所述第一文本行的行高修正为所述第二预测平均行高。

可选地,在本公开上述任一方法实施例中,所述基于所述第一文本区域的第一预测平均行高以及基于所述第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定所述第一文本行的初始预测行高是否异常,包括:

响应于所述第一文本行的初始预测行高达到所述第一文本行的上一文本行和下一文本行的初始预测行高的第二预设倍数,确定所述第一文本行的初始预测行高异常;

所述基于所述第二预测平均行高,对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高,包括:

基于所述第一文本行的上一文本行和下一文本行的初始预测行高,得到所述第一文本行的修正行高。

可选地,在本公开上述任一方法实施例中,所述基于所述第一文本行的目标预测行高对所述第一文本行的初始预测位置进行修正,得到所述第一文本行的目标预测位置,包括:

基于所述第一文本行的目标预测行高,对所述第一文本行的初始预测上边界进行调整,得到所述第一文本行的目标预测上边界。

可选地,在本公开上述任一方法实施例中,在响应于确定所述第一文本行的初始预测行高异常,对所述第一文本行的初始预测行高进行修正之后,还包括:

响应于所述第一文本行的修正行高大于或等于第三预设数值,将所述第一文本行的下一文本行的初始预测行高作为所述第一文本行的目标预测行高;和/或

响应于所述第一文本行的修正行高小于所述第四预设数值,将所述第一文本行的修正行高作为所述第一文本行的目标预测行高。

可选地,在本公开上述任一方法实施例中,所述基于所述第一文本区域包含的多个文本行中每个文本行的目标预测位置,对所述证件中包含的对应于所述第一字符类型的至少一个文本区域进行识别,包括:

基于所述第一文本区域包含的多个文本行的目标预测行高,对所述至少一个字符区域中第三文本区域的初始预测位置进行修正,得到所述第三文本区域的目标预测位置。

可选地,在本公开上述任一方法实施例中,所述基于所述第一文本区域包含的多个文本行的目标预测行高,对所述至少一个字符区域中第三文本区域的初始预测位置进行修正,得到所述第三文本区域的目标预测位置,包括:

基于所述第一文本区域包含的多个文本行的目标预测行高,确定所述第一文本区域的第三预测平均行高;

基于所述第三预测平均行高和所述第三文本预测区域的初始预测位置对应的初始预测行高,对所述第三文本区域的初始预测位置进行修正,得到所述第三文本预测区域的最终预测位置。

可选地,在本公开上述任一方法实施例中,所述证件包括身份证。

可选地,在本公开上述任一方法实施例中,所述第一文本区域包括地址字段信息区域。

根据本公开实施例的另一方面,提供的一种证件识别装置,包括:

关键点检测单元,用于对证件图像进行关键点检测,获得所述证件图像中包括的证件的多个关键点的信息,其中,所述多个关键点包括所述证件中第一文本区域的至少两个边界限定点,所述第一文本区域中包括多个对应于第一字符类型的文本行;

文本识别单元,用于基于所述多个关键点的信息,确定所述证件的文本识别结果。

可选地,在本公开上述任一装置实施例中,所述证件还包括第二文本区域,其中,所述第二文本区域包括至少一个对应于不同于所述第一字符类型的第二字符类型的文本行,且所述第二文本区域与所述第一文本区域的文本内容相同。

可选地,在本公开上述任一装置实施例中,所述第一字符类型为汉字,所述第二字符类型为少数民族文字。

可选地,在本公开上述任一装置实施例中,所述文本识别单元,包括:

文本行位置预测模块,用于基于所述第一文本区域的至少两个边界限定点的信息,确定所述第一文本区域包含的多个文本行中每个文本行的目标预测位置;

文本区域识别模块,用于基于所述第一文本区域包含的多个文本行中每个文本行的目标预测位置,对所述证件中包含的对应于所述第一字符类型的至少一个文本区域进行识别,获得所述证件的文本识别结果。

可选地,在本公开上述任一装置实施例中,所述文本行位置预测模块,具体用于基于所述第一文本区域的至少两个边界限定点的信息,确定所述第一文本区域包含的多个文本行中每个文本行的初始预测位置;响应于确定所述多个文本行的初始预测位置存在异常,对第一文本区域包含的多个文本行的初始预测位置进行修正处理,获得所述多个文本行的目标预测位置。

可选地,在本公开上述任一装置实施例中,所述文本行位置预测模块,还用于响应于所述多个文本行中存在对应的初始预测行高大于第一预设行高的文本行,确定所述多个文本行的初始预测位置存在异常。

可选地,在本公开上述任一装置实施例中,所述文本行位置预测模块在对第一文本区域包含的多个文本行的初始预测位置进行修正处理,获得所述多个文本行的目标预测位置时,包括:

异常确定模块,用于基于所述第一文本区域的至少两个边界限定点的信息以及所述第一文本行的至少一个相邻行的初始预测位置,确定所述第一文本行的初始预测位置对应的初始预测行高是否异常;

位置修正模块,用于响应于确定所述第一文本行的初始预测行高异常,对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高;基于所述第一文本行的目标预测行高对所述第一文本行的初始预测位置进行修正,得到所述第一文本行的目标预测位置。

可选地,在本公开上述任一装置实施例中,所述异常确定模块,具体用于基于所述第一文本区域的至少两个边界限定点的信息以及所述第一文本区域的预测行数,确定所述第一文本区域的第一预测平均行高;基于所述第一文本区域的第一预测平均行高以及基于所述第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定所述第一文本行的初始预测行高是否异常。

可选地,在本公开上述任一装置实施例中,所述异常确定模块在基于所述第一文本区域的第一预测平均行高以及基于所述第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定所述第一文本行的初始预测行高是否异常时,用于响应于所述第一文本行的初始预测行高达到所述第一预测平均行高的第一预设倍数,和/或所述第一文本行的初始预测行高达到所述第一文本行的至少一个相邻行的初始预测行高的第二预设倍数,确定所述第一文本行的初始预测行高异常。

可选地,在本公开上述任一装置实施例中,所述异常确定模块在基于所述第一文本区域的第一预测平均行高以及基于所述第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定所述第一文本行的初始预测行高是否异常时,用于响应于所述第一文本行的初始预测行高达到所述第一预测平均行高的第一预设倍数,且所述第一文本行的初始预测行高达到所述第一文本行的下一文本行的初始预测行高的第二预设倍数,确定所述第一文本行的初始预测行高异常;

所述位置修正模块,具体用于基于所述第一预测平均行高和所述第一文本行的初始预测行高,确定所述多个文本行中除所述第一文本行之外的其他文本行的第二预测平均行高;基于所述第二预测平均行高,对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高。

可选地,在本公开上述任一装置实施例中,所述位置修正模块在基于所述第二预测平均行高,对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高时,用于响应于所述第二预测平均行高超过第二预设数值,将所述第一文本行的行高修正为所述第三预设数值;和/或

响应于所述第二预测平均行高小于或等于所述第三预设数值,将所述第一文本行的行高修正为所述第二预测平均行高。

可选地,在本公开上述任一装置实施例中,所述异常确定模块在基于所述第一文本区域的第一预测平均行高以及基于所述第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定所述第一文本行的初始预测行高是否异常时,用于响应于所述第一文本行的初始预测行高达到所述第一文本行的上一文本行和下一文本行的初始预测行高的第二预设倍数,确定所述第一文本行的初始预测行高异常;

所述位置修正模块在基于所述第二预测平均行高,对所述第一文本行的初始预测行高进行修正,得到所述第一文本行的目标预测行高时,用于基于所述第一文本行的上一文本行和下一文本行的初始预测行高,得到所述第一文本行的修正行高。

可选地,在本公开上述任一装置实施例中,所述位置修正模块,具体用于基于所述第一文本行的目标预测行高,对所述第一文本行的初始预测上边界进行调整,得到所述第一文本行的目标预测上边界。

可选地,在本公开上述任一装置实施例中,所述位置修正模块,还用于响应于所述第一文本行的修正行高大于或等于第三预设数值,将所述第一文本行的下一文本行的初始预测行高作为所述第一文本行的目标预测行高;和/或

响应于所述第一文本行的修正行高小于所述第四预设数值,将所述第一文本行的修正行高作为所述第一文本行的目标预测行高。

可选地,在本公开上述任一装置实施例中,所述文本区域识别模块,用于基于所述第一文本区域包含的多个文本行的目标预测行高,对所述至少一个字符区域中第三文本区域的初始预测位置进行修正,得到所述第三文本区域的目标预测位置。

可选地,在本公开上述任一装置实施例中,所述文本区域识别模块,具体用于基于所述第一文本区域包含的多个文本行的目标预测行高,确定所述第一文本区域的第三预测平均行高;基于所述第三预测平均行高和所述第三文本预测区域的初始预测位置对应的初始预测行高,对所述第三文本区域的初始预测位置进行修正,得到所述第三文本预测区域的最终预测位置。

可选地,在本公开上述任一装置实施例中,所述证件包括身份证;和/或

所述第一文本区域包括地址字段信息区域。

根据本公开实施例的又一方面,提供的一种电子设备,包括处理器,所述处理器包括上述任意一项实施例所述的证件识别装置。

根据本公开实施例的还一方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;

以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成上述任意一项实施例所述的证件识别方法的操作。

根据本公开实施例的再一方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任意一项实施例所述的证件识别方法的操作。

根据本公开实施例的另一个方面,提供的一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任意一项实施例所述的证件识别方法的指令。

根据本公开实施例的又一个方面,提供的另一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述人脸识别方法或人脸识别网络的训练方法的操作。

在一个可选实施方式中,所述计算机程序产品具体为计算机存储介质,在另一个可选实施方式中,所述计算机程序产品具体为软件产品,例如sdk等。

根据本公开实施例还提供了另一种证件识别方法和装置、电子设备、计算机可读存储介质、计算机程序产品,其中,对证件图像进行关键点检测,获得所述证件图像的多个关键点的信息,其中,所述多个关键点包括所述证件中第一文本区域的至少两个边界限定点,所述第一文本区域中包括多个对应于第一字符类型的文本行;基于所述多个关键点的信息,确定所述证件的文本识别结果。

基于本公开上述实施例提供的一种证件识别方法和装置、电子设备、计算机可读存储介质,对证件图像进行关键点检测,获得证件图像中包括的证件的多个关键点的信息,其中,所述多个关键点包括所述证件中第一文本区域的至少两个边界限定点,所述第一文本区域中包括多个对应于第一字符类型的文本行;基于所述多个关键点的信息,确定所述证件的文本识别结果,通过增加第一文本区域的至少两个边界限定点,有利于提高对第一文本区域中多行文本的文本位置的识别准确率,减小了其他字符类型对第一字符类型的文本识别带来的影响,提高了对证件中第一字符类型内容的识别准确率。

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1为本公开实施例提供的证件识别技术适用的身份证示例图。

图2为本公开实施例提供的证件识别方法的一个流程示意图。

图3为本公开实施例提供的证件识别方法的另一流程示意图。

图4为本公开实施例提供的证件识别方法的另一实施例中部分流程示意图。

图5为本公开实施例提供的证件识别方法的又一实施例中部分流程示意图。

图6为本公开实施例提供的证件识别方法的再一实施例中部分流程示意图。

图7为本公开实施例提供的证件识别方法的一个应用示例图。

图8为本公开实施例提供的证件识别方法的另一个应用示例图。

图9为本公开实施例提供的证件识别装置的结构示意图。

图10为适于用来实现本公开实施例的终端设备或服务器的电子设备的结构示意图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例主要应用于身份证识别,但也可以应用于其他具有固定或部分固定版式的证件或票据的识别,本公开实施例对此不做限定。

目前的ocr识别算法对大部分身份证例如汉族身份证具有较高的识别精度,然而,对于一小部分身份证例如少数民族身份证的识别主要面临以下几种关键问题:

常见的少数民族身份证,如蒙古族,维吾尔族等,这些证件中了除了汉字之外,还有相对应的少数民族文字,例如如图1所示。现在使用的身份证识别模型并不能识别少数民族文字,所以在少数民族身份证的文本识别中会将少数民族文字识别为乱码,同时因为少数民族文字的影响,导致汉字识别出现大量错误。

此外,少数民族身份证具有多种版式,以地址字段为例,目前有两种常用版式,第一类版本中少数民族文字和汉字之间没有明显行差,逐行出现;在第二类版式中,如图1所示,少数民族和汉字虽然出现在同一区域,但是中间有明显行差,非逐行出现。版式的多样化也会影响少数民族身份证识别的准确性。

针对上述至少一种问题,本公开实施例提出了一种图像识别技术,通过在关键点增加以下限定点作为关键点:汉字区域中包括多个文本行的第一文本区域的至少两个边界限定点(例如,左上角关键点和右下角关键点等可确定第一文本区域边界的点),提高对至少包含第一文本区域的汉字区域的定位精度,降低少数民族文字对汉字识别的影响,从而有利于提高证件识别精度。

图1示例性地示出了本公开实施例中的24个关键点,包括:证件图像的四个顶角关键点、字段名称区域(包括:“姓名”、“性别”、“出生”、“住址”和“公民身份证号码”)的左上角关键点和右下角关键点、部分字段的字段信息区域(包括:姓名字段信息区域、性别字段信息区域、民族字段信息区域和身份证号码字段信息区域)的左上角关键点和右下角关键点,此外,还包括地址字段信息区域的左上角关键点和右下角关键点,本公开实施例通过地址字段信息区域的左上角关键点和右下角关键点,提高了对少数民族身份证中的汉字识别的准确率。

应理解,图1所示的24个关键点仅用于示例,本公开实施例也可以采用其他数量和类型的关键点,本公开实施例对此不做限定。

应理解,本公开实施例提供的技术方案有利于少数民族身份证识别的精度,但也适用于汉族身份证的识别,或者任意类似地包含至少两种不同文字类型的证件识别,本公开实施例对此不做限定。

图2为本公开实施例提供的证件识别方法的一个流程示意图。

步骤210,对证件图像进行关键点检测,获得证件图像中包括的证件的多个关键点的信息。

其中,多个关键点包括证件中第一文本区域的至少两个边界限定点,第一文本区域中包括多个对应于第一字符类型的文本行。

证件中包括两种类型的字符,即第一字符类型和第二字符类型,其中,第一字符类型和第二字符类型的文本出现在不同行,其中,第一字符类型的文本行和第二字符类型的文本行可以具有相同或不同的内容。

在一些实施例中,第一字符类型为可识别字符类型或识别的目标字符类型,例如汉字等,第二字符类型为无法识别的字符类型或不进行识别的字符类型,例如,少数民族文字等。例如在身份证识别技术中,为了保持识别技术的普适性,同时适用于汉族身份证的识别和少数民族身份证的识别,对身份证中的汉字进行识别,而不识别其中的少数民族文字。

在本公开实施例中,对应于第一字符类型的文本区域可以仅包含第一字符类型的文本,或者也可以进一步包含除第一和第二字符类型之外的其他字符类型,例如数字等,类似地,对应于第二字符类型的文本区域可以包括第二字符类型的文本以及可选地其他字符类型的文本,本公开实施例对此不做限定。

在一些可选的实施例中,证件还包括第二文本区域,其中,第二文本区域包括至少一个对应于不同于第一字符类型的第二字符类型的文本行,且第二文本区域与第一文本区域具有相同的文本内容。例如,如图1所示,身份证中的地址字段信息区域包含汉字信息区域和少数民族文字信息区域,表示人物的同一住址。假设第一文本区域和第二文本区域分别为图1所示的例子中的地址字段信息区域的汉字信息区域和少数民族文字信息区域,第二文本区域与第一文本区域相邻或间隔至少一个空白行,但本公开实施例不限于此。

本公开实施例对证件图像进行关键点检测,得到证件图像中包括的证件的多个关键点的信息,其中,关键点的信息包括位置信息,或者进一步包含其他信息,本公开实施例对此不做限定。

证件的多个关键点包括第一文本区域的至少两个边界限定点,例如,左上角关键点和右下角关键点,或者左下角关键点和右上角关键点,或者四个顶点,等等,本公开实施例对此不做限定。这样,通过在关键点中包含对应于第一字符类型的第一文本区域的至少两个边界限定点,可以较为精确地定位到第一文本区域,有利于得到第一文本区域的较为准确的预测行高,降低第二字符类型的文本对于证件识别的影响,提高识别精度。

步骤220,基于多个关键点的信息,确定证件的文本识别结果。

在一些可选实施例中,基于多个关键点的信息,可确定第一文本区域中包括的文本行的较为精确的位置,基于文本识别方法,并进一步对确定了位置的第一字符类型的文本进行识别,得到第一文本区域的文本识别结果。可选地,还可以基于第一文本区域中包括的第一字符类型的文本行的位置,确定证件中包括的其他文本区域中的第一字符类型的文本行的位置,有利于提高证件的文本识别精度。

基于本公开上述实施例提供的一种证件识别方法,对证件图像进行关键点检测,获得所述证件图像中包括的证件的多个关键点的信息,其中,所述多个关键点包括所述证件中第一文本区域的至少两个边界限定点,所述第一文本区域中包括多个对应于第一字符类型的文本行;基于所述多个关键点的信息,确定所述证件的文本识别结果,通过增加第一文本区域的至少两个边界限定点,有利于提高对第一文本区域中多行文本的文本位置的识别准确率,减小了其他字符类型对第一字符类型的文本识别带来的影响,提高了对证件中第一字符类型内容的识别准确率。

在针对少数民族的证件中,第一字符类型为汉字,第二字符类型为少数民族文字。

目前文字识别技术尚未能实现针对少数民族文字进行识别,因此,本公开实施例需要排除少数民族文字对汉字内容的干扰,例如,对于少数民族文字和汉字非逐行出现时,即少数民族文字字段与汉字字段中间有间隔,此时原身份证处理方法经常检测不到文本区域,错误的将少数民族文字作为汉字进行检测识别,导致结果错误。

图3为本公开实施例提供的证件识别方法的另一流程示意图。

步骤310,对证件图像进行关键点检测,获得证件图像中包括的证件的多个关键点的信息。

其中,多个关键点包括证件中第一文本区域的至少两个边界限定点,第一文本区域中包括多个对应于第一字符类型的文本行。

步骤320,基于第一文本区域的至少两个边界限定点的信息,确定第一文本区域包含的多个文本行中每个文本行的目标预测位置。

可选地,基于第一文本区域的至少两个边界限定点的信息可确定一个矩形区域,该矩形区域中至少包括第一文本区域,可能还包括部分的第二文本区域;为了对第一文本区域中的第一字符类型进行识别,需要对每个文本行的位置进行确定,即本实施例中确定的每个文本行的目标预测位置,之后在目标预测位置进行文字识别,即可确定第一区域中包括的第一字符类型的内容。对于第一文本区域中内容的识别可逐行进行识别,逐行识别提高了文字识别的准确率,避免了行与行之间的交叉造成的识别错误。

步骤330,基于第一文本区域包含的多个文本行中每个文本行的目标预测位置,对证件中包含的对应于第一字符类型的至少一个文本区域进行识别,获得证件的文本识别结果。

证件的类型包括多种,因此,证件中可以包括多个可识别内容的文本区域(包括第一文本区域),这些文本区域中的字符类型都为第一字符类型,并且,由于证件属于格式较为固定的特殊图像,会存在多个文本区域中文字的行高相同,例如,在身份证中汉字的高度相同,即身份证图像中汉字行高相同;因此,在确定了第一文本区域中包括的文本行的目标预测位置时,即可确定第一文本区域中包括的文本行的行高,可以该行高对其他文本区域中的文本行的行高进行校正,以校正后的文本行行高确定其他文本区域中每个文本行的位置,进而确定其他文本区域中的内容,提高了其他文本区域中文字的识别准确率。

图4为本公开实施例提供的证件识别方法的另一实施例中部分流程示意图。在上述实施例基础上,步骤320包括:

步骤402,基于第一文本区域的至少两个边界限定点的信息,确定第一文本区域包含的多个文本行中每个文本行的初始预测位置。

可选地,文本行的初始预测位置可以包括文本行的上边界和下边界,通过上下边界的坐标即可确定文本行的位置;本公开实施例中的初始预测位置可以基于第一文本区域中包括的行数、每个文本行的初始行高、以及基于边界限定点的信息确定的第一文本区域的上边界和下边界确定,其中,行数和初始行高可利用神经网络获得,例如,利用深度神经网络识别证件中第一文本区域包括的行数和第一文本区域中每个文本的初始行高。

步骤404,响应于确定多个文本行的初始预测位置存在异常,对第一文本区域包含的多个文本行的初始预测位置进行修正处理,获得多个文本行的目标预测位置。

为了提高内容识别的准确率,本公开实施例在获得初始预测位置之后,需要判断该初始预测位置是否正常,当初始预测位置存在异常时,以该初始预测位置进行识别将导致识别内容的错误,本公开实施例通过修正处理,提高了文本行位置的准确性;由于第一文本区域中包括的多个文本行,其中可能存在一个或多个文本行的初始预测位置存在异常,其修正过程可以基于其他文本行的行高对存在异常的初始预测位置进行修正,也可以基于其他方式对初始预测位置进行修正,本公开实施例不限制具体的修正方式。

可选地,在步骤404之前,还可以包括:响应于多个文本行中存在对应的初始预测行高大于第一预设行高的文本行,确定多个文本行的初始预测位置存在异常。

可选地,第一预设行高可以是通过统计大量证件中的文本行高获得的,例如,将第一预设行高设置为15像素;本实施例将是否大于第一预设行高作为初始预测行高是否正常的判断标准,当每个文本行的行高都小于或等于第一预设行高时,说明行数和初始预测行高的识别结果是相对准确的,此时,基于识别获得的第一文本区域上边界和第一文本区域下边界以及行数(或对所有行的行高求平均),获得第一平均行高,以第一平均行高作为的目标预测行高,进而确定每个文本行的目标预测位置。而当多个文本行中有一个或一个以上的文本行的初始预测行高大于第一预设行高时,说明该文本行的初始预测行高识别错误,需要对其进行修正,以提高文字识别结果的准确率。

图5为本公开实施例提供的证件识别方法的又一实施例中部分流程示意图。在上述实施例基础上,步骤404包括:

步骤502,基于第一文本区域的至少两个边界限定点的信息以及第一文本行的至少一个相邻行的初始预测位置,确定第一文本行的初始预测位置对应的初始预测行高是否异常。

其中,相邻行可以为第一文本行的上一行文本行和/或下一行文本行,当第一文本行为第一行时,该相邻行为下一行文本行,当第一文本行为中间行时,该相邻行为上一行文本行和下一行文本行,当第一文本行为最后一行时,该相邻行为上一行,第一文本区域中包括的多个文本行中每个文本行的行高应当相同,因此,当第一文本行与相邻行的初始预测行高之间的差异达到一定程度时,说明第一文本行的初始预测行高异常。

步骤504,响应于确定第一文本行的初始预测行高异常,对第一文本行的初始预测行高进行修正,得到第一文本行的目标预测行高。

可选地,由于第二文本区域中的内容与第一文本区域中的内容相同,因此,第二文本区域通常与第一文本区域相邻;为了避免第二文本区域对第一文本区域内的文字内容产生影响,当第二文本区域在第一文本区域上方时,本公开实施例第一文本区域中最后一行的位置通常不需要进行修正,此时以第一文本行的下一行对第一文本行的初始预测位置进行修正,对第一文本区域中文本行的修正从第一行到倒数第二行;而当第二文本区域在第一文本区域下方时,本公开实施例第一文本区域中第一行的位置通常不需要进行修正,此时以第一文本行的上一行对第一文本行的初始预测位置进行修正,对第一文本区域中文本行的修正从最后一行到第二行。

步骤506,基于第一文本行的目标预测行高对第一文本行的初始预测位置进行修正,得到第一文本行的目标预测位置。

可选地,确定了第一文本行的目标预测行高之后,可基于确定的第一文本行的上边界确定下边界,或基于确定的第一文本行的下边界确定上边界,基于上边界和下边界即可确定目标预测位置。

在一些可选实施例中,基于第一文本行的目标预测行高,对第一文本行的初始预测上边界进行调整,得到第一文本行的目标预测上边界。

当已确定第一文本行的目标预测行高后,当第二文本区域位于第一文本区域上方,可确定可能出现错误识别的通常为上边界,此时,可基于下一行的上边界确定第一文本行的上边界,可选地,第一文本行的下边界与下一文本行的上边界可能有交集,本公开实施例可对第一文本行的下边界进行修正,以防止下一文本行的文字对第一文本行产生影响。例如,第一文本行的下边界=下一文本行的上边界–1像素(pixel)。可选地,通过第一文本行的目标预测上边界=第一文本行的下边界–目标预测行高。

本公开实施例通过相邻行的初始预测位置对第一文本行的初始预测行高进行修正,再基于修正后的目标预测行高确定目标预测位置,使获得的第一文本区域中包括的多个文本行在行高和位置关系上更加准确,提高了第一文本区域中内容识别的准确率。

图6为本公开实施例提供的证件识别方法的再一实施例中部分流程示意图。在上述实施例基础上,步骤502包括:

步骤602,基于第一文本区域的至少两个边界限定点的信息以及第一文本区域的预测行数,确定第一文本区域的第一预测平均行高。

例如,至少两个边界限定点包括左上角关键点和右下角关键点,可基于第一文本区域的左上角关键点确定第一文本区域的上边界坐标,基于右下角关键点确定第一文本区域的下边界坐标,通过上边界坐标和下边界坐标求差可确定第一文本区域的高度,基于神经网络识别第一文本区域中包括的预测行数,此时,以第一文本区域的高度处于预测行数,即可确定第一预测平均行高。

步骤604,基于第一文本区域的第一预测平均行高以及基于第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定第一文本行的初始预测行高是否异常。

本公开实施例中,第一预测平均行高可用于衡量第一文本区域中所有文本行的行高,当行数预测准确时,基于第一文本行的初始预测行高与第一预测平均行高之间的关系即可确定初始预测行高是否异常,例如,第一文本行的初始预测行高大于第一预测平均行高的设定倍数。但还可能在识别过程中对行数预测错误,因此,本公开实施例在第一预测平均行高的基础上增加相邻行的初始预测位置作为第一文本行的初始预测行高是否异常的评价基础,提高了判断初始预测行高是否异常的准确性。例如,可选地,步骤604包括:响应于第一文本行的初始预测行高达到第一预测平均行高的第一预设倍数,和/或第一文本行的初始预测行高达到第一文本行的至少一个相邻行的初始预测行高的第二预设倍数,确定第一文本行的初始预测行高异常。此时第一预测倍数和第二预设倍数可相同或不同,例如,根据大数据统计,将第一预测倍数和第二预设倍数设为1.2等,本公开实施例不限制第一预测倍数和第二预设倍数的具体取值。

又例如,可选地,步骤604包括:响应于第一文本行的初始预测行高达到第一预测平均行高的第一预设倍数,且第一文本行的初始预测行高达到第一文本行的下一文本行的初始预测行高的第二预设倍数,确定第一文本行的初始预测行高异常。

本公开实施例是针对第二文本区域位于第一文本区域上方的情况,此时,越位于下方的文本行越远离会对文本内容产生干扰的第二文本区域,即,位于下方的文本行的初始预测行高相对较为转,因此,本公开实施例基于下一文本行的初始预测行高对第一文本行的初始预测行高进行异常确认,提高了异常情况确认的准确率。

此时,步骤504,包括:

基于第一预测平均行高和第一文本行的初始预测行高,确定多个文本行中除第一文本行之外的其他文本行的第二预测平均行高;基于第二预测平均行高,对第一文本行的初始预测行高进行修正,得到第一文本行的目标预测行高。

在本公开实施例中,已基于第一预测平均行高和下一文本行的初始预测行高确定第一文本行的初始预测行高异常,此时,可认为其他文本行(包括下一文本行)的初始预测行高相对准确,因此,以其他文本行的初始预测行高求平均获得第二预测平均行高,以该第二预测平均行高对第一文本行的初始预测行高进行修正,使第一文本行的目标预测行高与第一文本区域中的其他文本行的行高更接近,提供了第一文本区域中各文本行的目标预测行高的准确性。

可选地,基于第二预测平均行高,对第一文本行的初始预测行高进行修正,得到第一文本行的目标预测行高,包括:

响应于第二预测平均行高超过第二预设数值,将第一文本行的行高修正为第三预设数值;和/或

响应于第二预测平均行高小于或等于第三预设数值,将第一文本行的行高修正为第二预测平均行高。

对第一文本行的初始预测行高进行修正可包括,第一文本行的行高理论上等于去除第一文本行高之后基于其他行的行高确定的第二预测平均行高,如果第二预测平均行高大于第二预设数值,则说明此时检测出的第一文本行并不是真实证件中第一文本区域的一行,而是产生误检之后,将两行合并为一行的结果,例如,假设真实身份证第一文本区域有四行,而实际检测出三行,中间一行的行高又恰巧接近第一平均行高,此时对于中间行基于第一行和第三行的第二行高初始预测行高对其进行修正;此时将第一文本行的行高置为第三预设数值即可,如果第二预测平均行高小于或等于第三预设数值,则将第一文本行的行高置为第二预测平均行高。

在一些可选实施例中,步骤604包括:

响应于第一文本行的初始预测行高达到第一文本行的上一文本行和下一文本行的初始预测行高的第二预设倍数,确定第一文本行的初始预测行高异常;

基于第一文本行的上一文本行和下一文本行的初始预测行高,得到第一文本行的修正行高。

本公开实施例中,第一文本行为中间行,与其相邻的文本行包括上一文本行和下一文本行,当第一文本行的初始预测行高通过上述实施例中提出的与第一预测平均行高和下一文本行的初始预测行高无法确定是否异常时,可能出现的情况是该第一文本行的初始预测行高接近第一预测平均价行高,但大于下一行文本行的初始预测行高,此时,可通过第一文本行的初始预测行高与上一文本行和下一文本行的初始预测行高之间的关系确认是否是行数识别错误,错误的将两个文本行识别为一个第一文本行,当第一文本行的初始预测行高达到第一文本行的上一文本行和下一文本行的初始预测行高的第二预设倍数(例如,接近2倍等),可确认是行数识别错误,此时通过上一文本行和下一文本行的初始预测行高对第一文本行的行高进行修正;修正的过程可包括:

对第一文本行的上一文本行和下一文本行的初始预测行高求平均,得到第三预测平均行高;

将第三预测平均行高作为第一文本行的目标预测行高。

获得目标预测行高的公式可以为:目标预测行高=(上一文本行高度+下一文本行高度)/2。可选地,还包括:基于第三平均行高和第一文本行的下边界确定第一文本行的上边界。即,第一文本行上边界=第一文本行下边界–目标预测行高。

在一些可选实施例中,在步骤504之后,还包括:

响应于第一文本行的修正行高大于或等于第三预设数值,将第一文本行的下一文本行的初始预测行高作为第一文本行的目标预测行高;和/或

响应于第一文本行的修正行高小于第四预设数值,将第一文本行的修正行高作为第一文本行的目标预测行高。

经过上述实施例中第一文本行的初始预测行高经过修正之后,还可能存在一种情况,即,修正后的行高仍然明显大于标准行高,例如,本公开实施例提供的经过修正的行高大于或等于第三预设数值(如,22像素),此时,说明第一文本行的行高仍有问题,在第一文本行不是第一行的情况下,以下一文本行的初始预测行高作为第一文本行的目标预测行高;当修正行高与标准行高较为接近,例如,本实施例中的修正行高小于第四预设数值,此时将修正行高作为第一文本行的目标预测行高。

在一些可选实施例中,步骤330包括:基于第一文本区域包含的多个文本行的目标预测行高,对至少一个字符区域中第三文本区域的初始预测位置进行修正,得到第三文本区域的目标预测位置。

本公开实施例中第一文本区域中每个文本行的行高为经过修正后的目标预测行高,可选地,当第三文本区域(例如,身份证图像中的姓名字段)获得的初始预测行高不正常时(例如,大于设定行高或与设定行高的差值大于预设值等),可选地,基于第一文本区域包含的多个文本行的目标预测行高,确定第一文本区域的第三预测平均行高;基于第三预测平均行高和第三文本预测区域的初始预测位置对应的初始预测行高,对第三文本区域的初始预测位置进行修正,得到第三文本预测区域的最终预测位置。在本示例中,可基于第一文本区域的每一文本行的目标预测行高求平均获得第一文本区域的第三预测平均行高,以该平均行高对第三文本区域的行高进行修正,可选地,修正方法可以是将第三文本区域中文本行的行高替换为该第三预测平均行高。

可选地,读取第一文本区域文字检测的各行信息,如果各行行高正常,没有出现异常高度,则记录第一文本区域的平均行高,对第三文本区域中文本行的行高进行校正。校正规则可以包括:如果第三文本区域中文本行的行高–第一文本区域的第三预测平均行高>2像素(pixels),则将第三文本区域中文本行的行高修正为第一文本区域的第三预测平均行高。

在一些可选实施例中,证件包括身份证;和/或,第一文本区域包括地址区域。

在一个具体应用示例中,将本公开实施例提供的证件识别方法应用到对少数民族身份证的识别,图7为本公开实施例提供的证件识别方法的一个应用示例图。

步骤710,对少数民族身份证的证件图像进行关键点检测,获得少数民族身份证的24点的关键点的信息,该24点的关键点包括地址字段信息区域的左上角关键点和右下角关键点,该地址字段信息区域包括多个对应汉字的文本行。

步骤720,通过左上角关键点和右下角关键点确定地址字段信息区域,通过神经网络等手段识别获得地址字段信息区域中包括的文本行的行数和每个文本行的行高。

步骤730,判断各个文本行的行高是否正常(例如,与大数据统计的身份证行高的差值小于设定值),如果各个文本行的行高都正常,执行步骤750,否则,执行步骤740;

步骤740,如果识别获得的地址字段信息区域的文本行的数量大于等于3行且其中的一个或者多个文本行(通常为一个文本行)的高度异常,则对高度异常的文本行的高度进行修正,获得修正后的地址字段信息区域中文本行的平均行高。可选地,由于少数民族文字位于汉字上方,此时的修正方法只对前n-1行进行修正,不对最后一行进行修正,n表示地址字段信息区域包括的文本行的数量。

步骤750,记录地址字段信息区域中文本行的平均行高avg_h_addr,并对姓名字段信息区域的行高h_name进行校正。其中,校正规则为:如果h_name–avg_h_addr>2像素(pixels),则将姓名字段信息区域的行高h_name修正为地址字段的平均行高avg_h_addr。

步骤760,基于地址字段信息区域中文本行的平均行高对地址字段信息区域中每个文本行的汉字内容进行识别,获得少数民族身份证中的地址信息,基于校正后的姓名字段信息区域的行高对姓名字段信息区域中的汉字内容进行识别,获得少数民族身份证中的姓名信息,实现少数民族身份证的识别。

图8为本公开实施例提供的证件识别方法的另一个应用示例图。通过上述步骤740提供的行高修正方法对少数民族身份证中地址字段信息区域中多个文本行从上到下(例如,从第一行到第n-1行)依次进行修正操作,可选地,修正过程包括:

步骤802,通过地址字段信息区域所在矩形框的上下边界以及行数得到,计算获得少数民族身份证中地址字段信息区域中文本行的平均行高;检测获得当前行的行高,以及下一行的行高。

步骤804,判断当前行的行高是否大于或等于下一行行高的1.2倍(为设定值,可根据不同情况进行设置),且大于或等于平均行高的1.2倍(为设定值,可根据不同情况进行设置),如果是,确定当前行的行高异常,执行步骤806,否则,执行步骤808。

步骤806,根据识别确定当前行的下边界,如果当前行的下边界与下一行的上边界有交集,则对当前行的下边界进行修正,以防止下一行的文字对当前行产生影响。此时,当前行的下边界=下一行的上边界–1pixel。再对当前行的行高进行修正,当前高度理论上等于去除当前行的行高之后其他行(地址字段中除了当前行的所有文本行)的行高的平均值new_h_avg_line,如果new_h_avg_line大于15pixels(为可选值,可通过大数据统计获得),则说明此时检测出的当前行并不是真是少数民族身份证地址字段的一行,而是产生误检之后,将两行合并为一行的结果,此时将当前行的行高置为15pixels即可,如果new_h_avg_line小于等于15pixels,则将当前行的行高置为new_h_avg_line,获得当前行的修正行高,执行步骤810。

步骤808,当检测到当前行的行高接近平均行高(例如,当前行的行高等于地址字段信息区域的高度除以行数),此时判断当前行的行高和与当前行的相邻两行的行高之间的高度差异,如果当前行的行高大于下一行的行高的1.8倍(为设定值,可根据不同情况进行设置)且大于上一行的行高的1.8倍,则对当前行的上下边界进行修正,修正公式为:当前行的修正行高=(上一行的行高+下一行的行高)/2,执行步骤810。

该步骤出现的情况可能对应的是如果真实少数民族身份证地址字段有四行,而实际检测出三行的情况。

步骤810,判断当前行的修正行高是否大与22pixels(为可选值,可通过大数据统计获得),如果是,执行步骤812,否则,将当前行的修正行高作为当前行的目标行高,执行步骤814。

步骤812,在当前行不是第一行的情况下,将下一行的行高作为当前行的目标行高,执行步骤814。

步骤814,对当前行的上边界进行修正。修正规则为:当前行上边界=当前行下边界–当前行的目标行高。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

图9为本公开实施例提供的证件识别装置的结构示意图。该实施例的装置可用于实现本公开上述各方法实施例。如图9所示,该实施例的装置包括:

关键点检测单元91,用于对证件图像进行关键点检测,获得证件图像中包括的证件的多个关键点的信息。

其中,多个关键点包括证件中第一文本区域的至少两个边界限定点,第一文本区域中包括多个对应于第一字符类型的文本行。

文本识别单元92,用于基于多个关键点的信息,确定证件的文本识别结果。

基于本公开上述实施例提供的一种证件识别装置,基于所述多个关键点的信息,确定所述证件的文本识别结果,通过增加第一文本区域的至少两个边界限定点,有利于提高对第一文本区域中多行文本的文本位置的识别准确率,减小了其他字符类型对第一字符类型的文本识别带来的影响,提高了对证件中第一字符类型内容的识别准确率。

可选地,证件还包括第二文本区域,其中,第二文本区域包括至少一个对应于不同于第一字符类型的第二字符类型的文本行,且第二文本区域与第一文本区域的文本内容相同。

可选地,第一字符类型为汉字,第二字符类型为少数民族文字。

在一个或多个可选实施例中,文本识别单元92,包括:

文本行位置预测模块,用于基于第一文本区域的至少两个边界限定点的信息,确定第一文本区域包含的多个文本行中每个文本行的目标预测位置;

文本区域识别模块,用于基于第一文本区域包含的多个文本行中每个文本行的目标预测位置,对证件中包含的对应于第一字符类型的至少一个文本区域进行识别,获得证件的文本识别结果。

可选地,文本行位置预测模块,具体用于基于第一文本区域的至少两个边界限定点的信息,确定第一文本区域包含的多个文本行中每个文本行的初始预测位置;响应于确定多个文本行的初始预测位置存在异常,对第一文本区域包含的多个文本行的初始预测位置进行修正处理,获得多个文本行的目标预测位置。

可选地,文本行位置预测模块,还用于响应于多个文本行中存在对应的初始预测行高大于第一预设行高的文本行,确定多个文本行的初始预测位置存在异常。

可选地,文本行位置预测模块在对第一文本区域包含的多个文本行的初始预测位置进行修正处理,获得多个文本行的目标预测位置时,包括:

异常确定模块,用于基于第一文本区域的至少两个边界限定点的信息以及第一文本行的至少一个相邻行的初始预测位置,确定第一文本行的初始预测位置对应的初始预测行高是否异常;

位置修正模块,用于响应于确定第一文本行的初始预测行高异常,对第一文本行的初始预测行高进行修正,得到第一文本行的目标预测行高;基于第一文本行的目标预测行高对第一文本行的初始预测位置进行修正,得到第一文本行的目标预测位置。

可选地,异常确定模块,具体用于基于第一文本区域的至少两个边界限定点的信息以及第一文本区域的预测行数,确定第一文本区域的第一预测平均行高;基于第一文本区域的第一预测平均行高以及基于第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定第一文本行的初始预测行高是否异常。

可选地,异常确定模块在基于第一文本区域的第一预测平均行高以及基于第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定第一文本行的初始预测行高是否异常时,用于响应于第一文本行的初始预测行高达到第一预测平均行高的第一预设倍数,和/或第一文本行的初始预测行高达到第一文本行的至少一个相邻行的初始预测行高的第二预设倍数,确定第一文本行的初始预测行高异常。

可选地,异常确定模块在基于第一文本区域的第一预测平均行高以及基于第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定第一文本行的初始预测行高是否异常时,用于响应于第一文本行的初始预测行高达到第一预测平均行高的第一预设倍数,且第一文本行的初始预测行高达到第一文本行的下一文本行的初始预测行高的第二预设倍数,确定第一文本行的初始预测行高异常;

位置修正模块,具体用于基于第一预测平均行高和第一文本行的初始预测行高,确定多个文本行中除第一文本行之外的其他文本行的第二预测平均行高;基于第二预测平均行高,对第一文本行的初始预测行高进行修正,得到第一文本行的目标预测行高。

可选地,位置修正模块在基于第二预测平均行高,对第一文本行的初始预测行高进行修正,得到第一文本行的目标预测行高时,用于响应于第二预测平均行高超过第二预设数值,将第一文本行的行高修正为第三预设数值;和/或

响应于第二预测平均行高小于或等于第三预设数值,将第一文本行的行高修正为第二预测平均行高。

可选地,异常确定模块在基于第一文本区域的第一预测平均行高以及基于第一文本行的至少一个相邻行的初始预测位置对应的初始预测行高,确定第一文本行的初始预测行高是否异常时,用于响应于第一文本行的初始预测行高达到第一文本行的上一文本行和下一文本行的初始预测行高的第二预设倍数,确定第一文本行的初始预测行高异常;

位置修正模块在基于第二预测平均行高,对第一文本行的初始预测行高进行修正,得到第一文本行的目标预测行高时,用于基于第一文本行的上一文本行和下一文本行的初始预测行高,得到第一文本行的修正行高。

可选地,位置修正模块,具体用于基于第一文本行的目标预测行高,对第一文本行的初始预测上边界进行调整,得到第一文本行的目标预测上边界。

可选地,位置修正模块,还用于响应于第一文本行的修正行高大于或等于第三预设数值,将第一文本行的下一文本行的初始预测行高作为第一文本行的目标预测行高;和/或

响应于第一文本行的修正行高小于第四预设数值,将第一文本行的修正行高作为第一文本行的目标预测行高。

可选地,文本区域识别模块,用于基于第一文本区域包含的多个文本行的目标预测行高,对至少一个字符区域中第三文本区域的初始预测位置进行修正,得到第三文本区域的目标预测位置。

可选地,文本区域识别模块,具体用于基于第一文本区域包含的多个文本行的目标预测行高,确定第一文本区域的第三预测平均行高;基于第三预测平均行高和第三文本预测区域的初始预测位置对应的初始预测行高,对第三文本区域的初始预测位置进行修正,得到第三文本预测区域的最终预测位置。

在一些可选实施例中,证件包括身份证;和/或,第一文本区域包括地址区域。

根据本公开实施例的另一个方面,提供的一种电子设备,包括处理器,处理器包括本公开上述任一实施例的证件识别装置。

根据本公开实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;

以及处理器,用于与存储器通信以执行可执行指令从而完成本公开提供的证件识别方法上述任一实施例。

根据本公开实施例的另一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,指令被处理器执行时,该处理器执行本公开提供的证件识别方法上述任一实施例。

根据本公开实施例的另一个方面,提供的一种计算机程序,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行本公开提供的证件识别方法。

根据本公开实施例的再一个方面,提供的一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述的证件识别方法。

在一个或多个可选实施方式中,本公开实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一实施例中所述的证件识别方法。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。

根据本公开实施例还提供了另一种证件识别方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中,该方法包括:对证件图像进行关键点检测,获得证件图像中包括的证件的多个关键点的信息,其中,多个关键点包括证件中第一文本区域的至少两个边界限定点,第一文本区域中包括多个对应于第一字符类型的文本行;基于多个关键点的信息,确定证件的文本识别结果。

在一些实施例中,该目标跟踪指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行证件识别,相应地,响应于接收到调用指令,第二装置可以执行上述证件识别方法中的任意实施例中的步骤和/或流程。

应理解,本公开实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本公开实施例的限定。

还应理解,在本公开中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

本公开实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(pc)、平板电脑、服务器等。下面参考图10,其示出了适于用来实现本公开实施例的终端设备或服务器的电子设备1000的结构示意图:如图10所示,电子设备1000包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(cpu)1001,和/或一个或多个图像处理器(gpu)1013等,处理器可以根据存储在只读存储器(rom)1002中的可执行指令或者从存储部分1008加载到随机访问存储器(ram)1003中的可执行指令而执行各种适当的动作和处理。通信部1012可包括但不限于网卡,所述网卡可包括但不限于ib(infiniband)网卡。

处理器可与只读存储器1002和/或随机访问存储器1003中通信以执行可执行指令,通过总线1004与通信部1012相连、并经通信部1012与其他目标设备通信,从而完成本公开实施例提供的任一项方法对应的操作,例如,对证件图像进行关键点检测,获得证件图像中包括的证件的多个关键点的信息,其中,多个关键点包括证件中第一文本区域的至少两个边界限定点,第一文本区域中包括多个对应于第一字符类型的文本行;基于多个关键点的信息,确定证件的文本识别结果。

此外,在ram1003中,还可存储有装置操作所需的各种程序和数据。cpu1001、rom1002以及ram1003通过总线1004彼此相连。在有ram1003的情况下,rom1002为可选模块。ram1003存储可执行指令,或在运行时向rom1002中写入可执行指令,可执行指令使处理器1001执行上述通信方法对应的操作。输入/输出(i/o)接口1005也连接至总线1004。通信部1012可以集成设置,也可以设置为具有多个子模块(例如多个ib网卡),并在总线链接上。

以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。

需要说明的,如图10所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图10的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如gpu和cpu可分离设置或者可将gpu集成在cpu上,通信部可分离设置,也可集成设置在cpu或gpu上,等等。这些可替换的实施方式均落入本公开公开的保护范围。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本公开实施例提供的方法步骤对应的指令,例如,对证件图像进行关键点检测,获得证件图像中包括的证件的多个关键点的信息,其中,多个关键点包括证件中第一文本区域的至少两个边界限定点,第一文本区域中包括多个对应于第一字符类型的文本行;基于多个关键点的信息,确定证件的文本识别结果。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本公开的方法中限定的上述功能。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1