一种利用摄像头实现用户身份验证的方法

文档序号:6524730阅读:513来源:国知局
一种利用摄像头实现用户身份验证的方法
【专利摘要】本发明公开了一种利用摄像头实现用户身份验证的方法,步骤如下:(1)预先采集用户人脸图像,并进行存储;(2)现场使用时,通过摄像头对当前用户的人脸图像进行活体检测;检测成功则进入步骤(3),否则提示检测失败;(3)通过摄像头对当前用户进行现场拍照并存储;(4)将保存的用户人脸图像与预先采集的用户人脸图像进行比对,得到相似度;(5)将相似度与预设的阈值进行比较,确定比对的两张人脸是否为同一个人,如果大于或等于预设的阈值,则判为同一个人,否则不能通过验证。本发明通过人脸识别系统与活体检测进行双重检测,能够有效控制随意侵入系统的情况,使用户数据的安全性得到提升。
【专利说明】一种利用摄像头实现用户身份验证的方法
【技术领域】
[0001]本发明涉及计算机身份验证研究领域,特别涉及一种利用摄像头实现用户身份验证的方法。
【背景技术】
[0002]传统的身份验证方式主要有密码、指纹、令牌或磁卡等,但是都存在一定的缺陷,例如:(1)设备开机验证运用最多的是密码,用户开机后在系统设置模块设置开机的密码,用户下次开机时,输入正确的密码才能打开设备。密码方式虽然比较便捷,但是人的记忆很多时候会随着时间的推移或记忆事情的增多而遗忘;如果把密码记在本子上也容易被盗或丢失;(2)令牌或磁卡方式验证身份,用户在设备上安装了电子身份验证系统,用户通过插入令牌或刷磁卡的方式打开系统,其中令牌和磁卡里植入了用户的认证信息,但是令牌和磁卡的缺点是容易丢失、被盗和伪造;(3)设备运用指纹方式验证身份,用户在激活设备时录入指纹,设备自动建立用户指纹库,当用户使用设备时通过识别指纹就可以打开设备,虽然指纹方式解决了已丢失、被盗的风险,但是指纹识别的方式还需要加装指纹识读设备,成本较高,且目前也存在指纹假冒这一问题,安全性也受到一定程度的质疑。
[0003]为了保证身份验证的快速有效,现在出现了基于人脸的验证方式。这种验证方式的做法是用摄像头拍摄人脸图像,然后与数据库里的人脸图像进行匹配。这种验证方式解决了上述的容易遗忘、被盗或丢失的问题,但是同时也存在一些问题,比如说图像拍摄时的质量问题会影响到身份验证的可靠性,拍照时可能会出现利用照片、画像或者雕塑来代替真的人脸等。
[0004]因此,如何进一步提高利用摄像头实现用户身份验证的准确性和安全性成为一个很有意义的研究课题。

【发明内容】

