具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
为识别证件图像的注入攻击,本说明书实施例提出一种在证件识别过程中识别注入攻击的方法,利用终端的空间姿态参数检测待检测图像的来源,进而实现对目标证件的真伪检测。该方法可以应用于如图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用于获取待检测图像和相应的空间姿态参数并将其提供至验证方,已由后者根据该图像和参数确定待检测图像的来源(是终端响应于拍摄质量拍摄得到,还是其他方式得到并被注入验证方)。
或者,本说明书实施例所述的在证件识别过程中识别注入攻击的方法也可以由于上述手机13~15分别实现,即该方法可以作为端侧检测方案运行在终端中,以在端侧实现对目标证件的真伪检测。可见,本说明书实施例所述的在证件识别过程中识别注入攻击的方法的执行主体可以为第一服务器11、第二服务器12等服务端,也可以为手机13~15等终端,本说明书实施例并不对此进行限制。
在本实施例中,证件真伪检测***不仅可以实现检测证件真伪的功能,还可以作为诸多其他功能的集成化功能平台。比如接收拍摄指令,拍摄证件图像、展示标准位置点、获取空间姿态参数,确定坐标差值、确定角度等,本说明书一个或多个实施例并不对此进行限制。另外,该证件真伪检测***也可以实现为身份检测***的中的子***,本说明书实施例并不对此进行限制。
对于网络10,可以包括多种类型的有线或无线网络。
图2是本说明书一示例性实施例示出的一种在证件识别过程中识别注入攻击的方法的流程图。如图2所示,该方法可以应用于验证方,如前述的验证服务端或者客户端等。该方法可以包括以下步骤:
步骤202,获取终端响应于拍摄指令提供的待检测图像和所述终端基于所述拍摄指令实施拍摄操作时采集的空间姿态参数,所述拍摄指令用于指示所述终端在与静止放置的目标证件之间满足标准相对位置关系的情况下针对所述目标证件拍摄证件图像。
在一实施例中,验证方可以响应于请求方发起的操作请求向终端发出拍摄指令,该指令用于指示终端在与静止放置的目标证件之间满足标准相对位置关系的情况下针对目标证件拍摄证件图像。例如,在用户使用运行在终端中的客户端访问业务平台(如金融平台、社交平台等)注册账户、修改账户信息或者实施转账等操作时,金融平台需要对用户身份进行验证。在这种情况下,金融平台的服务端可以向验证方发起身份验证请求(即操作请求),该请求用于触发验证方对用户身份进行验证。相应地,若验证方为检测服务端,则该检测服务端可以响应于接收到的身份验证请求向终端发出拍摄指令,以指示终端响应于该指令在与静止放置的目标证件之间满足标准相对位置关系的情况下针对目标证件拍摄证件图像;若验证方为客户端,则该客户端可以响应于接收到的身份验证请求生成拍摄指令,进而根据自身产生的该指令自身产生的该指令在与静止放置的目标证件之间满足标准相对位置关系的情况下针对目标证件拍摄证件图像。
因为用户往往持有多种证件,所以上述身份验证请求中可以指定需要检测的是哪种证件,以便客户端可用户输出需要验证的证件的名称等信息,进而用户可以获知应该使用哪种证件作为目标证件。例如,可以在客户端展示“请出示第二代居民身份证”字样,以便用户知晓需要使用自己的第二代居民身份证继续后续验证。再例如,也可以在客户端展示社保卡的样卡照片,以便用户知晓需要使用自己的社保卡继续后续验证。再例如,客户端还可以通过播放语音等形式输出目标证件信息,如播放“请拍摄您户口本个人页”等语音,不再赘述。
本方案中涉及到的目标证件可以为身份证、社保卡等卡片类证件,或者也可以为户口本、成绩单等纸质类证件,本说明书实施例对于么目标证件的用途、材质、尺寸等均不进行限制。所述终端可以为手机、摄像机、平板电脑等具备图像拍摄和/或视频拍摄功能的电子设备。
终端中还可以装配有陀螺仪等方向传感器,以用于采集自身的高度、角度等空间姿态参数,上述方向传感器可以与终端中的摄像头等拍摄组件保持固定的相对位置关系。其中,可以基于终端的屏幕建立空间直角坐标系,相应地,上述方向传感器采集到的空间姿态参数的取值即以该坐标系确定。以手机为例,基于手机屏幕建立的空间坐标系可以如图3所示。其中,以屏幕左下角的顶点为坐标原点,X轴沿屏幕的水平方向从左向右,Y轴沿屏幕的垂直方向指向屏幕的顶端,Z轴垂直于屏幕所在平面向上。手机的任一空间姿态可以通过方向坐标值P(x,y,z)表示,其中,坐标取值x,y和z均为度数。三者可以分别采用如下定义:
x值表示手机前后倾斜的程度,即手机绕X轴旋转的角度,取值范围为-180°≤x≤180°。假设将手机屏幕朝上水平放置在桌面上,若桌面完全水平,则此时x=0°。若逐渐抬起手机顶部,则x值逐渐变小,直至手机垂直于桌面放置时x=-90°、手机屏幕朝下水平放置在桌面上时x=-180°。反之,若逐渐抬起手机底部,则x值逐渐变大,直至手机垂直于桌面放置时x=90°、手机屏幕朝下水平放置在桌面上时x=180°。
y值表示手机左右翘起的程度,即手机绕Y轴旋转的角度,取值范围为-90°≤x≤90°。假设将手机屏幕朝上水平放置在桌面上,若桌面完全水平,则此时y=0°。若逐渐抬起手机左侧边,则y值逐渐变小,直至手机垂直于桌面放置时y=-90°;反之,若逐渐抬起手机右侧边,则y值逐渐变大,直至手机垂直于桌面放置时y=90°。
可以理解的是,由于实际中桌面很难绝对水平,因此通常放置在桌面上的手机x值和y值往往位于0°附近的较小角度范围中,如[-5°,5°]等。利用该特性,可以使用手机测量平面的倾斜度。
z值表示手机方位,即手机绕Z轴旋转的角度,取值范围为0°≤x≤360°。其中,0°表示北(North)、90°表示东(East)、180°表示南(South)、270°表示西(West)。若z值恰好是上述4个值,且手机被水平放置,则表示手机的正前方(即Y轴正方向)就是这4个方向。利用该特性可以将手机实现为电子罗盘。
正常情况下,终端在拍摄证件图像时会与目标证件保持一定的相对位置关系,如证件所在平面与终端屏幕所在平面之间保持一定的夹角等。为了识别终端是否发起注入攻击(即确定终端提供的待检测图像是注入攻击图像还是终端响应于拍摄指令拍摄得到的证件图像),本方案中的上述拍摄指令可以指定终端在与静止放置的目标证件之间满足标准相对位置关系的情况下拍摄证件图像,并且验证方不仅获取终端提供的待检测图像,还获取终端提供的相应的空间姿态参数。
在接收到拍摄指令后,终端可以响应于该指令调用摄像头,并在拍摄预览画面中显示出摄像头采集到的预览画面。若用户确实持有真实的目标证件,其可以将该证件静止放置并使用终端拍摄采集针对该证件的原预览画面。用户可以通过观察预览画面调整终端的空间姿态,将静止放置的目标证件与终端之间的相对位置关系调整为标准相对位置关系。其中,拍摄预览画面中可以展示对应于标准相对位置关系的定位标识,用户可以在观察到目标证件的证件画面匹配于该定位标识的情况下触发拍摄,以由终端拍摄得到相应的证件图像。或者,终端也可以在检测到目标证件的证件画面匹配于该定位标识的情况下自动拍摄得到相应的证件图像。通过显示上述定位标志,能够保证终端拍摄该证件图像的时刻与目标证件之间满足标准相对位置关系。
终端可以针对目标证件拍摄一张证件图像或者不同角度下的多张证件图像,并在拍摄各张证件图像的同时通过方向传感器采集自身的空间姿态参数,然后将上述证件图像和相应的空间姿态参数关联提供至验证方——此时验证方接收到的待检测图像即为证件图像,即终端并未发起注入攻击。而若用户并不持有真实的目标证件,则拍摄预览画面中并不存在目标证件的证件画面,因而用户无从知晓应当怎样调整终端的空间姿态以使终端与(并不存在的)目标证件之间满足上述标准相对位置关系。此时,用户可能凭自身感觉触发拍摄至少一张图像。该图像中并不包含目标证件的证件画面,将该图像记为空白图像,显然,在拍摄空白图像的时刻采集到的空间姿态参数也无法匹配于拍摄指令指定的标准相对位置关系。终端可以在采集到上述图像和相应的空间姿态参数之后,将该空间姿态参数和本地预存的图像(即将该图像作为待检测图像)关联提供至验证方——此时验证方接收到的该待检测图像即为注入攻击图像,即终端向验证方发起注入攻击。
可以理解的是,因为上述证件图像是终端真实响应于拍摄质量拍摄目标证件得到的图像,所以该图像中包含的证件图像的图像位置应当匹配于标准相对位置关系,而且在拍摄上述证件图像的同时采集到的空间姿态参数也匹配于相应的标准相对位置关系。但是,上述注入攻击图像是预先拍摄的图像,而并非响应于拍摄指令拍摄得到的图像,所以在拍摄该注入攻击图像时,拍摄设备(可能并非上述终端)与目标证件之间往往并不满足上述标准相对位置关系,因而该图像中所含证件画面的画面位置往往与标准相对位置关系也并不匹配。而且如前所述,与注入攻击图像关联提供的空间姿态参数(即拍摄上述空白图像的时刻采集到的参数)也无法匹配于拍摄指令指定的标准相对位置关系。可见,对于终端提供的待检测图像,在待检测图像为证件图像和注入攻击图像时,各图像包含的证件画面的画面位置以及接收到的空间姿态参数与标准相对位置关系的匹配情况并不相同,本方案正是基于这一事实实现对注入攻击的识别。
在获取到终端提供的待检测图像和相应的空间姿态参数后,验证方可以使用本说明书实施例所述的在证件识别过程中识别注入攻击的方法对待检测图像的来源进行判断,即判断该待检测图像确实为终端响应于上述拍摄指令拍摄的证件图像,还是为注入攻击图像。相应的判断结果即表征了验证方对于目标证件的真伪检测结果。可见,验证方获取到的待检测图像对应的目标证件的可能为注入攻击图像或者终端响应于拍摄指令在与静止放置的目标证件之间满足标准相对位置关系的情况下针对目标证件拍摄得到的证件图像。显然,在待检测图像为证件图像的情况下,相应的目标证件即为用户当前确实持有的真实证件,因此用户可以视为合法用户;而在待检测图像为注入攻击图像的情况下,相应的目标证件即为用户预先拍摄的证件,而并非用户当前持有的真实证件,因此用户可以视为非法用户。本方案的目的即为通过识别待检测图像的类型,确定待检测的目标证件为真实证件还是伪造证件,从而实现对目标证件的真伪检测。
上述身份验证请求可以关联至少一种预设操作,如可以显示对应于前述操作请求的功能页面,或者根据上述待检测图像对终端对应的用户进行身份验证等。在通过本说明书实施例的方法确定待检测图像的来源后,验证方可以执行相应的预设操作。其中,上述操作请求关联的预设操作可以包括第一预设操作,例如在用户注册账户的情况下,上述身份验证请求可以关联新账户注册操作,如跳转至账户信息录入页面、展示平台针对新账户的注册协议、跳转至新账户登录页面等。再例如,在用户修改账户信息的情况下,该请求可以关联账户信息修改操作,如跳转至账户信息修改页面、展示信息修改规则,展示修改后的账户信息等。又例如,在用户实施转账操作的情况下,该请求可以关联转账操作,如提示用户指定目标账户,向目标账户转账等。相应地,在确定待检测图像为终端响应于拍摄指令拍摄的证件图像的情况下,验证方可以执行上述第一预设操作。或者,上述操作请求关联的预设操作还可以包括第二预设操作。例如,上述身份验证请求还可以关联告警操作、日志备份操作、待检测图像存证操作等第二预设操作。相应地,在确定待检测图像为注入攻击图像的情况下,验证方可以拒绝执行上述第一预设操作,而执行上述第二预设操作,以便对待检测图像的注入攻击进行妥善地处理。
需要说明的是,本方案中通过确定待检测图像的来源对目标证件的真伪进行检测,只是为了确定用户是否持有真实证件。其中,目标证件是真实证件应当被理解为目标证件的类型是验证方指定的需要验证的证件类型,至于目标证件与用户的真实身份是否匹配(即该目标证件是否确实为该用户自己的真实证件),可以通过其他方式进行进一步判断,本方案则并不关注。
步骤204a,在所述待检测图像中所含证件画面的画面位置和所述空间姿态参数均匹配于所述标准相对位置关系的情况下,确定所述待检测图像为所述终端响应于所述拍摄指令拍摄的证件图像。
步骤204b,在所述待检测图像中所含证件画面的画面位置或所述空间姿态参数不匹配于所述标准相对位置关系的情况下,确定所述待检测图像为注入攻击图像。
在获取到终端提供的待检测图像和相应的空间姿态参数之后,验证方可以分别确定上述空间姿态参数和待检测图像中所含证件画面的画面位置是否匹配于拍摄指令对应的标准相对位置关系,进而根据二者与标准相对位置关系匹配情况确定待检测图像的来源。
在一实施例中,验证方可以通过像素点之间的坐标差值确定待检测图像中所含证件画面的画面位置是否匹配于标准相对位置关系。一方面,验证方可以识别目标证件在待检测图像中所对应的证件画面,并确定该证件画面的画面关键点的第一坐标。其中,该第一坐标即为画面关键点在待检测图像中的坐标。另一方面,验证方可以获取终端实施所述拍摄操作时拍摄预览画面中展示的标准位置点在拍摄预览画面中的第二坐标,所述标准位置点对应于实施所述拍摄操作时终端与待检测图像之间所满足的标准相对位置关系。其中,终端响应于上述拍摄指令而显示的拍摄预览画面中展示的标准位置点用于使用户根据该位置标准点调整终端的空间姿态,可以为前述定位标识中的像素点。从而,在实施所述拍摄操作时,终端可以记录当前时刻标准位置点在拍摄预览画面中的第二坐标,并在向验证方提供上述待检测图像和空间姿态参数时,同时提供上述第一坐标。
可以理解的是,上述第一坐标用于表征待检测图像中证件画面所处的位置,上述第二坐标用于表征拍摄图像时标准相对位置关系对应的标准位置点所处的位置。在获取到上述第一坐标和第二坐标的情况下,验证方可以计算二者之间的坐标差值。显然,该坐标偏差越小,上述证件画面所处的位置越接近标准位置点所处的位置,从而在该坐标差值小于距离阈值的情况下,表明终端在拍摄该待检测图像时与目标证件之间的相对位置关系满足该标准相对位置关系,亦即表明该待检测图像即为终端响应于前述拍摄指令按照标准相对位置关系拍摄目标证件得到的证件图像,从而验证方可以判定上述画面位置匹配于标准相对位置关系。
如图4所示为使用手机在不同角度下拍摄桌面上静止放置的目标证件的示意图。如图4中的(1)所示,水平放置的桌面401上静止放置有矩形的目标证件402,手机403对该证件进行拍照以获取相应的证件图像。此时从证件右侧箭头所示方向观察的侧面图如(3)所示,可见,此时手机403的屏幕所在平面与证件所在平面相互平行。如(5)所示,在拍摄过程中,拍摄预览画面404中可以显示定位标识405,如可以同时展示四个该标识,共同构成一矩形(图中并未示出)的四个角,显然该矩形即为定位标识对应的标准矩形。在用户调整手机403的空间姿态的过程中,目标证件402的证件画面在拍摄预览画面404中的画面位置相应的发生变化,定位标识405在拍摄预览画面404中所处的位置可以固定不变,也可以随着手机403的姿态变化发生变化,以动态捕捉标准相对位置关系。
在拍摄水平方向的证件图像之后,验证方可以调整手机403的角度,如可以将手机403顶部抬起一定角度,以拍摄该角度下的证件图像,如图4中的(2)所示。相应地,此时从证件右侧箭头所示方向观察的侧面图如(4)所示。由(4)可见,桌面401和静止放置的目标证件402的位置和角度均不变,仅手机403的角度发生变化。不妨记手机抬起的角度为α(-180°≤α≤180°),则由前述手机所在空间坐标系的定义可知,(1)和(3)所示的手机空间坐标为(0,0,0),(2)和(4)所示的手机空间坐标为(-α,0,0)。因为相对于片状的证件来说,手机摄像头为点状,所以手机摄像头拍摄到的画面为点状视角对应的画面,因而对于实际形状为矩形的目标证件402来说,手机从正上方观察的证件图像形状为矩形,如(5)中的矩形证件406所示;而手机从侧方观察的证件图像形状为梯形,如(6)中的等腰梯形证件407所示。与(5)类似的,(6)的拍摄预览画面408中也可以展示定位标识409,且各个定位标识409构成的标准形状为等腰梯形。
如图4中的(5)和(6)可知,用户可以通过调整手机的角度和高度实现对待检测图像与目标证件之间相对位置关系的调整,从而在证件的证件画面恰好位于定位标识中的情况下,用户可以点击“拍摄”按钮实现对证件图像的采集。相应地,得到水平方向拍摄目标证件得到的证件图像如图5中的I1所示、手机顶部抬起角度α后拍摄目标证件得到的证件图像如图5中的I2所示。显然,上述定位标识用于供用户查看,实际拍摄得到的证件图像中可以并不包含相应的定位标识。手机在拍摄I1和I2时,还可以确定当前时刻验证方的空间姿态参数,如I1对应的坐标1为P1(0,0,0),而I2对应的坐标2为P2(-α,0,0)。另外,假设上述各个定位标识的标识顶点即为相应的标准位置点,则手机在拍摄上述两张证件图像时,还可以确定当前拍摄预览画面中各个标准位置点的第二坐标。
进而,在手机将拍摄得到的上述证件图像作为待检测图像提供至验证方(即不发生注入攻击),或者将除上述证件图像之外的注入攻击图像作为待检测图像提供至验证方(即发生注入攻击)的情况下,其可以将上述空间姿态参数和相应标准位置点的第二坐标,与待检测图像关联提供至验证方。或者,上述标准相对位置关系及其对应的定位标识的位置可以由验证方预先保存在本地,此时手机无需向验证方提供上述第二坐标。具体的,在验证方为运行在手机中的客户端的情况下,客户端可以从手机的本地文件中获取上述待检测图像,而在验证方为检测服务端的情况下,客户端可以接收终端发送来的待检测图像。
相应地,在获取到待检测图像和上述第二坐标之后,验证方可以识别目标证件的证件画面,并确定证件画面中画面关键点的第一坐标。进而,验证方可以计算第一坐标和第二标之间的坐标差值。如图6中(1)所示,对应于“手机水平放置”这一标准相对位置关系,可以将手机水平放置以拍摄目标证件。在该场景下,一方面,手机提供的水平待检测图像中被识别出的证件画面为矩形,该矩形的4个顶点(下称证件画面顶点)依次为D11、D12、D13和D14,各个顶点在待检测图像中的坐标值即为第一坐标。当然,卡片类证件的4个角可能被处理成弧形倒角,即目标证件并不存在4个真实顶点,此时可以使用证件画面中4条边延长线的4个交点作为上述4个顶点。另一方面,根据验证方提供的或者本地维护的第二坐标,可以确定上述关键位置点(如各个定位标识的顶点)依次为S11、S12、S13和S14,各个数据点构成矩形(即各个定位标识分别为顶点的矩形)。需要说明的是,在待检测图像为证件图像的情况下,待检测图像与拍摄预览画面的尺寸相同;而在待检测图像为注入攻击图像的情况下,用于伪装证件图像的注入攻击图像也通常会被处理为与证件图像的尺寸相同,所以上述第一坐标和第二坐标所对应的图像尺寸相同,因而二者可以统一至在同一坐标系下,此时上述各个点的分布位置可以如(1)所示。
进而,验证方可以计算上述第一坐标和第二坐标之间的坐标差值。不妨假设D11的横坐标和纵坐标分别为x_d11和y_d11,其他点与此类似,不再一一赘述。此时,验证方可以计算证件画面顶点的算术坐标均值和关键位置点的算术坐标均值之间的坐标差值D1[△x1,△y1],其中:
或者,验证方也可以将证件画面顶点和关键位置点的坐标平方差D2[△x2,△y2],其中:
显然,上述坐标差值或坐标平方差越大,表明证件画面顶点与关键位置点之间偏差越大,即目标证件越可能不是手机响应于拍摄指令拍摄目标证件得到的证件图像。因此,在计算出的坐标差值(即上述坐标差值或坐标平方差)小于差值阈值的情况下,可以确定图5的待检测图像I1中证件画面的画面位置匹配于“手机水平放置”这一标准相对位置关系。
类似的,另一标准相对位置关系可以为“手机顶部抬起30°”。在该场景下,验证方所接收到的待检测图像中证件画面的形状为等腰梯形,相应坐标依次为D21、D22、D23和D24。而相应的各个标准位置点也构成标准等腰梯形,各个位置点依次为S21、S22、S23和S24。此时上述各个点的分布位置如图6中(2)所示。对于该待检测图像,验证方同样可以通过上述式(1)或者式(2)计算相应的坐标差值,并可以在计算出的坐标差值小于差值阈值的情况下,确定图5的待检测图像I2中证件画面的画面位置匹配于“手机顶部抬起30°”这一标准相对位置关系。
或者,在任意待检测图像对应的坐标差值不小于距离阈值的情况下,验证方可以直接确定该待检测图像为注入攻击图。可以理解的是,在终端向验证方提供针对同一目标证件的多张不同标准相对位置关系分别对应的待检测图像的情况下,验证方可以通过上述方式分别计算各个待检测图像对应的坐标差值,以确定各个待检测图像是否为终端响应于相应的拍摄指令拍摄得到的证件图像。
在一实施例中,验证方可以通过单张待检测图像所对应的角度确定待检测图像中所含证件画面的画面位置是否匹配于标准相对位置关系。例如,在目标证件被按照基准角度静止放置的情况下,验证方可以确定标准相对位置关系指示的第一标准角度差,然后根据该标准相对位置关系对应的空间姿态参数确定终端的实际角度;进而在所述实际角度与基准角度之间的角度差值匹配于所述第一标准角度差的情况下,确定空间姿态参数匹配于所述标准相对位置关系。
在用户使用手机拍摄目标证件之前,手机可以响应于接收到的拍摄指令显示证件放置提示信息,用于通过该信息告知用户应当以方式(如何种角度、何种方向等)放置目标证件,以保证目标证件被按照基准角度静止放置。其中,上述基准角度即对应于标准相对位置关系,该证件放置提示信息即体现了该标准相对位置关系。例如在标准相对位置关系对应的基准角度为0°的情况下,证件放置提醒消息可以为“请将您的身份证平放在桌面上”——桌面通常接近水平面,平放在桌面上的证件的实际方式角度也接近0°。或者,在标准相对位置关系对应的基准角度为90°的情况下,证件放置提醒消息可以为“请将您的证件直立摆放”——将证件直立摆放后,证件的排放角度通常接近90°。
承接于前述实施例,在目标证件被静止放置在桌面上的情况下,用户使用手机拍摄目标证件的过程中,手机的拍摄预览画面408中显示有定位标识409,多个定位标识409构成标准等腰梯形。其中,该标准等腰梯形被根据目标证件的实际尺寸和标准相对位置关系指示的第一标准角度差预先确定,如验证方可以根据目标证件的实际尺寸和标准相对位置关系指示的第一标准角度差预先确定标准等腰梯形的尺寸,并确定相应的定位标识409的大小、间距、角度等显示参数。进而验证方可以将定位标识409的上述显示参数包含在前述拍摄指令中告知手机,以便手机据此在拍摄预览画面408中显示出相应的定位标识409。
用户可以通过改变手机的角度和高度等空间姿态参数调节手机姿态,以保证拍摄预览画面中的证件画面贴合与标准等腰梯形。在拍摄得到的证件图像中证件画面的画面位置贴合于标准等腰梯形的情况下,即表明拍摄时刻手机与目标证件之间满足标准相对位置关系,相应地,此时手机的实际角度与基准角度之间的角度差值应当接近上述第一标准角度差。基于此,验证方利用手机提供的空间姿态参数可以确定手机的实际角度,若该实际角度与基准角度(即拍摄时目标证件的实际摆放角度)之间的角度差值确实匹配于第一标准角度差,则可以确定手机的空间姿态参数匹配于相应的标准相对位置关系。
如前所述,目标证件被静止放置在桌面上,即目标证件的基准角度为0°。不妨假设图4中(6)所示标准等腰梯形对应的第一标准角度差为-30°,则验证方在接收到手机提供的对应于图5中待检测图像I2的空间姿态参数之后,可以确定手机的实际角度。例如,若空间姿态参数为P(-33°,0,0),则可以确定手机的实际角度为-33°,显然,此时手机的实际角度与目标证件的基准角度之间的角度差值为-33°-0°=-33°,该角度差值与第一标准角度差之间的角度偏差绝对值为3°。其中,验证方可以在角度差值与第一标准角度差之间的角度偏差绝对值不大于预设的第一角度偏差阈值的情况下,确定手机的空间姿态参数匹配于相应的标准相对位置关系。若预设的第一角度偏差阈值为2°,则此时的角度偏差绝对值大于该第一角度偏差阈值,验证方可以确定手机的空间姿态参数并不匹配于相应的标准相对位置关系;而若预设的第一角度偏差阈值为5°,则此时的角度偏差绝对值小于该第一角度偏差阈值,验证方可以确定手机的空间姿态参数匹配于相应的标准相对位置关系。
当然,上述基准角度、标准相对位置关系与第一标准角度差之间的对应关系、上述角度差值与第一标准角度差之间的角度偏差绝对值等均可以根据目标证件的类型、验证方对验证结果的精度要求等实际情况预先设置,本说明书实施例并不对此进行限制。
在另一实施例中,验证方可以通过多张待检测图像所对应的角度差值确定待检测图像中所含证件画面的画面位置是否匹配于标准相对位置关系。例如,验证方可以根据多个标准相对位置关系分别对应的空间姿态参数确定终端的角度变化量,然后确定所述多个标准相对位置关系对应的第二标准角度差,进而可以在第二标准角度差匹配于所述角度变化量情况下,确定上述多张待检测图像分别对应的空间姿态参数匹配于所述标准相对位置关系。
承接于前述实施例,在目标证件被静止放置在桌面上的情况下,用户使用手机水平拍摄目标证件的过程中,手机的拍摄预览画面404中显示有定位标识405,多个定位标识405构成矩形,该矩形是根据目标证件的实际尺寸和标准相对位置关系指示的标准角度1预先确定的。用户抬起手机顶部拍摄目标证件的过程中,手机的拍摄预览画面408中显示有定位标识409,多个定位标识409构成标准等腰梯形,该标准等腰梯形是根据目标证件的实际尺寸和标准相对位置关系指示的标准角度2预先确定的。例如,验证方可以根据目标证件的实际尺寸和标准相对位置关系指示的标准角度预先确定上述矩形和标准等腰梯形的尺寸,并确定相应定位标识的大小、间距、角度等显示参数。进而验证方可以将定位标识的上述显示参数包含在前述拍摄指令中告知手机,以便手机据此在拍摄预览画面中显示出相应的定位标识。
用户可以通过改变手机的角度和高度等空间姿态参数调节手机姿态,以保证拍摄预览画面中的证件画面贴合与标准等腰梯形。在拍摄得到的证件图像中证件画面的画面位置贴合于上述矩形的情况下,即表明拍摄时刻手机与目标证件之间满足标准角度1对应的标准相对位置关系;类似的,在拍摄得到的证件图像中证件画面的画面位置贴合于上述标准等腰梯形的情况下,即表明拍摄时刻手机与目标证件之间满足标准角度2对应的标准相对位置关系。相应地,若手机提供至验证方的待检测图像确实为拍摄得到的上述两待检测图像,则根据相应的两空间姿态参数确定出的终端的角度变化量,应当与上述标准角度1和标准角度2之间的第二标准角度差接近,即角度变化量应当匹配于该第二标准角度差。基于此,验证方可以利用手机提供的空间姿态参数确定手机实际的角度变化量,若该角度变化量与上述两标准角度(即上述标准角度1和标准角度2)之间的差值确实较为接近,则可以确定手机的空间姿态参数匹配于相应的标准相对位置关系。
如前所述,目标证件被静止放置在桌面上,即目标证件对应的基准角度为0°。不妨假设图4中(6)所示标准等腰梯形对应的基准角度为-30°,则可以确定第二标准角度差为-30°,验证方在接收到手机提供的对应于图5中待检测图像I1和I2的空间姿态参数之后,可以分别确定手机的实际角度。例如,若空间姿态参数1为P1(1°,0,0),空间姿态参数2为P2(-33°,0,0),则可以确定手机的角度变化量为-34°,显然,此时手机的角度变化量与标准相对位置关系的第二标准角度差之间的角度偏差绝对值为-30°-(-34°)=4°。进而,验证方可以在手机的角度变化量与标准相对位置关系的第二标准角度差之间的角度偏差绝对值不大于预设的第二角度偏差阈值的情况下,确定手机的空间姿态参数匹配于相应的标准相对位置关系。若预设的第二角度偏差阈值为2°,则此时的角度偏差绝对值大于该第二角度偏差阈值,验证方可以确定手机的空间姿态参数并不匹配于相应的标准相对位置关系;而若预设的第二角度偏差阈值为5°,则此时的角度偏差绝对值小于该第二角度偏差阈值,验证方可以确定手机的空间姿态参数匹配于相应的标准相对位置关系。
与前述实施例类似的,本实施例中的基准角度、标准相对位置关系与标准角度之间的对应关系、上述手机的角度变化量与标准相对位置关系的第二标准角度差之间的角度偏差绝对值等均可以根据目标证件的类型、验证方对验证结果的精度要求等实际情况预先设置,本说明书实施例并不对此进行限制。
通过上述实施例,验证方可以获取到终端响应于拍摄指令提供的待检测图像以及相应的空间姿态参数,并根据待检测图像确定所含证件画面的画面位置是否匹配于标准相对位置关系,以及确定空间姿态参数是否匹配于标准相对位置关系,进而在二者均匹配于相应标准相对位置关系的情况下,确定待检测图像为终端响应于所述拍摄指令拍摄的证件图像;否则,在二者之一不匹配于标准相对位置关系的情况下,确定待检测图像为注入攻击图像。上述对待检测图像类型的确定结果,能够用于表征验证方针对目标证件的真伪判断结果,即用于确定终端对应的用户是否确实持有真实的目标证件。
可以理解的是,若终端提供的待检测图像确实为针对真实的目标证件拍摄得到的证件图像,则终端在拍摄该证件图像是采集到的空间姿态参数将匹配于拍摄指令指定的标准相对位置关系;反之,若终端提供的是注入攻击图像,则因为该图像是预先制作而并非响应于拍摄指令拍摄得到的,所以该图像中所含证件画面的画面位置与相应的空间姿态参数,难以同时匹配于相应的标准相对位置关系。正是基于上述事实,本方案中的拍摄指令才指定终端在与静止放置的目标证件之间满足标准相对位置关系的情况下针对目标证件拍摄证件图像,以便于通过接收到的待检测图像对应的上述画面位置和空间姿态参数,实现对证件图像和注入攻击图像的准确有效区分,进而实现对目标证件的识别。
图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图8,在一软件实施方式中,该在证件识别过程中识别注入攻击的装置可以包括:
获取单元801,用于获取终端响应于拍摄指令提供的待检测图像和所述终端基于所述拍摄指令实施拍摄操作时采集的空间姿态参数,所述拍摄指令用于指示所述终端在与静止放置的目标证件之间满足标准相对位置关系的情况下针对所述目标证件拍摄证件图像;
第一确定单元802,用于在所述待检测图像中所含证件画面的画面位置和所述空间姿态参数均匹配于所述标准相对位置关系的情况下,确定所述待检测图像为所述终端响应于所述拍摄指令拍摄的证件图像;
第二确定单元803,用于在所述待检测图像中所含证件画面的画面位置或所述空间姿态参数不匹配于所述标准相对位置关系的情况下,确定所述待检测图像为注入攻击图像。
可选地,所述第一确定单元802还用于:
确定所述目标证件在所述待检测图像中所对应证件画面的画面关键点的第一坐标;以及,
获取所述终端实施所述拍摄操作时拍摄预览画面中展示的标准位置点在所述拍摄预览画面中的第二坐标,所述标准位置点对应于所述标准相对位置关系;
在所述第一坐标与所述第二坐标之间的坐标差值小于距离阈值的情况下,判定所述画面位置匹配于所述标准相对位置关系。
可选地,还包括:
第三确定单元804,用于在所述第一坐标与所述第二坐标之间的坐标差值不小于距离阈值的情况下,确定所述待检测图像为注入攻击图像。
可选地,所述第一确定单元802还用于:
在所述目标证件被按照基准角度静止放置的情况下,确定所述标准相对位置关系指示的第一标准角度差;
根据所述标准相对位置关系对应的空间姿态参数确定所述终端的实际角度;
在所述实际角度与所述基准角度之间的角度差值匹配于所述第一标准角度差的情况下,确定所述空间姿态参数匹配于所述标准相对位置关系。
可选地,所述第一确定单元802还用于:
根据多个标准相对位置关系分别对应的空间姿态参数确定所述终端的角度变化量;
确定所述多个标准相对位置关系对应的第二标准角度差;
在所述第二标准角度差匹配于所述角度变化量情况下,确定所述空间姿态参数匹配于所述标准相对位置关系。
可选地,所述拍摄指令被响应于操作请求而发出,所述装置还包括:
操作执行单元805,用于在确定所述待检测图像为所述终端响应于所述拍摄指令拍摄的证件图像的情况下,执行对应于所述操作请求的预设操作。
可选地,所述预设操作包括:
显示对应于所述操作请求的功能页面;和/或,
根据所述待检测图像对所述终端对应的用户进行身份验证。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。