生成护照机读码样本的方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种生成护照机读码样本的方法、装置、设备及存储介质。
背景技术
随着人工智能技术的发展,人工智能已经应用到各行各业,包括证件的智能识别和验证。
其中,采用深度学习构建护照的识别模型后,可以采用该识别模型对护照机读码(MRZ)进行识别。护照的机读码是把可读的光学字符打印到护照上,识别时用专用的识别器判读。机读码已经建立了国际民用航空组织(ICAO)标准,能快速准确地查验护照。国际上机读码用于护照的2行44个字符类型。机读码中包括持证人的相关身份信息。
目前,构建护照机读码的识别模型所面临的一个问题是样本数量太少,导致基于少量样本所构建的识别模型,识别准确度低。
发明内容
本申请提供了一种生成护照机读码样本的方法、装置、设备及存储介质,用以解决护照机读码样本少,导致所构建的识别模型识别准确度低的问题。
第一方面,本申请提供了一种生成护照机读码样本的方法,其特征在于,包括:构建护照机读码的样本字符图库,其中,所述样本字符图库中包括组成所述护照机读码的各字符的样本图像;从所述样本字符图库中提取字符的样本图像,将提取的字符的样本图像重组,生成护照机读码的样本图像。
可选地,构建护照机读码的样本字符图库,包括:获取所述护照机读码的初始样本图像集合,其中,所述初始样本图像集合中包括至少一幅所述护照机读码的初始样本图像;对所述初始样本图像集合中的每幅初始样本图像包含的字符进行切割,将切割后得到的字符图像作为所述字符的样本图像;根据切割后得到的所述字符的样本图像,生成所述护照机读码的样本字符图库。
可选地,所述样本字符图库中包括:从不同的初始样本图像中切割得到的,同一字符的各个样本图像。
可选地,所述字符样本图库中属于同一字符的各个样本图像,保存在所述字符对应的目录下。
可选地,从所述样本字符图库中提取字符的样本图像,将提取的字符的样本图像重组,生成护照机读码的样本图像,包括:从所述样本字符图库中提取第一预设数量的字符的样本图像,将提取的字符的样本图像随机放置在背景图像的不同位置,生成所述护照机读码的样本图像。
可选地,从所述样本字符图库中提取第一预设数量的字符的样本图像,将提取的字符的样本图像随机放置在背景图像的不同位置,包括:从所述样本字符图库中提取第二预设数量的字符的样本图像,其中,所述第二预设数量的字符为从26个大写英文字母和小于号所对应的样本图像中随机选取得到;从所述样本字符图库中提取第三预设数量的字符的样本图像,其中,所述第三预设数量的字符为从26个大写英文字母、阿拉伯数字0~9和小于号所对应的样本图像中随机选取得到;将所述第二预设数量的字符的样本图像随机放置在背景图像的第一行,将所述第三预设数量的字符的样本图像随机放置在所述背景图像的第二行。
可选地,所述初始样本图像为实际采集获得的真实的护照机读码的图像。
第二方面,本申请提供了一种生成护照机读码样本的装置,包括:构建模块,用于构建护照机读码的样本字符图库,其中,所述样本字符图库中包括组成所述护照机读码的各字符的样本图像;生成模块,用于从所述样本字符图库中提取字符的样本图像,将提取的字符的样本图像重组,生成护照机读码的样本图像。
第三方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器中所存储的程序,实现所述生成护照机读码样本的方法。
第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述生成护照机读码样本的方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过构建护照机读码的样本字符图库,通过提取该样本字符图库中字符的样本图像,并将提取的字符的样本图像重组,生成护照机读码的样本图像,从而扩展了护照机读码的样本图像库,使得能够为护照机读码识别模型的构建提供足够的样本,为提高护照机读码识别模型的识别准确度提供了保障。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中生成护照机读码样本的方法流程示意图;
图2为本申请实施例中护照机读码第一行的图像示意图;
图3为本申请实施例中生成护照机读码的样本图像的过程示意图;
图4为本申请实施例中生成护照机读码样本的装置结构示意图;
图5为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中提供了一种生成护照机读码样本的方法,该方法可以被任意一个电子设备执行,应用于该电子设备可以是终端侧设备,也可以是网络侧设备。
如图1所示,生成护照机读码样本的详细方法流程如下:
步骤101,构建护照机读码的样本字符图库,其中,该样本字符图库中包括组成护照机读码的各字符的样本图像。
一个具体实施例中,构建护照机读码的样本字符图库的具体过程如下:获取护照机读码的初始样本图像集合,其中,该初始样本图像集合中包括至少一幅护照机读码的初始样本图像;对该初始样本图像集合中的每幅初始样本图像包含的字符进行切割,将切割后得到的字符图像作为该字符的样本图像;根据切割后得到的字符的样本图像,生成护照机读码的样本字符图库。
需要说明的是,对初始样本图像中包含的字符进行切割,有多种实现方式,例如,使用绘图软件打开初始样本图像后,通过绘图软件的切割功能切割出每个字符图像,又例如,通过图像分割算法对初始样本图像中包含的字符进行切割,等。
一个具体实施例中,为了使得样本字符图库中的样本更加丰富,在样本字符图库中包括:从不同的初始样本图像中切割得到的,同一字符的各个样本图像,以增强样本字符图库。即,针对同一个字符,在样本字符图库中可以有多个样本图像,也就是说,从不同初始样本图像中切割得到的同一字符的各个样本图像,均保存至样本字符图库中。
为了便于查找样本字符图库中各字符的样本,将样本字符图库中属于同一字符的各个样本图像,保存在该字符对应的目录下。
其中,护照机读码的初始样本图像集合所包含的初始样本图像,可以是实际采集获得的真实的护照机读码的图像。该真实的护照机读码的图像有多种来源途径,例如,护照持有人自愿免费提供,或者是从录有护照机读码的服务器中获取等。
例如,假设护照机读码第一行的图像如图2所示,将该图像中每个字符进行切割处理,得到该图像中每个字符的图像,如图2中被框出的“M”,并保存到样本字符图库中,其中,切割得到的每个图像都作为一个样本图像,保存到样本字符图库中,如从图2切割得到4个字符8的图像,则将该4个字符8的图像均作为样本图像保存到样本字符图库中。
在样本字符图库中,对于同一字符的不同的样本图像,在保存时可以通过样本图像的命名格式进行区分,例如,对于上例中的4个字符8的图像,分别命名为:81.jpg,82.jpg,83.jpg,84.jpg,即命名的第一个字符为该图像所表示的字符,命名的第二个字符用于表示是同一个字符的第几个样本图像。或者,例如,字符M有3个样本图像,则在样本字符图库中分别命名为m1.jpg,m2.jpg,m3.jpg。
当然,也可以建立样本字符图库的目录,在该目录中对于同一字符的不同样本图像通过子目录区分,本申请实施例对目录的具体形式不做限制。
步骤102,从该样本字符图库中提取字符的样本图像,将提取的字符的样本图像重组,生成护照机读码的样本图像。
一个具体实施例中,从样本字符图库中提取第一预设数量的字符的样本图像,将提取的字符的样本图像随机放置在背景图像的不同位置,生成护照机读码的样本图像。
具体地,如图3所示,生成护照机读码的样本图像的过程如下:
步骤301,从样本字符图库中提取第二预设数量的字符的样本图像,其中,第二预设数量的字符为从26个大写英文字母和小于号所对应的样本图像中随机选取得到;
步骤302,从样本字符图库中提取第三预设数量的字符的样本图像,其中,第三预设数量的字符为从26个大写英文字母、阿拉伯数字0~9和小于号所对应的样本图像中随机选取得到;
步骤303,将第二预设数量的字符的样本图像随机放置在背景图像的第一行,将第三预设数量的字符的样本图像随机放置在背景图像的第二行。
在获得护照机读码的第一行和第二行后,即得到一个完整的护照机读码。
其中,小于号具体表示形式为“<”。
其中,第一预设数量等于第二预设数量和第三预设数量相加所得的和值。对于第一预设数量、第二预设数量和第三预设数量的具体取值,可以根据护照机读码所包含的实际字符数确定,例如,假设护照机读码包括两行字符,第一行包含44个字符,第二行包含44个字符,总共88个字符,则第一预设数量取值为88,第二预设数量取值为44,第三预设数量取值为44。
具体实施中,将提取的字符的样本图像重组时,可以按照实际的护照机读码的组成规则进行重组,也可以是按照任意方式重组。其中,以中国护照为例,实际的护照机读码的组成规则为:机读码第一行中依次为P代表护照,占1位;O用于区分不同种类的护照,未使用的情况下用“<”代替,占1位;CHN代表中国,占3位等,其余规则此处不再详述。
一个具体实施例中,如果按照实际的护照机读码的组成规则进行重组,则重组过程具体为:按照实际的护照机读码第一行的组成规则,从样本字符图库中提取第二预设数量的字符的样本图像;以及按照实际的护照机读码第二行的组成规则,从样本字符图库中提取第三预设数量的字符的样本图像;将第二预设数量的字符的样本图像随机放置在背景图像的第一行,使得放置后第一行满足实际的护照机读码第一行的组成规则;将第三预设数量的字符的样本图像随机放置在背景图像的第二行,使得放置后第二行满足实际的护照机读码第二行的组成规则。
其中,背景图像可以是一幅与护照机读码图像大小相同的空白图像。
本申请实施例中,通过构建护照机读码的样本字符图库,通过提取该样本字符图库中字符的样本图像,并将提取的字符的样本图像重组,生成护照机读码的样本图像,从而扩展了护照机读码的样本图像库,使得能够为护照机读码识别模型的构建提供足够的样本,为提高护照机读码识别模型的识别准确度提供了保障。
在采用生成的样本图扩展用于训练护照机读码识别模型的样本图像库后,使得该识别模型能够学习到用于描述护照机读码文字的关键特征,优化了识别模型的识别效果。
并且,通过测试得出,在真实的护照机读码样本图像的数量级为个位数时,通过本申请实施例提供的方法能够构造得到任意数量的护照机读码的样本图像,在护照机读码的样本图像达到5万左右时,训练的识别模型的识别准确率可以达到91%,如果在采用本申请实施例提供的方法构造护照机读码的样本图像的过程中,采用了护照机读码的组成规则,则训练的识别模型的准确率可以达到95%。
基于同一构思,本申请实施例中提供了一种生成护照机读码样本的装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图4所示,该装置主要包括:
构建模块401,用于构建护照机读码的样本字符图库,其中,所述样本字符图库中包括组成所述护照机读码的各字符的样本图像;
生成模块402,用于从所述样本字符图库中提取字符的样本图像,将提取的字符的样本图像重组,生成护照机读码的样本图像。
一个具体实施例中,构建模块401具体用于:获取所述护照机读码的初始样本图像集合,其中,所述初始样本图像集合中包括至少一幅所述护照机读码的初始样本图像;对所述初始样本图像集合中的每幅初始样本图像包含的字符进行切割,将切割后得到的字符图像作为所述字符的样本图像;根据切割后得到的所述字符的样本图像,生成所述护照机读码的样本字符图库。
一个具体实施例中,所述样本字符图库中包括:从不同的初始样本图像中切割得到的,同一字符的各个样本图像。
一个具体实施例中,所述样本字符图库中属于同一字符的各个样本图像,保存在所述字符对应的目录下。
一个具体实施例中,生成模块具体用于:从所述样本字符图库中提取第一预设数量的字符的样本图像,将提取的字符的样本图像随机放置在背景图像的不同位置,生成所述护照机读码的样本图像。
一个具体实施例中,生成模块具体用于:从所述样本字符图库中提取第二预设数量的字符的样本图像,其中,所述第二预设数量的字符为从26个大写英文字母和小于号所对应的样本图像中随机选取得到;从所述样本字符图库中提取第三预设数量的字符的样本图像,其中,所述第三预设数量的字符为从26个大写英文字母、阿拉伯数字0~9和小于号所对应的样本图像中随机选取得到;将所述第二预设数量的字符的样本图像随机放置在背景图像的第一行,将所述第三预设数量的字符的样本图像随机放置在所述背景图像的第二行。
一个具体实施例中,所述初始样本图像为实际采集获得的真实的护照机读码的图像。
基于同一构思,本申请实施例中还提供了一种电子设备,如图5所示,该电子设备主要包括:处理器501、通信接口502、存储器503和通信总线504,其中,处理器501、通信接口502和存储器503通过通信总线504完成相互间的通信。其中,存储器503中存储有可被至处理器501执行的程序,处理器501执行存储器503中存储的程序,实现如下步骤:构建护照机读码的样本字符图库,其中,所述样本字符图库中包括组成所述护照机读码的各字符的样本图像;从所述样本字符图库中提取字符的样本图像,将提取的字符的样本图像重组,生成护照机读码的样本图像。
上述电子设备中提到的通信总线504可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口502用于上述电子设备与其他设备之间的通信。
存储器503可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器501的存储装置。
上述的处理器501可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述生成护照机读码样本的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。