证件水印的验证方法、装置、设备及存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种证件水印的验证方法、装置、设备及存储介质。
背景技术
随着互联网普及以及技术的发展,证券、银行、保险等行业中的很多业务的办理也逐渐可以在终端设备(如VTM,手机等)上实现,目前最普遍的是网上银行、手机银行等。这些业务按照规定都是需要“客户本人持本人有效证件”进行办理。
如果按传统方式在营业网点的柜面办理,需要客户本人持本人有效证件到柜面进行办理,由柜面工作人员现场验证客户身份。如果将这些业务搬到终端设备上,则面临的主要问题是对客户身份的验证,即如何确定是“客户本人持本人有效证件”在办理。上述过程需要进行两个阶段的验证:身份证信息验证,以及是否本人的验证。对于身份证验证,目前比较常用的做法是让客户分别拍身份证正反面的图像和人脸图像,然后传到后台审核人员进行人工审核(针对所有身份证)。审核过程中包括身份证水印审核,如果审核不通过,需要用户通过客户端重新采集图像,反复采集导致验证时间长,用户体验差。
发明内容
本申请提供了一种证件水印的验证方法、装置、设备及存储介质,用以解决证件水印验证时需要反复采集图像,验证时间长、效率低的问题。
第一方面,本申请实施例提供了一种证件水印的验证方法,包括:
获取实时采集得到的证件的每帧证件图像;
在采集过程中,依次检测第一设定时长内获取的每帧所述证件图像中的水印,根据每帧所述证件图像的检测结果,确定所述第一设定时长内水印的检出比例;
根据所述第一设定时长内水印的检出比例,确定对所述证件水印的验证结果。
可选地,根据所述第一设定时长内水印的检出比例,确定对所述证件水印的验证结果,包括:
判断所述第一设定时长内水印的检出比例是否大于预设值,若是,则判定所述证件中包含水印,否则,判定所述第一设定时长内水印验证失败。
可选地,判定所述第一设定时长内水印验证失败之后,所述方法还包括:
统计水印验证连续失败的次数,判定所述次数是否大于预设次数;
若是,判定所述证件中不包含水印;
否则,判定所述第一设定时长内的水印验证失败,依次检测第二设定时长内获取每帧所述证件图像中的水印,根据每帧所述证件图像的检测结果,确定所述第二设定时长内水印的检出比例,根据所述第二设定时长内水印的检出比例,确定对所述证件水印的验证结果。
可选地,检测所述第一设定时长内获取的每帧所述证件图像中的水印,包括:
分别对所述第一设定时长内获取的每帧所述证件图像进行以下处理:将所述证件图像输入至预设的深度学习模型,获得所述深度学习模型输出的所述证件图像包含水印的概率,判断所述包含水印的概率是否大于门限值,将判断结果作为所述证件图像的水印检测结果;
其中,所述深度学习模型为采用样本图像数据训练得到,所述样本图像数据包括样本图像和用于指示是否包含水印的标记之间的对应关系;所述样本图像中包含水印的面积不低于预设值。
可选地,获得所述深度学习模型输出的水印检测结果之后,所述方法还包括:
保存所述第一设定时长内每帧所述证件图像包含水印的概率;
判定所述证件包含水印之后,所述方法还包括:
从所述第一设定时长内的每帧所述证件图像包含水印的概率中,选择最大值,将所述最大值所对应的证件图像发送给服务器进行验证。
可选地,判定所述第一设定时长内的水印验证失败之后,依次检测第二设定时长内获取每帧所述证件图像中的水印之前,所述方法还包括:
确定调整所述证件的转动角度的总次数未超过设定次数之后,提示用户调整所述证件的转动角度,以及提示用户所述第一设定时长内水印的检出比例。
可选地,依次检测第一设定时长内获取的每帧所述证件图像中的水印,包括:
依次检测所述第一设定时长内获取的每帧所述证件图像中的水印,在每次检测到所述证件图像中包含水印后,提示用户检出水印的次数增加。
第二方面,本申请实施例提供了一种证件水印的验证装置,包括:
获取模块,用于获取实时采集得到的证件的每帧证件图像;
第一处理模块,用于在采集过程中,依次检测第一设定时长内获取的每帧所述证件图像中的水印,根据每帧所述证件图像的检测结果,确定所述第一设定时长内水印的检出比例;
第二处理模块,用于根据所述第一设定时长内水印的检出比例,确定对所述证件水印的验证结果。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的证件水印的验证方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面所述的证件水印的验证方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,依次检测获取的每帧证件图像中的水印,根据第一设定时长内水印的检出比例,确定对证件水印的验证结果,通过实时对采集的多帧证件图像件水印检测,避免每次对采集一帧图像进行水印检测方式,导致失败后重新采集图像,导致反复重复采集过程,验证时间长,用户体验差的问题,使得能够在采集过程中即可验证水印是否满足要求,提高了验证效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中证件水印的验证方法流程示意图;
图2为本申请实施例中证件水印的验证装置结构示意图;
图3为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中,为了解决每次采集一帧证件图像进行水印验证,在验证失败后重新采集证件图像进行验证,导致需要多次重复采集过程,验证效率低,用户体验差的问题,提出了一种基于视频的证件水印的验证方法,该验证方法可以应用于任意一个电子设备,该电子设备可以是终端设备,也可以是服务器。
具体地,如图1所示,证件水印的验证过程如下:
步骤101,获取实时采集得到的证件的每帧证件图像。
一个具体实施例中,终端设备,以手机为例,采集证件图像的过程为:手机客户端在屏幕上显示用于采集证件图像的引导框,手机客户端提示(语音或者文字提示)用户将证件正面朝向手机屏幕,并将证件置于引导框内,调整拍摄姿态,以保证亮度、模糊度、边框等符合采集要求,并且能够观察到不同清晰度的水印,手机客户端采集引导框内的视频图像,获得实时采集的每帧证件图像。
其中,若执行证件水印验证的为服务器,则终端设备采集获得证件的每帧证件图像后,将采集到的每帧证件图像传输到服务器侧。若执行证件水印验证的为终端设备,则采集到每帧证件图像后,直接进行水印验证。
步骤102,在采集过程中,依次检测第一设定时长内获取的每帧证件图像中的水印,根据每帧证件图像的检测结果,确定第一设定时长内水印的检出比例。
一个具体实施例中,依次检测第一设定时长内获取的每帧证件图像中的水印,在每次检测到证件图像中包含水印后,提示用户检出水印的次数增加。
其中,可以采用深度学习技术检测证件图像中的水印,具体过程如下:分别对所述第一设定时长内获取的每帧所述证件图像进行以下处理:将证件图像输入至预设的深度学习模型,获得深度学习模型输出的该证件图像包含水印的概率,判断该包含水印的概率是否大于门限值,将判断结果作为该证件图像的水印检测结果;其中,深度学习模型为采用样本图像数据训练得到,该样本图像数据包括样本图像和用于指示是否包含水印的标记之间的对应关系;该样本图像中包含水印的面积不低于预设值。
具体地,通过计算机视觉库(如OpenCV)解析实时录制得到的证件视频,得到每帧证件图像,如jpg格式的证件图像,使用训练好的深度学习模型分别对每帧证件图像进行水印检测。该深度学习模型是通过预先采集和标注的训练数据进行训练得到,该训练数据中包括多张不包含水印的证件图像,以及多张包含水印的证件图像,并且预先标注了训练数据中每张证件图像是否包含水印的信息。可以采用基于卷积神经网络(CNN)的算法检测证件图像中的水印。
深度学习模型输出的值在0到1之间,输出的值越大,则表明该证件图像包含水印的可能性越大,输出的值越小,则表明该证件图像包含水印的可能性越小。
其中,如果证件图像中包含水印的概率大于门限值,则判定该证件图像中包含水印,如果该证件图像中包含水印的概率不大于门限值,则判定该证件图像中不包含水印。例如,该门限值可以设置为0.5。
步骤103,根据第一设定时长内水印的检出比例,确定对证件水印的验证结果。
一个具体实施例中,判断第一设定时长内水印的检出比例是否大于预设值,若是,则判定证件中包含水印,否则,判定第一设定时长内水印验证失败。
一个具体实施例中,判定第一设定时长内水印验证失败之后,统计水印验证连续失败的次数,判定该次数是否大于预设次数;若是,判定证件中不包含水印;否则,判定第一设定时长内的水印验证失败,依次检测第二设定时长内获取每帧证件图像中的水印,根据每帧证件图像的检测结果,确定第二设定时长内水印的检出比例,根据第二设定时长内水印的检出比例,确定对证件水印的验证结果。
也就是说,通过连续多个设定时长检测水印,直至确定检测出水印,或者确定水印检测失败为止。
一个具体实施例中,判定第一设定时长内的水印验证失败之后,依次检测第二设定时长内获取每帧证件图像中的水印之前,提示用户第一设定时长内水印的检出比例。
例如,在检测水印的过程中,实时统计检测出水印的证件图像的个数,以及水印的检出比例,并在客户端上显示实时提示用户检测比例,假设共检测100帧证件图像,其中有50帧检测出含有水印,则水印的检出比例为50%,如果在检测一段时间后没有检测到足够的水印,并已经提示用户需要重新检测,则将水印的检出比例清零后,重新检测水印并统计检出比例。
一个具体实施例中,判定第一设定时长内的水印验证失败之后,依次检测第二设定时长内获取每帧证件图像中的水印之前,提示用户调整证件的转动角度。
例如,服务器在确定检出比例未达到要求后,向终端设备发送提示信息,终端设备上安装的APP根据该提示信息提示用户调整采集框内证件的角度,如晃动证件,使得肉眼通过该APP中的采集框观察到水印的角度,在确定水印检出比例未达到门限值时,提示用户维持晃动一段时间,检出比例从提示之后重新计算。
进一步地,提示用户调整证件的转动角度之前,确定调整证件的转动角度的总次数未超过设定次数。如果调整证件转动角度的总次数超过设定次数,则提示水印检测失败,并提示用户。
一个具体实施例中,在任意一个时间段内,获得该时间段内每帧证件图像包含水印的概率后,保存该时间段内每帧证件图像包含水印的概率。在该时间段内,判定证件中包含水印之后,从保存的该时间内的每帧证件图像包含水印的概率中,选择最大值,将该最大值所对应的证件图像发送给服务器进行验证。从而能够保证传输给服务器进行验证的证件图像的质量,保证验证通过率。
本申请实施例中,依次检测获取的每帧证件图像中的水印,根据第一设定时长内水印的检出比例,确定对证件水印的验证结果,通过实时对采集的多帧证件图像件水印检测,避免每次对采集一帧图像进行水印检测方式,导致失败后重新采集图像,导致反复重复采集过程,验证时间长,用户体验差的问题,使得能够在采集过程中即可验证水印是否满足要求,提高了验证效率。
基于同一构思,本申请实施例中提供了一种证件水印的验证装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图2所示,该装置主要包括:
获取模块201,用于获取实时采集得到的证件的每帧证件图像;
第一处理模块202,用于在采集过程中,依次检测第一设定时长内获取的每帧所述证件图像中的水印,根据每帧所述证件图像的检测结果,确定所述第一设定时长内水印的检出比例;
第二处理模块203,用于根据所述第一设定时长内水印的检出比例,确定对所述证件水印的验证结果。
具体地,第二处理模块203具体用于:判断所述第一设定时长内水印的检出比例是否大于预设值,若是,则判定所述证件中包含水印,否则,判定所述第一设定时长内水印验证失败。
具体地,第二处理模块203还用于:统计水印验证连续失败的次数,判定所述次数是否大于预设次数;若是,判定所述证件中不包含水印;否则,判定所述第一设定时长内的水印验证失败,依次检测第二设定时长内获取每帧所述证件图像中的水印,根据每帧所述证件图像的检测结果,确定所述第二设定时长内水印的检出比例,根据所述第二设定时长内水印的检出比例,确定对所述证件水印的验证结果。
具体地,第一处理模块202具体用于:分别对所述第一设定时长内获取的每帧所述证件图像进行以下处理:将所述证件图像输入至预设的深度学习模型,获得所述深度学习模型输出的所述证件图像包含水印的概率,判断所述包含水印的概率是否大于门限值,将判断结果作为所述证件图像的水印检测结果;其中,所述深度学习模型为采用样本图像数据训练得到,所述样本图像数据包括样本图像和用于指示是否包含水印的标记之间的对应关系;所述样本图像中包含水印的面积不低于预设值。
具体地,第一处理模块202获得所述深度学习模型输出的水印检测结果之后,保存所述第一设定时长内每帧所述证件图像包含水印的概率;第二处理模块203判定所述证件包含水印之后,从所述第一设定时长内的每帧所述证件图像包含水印的概率中,选择最大值,将所述最大值所对应的证件图像发送给服务器进行验证。
具体地,第二处理模块203还用于判定所述第一设定时长内的水印验证失败之后,依次检测第二设定时长内获取每帧所述证件图像中的水印之前,提示用户调整所述证件的转动角度。
具体地,第二处理模块203还用于判定所述第一设定时长内的水印验证失败之后,依次检测第二设定时长内获取每帧所述证件图像中的水印之前,提示用户所述第一设定时长内水印的检出比例。
具体地,第二处理模块203还用于提示用户调整所述证件的转动角度之前,确定调整所述证件的转动角度的总次数未超过设定次数。
具体地,第一处理模块202具体用于:依次检测所述第一设定时长内获取的每帧所述证件图像中的水印,在每次检测到所述证件图像中包含水印后,提示用户检出水印的次数增加。
基于同一构思,本申请实施例中还提供了一种电子设备,如图3所示,该电子设备主要包括:处理器301、通信接口302、存储器303和通信总线304,其中,处理器301、通信接口302和存储器303通过通信总线304完成相互间的通信。其中,存储器303中存储有可被至处理器301执行的程序,处理器301执行存储器303中存储的程序,实现如下步骤:获取实时采集得到的证件的每帧证件图像;在采集过程中,依次检测第一设定时长内获取的每帧所述证件图像中的水印,根据每帧所述证件图像的检测结果,确定所述第一设定时长内水印的检出比例;根据所述第一设定时长内水印的检出比例,确定对所述证件水印的验证结果。
上述电子设备中提到的通信总线304可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线304可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口302用于上述电子设备与其他设备之间的通信。
存储器303可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器301的存储装置。
上述的处理器301可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述证件水印的验证方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。