具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
为识别复印件或者屏幕显示图片的假证攻击,相关技术中通常采用人工识别,例如定期抽检,或者在证件内容的识别正确率较低时通知人工复核等。这类识别方式的效率较低,而且难以及时发现假证攻击,甚至在用户业务被执行完成后才识别出假证攻击,导致业务受损。
为此,本说明书实施例提出一种检测证件真伪的方法,以通过检测待检测图像所对应实体素材的类型,高效识别复印件的假证攻击。该方法可以应用于如图1所示的证件真伪检测系统。如图1所示,该系统可以包括网络10,若干服务端,比如第一服务器11、第二服务器12,若干电子设备,比如手机13、手机14和手机15等。
其中,第一服务器11和第二服务器12中的任一服务器可以为包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器、云服务器等。在运行过程中,第一服务器11和第二服务器12可以分别运行相同或不同应用的服务器侧的程序,以实现该应用的相关业务功能。比如当第一服务器11运行业务平台的程序时,可以实现为该业务平台的服务端(下称业务服务端);再比如,当第二服务器12运行身份验证平台的程序时,可以实现为该身份验证平台的服务端(下称验证服务端)。其中,本说明书所述的检测证件真伪的方法即可以应用于上述验证服务端。当然,上述验证服务端也可以集成在业务服务端中,以作为运行在业务服务端中用于实现证件真伪检测功能的功能组件。
手机13~15只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal DigitalAssistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。其中,上述任一电子设备均具备图像拍摄和/或视频拍摄功能。在运行过程中,该电子设备可以运行某一应用的客户端侧的程序,以实现该应用的相关业务功能,比如当该电子设备运行上述身份验证平台的程序时,可以实现为该平台的客户端。需要指出的是:身份验证平台的客户端的应用程序可以被预先安装在电子设备上,使得该客户端可以在该电子设备上被启动并运行;当然,当采用诸如HTML5技术的在线“客户端”时,无需在电子设备上安装相应的应用程序,即可获得并运行该客户端。
在本说明书所述实施例的技术方案中,可由第二服务器12通过与手机13~15上运行的客户端配合,以完成对目标证件的真伪检测。其中,上述手机13~15用于拍摄目标证件的实体素材以采集待检测图像,并将该待检测图像上传至第二服务器12,以由第二服务器12通过本说明书实施例所述的检测证件真伪的方法检测目标证件的真伪。
或者,本说明书实施例所述的检测证件真伪的方法也可以由于上述手机13~15分别实现,即该方法可以作为端侧检测方案运行在终端中,以在端侧实现对目标证件的真伪检测。可见,本说明书实施例所述的检测证件真伪的方法的执行主体可以为第一服务器11、第二服务器12等服务端,也可以为手机13~15等终端,本说明书实施例并不对此进行限制。
在本实施例中,证件真伪检测系统不仅可以实现检测证件真伪的功能,还可以作为诸多其他功能的集成化功能平台。比如获取待检测图像、调整光照强度、校正原始图像以得到待检测图像、确定像素点的颜色差值、训练证件真伪检测模型、确定闪射光斑的清晰度等,本说明书一个或多个实施例并不对此进行限制。另外,该证件真伪检测系统也可以实现为身份检测系统的中的一个子系统,本说明书实施例并不对此进行限制。
对于网络10,可以包括多种类型的有线或无线网络。
图2是本说明书一示例性实施例示出的一种检测证件真伪的方法的流程图。如图2所示,该方法应用于验证方,如前述的验证服务端或者客户端等。该方法可以包括以下步骤:
步骤202,获取多张待检测图像,所述多张待检测图像为分别在多种光照强度下拍摄对应于目标证件的实体素材得到,且所述目标证件在所述待检测图像中对应的图像区域包含光照形成的反射光斑。
在本实施例中,验证方可以响应于操作请求获取目标证件对应的多张待检测图像。例如,用户在使用(运行在终端中的)客户端访问业务平台(如金融平台、社交平台等)注册账户、修改账户信息或者实施转账等操作的情况下,金融平台即需要对用户身份进行验证。在这种情况下,金融平台的服务端可以向验证方发起身份验证请求(即操作请求),该请求用于触发验证方对用户身份进行验证。相应地,若验证方为检测服务端,则该检测服务端可以响应于接收到的身份验证请求,指示客户端获取目标证件对应的多张待检测图像;若验证方为客户端,则该客户端可以响应于接收到的身份验证请求,自行获取目标证件对应的多张待检测图像。
当然,因为用户往往拥有多种证件,所以上述身份验证请求中可以指定需要检测的是哪种证件,从而客户端可以向用户输出需要验证的证件的名称等信息,以便用户获知应该使用哪种证件作为目标证件。例如,可以在客户端展示“请出示第二代居民身份证”字样,以便用户知晓需要使用自己的第二代居民身份证继续后续验证。再例如,也可以在客户端展示社保卡的样卡照片,以便用户知晓需要使用自己的社保卡继续后续验证。再例如,客户端还可以通过播放语音等形式输出目标证件信息,如播放“请拍摄您的第二代居民身份证”等语音,不再赘述。
在本说明书所述实施例中,上述多张待检测图像被分别在多种光照强度下拍摄对应于目标证件的实体素材得到。在对用户进行身份验证时,用户通常会使用客户端拍摄真实证件,从而得到上述待检测图像(这也正是业务平台和验证方所希望的),如图3中的(1)所示。但是在并未持有真实证件的情况下,用户可能会通过手机、电脑、电视机等电子设备的屏幕显示预先获取的证件图像(如预先针对真实证件拍摄的证件照片等),并使用客户端拍摄电子设备的屏幕中显示的该证件图像,如图3中的(2)所示。此后,客户端可以将拍摄到的图像作为待检测图像提供至验证方,以伪装成真实证件欺骗验证方。或者,用户还可能将真实证件的证件图像打印在纸张表面,并使用客户端拍摄打印出的证件图像,如图3中的(3)所示。此后,客户端可以将拍摄到的图像作为待检测图像提供至验证方,以伪装成真实证件欺骗验证方。
可见,验证方获取到的待检测图像对应的目标证件的实体素材的类型可能为真实证件或者被展示的证件图像。显然,在目标证件的实体素材为真实证件的情况下,相应的目标证件即为真实证件,此时的用户可以视为合法用户;而在目标证件的实体素材为证件图像的情况下,相应的目标证件即为伪造证件,此时的用户可以视为非法用户。本方案的目的即通过识别目标证件的实体素材的类型,确定待检测的目标证件为真实证件还是伪造证件,即实现对目标证件的真伪检测。
通常情况下,电子设备的屏幕表面较为光洁,因而对光线具有较高的反射率。打印有证件图像的纸张一般较为粗糙,光线反射率较低。而真实证件一般为第二代居民身份证、社保卡、公交卡等卡片类证件,这类证件通常由PVC(Polyvinyl Chloride,聚氯乙烯)、ABS(Acrylnitrile Butadiene Styrene,丙烯腈-丁二烯-苯乙烯共聚物)、PET(PolyethyleneTerephthalate,聚对苯二甲酸乙二醇酯)等材质的素材制作而成,而且证件表面通常会印制有文字、图像等证件内容,以及激光纹等防伪标记。正因为上述证件内容、防伪标记等的存在,真实证件表面的光线反射率一般处于屏幕的光线反射率和纸张的光线反射率之间。
其中,在用户拍摄上述待检测图像时,客户端可以提示用户调整拍摄角度,并在预览画面中的证件画面上出现光照形成的反射光斑的时刻触发拍摄,以保证目标证件在拍摄得到的待检测图像中对应的图像区域包含上述反射光斑。基于不同类型的实体素材存在的上述特性区别,在待检测图像中包含光照产生的反射光斑的情况下,该反射光斑的清晰度也与上述实体素材的类型有关,通常存在下述一般性规律:屏幕对应待检测图像中的反射光斑清晰度>真实证件对应待检测图像中的反射光斑清晰度>纸张对应待检测图像中的反射光斑清晰度。
若仅使用单张包含反射光斑的待检测图像进行真伪检测,则客户端仍然有可能采用预先制作的包含反射光斑的图像伪装真实证件的图像而骗过验证方(或称注入攻击)。为此,本方案需要获取在不同光照强度下拍摄同一目标证件的同一实体素材得到的多张待检测图像,以通过获取难度较大的多个不同光照强度下的反射光斑,一定程度上防止客户端发起的注入攻击。对于相同的光照强度变化量,通常存在下述一般性规律:屏幕对应待检测图像中的反射光斑清晰度变化程度>真实证件对应待检测图像中的反射光斑清晰度变化程度>纸张对应待检测图像中的反射光斑清晰度变化程度。正是基于反射光斑清晰度存在的这一规律,本方案在获取到多张拍摄目标证件的实体素材得到的、包含反射光斑的待检测图像后,可以检测反射光斑的清晰度对实体素材的类型,以实现对目标证件的真伪检测。
需要说明的是,本方案中通过确定实体素材的类型对目标证件进行的真伪检测,只是为了确定待检测图像所对应的目标证件为真实证件还是伪造证件。其中,上述真实证件应当被理解为目标证件对应的真实的卡片类证件,至于目标证件与用户的真实身份是否匹配(即该目标证件是否确实为用户所拥有的真实证件),可以通过其他方式进行进一步判断,本方案则并不关注。另外,上述伪造证件对应的证件图像(即电子设备的屏幕显示的图像或者打印在纸张上的图像)可以为用户自身所持有的真实证件的图像,也可以为他人所持有的真实证件的图像,本说明书实施例并不对此进行限制。
另外,上述身份验证请求可以关联第一预设操作。例如,在用户注册账户的情况下,该请求可以关联新账户注册操作,如跳转至账户信息录入页面、展示平台针对新账户的注册协议、跳转至新账户登录页面等。再例如,在用户修改账户信息的情况下,该请求可以关联账户信息修改操作,如跳转至账户信息修改页面、展示信息修改规则,展示修改后的账户信息等。又例如,在用户实施转账操作的情况下,该请求可以关联转账操作,如提示用户指定目标账户,向目标账户转账等。相应地,在通过本方案所述检测证件真伪的方法确定实体素材的类型为真实证件(即目标证件为真实证件)的情况下,验证方可以执行对应于身份验证请求的上述第一预设操作。或者,上述身份验证请求还可以关联告警操作、日志备份操作、待检测图像存证操作等第二预设操作,从而在确定实体素材的类型为证件图像(即目标证件为伪造证件)的情况下,验证方可以拒绝执行上述第一预设操作,而执行上述第二预设操作,以便对身份伪造事件进行妥善地处理。
在拍摄待检测图像时,可以将目标证件作为被拍摄对象,由客户端所在的设备直接拍摄该证件以得到证件图像,或者由客户端拍摄该证件得到旋转视频,以便验证方从该旋转视频中提取视频图像帧作为证件图像。其中,若验证方为客户端,则客户端可以直接拍摄得到证件图像,或者从拍摄得到的旋转视频中提取的视频图像帧作为证件图像。若验证方为检测服务端,则客户端可以将拍摄得到的证件图像上传至检测服务端,或者将从拍摄得到的旋转视频中提取的视频图像帧作为证件图像上传至检测服务端。
在一实施例中,验证方可以获取拍摄对应于目标证件的实体素材得到的证件视频,然后从该证件视频中选取多张分别对应于不同光照强度的视频图像帧,以作为所述多张待检测图像。上述证件视频可以由前述客户端所在终端拍摄得到,例如,在验证方为客户端的情况下,客户端所在终端可以针对目标证件的实体素材拍摄得到证件视频;而在验证方为检测服务端的情况下,客户端可以响应于前述的操作请求(如身份验证请求)针对目标证件的实体素材拍摄得到证件视频,并将拍摄得到的证件视频上传至检测服务端,以便检测服务端根据该视频获取多张待检测图像。其中,验证方可以将上述证件视频的视频图像帧调整为灰度图像,然后通过检测视频图像帧中像素点的灰度值大小,确定各个视频图像帧分别对应的光照强度的大小,进而选取不同光照强度下的视频图像帧作为所述多张待检测图像。
另外,直接拍摄目标证件得到的原始图像可能难以满足后续处理要求,因此可以对原始图像进行校正以得到上述待检测图像。例如,为保证待检测图像中显示出更清楚的证件画面,验证方可以调整原始画面的对比度以得到待检测图像。具体的,可以将原始图像的对比度调整的更大;或者,也可以在曝光程度过大时将对比度调整的更小,本说明书实施例并不对此进行限制。但是在调整对比度的情况下,应当保证对同一目标证件的多张待检测证件都进行相同程度的对比度调整。
再例如,由于终端所拍摄原始图像的尺寸与目标证件的尺寸(或尺寸比例)往往并不相同,所以原始图像中通常不仅包含目标证件的证件画面,还包括其他物体的背景画面。换言之,原始画面的画面区域包括目标证件的图像区域(对应于前述证件画面)和背景区域(对应于前述背景画面)。如图4中的(1)所示,原始图像中包含图像区域401和背景区域402。如前所述,该图像区域中包含光照形成的反射光斑,而后续处理过程需要确定该反射光斑的清晰度,所以为减少确定该清晰度的工作量并避免背景干扰,验证方可以删除原始图像中除目标证件对应的图像区域之外的背景区域,而保留图像区域。如可以将图4中的(1)所示的原始按照证件画面外接的矩形虚线框403进行裁剪,将虚线框403内部的部分作为待检测图像。
又例如,拍摄原始图像过程中通常需要调整目标证件与终端之间的相对角度,以保证光照形成的反射光斑位于上述图像区域中。所以目标证件在原始图像中对应的证件画面往往并非目标证件的原始形状。此时为保证后续处理得到的清晰度的准确性,可以调整原始图像中目标证件对应的图像区域的显示角度。如图4中的(1)所示,拍摄矩形的证件得到的原始图像中,图像区域401的形状为梯形,此时可以将该图像区域401调整为矩形,如图4中(2)的图像区域404所示。可以理解的是,上述显示角度的调整过程,并不会改变证件画面中反射光斑405的清晰度,因此并不会对后续的证件真伪检测结果产生不利影响。
当然,验证方也可以对原始图像依次采用上述对比度调整、背景删除和角度调整中的至少两种校正方式进行处理。仍以图4为例,对图4中(1)所示的原始图像进行背景删除和角度调整之后,可以得到待检测图像如图4中(3)所示。在使用上述多张校正方式进行处理的情况下,对于上述各种校正方式的处理顺序,本说明书实施例并不进行限制。
在另一实施例中,所述待检测图像可以由前述客户端所在终端拍摄得到。例如,在终端的摄像头处于开启状态并保持该摄像头面对目标证件的实体素材的情况下,终端的拍摄预览画面中可以展示出被拍摄的该目标证件。此时,终端可以通过多种方式调整光照强度。例如,在终端连接光照强度可变的光源的情况下,其可以按照预设的光强变化规律调整光源的发光强度,以调整照射到目标证件上的光线的光照强度。其中,上述光强变化规律可以为预设的由弱变强(或由强变弱)的光强变化曲线,也可以依次为由弱变强(或由强变弱)的多个固定发光强度值。再例如,终端也可以向用户展示用于介绍光强调整方式的光强调整提示信息,以告知用户应当如何调整光照强度,并在检测到用户按照该信息实施的光强调整操作的情况下,响应于该操作调整光源的发光强度,从而调整照射到目标证件上的光线的光照强度。例如,终端可以在展示界面(如前述拍摄预览画面对应的展示界面)中展示上述光强调整提示信息。该信息可以采用文字、gif动图、动画、实拍视频等至少一种形式,以简单易懂地告知用户应该怎样调整光照强度。
具体的,上述光源可以为终端自身携带的闪光灯、终端外接的闪光灯等发光设备,此时光源可以通过调整该发光设备的输入电平或者处于发光状态的发光元件的个数,实现对光照强度的调整。如在闪光灯包括多个LED(Light Emitting Diode),发光二极管)灯珠的情况下,终端可以调整LED灯珠的供电电平大小、输出功率大小等,也可以调整通电LED的个数,以实现对闪光灯发光强度的调整。具体过程可以参见相关技术中的记载,此处不再赘述。当然,在上述终端并不连接光源(即该终端无法直接控制光源)的情况下,可以通过展示光强调整信息的方式告知用户光强调整方式,以便用户按照该方式手动调整光源的发光强度,进而调整照射到目标证件上的光线的光照强度。其中,因为照射到目标证件上的光线通常并非仅有上述光源发出的强度可调的光线,还包括周围环境发出的自然光(即目标证件接收到的光线是自然光和上述光源所发出光线的叠加),所以在上述光照强度的调整过程中,也可以直接关闭光源,仅采集自然光照射下的图像,并将该图像作为光照强度最弱的待检测图像。
下面结合图5所示的不同光照强度下拍摄得到的待检测图像,对不同材质的实体素材在不同光照强度下的显示效果进行说明。如图5所示的9张待检测图像,横排分别对应于不同的实体素材:待检测图像I1、I2和I3均对应于纸张打印的证件图像,待检测图像I4、I5和I6均对应于真实证件,待检测图像I7、I8和I9均对应于屏幕显示的证件图像。纵列分别对应于不同的光照强度:待检测图像I1、I4和I7均对应于自然光(即光照强度最弱),待检测图像I2、I5和I8均对应于自然光叠加较弱闪光,待检测图像I3、I6和I9均对应于自然光叠加较强闪光。其中,I5是在自然光叠加较强闪光的光照环境下拍摄真实证件得到的待检测图像,其他与此类似,不再一一赘述。上述较强闪光和较弱闪光的光照强度可以在前述光照强度调整过程中设定。如较强闪光对应于2个LED灯珠发光、较弱闪光对应于1个LED灯珠发光;或者较强闪光对应于输出功率为1W的闪光灯、较弱闪光对应于输出功率为0.5W的闪光灯等。另外,图5所示各张待检测图像可以由拍摄目标证件所得原始图像经过前述至少一种校正处理得到。
在拍摄待检测图像的过程中,用户通常需要调整目标证件的拍摄角度。为确保目标证件在拍摄得到的待检测图像中对应的图像区域中包含光照形成的反射光斑,终端可以在拍摄预览画面中显示出光斑定位标记。如图5中I6所示。在用户调整目标证件的拍摄角度的过程中,验证方可以实时检测拍摄预览画面中的反射光斑,并在检测到反射光斑位于圆形的定位标记501中和/或光斑边界匹配于该定位标记501的情况下,自动拍摄此时的预览画面以得到相应的待检测图像。当然,上述定位标记501仅是为了说明其形式而绘制在I6中,其可以为椭圆或者其它形状,而且在拍摄完成后得到的I6中实际并不会显示该标记——该标记仅用于在拍摄预览阶段向用户展示,以便用户快速调整实体素材、终端和/或闪光灯的相对位置。
由图5可见,由于纸张表面较为粗糙,所以在不同光照强度下拍摄纸张打印的证件图像所得到的待检测图像均难以呈现出清晰的反射光斑(也可以认为形成面积较大的光带)。相对于纸张,真实证件和屏幕的光线反射率较高,因此在不同光照强度下拍摄真实证件和屏幕显示的证件图像所得待检测图像能够形成较为清晰的反射光斑。其中,由于屏幕的光线反射率高于真实证件的光线反射率,所以在任一光照强度下拍摄屏幕显示的证件图像所得待检测图像中形成的反射光斑,通常比在该光照强度下拍摄真实证件所得待检测图像中形成的反射光斑更清晰。基于这一规律,验证方能够通过确定在不同光照强度下拍摄目标证件的实体素材所得待检测图像中反射光斑的清晰度,对该实体素材的类型进行识别。
步骤204,根据所述反射光斑的清晰度确定所述实体素材的类型,所述类型包括真实证件或证件图像。
基于前述的一般性事实,在本实施例中,获取到包含反射光斑的待检测图像后,验证方可以确定其中反射光斑的清晰度,进而基于该清晰度确定目标证件的实体素材的类型,该类型能够用于表征目标证件是否为真实证件,即能够实现对目标证件的真伪检测。例如,在确定实体素材的类型为真实证件的情况下,可以确定目标证件为真实证件;而在确定实体素材的类型为证件图像的情况下,可以确定目标证件为伪造证件。
对于任一待检测图像,可以通过相邻像素点颜色值梯度变化量确定上述反射光斑对应的图像区域。如可以按照某一预设方向(如从左至右)依次计算该待检测图像中各个像素点与相邻像素点的颜色值的差值,并将该颜色值差值不小于差值阈值的像素点确定为边界像素点。将各个相邻的边界像素点相连接,即得到反射光斑对应的图像区域的边界线,因为上述反射光斑的亮度是连续变化的,所以该边界线也是连续且封闭的,如可能为圆形、椭圆形等。如图5中的待检测图像I9所示,确定出的图像区域的边界线502即为圆形。当然,在方案实践中,验证方可以不实际连接上述像素点以得到边界线,而仅记录各个边界像素点的坐标即可。
另外,为加快上述反射光斑对应的图像区域的确定速度,若在拍摄该待检测图像的过程中,拍摄预览画面中显示有定位标记,则可以在该定位标记附近开始查找上述边界像素点。或者,在该待检测图像是在终端检测到反射光斑匹配于上述定位标记的情况下拍摄得到的情况下,验证方可以直接将上述定位标记的边界作为该反射光斑对应的图像区域的边界线,不再赘述。可以理解的是,边界线502内部像素点的亮度(如灰度值)普遍大于边界线502外部像素点的亮度。与定位标记501类似的,上述边界线502也仅是为了说明其形式而绘制在I9中,I9中并不会显示该线条。
进而,验证方可以在反射光斑对应的图像区域内部确定第一像素点,相应的像素点颜色值即为第一颜色值;并在反射光斑对应的图像区域外部确定第二像素点,相应的像素点颜色值即为第二颜色值。例如,可以将该图像区域内部的所有像素点均作为第一像素点,此时第一颜色值为各个第一像素点的颜色均值;并将该图像区域外部的所有像素点均作为第二像素点,此时第二颜色值为各个第二像素点的颜色均值。再例如,也可以将该图像区域内部的中心像素点(位于图像区域中心的像素点)或者亮度最高的像素点作为第一像素点,此时第一颜色值为该第一像素点的颜色值;并将该图像区域外部的所有像素点均作为第二像素点,此时第二颜色值为各个第二像素点的颜色均值,或者将该图像区域外部的像素点亮度为亮度中值的像素点作为第二像素点,此时第二颜色值为该第二像素点的颜色值。
在一实施例中,验证方可以在反射光斑的清晰度满足预设清晰度范围的情况下,确定实体素材的类型为真实证件。例如,在任一待检测图像中的第一颜色值和第二颜色值之间的第一颜色差值位于第一颜色差值区间的情况下,验证方可以确定该待检测图像对应的目标证件的实体素材为真实证件;而在第一颜色差值位于上述第一颜色差值区间之外的情况下,可以确定该待检测图像对应的目标证件的实体素材为证件图像。以灰度差值为例,若80≤第一颜色差值≤150(此时第一颜色差值区间为[80,150],下同),则可以确定该待检测图像对应的目标证件的实体素材为真实证件;若第一颜色差值<80,则可以确定该待检测图像对应的目标证件的实体素材为打印在纸张上的证件图像;若第一颜色差值>150,则可以确定该待检测图像对应的目标证件的实体素材为屏幕中显示的证件图像。
或者,在任一待检测图像的第一颜色值与另一待检测图像的第一颜色值之间的第二颜色差值位于第二颜色差值区间的情况下,验证方可以确定该待检测图像对应的目标证件的实体素材为真实证件;而在第二颜色差值位于上述第二颜色差值区间之外的情况下,可以确定该待检测图像对应的目标证件的实体素材为证件图像。仍以灰度差值为例,若50≤第二颜色差值≤100(此时第一颜色差值区间为[50,100],下同),则可以确定该待检测图像对应的目标证件的实体素材为真实证件;若第二颜色差值<50,则可以确定该待检测图像对应的目标证件的实体素材为打印在纸张上的证件图像;若第二颜色差值>100,则可以确定该待检测图像对应的目标证件的实体素材为屏幕中显示的证件图像。其中,上述第一颜色差值区间和第二颜色差值区间的具体值,可以预先根据不同光照强度下的大量样本数据统计得到,不再赘述。
通过上述方式可以确定各张待检测图像分别对应的实体素材类型的独立检测结果,进而可以根据各个独立检测结果共同判定目标证件所对应实体素材的类型,以作为针对目标证件真伪的最终检测结果。例如,在上述待检测图像包括分别在自然光、自然光叠加较弱闪光和自然光叠加较强闪光灯的光照环境下拍摄目标证件得到的三张图像的情况下,验证方可以通过三张待检测图像中反射光斑的清晰度分别确定三个独立检测结果。进而,在三个独立检测结果均表明目标证件的实体素材类型为真实证件的情况下,可以判定目标证件为真实证件;而在任意一个独立检测结果表明目标证件的实体素材类型为证件图像的情况下,可以判定目标证件为证件图像。或者,在上述独立检测结果以概率值表示的情况下,可以根据历史检测记录统计上述三种光照强度下的真实证件、屏幕显示的证件图像和纸张打印的证件图像分别对应的独立检测结果的准确度,并为各个独立检测结果分别设置与准确度呈正相关的权重值。进而验证方可以根据该权重值计算各个独立检测结果的加权平均值,以根据该值判定实体素材的真实类型和目标证件的真伪。
在另一实施例中,验证方可以直接使用经过预训练的证件真伪检测模型对实体素材的类型进行检测。例如在获取到上述多张待检测图像之后,验证方可以将其输入上述证件真伪检测模型,以根据该输出的检测结果确定实体素材的类型,进而确定目标证件的真伪。其中,上述模型可以通过大量经过打标的样本图像预训练得到,并在训练完成后部署在验证方。如在验证方为客户端的情况下,可以由检测服务端或者其他设备预先训练上述证件真伪检测模型,并将训练完成的该模型部署至客户端。在该场景下,该模型可以为运行在端侧的轻量化模型。本说明书实施例对于该模型的具体部署方式并不进行限制,如该模型的安装文件可以包含在客户端的安装文件中,或者在客户端安装完成后,终端可以从预设发布方处下载该模型的安装文件,并以功能插件的形式将该模型安装在客户端中。而在验证方为检测服务端的情况下,该模型可以直接部署在检测服务端本地,或者被部署在验证方关联的其他设备中。在该场景下,该模型可以为运行在服务器侧或云端的完整模型。该模型的具体训练过程可以参见下述图6相关实施例的详细描述,此处暂不赘述。
该模型接收到在不同光照强度下拍摄目标证件的实体素材分别得到的多张待检测图像后,可以根据多张待检测图像中的特征信息对该实体素材的类型进行判断。例如,在上述模型训练阶段使用的样本待检测图像包括分别拍摄真实证件、纸张打印的证件图像和屏幕显示的证件图像得到的多种图像的情况下,训练完成后的该模型输出的检测结果可以包括实体素材的类型分别为真实证件、纸张打印的证件图像和屏幕显示的证件图像的概率值。如输出可以为一个三维向量,该向量中的三个元素即分别表征实体素材为真实图像、实体素材为纸张打印的证件图像和实体素材为屏幕显示的证件图像的概率。相应地,验证方在获取到模型输出的该三维向量后,可以将其中数值最大的向量元素所表征的类型作为对实体素材的最终检测结果。
不妨假设上述证件真伪检测模型的输出向量为L=[a,b,c],其中,a,b,c∈[0,1],a、b和c分别对应于真实证件、纸张打印的证件图像和屏幕显示的证件图像。则在将上述多张待检测图像输入证件真伪检测模型后,若模型输出三维向量为L=[0.1,0.6,0.3],则验证方可以确定实体素材为真实图像,相应地,目标证件为真实证件。若模型输出三维向量为L=[0.1,0.2,0.7],则验证方可以确定实体素材为屏幕显示的证件图像,相应地,目标证件为屏幕显示的证件图像对应的伪造证件。
通过上述实施例,验证方可以获取到分别在多种光照强度下拍摄对应于目标证件的实体素材得到的多张待检测图像,而且任一待检测图像中对应于目标证件的图像区域均包含光照形成的反射光斑;进而,验证方可以根据各个待检测图像中反射光斑的清晰度确定目标证件的实体素材的类型,而该类型既可以用于表征目标证件的真伪。可以理解的是,真实证件与证件图像所在的实体素材(如显示证件图像的屏幕、打印有证件图像的纸张等)的材质存在差异,而该差异又导致真实证件与这类实体素材的光线反射率存在差异,所以真实证件和这类实体素材被拍摄后分别得到的待检测图像中反射光斑的清晰程度也有所不同,进而根据该清晰程度能够实现对真实证件和这类实体素材的准确区分。可见,该方式在获取到终端采集的待检测图像后即能够直接实现对目标证件的真伪检测,无需审核人员人工检查或复核,有效提升了证件检测的准确度。
下面结合图6对证件真伪检测模型的训练过程进行说明。图6是一示例性实施例提供的一种证件真伪检测模型的训练方法的流程图。如图6所示,发方法应用于模型训练设备,如前述的验证服务端或者其关联设备等。该方法可以包括以下步骤:
步骤602,获取针对样本目标证件的样本图像,任一组样本图像包括:在不同光照强度下分别拍摄所述样本目标证件的样本实体素材得到的多张图像,所述样本目标证件在所述样本图像中对应的图像区域包含光照形成的反射光斑,所述样本实体素材的类型包括样本真实证件或者样本证件图像。
步骤604,将所述样本图像作为训练样本对所述证件真伪检测模型进行有监督训练。
在本实施例中,模型训练设备需要先获取样本目标证件的样本图像。模型训练设备可以获取多组样本图像,如3千、5千、2万等。其中,模型训练设备可以通过多种方式获取样本图像,本说明书实施例并不对此进行限制。例如,模型训练设备可以从具有获取权限的任一平台(如前述金融平台)采集到的用户上传的历史证件图像中,获取经过用户许可或授权的历史证件图像,并从中筛选出多组历史证件图像作为样本图像。其中,筛选出的历史证件图像应当满足下述条件:任一组中的多张历史证件图像被分别在同光照强度下拍摄同一历史证件的样本实体素材得到,该样本实体素材可以为样本真实证件或者样本证件图像,而该样本证件图像可以为展示在电子设备的屏幕上的图像,或者打印在纸张表面的图像。需要保证的一点是:任一历史证件图像的证件画面对应的图像区域中包含反射光斑。对于筛选出的各个样本图像,可以根据平台中保存的图像信息或者通过人工查看的方式分别确定其对应的样本实体素材类型,并根据确定出的类型为各个样本图像添加相应的样本标签。
可以理解的是,因为模型训练设备筛选样本图像的条件较为苛刻,所以业务系统的全部历史证件图像中符合该条件历史证件图像数量可能较少,因而从历史证件图像中筛选出的样本图像的数量可能难以满足证件真伪检测模型的训练需求。
对此,可以通过拍摄的方式获取样本图像。例如,训练人员可以预先收集多个样本真实证件,对于任一样本真实证件,可以直接在不同光照强度下拍摄该证件(即将该样本真实证件作为样本实体素材),将拍摄得到的该证件对应的多张样本图像作为一组样本图像,并为该组中的各个样本图像添加“真实证件”标签。还可以对该样本真实证件拍摄不包含反射光斑的无反光图像,并通过电子设备的屏幕显示该无反光图像,进而在不同光照强度下分别对屏幕中显示的该无反光图像进行拍摄(即将屏幕显示的样本证件图像作为样本实体素材),将拍摄得到的该图像对应的多张样本图像作为一组样本图像,并为该组中的各个样本图像添加“屏幕显示的证件图像”标签。另外,还可以将上述无反光图像打印在纸张上,并在不同光照强度下分别对打印后的纸张中展示出的无反光图像进行拍摄(即将纸张打印的样本证件图像作为样本实体素材),将拍摄得到该图像对应的多张样本图像作为一组样本图像,并为该组中的各个样本图像添加“纸张打印的证件图像”标签。在针对任一样本实体素材进行拍摄的过程中,可以调整样本实体素材、摄像头和/或闪光灯之间的相对位置,以保证拍摄得到的任一样本图像的证件画面对应的图像区域中均包含反射光斑。上述过程得到的三组样本图像均对应于上述任一样本真实证件,而且各组样本图像均可以作为独立的训练样本用于训练证件真伪检测模型。
另外,为保证被训练的证件真伪检测模型具有较强的泛化能力,对于任一样本真实证件,还可以在多种拍摄角度、多种拍摄背景、多种自然光环境下分别拍摄对应于该样本真实证件的多组样本图像分别作为训练样本;和/或更换不同材质、不同大小、不同显示参数的屏幕显示该样本真实证件,更换不同材质、不同尺寸的纸张、更换不同参数、不同硬件组合的打印机打印该样本真实证件,以改变样本证件图像的显示状态,从而分别在不同状态下调整光照强度拍摄被显示的样本证件图像,以得到多组不同拍摄条件下的样本图像作为训练样本。
对于通过筛选历史证件图像或者拍摄得到的多组样本图像,还可以通过图像扩增的方式进一步获取更多样化的样本图像作为训练样本。如可以对任一样本图像通过水平/垂直翻转、旋转、缩放、平移、对比度、色彩抖动、增加噪声等一种或多种方式进行图像扩增。具体过程可以参见相关技术中的记载,此处不再赘述。
由上述样本图像获取的方式可见,模型训练设备获取到的任一组样本图像所对应样本目标证件的样本实体素材的类型被标注为该组样本图像的样本标签。另外,模型训练设备还可以对获取到的多张样本图像进行预处理,如将各张样本图像的颜色值统一至同一颜色空间,如将各个样本图像均处理为RGB图像或者均处理为灰度图像等。
对于获取到的多组样本图像,在完成对各组样本图像的标记添加、预处理之后,即可以使用这些样本图像对证件真伪检测模型进行有监督训练。其中,该模型即为一个分类器,可以基于CNN(Convolutional Neural Networks,卷积神经网络)或其他深度学习模型构建得到。对于输入的任一组样本图像,该模型可以输出该样本图像所对应样本实体素材的类型为真实证件、纸张打印的证件图像或者屏幕显示的证件图像的概率。或者,也可以输出该样本图像对应的样本实体素材的类型为真实纸张或者证件图像的概率,上述概率即为证件真伪检测模型对于该样本图像对应的样本实体素材的类型的预测结果。相应地,可以根据上述预测结果与该样本图像被添加的样本标签确定模型的预测偏差(即计算模型损失loss),进而根据该偏差调整证件真伪检测模型的模型参数。如调整激活函数的系数、调整神经元数量等。然后更换样本继续上述过程,直至模型损失loss满足预设条件或者训练次数达到预设要求时停止训练。当然,上述训练过程中使用的样本属于训练集,模型训练设备还可以使用验证集对模型参数进行微调,和/或使用测试集测试训练完成的模型的证件真伪检测能力(识别正确率等),最终完成针对证件真伪检测模型的完整训练过程。上述内容仅是对有监督训练过程的简要说明,其具体过程可以参见相关技术中的记载,不再赘述。
通过上述样本获取方式获取的各组样本图像均包含反射光斑,而且某一样本目标证件对应的同一组内的各个样本图像被在不同光照强度下分别针对样本目标证件的样本实体素材拍摄得到,所以使用上述样本图像对证件真伪检测模型进行有监督训练,训练所得的证件真伪检测模型能够实现对样本实体素材类型的准确检测。而且可以理解的是,训练完成的证件真伪检测模型即可以基于针对反射光斑的上述一般性规律实现对样本实体素材类型的检测。
图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图8,在一软件实施方式中,提出一种检测证件真伪的装置,该装置可以包括:
图像获取单元801,用于获取多张待检测图像,所述多张待检测图像为分别在多种光照强度下拍摄对应于目标证件的实体素材得到,且所述目标证件在所述待检测图像中对应的图像区域包含光照形成的反射光斑;
类型确定单元802,用于根据所述反射光斑的清晰度确定所述实体素材的类型,所述类型包括真实证件或证件图像。
可选地,所述图像获取单元801还用于:
获取拍摄对应于目标证件的实体素材得到的证件视频;
从所述证件视频中选取多张分别对应于不同光照强度的视频图像帧,以作为所述多张证件图像。
可选地,所述待检测图像由终端拍摄得到;拍摄过程中的光照强度由所述终端按照预设的光强变化规律进行调整,或者响应于用户实施的光强调整操作进行调整。
可选地,所述待检测图像由拍摄得到的原始图像经过下述至少之一的校正得到:
删除所述原始图像中除目标证件对应的图像区域之外的背景区域;
调整所述原始图像中目标证件对应的图像区域的显示角度;
调整所述原始图像的对比度。
可选地,所述清晰度为第一像素点的第一颜色值与第二像素点的第二颜色值之间的颜色差值,所述第一像素点位于所述反射光斑对应的图像区域内部,所述第二像素点位于所述反射光斑对应的图像区域外部。
可选地,所述类型确定单元802还用于:
将所述多张待检测图像输入预训练的证件真伪检测模型,以根据所述证件真伪检测模型输出的检测结果确定所述实体素材的类型;或者,
在所述反射光斑的清晰度满足预设清晰度范围的情况下,确定所述实体素材的类型为真实证件。
可选地,所述多张待检测图像被响应于操作请求而获取,所述装置还包括:
操作执行单元803,用于在确定所述实体素材的类型为真实证件的情况下,执行对应于所述操作请求的预设操作。
可选地,所述证件图像包括:显示在电子设备的屏幕上的图像,或者打印在纸张表面的图像。
请参考图9,在另一软件实施方式中,还提出一种检测证件真伪的装置,该装置可以包括:
图像获取单元901,用于获取针对样本目标证件的样本图像,任一组样本图像包括:在不同光照强度下分别拍摄所述样本目标证件的样本实体素材得到的多张图像,所述样本目标证件在所述样本图像中对应的图像区域包含光照形成的反射光斑,所述样本实体素材的类型包括样本真实证件或者样本证件图像;
模型训练单元902,用于将所述样本图像作为训练样本对所述证件真伪检测模型进行有监督训练。
可选地,任一组样本图像所对应样本目标证件的样本实体素材的类型被标注为该组样本图像的样本标签。
可选地,所述样本证件图像包括:显示在电子设备的屏幕上的图像,或者打印在纸张表面的图像。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。