论文简介
➢提出使用傅里叶分析的方法进行人脸活体检测
➢提出HFD与FDD两种算法对人脸进行精确的描述
主要贡献
➢利用真实人脸与造假人脸在频域分布的不同作为区分特征
论文创新
➢提出一种新的静默活体检测算法方案,并进行定量分析
论文方法
通过真假脸在傅里叶域的不同来进行区分
![](https://i-blog.csdnimg.cn/blog_migrate/4b1ec566ac00f42259a01643aad3d386.png)
论文研读
HFD方法的提出
论文中描述的攻击人脸主要包括纸张、视频设备屏幕、照片等。这些媒体的结构与真实面孔有很大的不同。所有这些介质都是二维平面结构,而活体表面是三维结构。根据Lambertian模型,面部图像可以描述为:
I
(
x
,
y
)
=
ρ
(
x
,
y
)
n
(
x
,
y
)
T
s
I(x,y) = \rho (x,y)n{(x,y)^T}s
I(x,y)=ρ(x,y)n(x,y)Ts
ρ
\rho
ρ是纹理表面的反射率,
n
(
x
,
y
)
T
n{(x,y)^T}
n(x,y)T是曲面法线,
s
s
s是点源,可以任意变化。因此,对于平面的照片以及打印纸张来说,
n
(
x
,
y
)
T
n{(x,y)^T}
n(x,y)T是一个常数;而对于具有三维形状的真实人脸来说,人脸每一个部位的曲面法线都不相同。因此,在相同的光照下,活体的图像由反射率和表面法线决定,而来自赝品的图像仅由反照率决定。因此可以得出如下结论:
真脸图像的强度对比度比假人脸图像的强度对比度更明显
这些差异导致了它们在光的反射率上有很大的不同,这些差异直接反映在图像的频率分布上
由于假脸图像的大小通常小于真脸图像。相机捕捉到的假脸面部中包含的许多细节都会丢失。这些都导致了真脸图像和假脸图像之间的巨大差异,通过分析它们的二维傅立叶谱可以检测出真脸图像和假脸图像之间的差异
由上述因素引起的假脸图像的傅立叶频谱高频成分要少得多。因此,对输入图像进行二维傅立叶谱分析是活体人脸检测的有效方法。通过计算高频分量的能量与所有频率分量的能量之比定义HFD方法:
H F D = ∬ Ω = { ( u , v ) ∣ u 2 + v 2 > 2 3 f max a n d ∣ F ( u , v ) ∣ > T f } ∣ F ( u , v ) ∣ d u d v ∬ ∣ F ( u , v ) ∣ d u d v − F ( 0 , 0 ) × 1000 HFD = \frac{{\iint_{\Omega = \{ (u,v)\left| {\sqrt {{u^2} + {v^2}} } \right. > \frac{2}{3}{f_{\max }}and\left| {F(u,v)} \right| > {T_f}\} } {^{\left| {F(u,v)} \right|dudv}}}}{{\iint {\left| {F(u,v)} \right|dudv - F(0,0)}}} \times 1000 HFD=∬∣F(u,v)∣dudv−F(0,0)∬Ω={(u,v)∣u2+v2>32fmaxand∣F(u,v)∣>Tf}∣F(u,v)∣dudv×1000
![](https://i-blog.csdnimg.cn/blog_migrate/4b1ec566ac00f42259a01643aad3d386.png)
FDD方法的提出
在HFD方法中我们指出,照片中的人脸往往小于真实人脸图像,因此在使用相机进行二次采样时,图像的细节往往丢失过多,对于绝大部分的图像是这样的。但是对于高清的大人脸图片,使用相机进行二次采样时,图像的细节往往丢失非常少,因此在傅里叶域里,其HFD所得出的结果于真实人脸所得出的结果往往难以分别。为了解决这一问题,可以利用运动图像进行活体人脸检测。假设照明是不变的,真实人脸的脸部在左右摇晃,眨眼,嘴唇运动过程中,由于面部是三维结构,会有不同的脸部部位进入摄像头,因此每次的获取的面部信息都具有差异。而对于假脸则不存在这种现象,这是因为假脸的表情和姿势是不变的。即使照片是运动的,由于它的二维平面结构和静态特性,只要人脸定位得很好,图像的外观几乎不会改变。因此,监测人脸外观随时间的时间变化是一种有效的活体人脸检测方法,其中人脸外观用频域中定义的能量值来表示。因此本文提出了一个三步算法来解决这个问题:
➢通过每四幅图像从输入图像序列中提取图像来构造子集
➢对于该子集中的每个图像,计算下述公式中定义的能量值t
➢计算所得标志值的标准偏差,称为频率动态描述子(FDD),以表示面部的时间变化
下面是频率动态描述子的定义
F
D
D
=
(
1
n
∑
j
=
1
n
(
t
j
−
t
m
)
2
)
1
2
FDD = {\left( {\frac{1}{n}\sum\limits_{j = 1}^n {{{({t_j} - {t_m})}^2}} } \right)^{\frac{1}{2}}}
FDD=(n1j=1∑n(tj−tm)2)21
t
=
∬
∣
F
(
u
,
v
)
∣
d
u
d
v
t = \iint {\left| {F(u,v)} \right|dudv}
t=∬∣F(u,v)∣dudv
其中 t j t_j tj是第 j j j个图像的能量值, t m t_m tm是所选子集图像能量值的平均值, n n n是能量值的总数(所选图像子集中图像的数量)。能量值 t t t将所有频率分量相加,并且该项表示全局面部灰度分布。此外,能量值的变化主要受姿势、表情和光照的影响。假设照度不变,对于在相机前移动照片以及打印纸张的行为,这种变化应为零。因此,该算法可以发现诸如在相机前移动照片这样的欺诈行为
![](https://i-blog.csdnimg.cn/blog_migrate/dcc0c28b659feca81c439c063ab59a7f.png)
上图显示了来自四个不同人脸图像序列的能量值曲线和相应的频率动态描述子。假脸由于缺乏动态性,因此其频率动力学描述子理论上应为零,对应的能值曲线应为直线。但是,从图中我们可以看到,结果与预期的不同,对于这种现象,可能是存在人脸对齐误差(与活体人脸的正常变化相比,这种对准误差带来的影响并不显著),图中数据还表明,所提出的算法可以很好地捕获真脸图像序列和假脸图像序列之间的差异。因为两个连续图像或帧之间的假脸图像能量值变化很小(通常,两个帧之间的间隔为 40 m s 40ms 40ms或更小),所以基于输入图像的子集而不是原始图像序列来计算频率动态描述可以达到降低计算复杂度的效果
整体算法流程
本文基于对真假脸图像在单帧图像傅里叶域的差别以及在连续帧傅里叶域能量的变化的差别提出将HFD结合FDD的方法,具体算法流程如下:
![](https://i-blog.csdnimg.cn/blog_migrate/4af7ee2fb78484761bfa76ff0c2db5f2.png)
具体描述如下:
➢对输入的图像构造子集subset
➢从子集中随机选取三张图并计算HFDs
➢判断HFDs的中位数是否小于
T
h
f
d
T_{hfd}
Thfd(预先设定的阈值)
➢如果是“否”则计算FDD并判断FDD是否小于设定的阈值,如果是“否”则为真脸,如果是“是”则为假脸
➢如果是“是”则直接判定为假脸
实验结果
数据库的构建 | 实验方法 |
---|---|
由于论文发表日期为2004年,当时还没有用于活体检测的数据库,因此,本文作者构建了一个人脸图像数据库来评估集成算法的性能。数据库使用Logitech QuickCam Pro 4000相机获取。对于假脸,共有20个序列对应四个不同的对象。每个序列包含10帧。数据库中的每一帧图像都是从原始帧序列每四幅图像提取来的。其中三个对象的媒介是照片,另一个是打印纸。照片尺寸分别为48x33mm,76x55mm和124x84mm。打印图像的分辨率为600dpi | 在相机前举着假脸,按照某些样式移动它:快速移动,缓慢移动或倾斜。对于帧脸,有20个真脸序列分别对应四个不同的人。被摄对象在相机前坐下并按照他们的意愿移动。每个活脸序列的长度为10帧 |
图中显示了一些真实和造假面部序列的示例。第一和第二行来自真实面部。第三行和第四行分别来自两张照片,尺寸分别为48x33mm和76x55mm。最后一行来自打印图像。这些框选出来的人脸都是通过是手工切割而来的。表中列出了这些图像序列的频率动态描述子(FDD)和高频描述子(HFD)的统计信息
![](https://i-blog.csdnimg.cn/blog_migrate/4b74ca95665dc969bb307ec77853923e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4036299b438790f75bbbceb3cab5143d.png)
在阈值的选取上,设定
T
h
f
d
=
0.4
T_{hfd} = 0.4
Thfd=0.4,
T
f
d
d
=
500
T_{fdd} = 500
Tfdd=500。在作者的实验中,算法的正确率高达
100
%
100%
100%。频率动态描述子(FDD)的性能优于高频描述子(HFD)。对于小尺寸的假图像,高频描述子(HFD)的值远低于
T
h
f
d
T_{hfd}
Thfd,但是对于大尺寸的假图像,即124x84mm,它们的值接近或超过
T
h
f
d
T_{hfd}
Thfd。这是因为大尺寸照片有更多的面部细节来愚弄系统。频率动态描述子(FDD)可以克服这个缺点。只要人脸定位得非常好,频率动态描述子就可以很容易地确定人脸的活性程度。表中显示,动态人脸图像序列的频率动态描述子(FDD)明显大于
T
f
d
d
T_{fdd}
Tfdd。假脸的频率动态描述子不为零的原因如下:
1) 存在一定的定位误差;
2) 光照不是我们假设的常数
除此之外,较大尺寸的人脸具有较低频率动态描述子(FFD),因为它们比小尺寸人脸更容易精确定位。虽然频率动态描述子具有更强的鲁棒性,但是高频描述子对于防止小尺寸的假面有很大的帮助。而且,该描述子的计算量非常低。频率动态描述子需要人脸的良好定位,这本身就是一个难点。
![](https://i-blog.csdnimg.cn/blog_migrate/dacf1041ecc0deb5239926d210645533.png)
结论与个人观点
结论:
本文提出利用傅里叶域对真假人脸进行区分,引入了单帧预测与多帧联合预测。活体检测是通过分析人脸图像的高频描述子和频率动态描述子来实现的,这些描述子反映了活体人脸的生理特征。高频描述子对于防止小尺寸假图像的欺骗是非常有效的,频率动力学描述子更能成功地发现诸如在摄像机前移动大尺寸假图像等欺诈行为。该算法具有计算简单的优点。此外,为了减少光照变化的影响并完全自动执行,需要更鲁棒的算法
个人观点
本文提出的傅里叶域分析法是一种鼓舞性的观点,其本质是图像纹理的差异。论文中将造假面部诸如照片、打印纸等都是二维攻击平面,其对于光的反射以及表面法线与真实人脸的三维面部区分度很大,但是对于3D面具的造假,文中并未提及,我认为三维造假面具的表面法线与真实人脸区别不大,并且3D面具的大小可以制造成与人脸等大
如果不考虑皮肤与材料对反射光的影响,我认为3D面具与真实人脸在反射角度也非常相似。因此,此篇论文提出的观点对于区分平面攻击是很有用的
文中表示人脸的精确定位同样影响着判定的结果,实验中的人脸框选全部采用手工进行,这也表明了背景的混入以及人脸的对齐误差对于实验结果具有一定的影响