证件识别方法及装置
技术领域
本文件涉及信息验证技术领域,尤其涉及一种证件识别方法及装置。
背景技术
证件文字OCR(Optical Character Recognition,光学字符识别)在互联网金融等身份认证场景得到了普遍应用。证件文字OCR是指使用光学字符识别技术对用户提供的证件照片进行处理,从而提取并识别证件上的用户信息(如用户姓名、生日、证件有效期等信息)。对于金融场景来说,鉴别使用伪造证件来冒用身份或者造假的行为至关重要。黑产用户伪造证件的行为可划分为两类:物***伪造或电子证件伪造。物***伪造指的是直接在证件的物理实体上修改证件信息,包括采用物理手段修改用户身份信息(如使用涂抹、物理贴片等方式篡改姓名、生日信息)或直接制造一个假的证件。电子证件伪造指的是将物***通过拍照、扫描等手段电子化后,在得到的电子版证件图像上进行信息篡改的行为(如使用PS工具篡改)。相比物***伪造,电子证件伪造具有伪造目标易获取(对着证件拍照即可,不用拿到物***)、造假成本低、造假工具易获取(Photoshop等改图软件即可)且效果逼真等特点,容易引起批量攻击,对于互联网金融等电子化业务来说需要重点防范。
发明内容
本说明书一个或多个实施例的目的是提供一种证件识别方法及装置,用以实现对电子证件进行防伪识别的普遍适用性及高准确度。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
一方面,本说明书一个或多个实施例提供一种证件识别方法,包括:
响应于对证件进行识别的识别指令,生成指示信息,所述指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照指定移动方式移动所述证件;
对位于所述拍摄区域内的所述证件进行拍摄,得到所述证件的运动视频;
提取所述运动视频中的至少一个关键帧;
按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析;及,根据分析结果判断所述证件是否为伪造证件。
另一方面,本说明书一个或多个实施例提供一种证件识别装置,包括:
生成模块,响应于对证件进行识别的识别指令,生成指示信息,所述指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照指定移动方式移动所述证件;
拍摄模块,对位于所述拍摄区域内的所述证件进行拍摄,得到所述证件的运动视频;
提取模块,提取所述运动视频中的至少一个关键帧;
分析及判断模块,按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析;及,根据分析结果判断所述证件是否为伪造证件。
再一方面,本说明书一个或多个实施例提供一种证件识别设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
响应于对证件进行识别的识别指令,生成指示信息,所述指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照指定移动方式移动所述证件;
对位于所述拍摄区域内的所述证件进行拍摄,得到所述证件的运动视频;
提取所述运动视频中的至少一个关键帧;
按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析;及,根据分析结果判断所述证件是否为伪造证件。
再一方面,本说明书一个或多个实施例提供一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
响应于对证件进行识别的识别指令,生成指示信息,所述指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照指定移动方式移动所述证件;
对位于所述拍摄区域内的所述证件进行拍摄,得到所述证件的运动视频;
提取所述运动视频中的至少一个关键帧;
按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析;及,根据分析结果判断所述证件是否为伪造证件。
采用本说明书一个实施例的技术方案,能够基于真实证件与伪造证件在运动过程中的区别,通过拍摄运动中的证件的视频来识别伪造证件,从而实现了操作简单、识别准确度高的证件识别效果,且该方法能够识别物理伪造证件及电子伪造证件,因此具有普遍适用性。此外,该技术方案在硬件上只需具有摄像头的移动终端即可实现,因此无需设计特殊的硬件,在证件识别场景(如电子商务和互联网金融等身份认证场景)具有普遍的高应用价值。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本说明书一实施例的一种证件识别方法的示意性流程图;
图2(a)-2(b)是根据本说明书一实施例的在闪光环境下拍摄的伪造证件图片和非伪造证件图片的示意图;
图3(a)-3(b)是根据本说明书一实施例的在非闪光环境下拍摄的伪造证件图片和非伪造证件图片的示意图;
图4(a)-4(b)是根据本说明书一实施例的人手持拿非伪造证件图片和伪造证件图片的姿势的示意图;
图5(a)-5(c)是根据本说明书一实施例的伪造证件和非伪造证件的侧面晃动示意图;
图6是根据本说明书一具体实施例的一种证件识别方法的示意性流程图;
图7是根据本说明书一实施例的一种证件识别装置的示意性框图;
图8是根据本说明书一实施例的一种证件识别设备的示意性框图。
具体实施方式
本说明书一个或多个实施例提供一种证件识别方法及装置,用以实现对电子证件进行防伪识别的普遍适用性及高准确度。
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件保护的范围。
图1是根据本说明书一实施例的一种证件识别方法的示意性流程图,如图1所示,该方法包括:
S102,响应于对证件进行识别的识别指令,生成指示信息,指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照指定移动方式移动证件。
本实施例中,指定移动方式可以是晃动方式;且晃动方式可包括:将证件的正面面向摄像头进行晃动的正面晃动方式;将证件的侧面面向摄像头进行晃动的侧面晃动方式;等等。“晃动”指来回摇动或上下摆动的操作,如反复地、快速地对物体进行摇动。
S104,对位于拍摄区域内的证件进行拍摄,得到证件的运动视频。
其中,证件的运动视频指按照指定移动方式被移动的证件的视频。即,在证件的运动视频中,证件是被移动的,而并非静止的。若指定移动方式为晃动方式,则在证件的运动视频中,证件是被持续晃动的。
S106,提取运动视频中的至少一个关键帧。
该步骤中,从运动视频中提取的关键帧应满足图像清晰的特点,因此提取出关键帧后,可对关键帧对应的图像清晰度进行检测,若检测结果为关键帧的图像清晰度低于预设清晰度,则可丢弃该关键帧;若检测结果为关键帧的图像清晰度不低于预设清晰度,则可保留该关键帧,并作为以下步骤中对证件进行识别的依据。
本实施例中,可利用现有的任一种图像清晰度检测算法检测关键帧的图像清晰度,如利用图像直方图法、能量方差法、高斯方差法等。这些方法均为现有技术,在此不再赘述。
S108,按照与指定移动方式对应的证件识别方式,对至少一个关键帧的图像内容进行分析;及,根据分析结果判断证件是否为伪造证件。
本实施例中,运动视频中对证件的指定移动方式不同,所采用的证件识别方式也随之不同。具体的,对应于不同的指定移动方式该选择何种证件识别方式,将在后续实施例中详细说明。
采用本说明书一个实施例的技术方案,能够基于真实证件与伪造证件在运动过程中的区别,通过拍摄运动中的证件的视频来识别伪造证件,从而实现了操作简单、识别准确度高的证件识别效果,且该方法能够识别物理伪造证件及电子伪造证件,因此具有普遍适用性。此外,该技术方案在硬件上只需具有摄像头的移动终端即可实现,因此无需设计特殊的硬件,在证件识别场景(如电子商务和互联网金融等身份认证场景)具有普遍的高应用价值。
下面以指定移动方式为晃动方式、待识别的证件为第一证件为例,说明本说明书提供的证件识别方法。
当晃动方式为正面晃动方式时,根据摄像头对第一证件的拍摄环境的不同,所采用的证件识别方式也会有所不同。具体的,若拍摄环境为闪光环境,则可证件识别方式为采用预先训练的第一二分类算法识别第一证件;若拍摄环境为非闪光环境,则可证件识别方式为采用预先训练的第二二分类算法识别第一证件。以下详细说明在不同拍摄环境下如何识别证件。
在一个实施例中,拍摄环境为闪光环境。闪光环境可以是移动终端在拍摄时打开闪光灯时的环境,也可以是通过专门的摄影闪光灯所创造的拍摄环境。在本实施例中,为操作方便,通常指打开移动终端自带的闪光灯的拍摄环境为闪光环境。
在闪光环境下拍摄第一证件的运动视频,从该运动视频中提取出的关键帧称为明帧。那么根据提取出的明帧识别证件时,可先利用预先训练的第一二分类算法对明帧的图像内容进行分类,得到第一分类结果;进而根据第一分类结果确定第一证件是否为伪造证件。其中,第一二分类算法根据多个第一样本伪造证件图片及多个第一样本非伪造证件图片上的光斑特征训练得到。
其中,第一分类结果可包括关键帧中的光斑特征。根据第一分类结果中包括的光斑特征,以及伪造证件和非伪造证件分别对应的光斑特征,即可确定出第一证件是否为伪造证件。
具体的,第一二分类算法可按照以下步骤A1-A4训练得到:
步骤A1、在闪光环境下拍摄多个第一样本伪造证件的正面内容,得到多个第一样本伪造证件图片;及,在闪光环境下拍摄多个第一样本非伪造证件的正面内容,得到多个第一样本非伪造证件图片。
其中,第一样本伪造证件可包括多种类型的伪造证件,如采用物理手段修改用户身份信息(如使用涂抹、物理贴片等方式篡改姓名、生日信息)或直接制造的物理伪造证件;通过彩色打印证件得到的物理伪造证件;通过对物***拍照、扫描等手段电子化后,在得到的电子版证件图像上进行信息篡改得到的电子伪造证件等。
步骤A2、识别各第一样本伪造证件图片中的第一光斑;及,识别各第一样本非伪造证件图片中的第二光斑。
步骤A3、分别对各第一光斑及各第二光斑进行特征分析,得到第一样本伪造证件图片的第一光斑特征及第一样本非伪造证件图片的第二光斑特征。
步骤A4、基于第一光斑特征及第二光斑特征进行学习,得到第一二分类算法。
本实施例中,在闪光环境下拍摄的伪造证件图片和非伪造证件图片上均有光斑,且光斑存在明显区别。图2(a)-2(b)分别示出了一实施例中在闪光环境下拍摄的伪造证件图片和非伪造证件图片,其中,图2(a)为在闪光环境下拍摄的非伪造证件图片,图2(b)为在闪光环境下拍摄的伪造证件图片。由图中可看出,非伪造证件图片上的光斑210具有以下特征(即第一样本非伪造证件图片的第二光斑特征):光斑形状接近圆形、边缘较平滑均匀、光斑强度较弱、光斑上的像素点向中心聚焦等;而伪造证件图片上的光斑220具有以下特征:光斑形状为放射状或星星状、边缘不规则、向四周不同方向(如上下、左右方向)拉伸、光斑强度较强等(即第一样本伪造证件图片的第一光斑特征)。因此,利用伪造证件图片和非伪造证件图片上的光斑之间的区别特征进行学习,即可训练得到第一二分类算法。
在一个实施例中,拍摄环境为非闪光环境。非闪光环境可以是在自然光下进行拍摄的环境。
在非闪光环境下拍摄第一证件的运动视频,从该运动视频中提取出的关键帧称为暗帧。那么根据提取出的暗帧识别证件时,可先利用预先训练的第二二分类算法对暗帧的图像内容进行分类,得到第二分类结果;进而根据第二分类结果确定第一证件是否为伪造证件。其中,第二二分类算法根据多个第二样本伪造证件图片及多个第二样本非伪造证件图片上的屏幕摩尔纹特征和/或证件边框特征训练得到。
其中,第二分类结果可包括关键帧对应的屏幕摩尔纹特征和/或证件边框特征。根据第二分类结果中包括的屏幕摩尔纹特征和/或证件边框特征,以及伪造证件和非伪造证件分别对应的屏幕摩尔纹特征和/或证件边框特征,即可确定出第一证件是否为伪造证件。
具体的,第二二分类算法可按照以下步骤B1-B3训练得到:
步骤B1、在非闪光环境下拍摄多个第二样本伪造证件的正面内容,得到多个第二样本伪造证件图片;及,在非闪光环境下拍摄多个第二样本非伪造证件的正面内容,得到多个第二样本非伪造证件图片。
其中,第二样本伪造证件可包括多种类型的伪造证件,如采用物理手段修改用户身份信息(如使用涂抹、物理贴片等方式篡改姓名、生日信息)或直接制造的物理伪造证件;通过彩色打印证件得到的物理伪造证件;通过对物***拍照、扫描等手段电子化后,在得到的电子版证件图像上进行信息篡改得到的电子伪造证件等。
步骤B2、分别对各第二样本伪造证件图片及各第二样本非伪造证件图片的图片相关信息进行特征分析,得到第二样本伪造证件图片的第一图片特征及第二样本非伪造证件图片的第二图片特征。其中,图片相关信息包括屏幕摩尔纹信息和/或证件边框信息。
步骤B3、基于第一图片特征及第二图片特征进行学习,得到第二二分类算法。
本实施例中,在非闪光环境下拍摄的伪造证件图片和非伪造证件图片,二者分别对应的屏幕摩尔纹信息及证件边框信息可能不同。具体的,若伪造证件为通过对物***拍照、扫描等手段电子化后,在得到的电子版证件图像上进行信息篡改得到的电子伪造证件,则由于电子伪造证件存在于电脑或手机屏幕上,因此拍摄得到的伪造证件图片上具有屏幕摩尔纹,而非伪造证件图片上则没有屏幕摩尔纹。或者,由于电子伪造证件存在于电脑或手机屏幕上,因此拍摄得到的伪造证件图片的边框为电脑屏幕或手机屏幕的边框,而非伪造证件图片的边框一定不是电脑屏幕或手机屏幕的边框,而应该是证件所处的地理环境及持拿证件的人手。
图3(a)-3(b)分别示出了一实施例中在非闪光环境下拍摄的伪造证件图片和非伪造证件图片,其中,图3(a)为在非闪光环境下拍摄的非伪造证件图片,图3(b)为在非闪光环境下拍摄的伪造证件图片。由图中可看出,非伪造证件图片上没有屏幕摩尔纹,且边框为证件所处的地理环境及持拿证件的人手;而伪造证件图片上具有屏幕摩尔纹,且边框为终端设备的边框。
因此,利用伪造证件图片和非伪造证件图片上是否具有屏幕摩尔纹和/或证件边框的区别特征进行学习,即可训练得到第二二分类算法。本实施例中,如何识别证件图片上的屏幕摩尔纹及边框特征属于现有技术,在此不再赘述。
在一个实施例中,当晃动方式为正面晃动方式时,可利用第一图像分割算法识别关键帧中的、用于晃动第一证件的人手所在的区域;进而根据人手所在的区域,确定人手针对第一证件的持拿姿势;再根据人手对第一证件的持拿姿势,判断第一证件是否为伪造证件。其中,第一图像分割算法可以是现有的任一种图像分割算法,该算法能够识别出关键帧的图像内容中的人手区域及证件所在区域。
对于伪造证件(本实施例中指电子伪造证件),由于其通常存在于电脑或手机屏幕上,因此人手在持拿伪造证件时,人手的持拿姿势应为持拿电脑或手机的姿势。而对于非伪造证件,人手的持拿姿势应为持拿具有固定尺寸及固定形状的证件的姿势。
本实施例中,可预设至少一种针对非伪造证件的人手持拿姿势,并将预设的针对非伪造证件的人手持拿姿势信息存储于网络侧(如证件识别设备中),当执行证件识别时,可先确定关键帧中对证件的人手持拿姿势,进而将所确定的人手持拿姿势与网络侧预存的针对非伪造证件的人手持拿姿势信息进行比对,若匹配(即属于针对非伪造证件的人手持拿姿势),则确定证件为非伪造证件;反之,若不匹配(即不属于针对非伪造证件的人手持拿姿势),则确定证件为伪造证件。
当然,还可预设至少一种针对伪造证件的人手持拿姿势,并将预设的针对非伪造证件的人手持拿姿势信息存储于网络侧(如证件识别设备中),当执行证件识别时,可先确定关键帧中对证件的人手持拿姿势,进而将所确定的人手持拿姿势与网络侧预存的针对伪造证件的人手持拿姿势信息进行比对,若匹配(即属于针对非伪造证件的人手持拿姿势),则确定证件为伪造证件;反之,若不匹配(即不属于针对非伪造证件的人手持拿姿势),则确定证件为非伪造证件。
此外,还可同时预设至少一种针对非伪造证件的人手持拿姿势及至少一种针对伪造证件的人手持拿姿势,并将预设的针对非伪造证件的人手持拿姿势信息及针对伪造证件的人手持拿姿势信息存储于网络侧(如证件识别设备中),当执行证件识别时,可先确定关键帧中对证件的人手持拿姿势,进而将所确定的人手持拿姿势与网络侧预存的信息进行比对,判断所确定的人手持拿姿势与针对伪造证件的人手持拿姿势信息相匹配、还是与针对非伪造证件的人手持拿姿势信息相匹配,并根据判断结果确定证件是否为伪造证件。
图4(a)-4(b)分别示出了一实施例中人手持拿非伪造证件图片和伪造证件图片的姿势。其中,图4(a)为人手持拿非伪造证件图片的姿势,图4(b)为人手持拿伪造证件图片的姿势。由图中可看出,若用户采用图4(a)所示的姿势持拿伪造证件,则很难稳定持拿或很难执行对证件的晃动操作。
因此,本实施例中,通过判断人手对证件的持拿姿势来判断证件是否为伪造证件,不仅能够起到识别伪造证件的效果,且识别方式简单、易操作。
在一个实施例中,当晃动方式为正面晃动方式时,可分析至少一个关键帧的图像内容中的证件晃动信息;其中,证件晃动信息可以是证件晃动频率、证件晃动速度等;进而根据证件晃动信息,判断第一证件是否为伪造证件。
本实施例中,对于伪造证件(本实施例中指电子伪造证件),由于其通常存在于电脑或手机屏幕上,因此其重量相对于非伪造证件而言较重,导致人手晃动非伪造证件时,晃动频率及晃动速度必然较小。因此,可预设晃动频率阈值和/或晃动速度阈值,并将晃动频率阈值和/或晃动速度阈值存储于网络侧(如证件识别设备中),当执行证件识别时,可先确定所拍摄的运动视频中的证件晃动频率和/或证件晃动速度,进而将证件晃动频率与网络侧预存的晃动频率阈值进行比较,和/或,将证件晃动速度与网络侧预存的晃动速度阈值进行比较,若证件晃动频率小于晃动频率阈值,和/或,证件晃动速度小于晃动速度阈值,则可确定证件为伪造证件;反之,可确定证件为非伪造证件。
本实施例中,通过判断人手对证件的晃动信息来判断证件是否为伪造证件,不仅能够起到识别伪造证件的效果,且识别方式简单、易操作。
在一个实施例中,在对至少一个关键帧的图像内容进行分析之前,可先识别关键帧中第一证件的各角点和/或边框线;然后根据第一证件的各角点和/或边框线,判断关键帧中第一证件的正面姿态是否符合预设的证件正面标准姿态;若不符合,则将关键帧中第一证件的正面姿态调整为证件正面标准姿态。若符合,则继续执行对至少一个关键帧的图像内容进行分析的步骤。
其中,第一证件的角点指第一证件对应的四边形的顶点。预设的证件正面标准姿态可以是边框线与水平线之间呈平行关系或垂直关系的姿态。若第一证件的正面姿态不符合预设的证件正面标准姿态,则可利用姿态矫正算法对关键帧中的证件姿态进行调整,调整方式可以为:首先根据第一证件的正面姿态与预设的证件正面标准姿态之间的差距,确定给出将证件区域调整至证件正面标准姿态的转换矩阵,进而利用转换矩阵对第一证件的正面姿态进行调整。
本实施例中,通过预先将第一证件的正面姿态调整至证件正面标准姿态的转换矩阵,使得后续对第一证件进行识别时,第一证件的正面姿态符合证件正面标准姿态,因此识别结果更加准确。
当晃动方式为侧面晃动方式时,可首先利用第二图像分割算法识别关键帧中的证件区域;进而利用抛物线拟合算法对证件区域内的各像素点的位置进行拟合,得到证件侧面曲线;然后确定证件侧面曲线的曲度,判断证件侧面曲线的曲度是否位于预设范围之内;若否,则确定第一证件为伪造证件。其中,第二图像分割算法可以是现有的任一种图像分割算法,该算法能够识别出关键帧的图像内容中的证件区域。可采用现有的任一种抛物线拟合算法对证件区域内的各像素点的位置进行拟合,从而得到证件侧面曲线。
在一个实施例中,从运动视频中提取出多个关键帧。那么,在识别第一证件时,可判断各关键帧中的证件侧面曲线的曲度是否位于预设范围之内;若存在至少一个证件侧面曲线的曲度超出预设范围,则确定第一证件为伪造证件。
图5(a)-5(c)分别示出了一实施例中伪造证件和非伪造证件的侧面晃动示意图,其中,图5(a)为非伪造证件的侧面晃动形状,图5(b)为电子伪造证件的侧面晃动形状,图5(c)为物理伪造证件(彩色打印证件)的侧面晃动形状。由图中可看出,由于电子伪造证件通常存在于电脑或手机屏幕上,因此在晃动时不可能产生曲度;而由于物理伪造证件存在于打印纸上,因此晃动幅度比真实证件较大,即晃动过程中的产生的曲线曲度较大。因此,可根据晃动过程中第一证件的侧面晃动曲度来判断第一证件是否为伪造证件。若曲度大于预设范围的最大值,则可确定第一证件为物理伪造证件;若曲度小于预设范围的最小值,则可确定第一证件为电子伪造证件。
本实施例中,通过晃动过程中证件的侧面晃动曲度来判断证件是否为伪造证件,不仅能够起到识别伪造证件(包括电子伪造证件及物理伪造证件)的效果,且识别方式简单、易操作。
在一个实施例中,提取运动视频中的关键帧之后,可判断关键帧的图像内容中是否包含人手;若包含人手,则进一步按照与指定移动方式对应的证件识别方式,对至少一个关键帧的图像内容进行分析,若不包含人手,则可直接确定第一证件为伪造证件。
在一个实施例中,若伪造证件(本实施例中指电子伪造证件)存在于电脑上,人手无法对电脑进行晃动,可能会存在通过晃动移动终端来达到晃动证件的假象,因此需判断人手实际上是晃动证件还是晃动移动终端来识别证件。
具体的,可先获取终端设备的陀螺仪数据;然后根据陀螺仪数据确定终端设备的设备晃动信息;其中,设备晃动信息包括设备晃动频率、设备晃动速度等信息;若晃动信息满足预设条件,则进一步按照与指定移动方式对应的证件识别方式,对至少一个关键帧的图像内容进行分析;其中,预设条件包括设备晃动频率小于预设频率值、设备晃动速度小于预设速度值等。
上述详细说明了采用多种方式对证件进行识别。实际应用中,为提高证件识别的准确度,可选择其中多种方式的结合来识别证件。以下通过一具体实施例来说明如何采用多种方式的结合识别证件。当然,下面实施例中的多种方式的结合仅是其中一种结合方式,且各类方式在执行顺序上不受限定。
图6是根据本说明书一具体实施例的一种证件识别方法的示意性流程图,本实施例中,指定移动方式为晃动方式,待识别的证件为第一证件。如图6所示,该方法包括:
S601,响应于对第一证件进行识别的识别指令,生成指示信息,该指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照确定的晃动方式晃动第一证件。
本实施例中,晃动方式包括正面晃动方式及侧面晃动方式。
S602,对位于拍摄区域内的第一证件进行拍摄,得到第一证件的运动视频,并提取运动视频中的至少一个关键帧。
本实施例中,对第一证件进行拍摄时,分别在闪光环境下及非闪光环境下拍摄第一证件。
由于本实施例中的晃动方式包括正面晃动方式及侧面晃动方式,因此提取出的关键帧同时包含正面晃动证件的关键帧及侧面晃动证件的关键帧。为提高证件识别的准确度,可分别提取多个明帧及多个暗帧,并利用不同的算法分别对明帧和暗帧进行识别。
本实施例中,可通过判断关键帧中是否存在闪光光斑来区分明帧与暗帧。若关键帧中存在闪光光斑,则可确定该关键帧为明帧;若关键帧中不存在闪光光斑,则可确定该关键帧为暗帧。
S603,针对正面晃动证件的关键帧,利用第一二分类算法对明帧的图像内容进行分类,得到第一分类结果。
第一二分类算法根据多个样本伪造证件图片及多个样本非伪造证件图片上的光斑特征训练得到。第一二分类算法的具体训练过程已在上述实施例中详述,在此不再赘述。
S604,根据第一二分类结果判断第一证件是否为伪造证件。若否,则执行S605;若是,则执行S610。
其中,第一分类结果可包括关键帧中的光斑特征。根据第一分类结果中包括的光斑特征,以及伪造证件和非伪造证件分别对应的光斑特征,即可确定出第一证件是否为伪造证件。
S605,进一步针对正面晃动证件的关键帧,利用第二二分类算法对暗帧的图像内容进行分类,得到第二分类结果。
第二二分类算法根据多个样本伪造证件图片及多个样本非伪造证件图片上的屏幕摩尔纹特征和/或证件边框特征训练得到。第二二分类算法的具体训练过程已在上述实施例中详述,在此不再赘述。
S606,根据第二二分类结果判断第一证件是否为伪造证件。若否,则执行S607;若是,则执行S610。
其中,第二分类结果可包括关键帧对应的屏幕摩尔纹特征和/或证件边框特征。根据第二分类结果中包括的屏幕摩尔纹特征和/或证件边框特征,以及伪造证件和非伪造证件分别对应的屏幕摩尔纹特征和/或证件边框特征,即可确定出第一证件是否为伪造证件。
S607,进一步针对侧面晃动证件的关键帧,利用图像分割算法识别关键帧中的证件区域,并利用抛物线拟合算法对证件区域内的各像素点的位置进行拟合,得到证件侧面曲线。
其中,第二图像分割算法可以是现有的任一种图像分割算法,该算法能够识别出关键帧的图像内容中的证件区域。可采用现有的任一种抛物线拟合算法对证件区域内的各像素点的位置进行拟合,从而得到证件侧面曲线。
S608,确定证件侧面曲线的曲度,判断该曲度是否位于预设范围之内。若是,则执行S609;若否,则执行S610。
该步骤中,由于电子伪造证件通常存在于电脑或手机屏幕上,因此在晃动时不可能产生曲度;而由于物理伪造证件存在于打印纸上,因此晃动幅度比真实证件较大,即晃动过程中的产生的曲线曲度较大。因此,可根据晃动过程中第一证件的侧面晃动曲度来判断第一证件是否为伪造证件。
若曲度大于预设范围的最大值,则可确定第一证件为物理伪造证件;若曲度小于预设范围的最小值,则可确定第一证件为电子伪造证件。
S609,确定第一证件为非伪造证件。
S610,确定第一证件为伪造证件。
本实施例中,通过拍摄运动中的证件的视频,并采用多种证件识别方式的组合依次对视频关键帧进行识别,包括对正面晃动方式对应的明帧、暗帧进行识别,以及对侧面晃动方式产生的曲线曲度进行识别,从而不仅能识别出电子伪造证件的真伪,还能识别出物理伪造证件的真伪,大大提高了证件识别的准确度及普遍适用性。
综上,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
以上为本说明书一个或多个实施例提供的证件识别方法,基于同样的思路,本说明书一个或多个实施例还提供一种证件识别装置。
图7是根据本说明书一实施例的一种证件识别装置的示意性框图,如图7所示,证件识别装置700包括:
生成模块710,响应于对证件进行识别的识别指令,生成指示信息,指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照指定移动方式移动证件;
拍摄模块720,对位于拍摄区域内的证件进行拍摄,得到证件的运动视频;
提取模块730,提取运动视频中的至少一个关键帧;
分析及判断模块740,按照与指定移动方式对应的证件识别方式,对至少一个关键帧的图像内容进行分析;及,根据分析结果判断证件是否为伪造证件。
在一个实施例中,指定移动方式为晃动方式;
晃动方式包括:将证件的正面面向摄像头进行晃动的正面晃动方式,和/或,将证件的侧面面向摄像头进行晃动的侧面晃动方式。
在一个实施例中,晃动方式为正面晃动方式;
分析及判断模块740包括:
第一分类及确定单元,若关键帧为在闪光环境下拍摄的明帧,则利用预先训练的第一二分类算法对明帧的图像内容进行分类,得到第一分类结果;及,根据第一分类结果确定证件是否为伪造证件;其中,第一二分类算法根据多个第一样本伪造证件图片及多个第一样本非伪造证件图片上的光斑特征训练得到;
第二分类及确定单元,若关键帧为在非闪光环境下拍摄的暗帧,则利用预先训练的第二二分类算法对暗帧的图像内容进行分类,得到第二分类结果;及,根据第二分类结果确定证件是否为伪造证件;其中,第二二分类算法根据多个第二样本伪造证件图片及多个第二样本非伪造证件图片上的屏幕摩尔纹特征和/或证件边框特征训练得到。
在一个实施例中,装置700还包括第一训练模块,用于训练第一二分类算法;
第一训练模块包括:
第一拍摄单元,在闪光环境下拍摄多个第一样本伪造证件的正面内容,得到多个第一样本伪造证件图片;及,在闪光环境下拍摄多个第一样本非伪造证件的正面内容,得到多个第一样本非伪造证件图片;
第一识别单元,识别各第一样本伪造证件图片中的第一光斑;及,识别各第一样本非伪造证件图片中的第二光斑;
第一分析单元,分别对各第一光斑及各第二光斑进行特征分析,得到第一样本伪造证件图片的第一光斑特征及第一样本非伪造证件图片的第二光斑特征;
第一学习单元,基于第一光斑特征及第二光斑特征进行学习,得到第一二分类算法。
在一个实施例中,装置700还包括第二训练模块,训练第二二分类算法;
第二训练模块包括:
第二拍摄单元,在非闪光环境下拍摄多个第二样本伪造证件的正面内容,得到多个第二样本伪造证件图片;及,在非闪光环境下拍摄多个第二样本非伪造证件的正面内容,得到多个第二样本非伪造证件图片;
第二分析单元,分别对各第二样本伪造证件图片及各第二样本非伪造证件图片的图片相关信息进行特征分析,得到第二样本伪造证件图片的第一图片特征及第二样本非伪造证件图片的第二图片特征;其中,图片相关信息包括屏幕摩尔纹信息和/或证件边框信息;
第二学习单元,基于第一图片特征及第二图片特征进行学习,得到第一二分类算法。
在一个实施例中,分析及判断模块740包括:
第二识别单元,利用第一图像分割算法识别关键帧中的、用于移动证件的人手所在的区域;
确定单元,根据人手所在的区域,确定人手针对证件的持拿姿势;
第一判断单元,根据持拿姿势,判断证件是否为伪造证件。
在一个实施例中,分析及判断模块740包括:
第三分析单元,分析至少一个关键帧的图像内容中的证件晃动信息;证件晃动信息包括证件晃动频率、证件晃动速度中的至少一项;
第二判断单元,根据证件晃动信息,判断证件是否为伪造证件。
在一个实施例中,装置700还包括:
识别模块,按照与指定移动方式对应的证件识别方式,对至少一个关键帧的图像内容进行分析之前,识别关键帧中证件的各角点和/或边框线;
判断模块,根据证件的各角点和/或边框线,判断关键帧中证件的正面姿态是否符合预设的证件正面标准姿态;
调整模块,若关键帧中证件的正面姿态不符合预设的证件正面标准姿态,则将关键帧中证件的正面姿态调整为证件正面标准姿态。
在一个实施例中,晃动方式为侧面晃动方式;
分析及判断模块740包括:
第三识别单元,利用第二图像分割算法识别关键帧中的证件区域;
拟合单元,利用抛物线拟合算法对证件区域内的各像素点的位置进行拟合,得到证件侧面曲线;
第三判断单元,确定证件侧面曲线的曲度,判断证件侧面曲线的曲度是否位于预设范围之内;
第二确定单元,若证件侧面曲线的曲度未位于预设范围之内,则确定证件为伪造证件。
在一个实施例中,关键帧包括多个;
第三判断单元,判断各证件侧面曲线的曲度是否位于预设范围之内;
第二确定单元,若存在至少一个证件侧面曲线的曲度未位于预设范围之内,则确定证件为伪造证件。
在一个实施例中,分析及判断模块740包括:
第四判断单元,判断关键帧的图像内容中是否包含人手;
第四分析单元,若关键帧的图像内容中包含人手,则进一步按照与指定移动方式对应的证件识别方式,对至少一个关键帧的图像内容进行分析。
在一个实施例中,分析及判断模块740包括:
获取单元,获取终端设备的陀螺仪数据;
第三确定单元,根据陀螺仪数据确定终端设备的设备移动信息;其中,设备移动信息包括设备移动频率、设备移动速度中的至少一项;
第五分析单元,若晃动信息满足预设条件,则进一步按照与指定移动方式对应的证件识别方式,对至少一个关键帧的图像内容进行分析;其中,预设条件包括设备移动频率小于预设频率值、设备移动速度小于预设速度值中的至少一项。
采用本说明书一个实施例的装置,能够基于真实证件与伪造证件在运动过程中的区别,通过拍摄运动中的证件的视频来识别伪造证件,从而实现了操作简单、识别准确度高的证件识别效果,且该方法能够识别物理伪造证件及电子伪造证件,因此具有普遍适用性。此外,该装置在硬件上只需具有摄像头的移动终端即可实现,因此无需设计特殊的硬件,在证件识别场景(如电子商务和互联网金融等身份认证场景)具有普遍的高应用价值。
本领域的技术人员应可理解,上述证件识别装置能够用来实现前文所述的证件识别方法,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
基于同样的思路,本说明书一个或多个实施例还提供一种证件识别设备,如图8所示。证件识别设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对证件识别设备中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在证件识别设备上执行存储器802中的一系列计算机可执行指令。证件识别设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806。
具体在本实施例中,证件识别设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对证件识别设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
响应于对证件进行识别的识别指令,生成指示信息,所述指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照指定移动方式移动所述证件;
对位于所述拍摄区域内的所述证件进行拍摄,得到所述证件的运动视频;
提取所述运动视频中的至少一个关键帧;
按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析;及,根据分析结果判断所述证件是否为伪造证件。
可选地,所述指定移动方式为晃动方式;
所述晃动方式包括:将所述证件的正面面向所述摄像头进行晃动的正面晃动方式,和/或,将所述证件的侧面面向所述摄像头进行晃动的侧面晃动方式。
可选地,所述晃动方式为所述正面晃动方式;
计算机可执行指令在被执行时,还可以使所述处理器:
若所述关键帧为在闪光环境下拍摄的明帧,则利用预先训练的第一二分类算法对所述明帧的图像内容进行分类,得到第一分类结果;及,根据所述第一分类结果确定所述证件是否为所述伪造证件;其中,所述第一二分类算法根据多个第一样本伪造证件图片及多个第一样本非伪造证件图片上的光斑特征训练得到;
若所述关键帧为在非闪光环境下拍摄的暗帧,则利用预先训练的第二二分类算法对所述暗帧的图像内容进行分类,得到第二分类结果;及,根据所述第二分类结果确定所述证件是否为所述伪造证件;其中,所述第二二分类算法根据多个第二样本伪造证件图片及多个第二样本非伪造证件图片上的屏幕摩尔纹特征和/或证件边框特征训练得到。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
在闪光环境下拍摄多个第一样本伪造证件的正面内容,得到多个所述第一样本伪造证件图片;及,在闪光环境下拍摄多个第一样本非伪造证件的正面内容,得到多个所述第一样本非伪造证件图片;
识别各所述第一样本伪造证件图片中的第一光斑;及,识别各所述第一样本非伪造证件图片中的第二光斑;
分别对各所述第一光斑及各所述第二光斑进行特征分析,得到所述第一样本伪造证件图片的第一光斑特征及所述第一样本非伪造证件图片的第二光斑特征;
基于所述第一光斑特征及所述第二光斑特征进行学习,得到所述第一二分类算法。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
在非闪光环境下拍摄多个第二样本伪造证件的正面内容,得到多个所述第二样本伪造证件图片;及,在非闪光环境下拍摄多个第二样本非伪造证件的正面内容,得到多个所述第二样本非伪造证件图片;
分别对各所述第二样本伪造证件图片及各所述第二样本非伪造证件图片的图片相关信息进行特征分析,得到所述第二样本伪造证件图片的第一图片特征及所述第二样本非伪造证件图片的第二图片特征;其中,所述图片相关信息包括屏幕摩尔纹信息和/或证件边框信息;
基于所述第一图片特征及所述第二图片特征进行学习,得到所述第一二分类算法。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
利用第一图像分割算法识别所述关键帧中的、用于移动所述证件的人手所在的区域;
根据所述人手所在的区域,确定所述人手针对所述证件的持拿姿势;
根据所述持拿姿势,判断所述证件是否为所述伪造证件。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
分析所述至少一个关键帧的图像内容中的证件晃动信息;所述证件晃动信息包括证件晃动频率、证件晃动速度中的至少一项;
根据所述证件晃动信息,判断所述证件是否为所述伪造证件。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
所述按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析之前,识别所述关键帧中所述证件的各角点和/或边框线;
根据所述证件的各角点和/或边框线,判断所述关键帧中所述证件的正面姿态是否符合预设的证件正面标准姿态;
若否,则将所述关键帧中所述证件的正面姿态调整为所述证件正面标准姿态。
可选地,所述晃动方式为所述侧面晃动方式;
计算机可执行指令在被执行时,还可以使所述处理器:
利用第二图像分割算法识别所述关键帧中的证件区域;
利用抛物线拟合算法对所述证件区域内的各像素点的位置进行拟合,得到证件侧面曲线;
确定所述证件侧面曲线的曲度,判断所述证件侧面曲线的曲度是否位于预设范围之内;
若否,则确定所述证件为所述伪造证件。
可选地,所述关键帧包括多个;
计算机可执行指令在被执行时,还可以使所述处理器:
判断各所述证件侧面曲线的曲度是否位于所述预设范围之内;
若存在至少一个所述证件侧面曲线的曲度未位于所述预设范围之内,则确定所述证件为所述伪造证件。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
判断所述关键帧的图像内容中是否包含人手;
若是,则进一步按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
获取所述终端设备的陀螺仪数据;
根据所述陀螺仪数据确定所述终端设备的设备移动信息;其中,所述设备移动信息包括设备移动频率、设备移动速度中的至少一项;
若所述设备移动信息满足预设条件,则进一步按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析;其中,所述预设条件包括所述设备移动频率小于预设频率值、所述设备移动速度小于预设速度值中的至少一项。
本说明书一个或多个实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行上述证件识别方法,并具体用于执行:
响应于对证件进行识别的识别指令,生成指示信息,所述指示信息用于指示用户在终端设备的摄像头对应的拍摄区域内、按照指定移动方式移动所述证件;
对位于所述拍摄区域内的所述证件进行拍摄,得到所述证件的运动视频;
提取所述运动视频中的至少一个关键帧;
按照与所述指定移动方式对应的证件识别方式,对所述至少一个关键帧的图像内容进行分析;及,根据分析结果判断所述证件是否为伪造证件。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、***、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(trans itory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。