证件图像采集方法、装置、设备及存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种证件图像采集方法、装置、设备及存储介质。
背景技术
随着互联网普及以及技术的发展,证券、银行、保险等行业中的很多业务的办理也逐渐可以在终端设备(如VTM,手机等)上实现,目前最普遍的是网上银行、手机银行等。这些业务按照规定都是需要“客户本人持本人有效证件”进行办理。
如果按传统方式在营业网点的柜面办理,需要客户本人持本人有效证件到柜面进行办理,由柜面工作人员现场验证客户身份。如果将这些业务搬到终端设备上,则面临的主要问题是对客户身份的验证,即如何确定是“客户本人持本人有效证件”在办理。上述过程需要进行两个阶段的验证:身份证信息验证,以及是否本人的验证。对于身份证验证,目前比较常用的做法是让客户端分别拍身份证正反面的图像和人脸图像,然后传到后台,后台的审核人员进行人工审核(针对所有身份证)。
在身份证图像采集过程中,客户端每次采集一张符合要求的身份证图像,上传到服务器,如果服务器返回身份证图像不符合要求,则需要提示用户进行下一次采集。
可见,现有的采集方式,需要用户频繁参与采集过程,这就导致因反复录入而增加额外操作时间和复杂度,使得采集时长变长,用户体验差。
发明内容
本申请提供了一种证件图像采集方法、装置、设备及存储介质,用以解决证件图像采集时间长,用户体验差的问题。
第一方面,本申请实施例提供了一种证件图像采集方法,包括:
采集到当前帧证件图像后,判断所述当前帧证件图像的质量检测是否通过;
确定所述当前帧证件图像的质量检测通过后,将所述当前帧证件图像发送至服务器进行验证的同时,继续采集下一帧证件图像,并判断所述下一帧证件图像的质量检测是否通过。
可选地,将所述当前帧证件图像发送至服务器进行验证后,所述方法还包括:
获取所述服务器对所述当前帧证件图像进行验证后返回的验证结果;
若确定所述验证结果指示未验证成功,则从质量检测通过且未验证的证件图像中选择一帧证件图像发送至所述服务器进行验证;
若确定所述识别结果指示验证成功,停止采集下一帧证件图像,且停止向所述服务器发送质量检测通过且未验证的证件图像。
可选地,判断所述下一帧证件图像的质量检测是否通过之后,所述方法还包括:
在所述下一帧证件图像质量检测通过后,保存质量检测通过的证件图像,判断本次采集过程持续的时长是否达到预设时长,或者,判断本次采集过程保存的质量检测通过的证件图像的个数是否达到预设值,若是,本次采集过程结束,否则,继续采集下一帧证件图像,并对采集的下一帧证件图像进行质量检测。
可选地,将所述当前帧证件图像发送至服务器进行验证,包括:
通过第一线程将所述当前帧证件图像发送至所述服务器;
获取所述服务器对所述当前帧证件图像进行验证后返回的验证结果,包括:
通过第二线程获取所述服务器对所述当前帧证件图像进行验证后返回的验证结果。
可选地,从质量检测通过且未验证的证件图像中选择一帧证件图像发送至所述服务器进行验证,包括:
将质量检测通过且未验证的证件图像保存至容器中,并对所述容器中的各证件图像进行无参考图像质量评价,根据所述无参考图像质量评价的结果对所述容器中的各证件图像进行排序;
从排序后的各证件图像中选择无参考图像质量评价最优的证件图像,作为所述待识别图像,将所述待识别图像发送至所述服务器进行验证,并将所述待识别图像从所述容器中删除。
可选地,确定所述当前帧证件图像的质量检测通过,包括:
确定所述当前帧证件图像的模糊度不大于第一预设门限;和/或,
确定所述当前帧证件图像的反光度不大于第二预设门限;和/或,
确定所述当前帧证件图像中头像的位置在设定区域内;和/或,
确定所述当前帧证件图像的特定区域的边界图形属于预设几何图形。
可选地,判断所述当前帧证件图像的质量检测是否通过之后,所述方法还包括:
确定所述当前帧证件图像的质量检测未通过后,统计连续质量检测未通过的证件图像的个数,若统计到的个数超过预设值,从质量检测未通过的证件图像中,选择质量最好的证件图像,将选择的证件图像发送至所述服务器进行验证。
第二方面,本申请实施例提供了一种证件图像采集装置,包括:
第一处理模块,用于采集到当前帧证件图像后,判断所述当前帧证件图像的质量检测是否通过;
第二处理模块,用于确定所述当前帧证件图像的质量检测通过后,将所述当前帧证件图像发送至服务器进行验证的同时,继续采集下一帧证件图像,并判断所述下一帧证件图像的质量检测是否通过。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的证件图像采集方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的证件图像采集方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,采集到当前帧证件图像后,对该当前帧证件图像进行质量检测,在质量检测通过后,将该当前帧证件图像提供给后台的服务器进行验证审核,从而能够提高审核的通过率,降低反复采集的次数,提高证件验证效率。并且,在将当前帧证件图像提供给服务器的同时,继续对后续采集到的每帧证件图像进行质量检测,并获取质量检测通过的证件图像,从而能够在一次采集过程中不止采集一帧质量满足初步要求的证件图像,使得能够在一帧证件图像验证未通过的情况下,不需要用户参与,即可将已经获取的其他证件图像发给后台服务器进行验证。不需要用户频繁参与采集过程,避免了因反复录入而增加额外操作时间和复杂度,缩短了采集时长,提高了用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中证件图像采集过程示意图;
图2为本申请实施例中证件图像采集及验证过程示意图;
图3为本申请实施例中证件图像采集装置结构示意图;
图4为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中提供了一种证件图像采集方法,该方法能够应用于任意一个电子设备上,尤其适用于证件采集设备,以下实施例中以应用于证件采集为例进行说明。
如图1所示,证件图像采集过程具体如下:
步骤101,采集到当前帧证件图像后,判断该当前帧证件图像的质量检测是否通过。
一个具体实施例中,采集过程大致如下:证件采集设备上所安装的客户端程序在屏幕上显示用于采集用户证件图像的引导框;该客户端程序通过语音或者显示文字等方式提示用户将自己的证件置于引导框内;该客户端程序在检测到引导框内存在证件后,采集该身份证的图像。
其中,采集到的可以是证件正面图像和证件反面图像。例如,身份证正面图像和身份证反面图像。
一个具体实施例中,通过对采集过程中采集的证件图像进行质量检测,在质量检测通过后用于服务器的证件验证,提高了证件验证的效率,通过提高用于证件验证的图像的质量,提高验证通过率,降低反复采集的次数。其中,质量检测包括但不限于:模糊度检测、反光度检测、头像在证件图像中的位置检测、特定区域的边界图形检测等。
具体地,当采集到的证件图像满足以下几种条件中的一种或任意多种的组合,则判定该证件图像的质量检测通过,当然,除了以下所列举的几种,还可以包括其余的条件,此处不再一一列举:
第一,确定证件图像的模糊度不大于第一预设门限,即证件图像足够清晰。其中,对模糊度计算所采用的具体算法不做限定,例如,采用拉普拉斯方差法和数字采样***频域法计算证件图像的模糊度。
第二,确定证件图像的反光度不大于第二预设门限,即反光度足够低。例如,证件图像中的一个像素点中,R分量、G分量和B分量中的任意一个分量的值大于设定值时,确定该像素点为曝光像素点,计算证件图像中曝光像素点的数量与证件图像显示总数的比值,将该比值作为该证件图像的反光度。
第三,确定证件图像中头像的位置在设定区域内,例如,假设采集身份证图像,头像位于身份证的右侧,那么需要在身份证图像的右侧检测出头像。
第四,确定证件图像的特定区域的边界图形属于预设几何图形,也成为几何过滤。例如,在证件图像中检测的条形码,该条形码的高度和宽度的比值,是否与真实证件中条形码的高度和宽度的比值相等。
步骤102,确定当前帧证件图像的质量检测通过后,将当前帧证件图像发送至服务器进行验证的同时,继续采集下一帧证件图像,并判断下一帧证件图像的质量检测是否通过。
一个具体实施例中,在一次采集过程中,获取第一帧质量检测通过的证件图像后,即将该第一帧质量检测通过的证件图像发送给后台的服务器进行验证,同时对采集下一帧证件图像,并判断下一帧证件图像的质量检测是否通过,在该下一帧证件图像验证通过后保存,重复采集以及质量检测的过程,直至本次采集过程结束。
证件采集设备上安装的客户端程序,在接收到后台服务器返回的对证件图像的验证结果后,若根据该验证结果确定该证件图像验证未通过,则从质量检测通过且未验证的证件图像中选择一帧证件图像作为待识别图像,将待识别图像发送至服务器,并获取服务器对待识别图像进行验证后返回的验证结果。若确定验证结果指示未验证成功,则从质量检测通过且未验证的证件图像中选择下一帧证件图像作为待识别图像;若确定验证结果指示验证成功,停止对后续采集的每帧证件图像进行质量检测过程,且停止向服务器发送待识别图像。
其中,一次采集过程结束的条件有多种,例如,本次采集过程持续的时长达到预设时长,或者,本次采集过程获取的质量检测通过的证件图像的个数达到预设值,本次采集过程结束。
具体地,在一帧证件图像质量检测通过后,保存质量检测通过的证件图像,判断本次采集过程持续的时长是否达到预设时长,或者,判断本次采集过程保存的质量检测通过的证件图像的个数是否到预设值,若是,本次采集过程结束,否则,继续采集下一帧证件图像,并对采集的下一帧证件图像进行质量检测。例如,证件采集设备上安装的客户端在一次采集过程中,获取第一帧质量检测通过的证件图像后,向服务器发送该第一帧质量检测通过的证件图像,同时,启动定时器(定时器定时时长为10秒),继续采集证件图像,在采集到质量检测通过的N张证件图像,或者,在定时器超时后(此时采集到的质量检测通过的证件图像的个数小于或等于N),结束本次采集过程。
一个具体实施例中,证件采集设备通过第一线程将证件图像发送至服务器,以及通过第二线程获取服务器对证件图像进行验证后返回的验证结果。其中,第一线程持续传输证件图像,第二线程接收服务器返回的验证结果,如果第一线程在传输的过程中,第二线程接收到服务器返回的验证结果符合要求的信息,则第一线程停止传输过程。通过第一线程和第二线程的并行处理,提高了验证效率。
一个具体实施例中,为了进一步提高证件图像的检测效率,可以对一次采集过程中,获取到的多个质量检测通过的证件图像,按照图像质量的优劣进行排序,以从排序结果中获取质量最优的证件图像,发送到服务器进行验证。具体地,将质量检测通过且未验证的证件图像保存至容器中,并对该容器中的各证件图像进行无参考图像质量评价,根据该无参考图像质量评价的结果对容器中的各证件图像进行排序;从排序后的各证件图像中选择无参考图像质量评价最优的证件图像,作为待识别图像,将该待是被图像发送至服务器进行验证,并将待识别图像从容器中删除。该实施例中,通过选择最优的证件图像作为待识别图像,进一步保障了传输到服务器进行验证的证件图像的质量,提高了缩短证件图像验证过程的可能性,提高了验证效率。
其中,无参考图像质量评价可以采用多种算法实现,本申请实施例中,通过多种算法的对比,选择Tenengard梯度算法实现,采用该算法获得证件图像的无参考图像质量评价结果的具体过程如下:将证件图像转换为灰度图像;计算该灰度图像中每个像素点在x轴和y轴方向上索贝尔(sobel)梯度的平方和;计算每个像素点的平方和的平均值,得到Tenengard值,该Tenengard值即为该证件图像的无参考图像质量评价结果。
一个具体实施例中,为了提高传输效率,将证件图像转换为WebP格式后发送至服务器。
一个具体实施例中,在确定证件图像的质量检测未通过的情况下,统计连续质量检测未通过的证件图像的个数,若统计到的个数超过预设值,从质量检测未通过的证件图像中,选择质量最好的证件图像,将选择的证件图像发送至服务器进行验证。该实施例能够确保在没有采集到质量合格的证件图像的情况下,也能够尽可能为服务器提供质量最优的证件图像进行验证。具体地,在确定证件图像的质量检测未通过的情况下,将该证件图像的质量与备用证件图像的质量进行比较,若该证件图像的质量优于备用证件图像的质量,则采用该证件图像替换为备用证件图像,若该证件图像的质量不优于备用证件图像的质量,则舍弃该证件图像,扔保留原有的备用证件图像。该备用证件图像可以是历史采集的一帧证件图像。
一个具体实施例中,以身份证为例,证件图像采集及验证的具体过程如图2所示,具体为:
步骤201,客户端采集身份证引导框内的身份证正面或反面图像;
步骤202,客户端对采集到的身份证正面或反面图像进行质量检测,判断质量检测结果是否通过,若未通过,则转去步骤201,若通过,执行步骤203;
步骤203,客户端在获得第一帧质量检测通过的证件图像后,将采集到的第一帧质量检测通过的证件图像上传到服务器;
步骤204,客户端获得第一帧质量检测通过的证件图像后的10秒内,继续对后续采集到的证件图像进行质量检测,直至获取到两帧质量检测通过的证件图像,或者10秒时长用完;
步骤205,客户端接收服务器返回的证件图像的验证结果;
步骤206,客户端判断该验证结果是否指示符合要求,若不是,执行步骤207,否则,执行步骤209;
步骤207,客户端判断是否存在质量检测通过的证件图像,若存在,执行步骤208,否则,返回执行步骤201;
步骤208,客户端将下一帧质量检测通过的证件图像传输给服务器,返回步骤205;
步骤209,采集及验证过程结束。
本申请实施例中,在采集到当前帧证件图像后,对该当前帧证件图像进行质量检测,在质量检测通过后,将该当前帧证件图像提供给后台的服务器进行验证审核,从而能够提高审核的通过率,降低反复采集的次数,提高证件验证效率。
并且,在将当前帧证件图像提供给服务器的同时,继续对后续采集到的每帧证件图像进行质量检测,并获取质量检测通过的证件图像,直至采集过程结束,从而能够在一次采集过程中不止采集一帧质量满足初步要求的证件图像,使得能够在一帧证件图像验证未通过的情况下,不需要用户参与,即可将已经获取的其他证件图像发给后台服务器进行验证。
证件验证过程中,不需要用户频繁参与采集过程,避免了因反复录入而增加额外操作时间和复杂度,缩短了采集时长,提高了用户体验。
基于同一构思,本申请实施例中提供了一种证件图像采集装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图3所示,该装置主要包括:
第一处理模块301,用于采集到当前帧证件图像后,判断所述当前帧证件图像的质量检测是否通过;
第二处理模块302,用于确定所述当前帧证件图像的质量检测通过后,将所述当前帧证件图像发送至服务器进行验证的同时,继续采集下一帧证件图像,并判断所述下一帧证件图像的质量检测是否通过。
具体地,第二处理模块302将所述当前帧证件图像发送至服务器进行验证后,获取所述服务器对所述当前帧证件图像进行验证后返回的验证结果;若确定所述验证结果指示未验证成功,则从质量检测通过且未验证的证件图像中选择一帧证件图像发送至所述服务器进行验证;若确定所述识别结果指示验证成功,停止采集下一帧证件图像,且停止向所述服务器发送质量检测通过且未验证的证件图像。
具体地,第二处理模块302具体用于:在所述下一帧证件图像质量检测通过后,保存质量检测通过的证件图像,判断本次采集过程持续的时长是否达到预设时长,或者,判断本次采集过程保存的质量检测通过的证件图像的个数是否达到预设值,若是,本次采集过程结束,否则,继续采集下一帧证件图像,并对采集的下一帧证件图像进行质量检测。
具体地,第二处理模块302具体用于:通过第一线程将所述当前帧证件图像发送至所述服务器;通过第二线程获取所述服务器对所述当前帧证件图像进行验证后返回的验证结果。
具体地,第二处理模块302具体用于:将质量检测通过且未验证的证件图像保存至容器中,并对所述容器中的各证件图像进行无参考图像质量评价,根据所述无参考图像质量评价的结果对所述容器中的各证件图像进行排序;从排序后的各证件图像中选择无参考图像质量评价最优的证件图像,作为所述待识别图像,将所述待识别图像发送至所述服务器进行验证,并将所述待识别图像从所述容器中删除。
具体地,第二处理模块302具体用于:
确定所述当前帧证件图像的模糊度不大于第一预设门限;和/或,
确定所述当前帧证件图像的反光度不大于第二预设门限;和/或,
确定所述当前帧证件图像中头像的位置在设定区域内;和/或,
确定所述当前帧证件图像的特定区域的边界图形属于预设几何图形。
具体地,第二处理模块302具体用于:对所述待识别图像转换为WebP格式后发送至所述服务器。
具体地,还包括第三处理模块具体用于:确定所述当前帧证件图像的质量检测未通过后,统计连续质量检测未通过的证件图像的个数,若统计到的个数超过预设值,从质量检测未通过的证件图像中,选择质量最好的证件图像,将选择的证件图像发送至所述服务器进行验证。
基于同一构思,本申请实施例中还提供了一种电子设备,如图4所示,该电子设备主要包括:处理器401、通信接口402、存储器403和通信总线404,其中,处理器401、通信接口402和存储器403通过通信总线404完成相互间的通信。其中,存储器403中存储有可被至处理器401执行的程序,处理器401执行存储器403中存储的程序,实现如下步骤:采集到当前帧证件图像后,判断所述当前帧证件图像的质量检测是否通过;确定所述当前帧证件图像的质量检测通过后,将所述当前帧证件图像发送至服务器进行验证的同时,继续采集下一帧证件图像,并判断所述下一帧证件图像的质量检测是否通过。
上述电子设备中提到的通信总线404可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口402用于上述电子设备与其他设备之间的通信。
存储器403可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器401的存储装置。
上述的处理器401可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述证件图像采集方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。