活体检测 利用镜面反射特征 A Non-Intrusive Method of Face Liveness Detection Using Specular Reflection and Local Binary Patterns

A Non-Intrusive Method of Face Liveness Detection Using Specular Reflection and Local Binary Patterns
Shivang Bharadwa, Bhupendra Niranjan, Anant Kumar
Manipal Academy of Higher Education, Manipal Karnataka, India, 2019

最近在学习单目可见光静默式人脸活体检测。使用深度学习解决这个的很多篇论文都来自MSU,网上的相关解读也比较多了。这篇来自印度的论文是这周四才投递到arxiv的,一个用传统图像特征+机器学习解决人脸活体检测的方法。在NUAA活体数据集上获得了比肩深度学习方法的性能。


Specular Reflection

每张图片都有镜面分量,它能提供强力的图片光源线索,帮助人类获取物体的形状。镜面高光也被证明能很好地区分多种光照条件下照片翻拍。[16]中提出了使用图片的镜面分量区分原始和重拍照片的方法。

[17]提出了一个二色dichromatic模型,曲面一点的场景光scene radiance可以通过公式1给出:

其中I是线性相机linear camera测得的RGB色彩向量。$I_d$和$I_s$分别是散射diffuse和镜面反射色彩。$C_d$和$C_s$分别是散射和镜面反射分量的反射率 reflectance coefficients。

Alt text

图1说明了镜面反射对于活体攻击的区分能力。

另外也介绍了过去LBP与SVM在活体检测上的应用。

Proposed Method

因此这篇论文就将镜面反射特征和LBP特征结合,使用SVM进行分类,如图:

Alt text

完成人脸检测和归一化后,镜面反射分支将图片转换到YUV空间,并使用Y通道提取镜面反射,得到镜面反射直方图SRH;LBP分支则将图像转为灰度图,并使用$\mathrm{P}=8$ 和 $\mathrm{R}=1$的LBP提取特征,得到LBP直方图。两个直方图concate后得到最终特征,并基于它训练一个SVM进行分类。

人脸的归一化使用了人眼检测算法,将两眼角度旋转为水平,并将图片缩放使眼距和与图片左上角的距离为一个常量,最终缩放到128x128的图片。镜面反射特征的提取则参考了Recaptured photo detection using specularity distribution“Highlight Removal Method for HDR Images。最后训练使用基于径向基radial basis function的SVM进行分类。

Experiment

论文在NUAA数据集上进行了测试。得到ACC为96.07%,AUC为0.99。作为对比,Github上有个开源的活体检测项目,参考他使用各CNN在这个数据集上的成绩:

Alt text

应该说这个数据集样本较少,随着网络变深,精度逐渐下降。但从结果以及图片来看,镜面反射特征对于活体攻击区分度还是不错的,是否可以将图片及其镜面反射特征一起训练深度模型呢。另外镜面反射特征的提取方法不是特别清楚。