1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 基于matlab活体检测 人脸识别中活体检测算法综述.PDF

基于matlab活体检测 人脸识别中活体检测算法综述.PDF

时间:2022-10-12 21:45:50

相关推荐

基于matlab活体检测 人脸识别中活体检测算法综述.PDF

人脸识别中的活体检测算法综述

SIGAI .9.19

原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的。

1. 什么是活体检测?

--> 判断捕捉到的人脸是真实人脸,还是伪造的人脸攻击(如:彩色纸张打印人脸图,电

子设备屏幕中的人脸数字图像 以及 面具 等)

2. 为什么需要活体检测?

--> 在金融支付,门禁等应用场景,活体检测一般是嵌套在人脸检测与人脸识别 or 验证中

的模块,用来验证是否用户真实本人

3. 活体检测对应的计算机视觉问题:

--> 就是分类问题,可看成二分类(真 or 假);也可看成多分类(真人,纸张攻击,屏

幕攻击,面具攻击)

Anti-spoofing 1.0 时代

从早期 handcrafted 特征的传统方法说起,目标很明确,就是找到活体与非活体攻击的

difference ,然后根据这些差异来设计特征,最后送给分类器去决策。

那么问题来了,活体与非活体有哪些差异?

1. 颜色纹理

2. 非刚性运动变形

3. 材料 (皮肤,纸质,镜面)

4. 图像 or 视频质量

所以这段时期的文章都是很有针对性地设计特征,列举几篇比较重要的:

Image Distortion Analysis[1],

如下图,单帧输入的方法,设计了 镜面反射+图像质量失真+颜色 等统计量特征,合并后

直接送 SVM 进行二分类。

Image Distortion Analysis[1]

Cons: 对于高清彩色打印的纸张 or 高清录制视频,质量失真不严重时,难区分开

Colour Texture[2],

Oulu CMVS 组的产物,算是传统方法中的战斗机,特别简洁实用,Matlab 代码(课题组

官网有),很适合搞成 C++部署到门禁系统。

原理:活体与非活体,在 RGB 空间里比较难区分,但在其他颜色空间里的纹理有明显差异

算法:HSV 空间人脸多级 LBP 特征 + YCbCr 空间人脸 LPQ 特征 (后在17 年的 paper

拓展成用 Color SURF 特征[12] ,性能提升了一点)

Colour Texture [2]

Pros: 算法简洁高效易部署;也证明了活体与非活体在 HSV 等其他空间也是

discriminative ,故后续深度学习方法有将HSV 等 channel 也作为输入来提升性能。

Motion mag.-HOOF + LBP-TOP[3],

DMD + LBP[4],

前面说的都是单帧方法,这两篇文章输入的是连续多帧人脸图;

主要通过捕获活体与非活体微动作之间的差异来设计特征。

一个是先通过运动放大来增强脸部微动作, 然后提取方向光流直方图 HOOF + 动态纹理

LBP-TOP 特征;一个是通过动态模式分解 DMD ,得到最大运动能量的子空间图,再分析

纹理。

PS :这个motion magnification 的预处理很差劲,加入了很多其他频段噪声(18 年新出

了一篇用 Deep learning 来搞 Motion mag[13]. 看起来效果挺好,可以尝试用那个来做

运动增强,再来光流 or DMD )

Motion mag.-HOOF + LBP-TOP [3]

DMD + LBP [4]

Cons: 基于 Motion 的方法,对于 仿人脸 wrapped 纸张抖动 和 视频攻击,效果不好;

因为它假定了活体与非活体之间的非刚性运动有明显的区别,但其实这种微动作挺难描述与

学习~

Pulse + texture[5],

第一个将 remote pluse 应用到活体检测中,多帧输入

(交代下背景:在CVPR ,Xiaobai Li[14] 已经提出了从人脸视频里测量心率的方法)

算法流程:

1. 通过 pluse 在频域上分布不同先区分 活体 or 照片攻击 (因为

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。