[0005]本发明的主要目的在于克服现有技术的缺点与不足,提供一种利用摄像头实现身份验证的方法,该方法通过将预先采集的图像和现场通过活体检测的图像进行比对得到判别结果,安全性高,而且可靠便捷。
[0006]本发明的目的通过以下的技术方案实现:一种利用摄像头实现身份验证的方法,包括以下步骤:
[0007](I)预先采集用户人脸图像,并进行存储;
[0008](2)现场使用时,对通过摄像头拍摄的当前用户的人脸图像进行活体检测;检测成功则进入步骤(3),否则提示检测失败;
[0009](3)通过摄像头对当前用户进行现场拍照并存储;
[0010](4)将步骤(3)中保存的用户人脸图像与预先采集的用户人脸图像进行比对,得到相似度;
[0011](5)将相似度与预设的阈值进行比较,确定比对的两张人脸是否为同一个人,如果大于或等于预设的阈值,则判为同一个人,否则认为不是,不能通过验证。
[0012]具体的,所述步骤(I)中预先采集用户人脸图像是采用现场拍照或上传人脸照片中任一种方式实现。
[0013]更进一步的,所述步骤(I)中,在进行存储之前,先对采集的人脸图像质量进行评判,评判的指标包括人脸区域的尺寸大小、图像亮度、图像模糊度、人脸姿态变化幅度,评判均合格才进行存储,否则重新采集图像。可以通过设置阈值自动评判也可以由操作人员人工观察评判。
[0014]具体的,所述步骤(2)中,活体检测的方法是指完成指定的面部活动。例如可以设定需要进行若干次的眨眼和闭眼操作或者微笑等,从而证明是活人在拍照,避免了用照片或雕塑来蒙混过关的情况。
[0015]更进一步的,所述步骤(3)中,在进行存储之前,先对当前采集的人脸图像质量进行评判,评判的指标包括人脸区域的尺寸大小、图像亮度、图像模糊度、人脸姿态变化幅度,评判均合格才进行存储,否则重新采集图像。
[0016]具体的,所述步骤(4)中对图像进行比对的步骤如下:
[0017](4-1)从用户人脸图像中定位出人脸区域;
[0018](4-2)在人脸区域内定位出关键点位置;
[0019](4-3)根据上述关键点位置进行特征提取,计算特征向量;
[0020](4-4)将此特征向量与预先采集的用户人脸图像的特征向量进行计算,得到相似度值。
[0021]优选的,所述步骤(4-1)定位人脸区域的方法为基于机器学习的方法。在实际应用中可以采用基于AdaBoost学习算法和Haar特征的人脸检测方法等。
[0022]优选的,所述步骤(4-2)定位出关键点位置的方法为基于ASM/AAM的方法,即通过迭代优化的方式定位一定数量的特征点;或者采用基于AdaBoost学习算法和有效特征(如Haar特征)结合的方法,即对每个特征点,先学习得到一个检测器,然后利用此检测器在人脸区域中定位特征点。这里的关键点可以为眼角、眼球中心、鼻尖、嘴角、下巴等,根据这些特征点的位置可以比较好地刻画人脸,同时也可用来对人脸进行归一化。
[0023]优选的,在步骤(4-3)之前先对人脸区域进行预处理,预处理包括几何预处理和光照预处理,其中几何预处理用于使所有人脸的大小和姿态一致,包括对人脸进行旋转、缩放、平移;光照预处理用于减少外界光照条件对人脸图像的影响,采用的方法包括低通滤波、双边滤波、熵图像。在提取特征之前进行上述预处理,可以消除一些干扰因素,以便能提取更鲁棒的特征。
[0024]具体的,所述步骤(4-3)进行特征提取的方法包括两种:
[0025]一种是在人脸中提取高维度的局部特征向量,将此向量作为人脸的特征;如LBP、Gabor、HOG、SIFT 等;
[0026]另一种是采用子空间方法,学习得到一个低维子空间,将提取的高维特征向量投影到此低维子空间,将投影系数作为人脸的特征。如PCA、LDA等。
[0027]具体的,所述步骤(4-4)中,根据提取的人脸图像的特征向量、预先采集的用户人脸图像的特征向量,计算二者的距离,然后将计算的距离值归一化到区间[0,1]。
[0028]更进一步的,计算的距离值为欧式距离、余弦距离、马氏距离中的一种,同时将计算的距离值归一化到区间[O,I]的方法是Logistic回归方法。Logistic回归方法具体是通过学习得到一个Logistic回归函数,然后将取值不在区间[0,I]的距离映射到区间[0,I],从而得到方法需要的相似度。相似度越大越有可能是同一个人的脸。
[0029]本发明与现有技术相比,具有如下优点和有益效果:
[0030]1、本发明通过人脸识别系统与活体检测功能的双重保障,非生命体人像即使头部和表情有运动特征,也很难蒙混过关,这使得随意侵入系统的情况得到了非常有效的控制,使用户数据的安全性得到提升。
[0031]2、本发明中预先采集的用户人脸图像和现场拍摄的照片都需要通过图像质量评判,保证了用于对比分析的图片质量,从而有效的提高了身份验证的可靠性和准确性。
【专利附图】

