一种基于视频分析的活体检测方法和系统与流程

文档序号:11216844阅读:762来源:国知局
一种基于视频分析的活体检测方法和系统与流程

本发明属于数字图像处理、人工智能技术领域,具体涉及一种基于视频分析的活体检测方法和系统。



背景技术:

近年来,随着人脸识别技术被越来越广泛地应用在各个领域,针对人脸识别的攻击手段也层出不穷,其中,最常见的攻击手段包括照片人脸攻击与视频人脸攻击,围绕攻击的防范手段围绕着活体检测这一中心点展开。在一个摄像头固定的人脸识别门禁系统中,如何应用活体检测技术来排查照片攻击与视频攻击,这是本系统需要解决的问题。



技术实现要素:

本发明的目的在于提供一种能够防止人脸识别中各种攻击手段的基于视频分析的活体检测方法和系统。

本发明提出的基于视频分析的活体检测方法,其流程参见图1所示,具体步骤为:

步骤(1)、采用摄像头获取视频流:

摄像头必须固定位置,摄像头连接主机或局域网中,将摄像头读取的视频流输入进主机缓存,根据计算主机的性能自定义每秒处理的帧数;对于每一张图像进行分析。

步骤(2)、进行系统环境背景更新:

摄像头读取图像的3秒后的图像作为系统的初始背景环境,这样做是避免在摄像头开启时由于摄像头感光元件未完全激活时产生的图像亮度差异导致的问题。当未检测人脸时,判断距离上一次更新系统背景图像是否超过60秒,如果是,则更新背景。

步骤(3)、提取人脸环境图像与系统背景图像:

在人脸图像的矩形区域左侧附近提取一个矩形图像作为人脸的背景图像,同时提取系统环境背景图像中对应位置的矩形区域作为系统的背景图像。需要注意的是,包含人脸的图像中的背景区域距离人脸区域不能太远,否则无法包含照片中或视频中的人脸背景;也不能太近,否则容易包含人脸旁的头发等物,影响检测的准确度。所以系统使用一个参数,让用户根据具体的运行环境设定参数,从而控制背景区域与人脸的距离。

步骤(4)、对比背景图像差异性:

使用的感知hash算法来分别计算人脸背景图像与系统背景图像的感知hash值,再计算感知hash值的差异,得出图像的差异;当差异高于阈值,则认为两个背景不相同,背景分析子系统拒绝通过;当差异小于等于阈值,则进入眨眼检测子系统。

步骤(5)、进行人眼定位:

人眼定位是眨眼检测的第一步,精确的人眼定位是眨眼检测准确度的重要保障。这里使用区域增长算法,从人脸区域的左上半区进行搜索,定位出人眼的矩形区域,将人眼图像传给下一步骤去处理。注意,由于人眼的对称性,眨眼检测只对人眼左眼做检测。

步骤(6)、判断人眼的张合状态:

对人眼图像进行灰度值化、二值化处理,然后,再进行形态学操作,使得张眼与闭眼状态的人眼的特征产生较大的差异,通过计算处理后的人眼图像的黑色像素的个数,判断人眼处于睁开还是闭合的状态。

步骤(7)、所述分析张合状态序列,判断是否有眨眼动作:

对视频流一系列图像产生的张合状态序列进行分析,如果序列中包含产生了两次眨眼动作的子序列时,可以认为用户做出了眨眼动作。之所以需要两次眨眼,是为了消除偶尔的误差带来的误判。

本发明步骤(4)中,所述对比背景图像差异性,当得到系统背景图像与人脸背景图像时,对两张图像进行相似度比较,通过感知hash算法求出图像的感知hash值,具体操作过程如下:

(a)将图像缩小到8×8尺寸,目的是为了去除图像的细节,只保留大体的结构以及明暗等信息;

(b)将缩小尺寸后的图像转换为64级灰度级;

(c)计算64个像素的平局值;

(d)将每一个像素与平均值进行比较,大于平均值则记为1,否则记为0;

(e)按照像素的位置顺序排列64个0或1数字,得到一个64位的二进制数,被称为图像的“指纹”;

(f)比较两张图像“指纹”的汉明距离,距离越小,图像相似度越高(参见图3);距离越大,图像相似度越低(参见图4)。

本发明步骤(5)中,所述人眼定位采用区域增长算法,其具体步骤如下:

(1)首先估计出鼻尖的坐标位置,估计鼻尖-瞳孔的矩形框初始大小为,并定义阈值d

