APP下载

人脸识别系统中活体人脸检测

2017-05-30孙静晶张鹏

大东方 2017年3期

孙静晶 张鹏

摘要:随着科技的发展,人脸照片、人脸视频、三维人脸模具越来越容易获得,基于人脸认证的伪造攻击越来越多,伪造技术也越来越高,对系统的安全带来了严重的挑战。

关键词 人脸活体检测; 部件相关描述子; 三维人脸结构;

一、算法流程设计

本算法实现流程如图1所示。(1)首先进行预处理,选定视频中不在人脸可能出现的区域,并将该区域图像 保存,作为对比图像在背景对比步骤使用。然后进行背景对比,选取一帧与预处理选定的背景图像 相同区域的图像 ,将 与图像 进行灰度化处理得到两幅图的灰度图像 和 。在图像 上寻找 个亚像素级角点 ,使用金字塔Lucas-Kanade光流方法追踪亚像素级角点 在图像 的位置 。计算两次角点位置偏移之和,大于某一阈值则认为背景发生变化、检测的人脸为非活体人脸。(2)背景检测结束后,对视频每帧图像进行人脸检测和眼睛检测。将检测后的图像进行直方图均匀化、自适应二值化,然后进行形态学开闭操作求出眼珠,统计眼珠的像素总和 。分析每帧图像中眼珠像素总和 ,当睁眼状态时, 的值最大,闭眼状态时, 的值为0。出现上述状态时,可以认为该过程为眨眼过程。当背景检测相同且发生眨眼过程时,则认为检测的人脸是活体。

二、 算法识别过程

活体人脸检测主要包括背景对比、眨眼检测两个过程。(1) 背景对比。为了防止图片、视频伪造攻击,本文采取背景对比的方法。选取视频中非人脸可能子区域作为感兴趣的背景对比图像 ,将该图像保存,在背景对比时使用。打开摄像头,将视频第一帧作为背景对比帧。选定与图像 相同的区域做为背景检测图像 。将对比图像 和检测推向 进行灰度化,得到各自的灰度图像 和 。为了便于跟踪,我们需要在图像 选取一定数目的包含足够信息且能从当前图像和下一图像都能提取出来的点。为了便于跟踪和测量,使用亚像素级角点来检测图像 上的便于跟踪的点集 。接下来在图像 上使用图像LK光流方法跟踪上述点,找到跟踪后的角点集 。设定所有角点漂移距离

判断两幅图像的漂移距离,当背景相同时,两次角点的漂移距离非常小,当背景被覆盖时,背景角点的漂移距离非常大。设定合适的阈值 ,当 则认为背景发生了变化,检测的人脸为非活体人脸,否则,进行眨眼检测继续判断。

(2) 眨眼检测。人脸检测技术经过一段长时间的发展,现在已经非常成熟。各种快速人脸识别算法不断出现。本实验采用Paul Viola 和Miachael Jones等利用Adaboost算法构造了人脸检测器,称为Viola-Jones检测器。之后Rainer Lienhart和Jochen Maydt用对角特征,即Haar-like特征对检测器进行扩展。每个特征由2-3个矩形组成,浅色区域表示“累加数据”,深色区域表示“减去该区域的数据”,分别监测边界、线、中心特征,这些特征可表示为: 其中, 为矩形的权, 为矩形 所围图像的灰度积分, 是组成 的矩阵个数。Adaboost是一种基于统计的学习算法,基本思想是利用分類能力一般的弱分类及通过一定的方法叠加(boost)起来,构成分类能力很强的强分类器。Viola-Jones检测器利用瀑布(Cascade)算法分类器组织为筛选式的级联分类器,级联的每个节点是AdaBoost训练得到的强分类器。在级联的每个节点设置阈值 ,使得几乎所有人脸样本都能通过,而大部分非人脸样本不能通过。

在寻找人脸和人眼后,选取一个眼睛区域,并记做眼部图像 。使用自适应二值化操作,将眼部图像变成二值化图像 。眼部二值化图像包含眼珠、眼睑等区域,需要使用形态学闭操作将非眼珠区域去除: 其中, 为开操作符号, 为闭操作符号, 为膨胀操作符号, 为腐蚀操作符号。由于眼珠呈现圆形状,故采用圆盘形的构造核,下面是不同大小对眼珠检测结果的影响。在检测眼珠之后,统计眼珠的像素总和 。当眼睛最大的时候,像素最多;眼睛闭上的时候,眼珠的像素总和为0。通过判断眼珠像素总和 的变化,从而判断眨眼过程。

三、 实验结果及分析

本实验是在Visual C++ 2010与OpenCV2.4.3开源视觉库下完成的。实验平台为Pentium(R) Dual-Core处理器,2.00GB的内存,显卡型号为NVIDIA GeForce 9300 GS显存的微机。实验软件是Visual C++ 2010和OpenCV2.4.3.摄像头采用极速E40,帧频30FPS,摄像头像素是200万,动态分辨率是640*480.为了检测本算法的正确性,我们进行了三组实验,分别是1000张人脸照片攻击,1000个视频攻击,以及1000次活体人脸测试。测试出人脸照片和视频攻击的正确率和时间,以及活体人脸测试的拒绝率和时间,并与其它算法进行对比。

四、 结论

实验结果表明,本文算法能够有效辨别图像、视频、3D模型(非眼睛眨动)的伪造人脸攻击,具有准确率高,运算速度快等优点。同时,本文的算法不能识别眼睛眨动的3D人脸模型,这个方向将是未来我们的研究方向。

(作者单位:鹤壁汽车工程职业学院河南省鹤壁市)