【附图说明】
[0032]图1是本实施例1具体实施的流程图。
[0033]图2是本实施例1预先采集的用户人脸图像和现场拍摄的照片比对的流程图。【具体实施方式】
[0034]下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0035]实施例1
[0036]如图1所示,本实施例所述一种利用摄像头实现身份验证的方法,包括以下步骤:
[0037]SlOO:预先采集用户人脸图像。
[0038]图像采集的方式有两种:一种是利用摄像头现场拍照,另一种利用系统照片上传功能上传有用户正面头像的电子照片。
[0039]S200:对步骤SlOO采集的图像进行人脸图像质量评判。
[0040]进行图像质量评判的作用是用于判断人脸成像的质量,人脸图像质量的好坏将直接影响身份验证系统的准确率和可靠性,因此在建立身份验证的人脸图像库之前需要对现场拍照所得到的人脸图像和上传的照片的成像质量进行评判,包括以下几个评判要素:
[0041](I)人脸区域尺寸过小:现场拍照和上传的照片,如果人脸区域尺寸过小,则会影响后面的身份验证算法的准确性。通过人脸检测算法在整幅图像中进行人脸检测,如果没有检测到人脸,或检测到的人脸区域尺寸小于预设的阈值,则判定人脸区域尺寸过小。
[0042](2)图像过亮:如果拍照的照片和上传图像有充足的亮度而缺乏足够的对比度,则很难从中提取出人脸图像。为此,通过计算图像的平均亮度和平均对比度,将它们与相应的阈值进行比较:如果平均亮度大于平均亮度最大阈值,或平均对比度小于平均对比对最小阈值,则认为图像过亮。
[0043](3)图像过暗:与上述图像过亮判断类似,图像过暗也使得从中提取出人脸图像变得困难。通过计算图像平均亮度值,将它与预设的阈值比较,如果小于预设的阈值,则认为图像过暗。
[0044](4)图像亮度不均:图像亮度不均是指拍照时由于不同方向光线强度不同造成的图像中不同局部区域明暗变化比较大,如侧光会造成图像一边较亮,另一边较暗。图像亮度不均对后续身份验证带来比较大的困难。本实施例采用如下算法流程评判图像亮度不均:将图像分割成多个子块,统计每个子块的平均亮度值,然后计算所有子块平均亮度值的方差,如果方差大于预设的阈值,则认为图像亮度不均。
[0045](5)图像模糊:图像模糊不清,也无法从中提取出人脸图像。本实施例通过计算图像焦点评分,将它与预设的阈值进行比较,如果小于预设的阈值,则认为图像模糊。
[0046](6)人脸姿态变化过大:用户在拍照时或者上传照片没有正面正视摄像头,会导致拍到的人脸姿态变化过大,例如侧脸、低头等,这会给后续的身份验证带来很大的困难。因此,需要判断客户人脸图像姿态是否超出容忍的范围。本实施例采用如下算法流程判断人脸姿态:首先利用人脸检测算法检测出人脸区域,然后通过人脸姿态估计算法对检测到的人脸区域进行姿态判别,如果返回的结果“非正常”,则认为姿态变化过大。
[0047]通过以上6个要素的评判,基本能确保用于后续身份验证用户人脸库的人脸图像的质量是合格的,会较大程度地提高后续身份验证的准确率和可靠性。
[0048]S300:建立用户人脸库。
[0049]将通过质量评判的图像标上编号或用户名进行存储,建立用户人脸库。
[0050]S400:现场活体检测。
[0051]当用户启动身份验证系统后,提示用户对准摄像头设备进行活体检测。为了避免被他人使用用户的照片、素描等非生命体人像特征骗过人脸识别系统而入侵设备系统,该系统启用后,需要被识别者在人脸可被检测到的范围内完成指定的面部活动,例如缓慢的左右摇头并做出一些轻微的表情变化,如眨眼睛、微笑等,以便帮助人脸识别系统确认是否具有生命特征,从而确认为活人在操作。
[0052]S500:现场通过摄像头进行人脸图像采集。
[0053]当用户通过活体检测后,利用摄像头现场对用户头像进行拍照保存。
[0054]S600:对步骤S500采集的图像进行人脸图像质量评判。
[0055]评判的指标和方法和步骤S200相同。
[0056]S700:将现场拍照人脸和用户人脸库照片比对。
[0057]此操作目的是为了自动验证用户身份。具体对比流程如图2所示。整个比对过程分为以下6个子步骤:
[0058]( I)人脸检测
[0059]在人脸图像中定位出人脸区域,得到人脸区域的位置和大小。采用的方法可以为基于AdaBoost学习算法和Haar特征的人脸检测方法。
[0060](2)面部关键特征点定位
[0061]在人脸区域内定位一些关键点,如眼角、眼球中心、鼻尖、嘴角等,得到这些特征点的位置。面部关键特征点的定位采用基于ASM/AAM的方法,通过迭代优化的方式精确定位一定数量(如68个)的特征点。
[0062](3)人脸预处理
[0063]在提取特征之前对人脸进行一定的预处理,消除一些干扰因素,以便能提取更鲁棒的特征。人脸预处理包括几何预处理和光照预处理,其中几何预处理将人脸进行旋转、缩放、平移等操作,使得所有人脸的大小和姿态一致;光照预处理主要是为了减少人脸表面不同光照条件对后续识别的影响,采用的方法主要是对图像进行某种滤波,如双边滤波等。
[0064](4)特征提取[0065]在经过预处理后的人脸图像中提取能有效区分不同人脸的特征。方法是在人脸中提取高维度的局部特征向量,如LBP和Gabor特征,然后采用子空间方法如PCA、LDA等,学习得到一个低维子空间,将提取的高维特征向量投影到此低维子空间,将投影系数作为人脸的特征。
[0066](5)相似度计算
[0067]计算两张人脸的特征向量之间的某种距离,如余弦距离。我们将相似度的取值限定在区间[0,I],越大则越有可能是同一个人的脸。如果距离不在区间[0,1],则需要转换到区间[O, I]。采用的方法可以是Logistic回归方法,通过学习得到一个Logistic回归函数,可以将取值不在区间[0,1]的距离映射到区间[0,I],从而得到我们需要的相似度。
[0068]S900:输出判别结果。
[0069]将相似度与预设的阈值进行比较,确定比对的两张人脸是否为同一个人,如果大于或等于预设的阈值,则判为同一个人,否则认为不是,不能通过验证。
[0070]上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
【权利要求】
1.一种利用摄像头实现身份验证的方法,其特征在于,包括以下步骤: (1)预先采集用户人脸图像,并进行存储; (2)现场使用时,对通过摄像头拍摄的当前用户的人脸图像进行活体检测;检测成功则进入步骤(3),否则提示检测失败; (3)通过摄像头对当前用户进行现场拍照并存储; (4)将步骤(3)中保存的用户人脸图像与预先采集的用户人脸图像进行比对,得到相似度; (5)将相似度与预设的阈值进行比较,确定比对的两张人脸是否为同一个人,如果大于或等于预设的阈值,则判为同一个人,否则认为不是,不能通过验证。
2.根据权利要求1所述的利用摄像头实现身份验证的方法,其特征在于,所述步骤(1)中预先采集用户人脸图像是采用现场拍照或上传人脸照片中任一种方式实现。
3.根据权利要求2所述的利用摄像头实现身份验证的方法,其特征在于,所述步骤(1)中,在进行存储之前,先对采集的人脸图像质量进行评判,评判的指标包括人脸区域的尺寸大小、图像亮度、图像模糊度、人脸姿态变化幅度,评判均合格才进行存储,否则重新采集图像; 所述步骤(3)中,在进行存储之前,先对当前采集的人脸图像质量进行评判,评判的指标包括人脸区域的尺寸大小、图像亮度、图像模糊度、人脸姿态变化幅度,评判均合格才进行存储,否则重新采集图像。
4.根据权利要求1所述的利用摄像头实现身份验证的方法,其特征在于,所述步骤(4)中对图像进行比对的步骤如下`: (4-1)从用户人脸图像中定位出人脸区域; (4-2)在人脸区域内定位出关键点位置; (4-3)根据上述关键点位置进行特征提取,计算特征向量; (4-4)将此特征向量与预先采集的用户人脸图像的特征向量进行计算,得到相似度值。
5.根据权利要求4所述的利用摄像头实现身份验证的方法,其特征在于,所述步骤(4-1)定位人脸区域的方法为基于机器学习的方法; 所述步骤(4-2)定位出关键点位置的方法为基于ASM/AAM的方法,即通过迭代优化的方式定位一定数量的特征点;或者采用基于AdaBoost学习算法和有效特征结合的方法,即对每个特征点,先学习得到一个检测器,然后利用此检测器在人脸区域中定位特征点。
6.根据权利要求4所述的利用摄像头实现身份验证的方法,其特征在于,在步骤(4-3)之前先对人脸区域进行预处理,预处理包括几何预处理和光照预处理,其中几何预处理用于使所有人脸的大小和姿态一致,包括对人脸进行旋转、缩放、平移;光照预处理用于减少外界光照条件对人脸图像的影响,采用的方法包括低通滤波、双边滤波、熵图像。
7.根据权利要求4所述的利用摄像头实现身份验证的方法,其特征在于,所述步骤(4-3)进行特征提取的方法包括两种: 一种是在人脸中提取高维度的局部特征向量,将此向量作为人脸的特征; 另一种是采用子空间方法,学习得到一个低维子空间,将提取的高维特征向量投影到此低维子空间,将投影系数作为人脸的特征。
8.根据权利要求4所述的利用摄像头实现身份验证的方法,其特征在于,所述步骤(4-4)中,根据提取的人脸图像的特征向量、预先采集的用户人脸图像的特征向量,计算二者的距离,然后将计算的距离值归一化到区间[O,I]。
9.根据权利要求8所述的利用摄像头实现身份验证的方法,其特征在于,计算的距离值为欧式距离、余弦距离、马氏距离中的一种,同时将计算的距离值归一化到区间[O,I]的方法是Logistic回归方法。
10.根据权利要求1所述的利用摄像头实现身份验证的方法,其特征在于,所述步骤(2)中,活体检测的方法是指完成`指定的面部活动。
【文档编号】G06F21/32GK103678984SQ201310711054
【公开日】2014年3月26日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】王先基, 陈友斌 申请人:湖北微模式科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1