(2)设矩形框初始的左下角为,矩形框的初始宽度为,初始高度为

计算矩形框内所有像素的初始平均灰度值

其中,代表图像像素的灰度值;

(3)进行迭代,在步,矩形框保持宽高比例进行固定,左下角坐标固定,进行向右、向上增大,计算每次迭代新的平均灰度值:

其中表示在第次迭代时新增加的像素集合;

(4)平滑处理矩形框,找到矩形框中灰度值最小的像素

(5)计算,若,重复步骤(3)、(4);

(6)在点附近设置搜索框,利用一个领域最小模板找到瞳孔的位置。

利用这个算法可以精准地定位人眼位置(参见图5)。

对应于上述基于视频分析的活体检测方法,本发明的基于视频分析的活体检测系统,包括:环境背景分析子系统与眨眼检测子系统;其中,环境背景分析子系统包括:视频读取模块、系统环境背景更新模块、人脸环境背景截取模块、系统环境背景截取模块、感知hash对比模块;眨眼检测子系统包括:人眼定位模块、人眼张合状态判断模块、人眼张合状态序列分析模块。其中,视频读取模块为一摄像头,用于获取视频流,对应于步骤(1)的操作;系统环境背景更新模块用于更新系统环境背景,对应于步骤(2)的操作;人脸环境背景截取模块和系统环境背景截取模块用于提取人脸环境图像与系统背景图像,对应于步骤(3)的操作;感知hash对比模块用于对比背景图像差异性,对应于步骤(4)的操作;人眼定位模块用于人眼定位,采用区域增长算法,对应于步骤(5)的操作;人眼张合状态判断模块用于判断人眼的张合状态,对应于步骤(6)的操作;人眼张合状态序列分析模块用于分析人眼张合状态序列,判断是否有眨眼动作,对应于步骤(7)的操作。

本发明的有益效果是:使用的是基于视频分析的活体检测技术,相比于指纹、虹膜识别技术来说成本较低,而且使用的眨眼检测与背景分析法中,不需要待测用户的交互动作,用户体验友好。检测算法中的感知hash、区域增长等算法对光照要求低,光照敏感度不高,鲁棒性高,对于照片攻击与视频攻击能够起到有效的检测作用。

附图说明

图1为活体检测主要流程图。

图2为人脸背景与系统背景。

图3为相似背景差异值。

图4为不相似背景差异值。

图5为人眼定位。

图6为系统的初始界面。

图7为配置文件。

图8为打开摄像头。

图9为初始化。

图10为背景相同。

图11为背景不同。

图12为人眼检测中间结果。

图13为眨眼检测。

图14为照片攻击。

图15为视频攻击。

图16为合法登录。

具体实施方式

本发明提供的基于视频分析的活体检测系统,根据固定位置的摄像头,实现自动、快速的活体检测功能,能够有效地抵御照片人脸与视频人脸攻击。

针对照片攻击手段,本系统根据照片的静态性使用眨眼检测法将照片攻击与活体区分开,而对于同样拥有眨眼动作的视频攻击,本系统采用背景分析算法,通过分析人脸背景与系统背景的差异来排查。

本系统主要包括两个子系统:

(a)眨眼检测子系统

(b)环境背景分析子系统

系统的流程:摄像头固定在某一个位置,读取摄像头前的景象作为视频流输入,系统获取视频流,对每一帧图像做以下处理:先判断图像中是否有人脸,若无,进入系统背景更新模块;若有,则截取人脸的环境背景,再在系统环境背景中截取相对应区域的图像,将两张图像进行相似性比较。本系统使用的图像比较算法为感知hash值的计算,通过计算感知hash的汉明距离,来判断图像的差异性。

当差异值小于设定的阈值,则认为两个背景是相同的,系统进入眨眼检测子系统。对后续的8秒图像先用区域增长算法进行人眼定位,然后用灰度值化、二值化后的图像进行开-闭操作,即可判断人眼的张合状态。对一系列的张合状态进行分析,判断是否产生眨眼动作,从而判断是否为活体用户。

本活体检测的两个子系统:环境背景分析子系统与眨眼检测子系统,只有同时通过了两个子系统的检测,才判定待测用户为活体,否则为非活体。

本系统的实现使用mfc框架,利用第三方库opencv2.4.9开发一个基于windows的桌面应用程序,系统的初始界面如图6所示:位于界面的左上角区域是用来显示捕捉到的实时视频图像,下方的区域是用来显示背景分析子系统的中间结果、参数设置以及检测结果的;在界面的右半区,从上到下,依次是全局设置区、控制区、活体检测结果显示区以及眨眼检测子系统的中间结果显示、参数设定和眨眼检测结果显示区。界面上有7个参数可以让用户自己设定分别为:

a)minw:人脸检测的最小窗口尺寸;

b)maxw:人脸检测的最大窗口尺寸;

c)widthr:关键区域右沿距离人脸左沿的距离;

d)hashvt:背景比对结果差异的阈值;

e)thr:区域增长算法的阈值;

f)w:形态学操作的窗口宽;

g)h:形态学操作的窗口高。

这些参数每一次设定都将保存在配置文件config.ini中,如图7,并且每一个参数都有一个默认值,当点击“设为默认值”按钮,即可将参数设为默认值。

下面介绍本系统的主要步骤:

1、打开摄像头

点击界面右半区“打开摄像头”按钮,系统将打开连接着的摄像头,并将读取到的图像绘制在界面上的视频图像区域,如图8所示,如果摄像头打开失败,则会弹出错误提示消息框;如果打开成功,则“打开摄像头”按钮变不可用,“初始化并启动活体检测系统”按钮变为可用。

2、初始化并启动活体检测

摄像头成功打开后点击“初始化并启动活体检测系统”,弹出消息框,如图9,由于系统背景在初始化时不允许有人脸遮挡摄像头,所以给系统管理员3秒钟确保摄像头前无人脸遮挡。三秒后系统启动成功。

3、背景分析

活体检测系统启动后即刻开始对视频流进行分析,如果检测到人脸,则提取人脸背景区域图像与对应的系统背景图像进行比对分析,将两个图像显示在系统界面的同时显示分析的差异结果,然后根据设定的阈值,给出背景分析的结果,如图10、图11所示。

4、眨眼检测

界面的右半区下半部分是关于眨眼检测的区域,系统通过对视频图像的分析,在人脸上定位出人眼的位置,将人眼图像灰度值化与二值化并将结果绘制在界面上,如图12所示,下方还包含一个直方图,该直方图是统计形态学处理后的黑色素的个数,当数量低于于红色线时,认为是闭眼状态,否则为睁眼状态,根据状态序列,判断是否有眨眼行为,如图13所示。

5、全局展示

当使用静态照片放置在摄像头前时,眨眼检测与背景分析均不通过,所以活体检测系统的检测结果为不通过,如图14所示;

当使用视频图像放置在摄像头前时,虽然眨眼检测通过,但背景分析不通过,所以活体检测不通过,如图15所示;

当合法用户站在摄像头前时,眨眼检测与背景分析均通过,活体检测的结果为通过,如图16所示。

参考文献:

[1]chellappar,wilsoncl,siroheys.humanandmachinerecognitionoffaces:asurvey[j].proceedingsoftheieee,1995,83(5):705-741.

[2]yanj,zhangz,leiz,etal.facelivenessdetectionbyexploringmultiplescenicclues[c]//internationalconferenceoncontrolautomationrobotics&vision.2012:188-193.

[3]komulainenj,hadida,pietikäinenm,etal.complementarycountermeasuresfordetectingscenicfacespoofingattacks[c]//internationalconferenceonbiometrics.2013:1-7.

[4]buldasa,kroonmaaa,laanojar.keylesssignatures’infrastructure:howtobuildglobaldistributedhash-trees[m]//secureitsystems.springerberlinheidelberg,2013:313-320.

[5]phashpoho.phash.org:homeofphash,theopensourceperceptualhashlibrary[j].phash.

[6]yuilleal,hallinanpw,cohends.featureextractionfromfacesusingdeformabletemplates[j].internationaljournalofcomputervision,1992,8(2):99-111.

[7]dengjy,laif.region-basedtemplatedeformationandmaskingforeye-featureextractionanddescription[j].patternrecognition,1997,30(3):403-419.

[8]mohammedaaa,anwermssa.efficienteyeblinkdetectionmethodfordisabled-helpingdomain[j].internationaljournalofadvancedcomputerscience&applications,2014,5(5).

[9]pereiratdf,komulainenj,anjosa,etal.facelivenessdetectionusingdynamictexture[j].eurasipjournalonimage&videoprocessing,2014,2014(1):2.

[10]kimg,eums,suhrjk,etal.facelivenessdetectionbasedontextureandfrequencyanalyses[c]//iaprinternationalconferenceonbiometrics.ieee,2012:67-72.。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1