当前位置:网站首页>活体检测PatchNet学习笔记
活体检测PatchNet学习笔记
2022-07-31 05:15:00 【Cassiel_cx】
论文题目:PatchNet: A Simple Face Anti-Spoofing Framework via Fine-Grained Patch Recognition
一、创新点
(1) 将 FAS 重新定义为细粒度的 patch 识别问题,并提出了名为 PatchNet 的简单框架。以patch 为输入可以增加数据的多样性,使模型学习类似人脸识别中的 embedding space,还可以使模型捕获来自局部 patch 的内在信息,防止网络过拟合数据集而引入的偏差,提升模型在未知场景中的鲁棒性。
(2)提出了基于非对称 Margin 的 Softmax Loss 和 Self-supervised Similarity Loss 来监督 PatchNet 训练。 前者有助于学习更通用的 patch 嵌入空间来解决活体和假体之间的不对称性,后者可以强制来自同一图片的不同 patch 的特征保持不变。
二、动机
以前的 FAS 方法受到数据集的规模大小和多样性的限制。作者观察到,使用二元分类模型在此类数据集上进行训练容易过度拟合。此外,网络在这类数据集中训练容易过拟合,这使得模型学习到的特征在未知的测试场景中很容易受到攻击。因此,近期的 FAS 方法利用辅助像素级监督信息 (如,binary mask 和 pseudo depth map)作为强大的先验知识,以在未知的测试场景下拥有更好的鲁棒性。然而基于整图输入的 FAS 模型缺乏捕获局部细粒度内在信息的能力,因此作者将 FAS 重新定义为细粒度的局部 patch 识别问题。
三、PatchNet
(1)总体框架
如图1所示,作者将 FAS 重新定义为细粒度的 patch 识别问题,并提出了一个简单的训练框架来有效地学习特征。首先对原始图像进行一定的变换 (此类变换不会导致图像失真) 以获得 patch 输入,然后通过编码器提取特征并在特征空间中进行归一化。此外,作者根据假体材料和捕获设备对类别进行精细划分。
图1 PatchNet 整体框架
受人脸识别方法的启发,在训练过程中,采用了基于角边距的 softmax 损失,它可以强制类内特征紧凑分布,并具有更好的泛化能力。此外,由于欺骗样本之间的分布差异大于真人样本,作者对活体样本和假体样本进行不对称处理:强制模型在活体样本中学习更紧凑的分布,同时使欺骗样本在特征空间中更加分散。作者还修改了基于角边距的 softmax 损失,将不对称边距应用在损失函数中,对活体类型施加更大的角距以获得更紧凑的边界。最后,自监督的相似性损失通过将对比损失中对正样本对之间的处理应用于来自同一图像的两个不同的 patch 中,进一步规范了 patch 特征。考虑到假体的欺骗信息在空间上存在于整个面部区域,那么来自同一面部捕获的两个不同 patch 之间的特征应该是相似的。
(2)提取 patch 特征
使用的数据增强策略应避免导致图像失真,给定原始人脸图像 ,对来自
的两个 patch 进行数据增强,公式如下:
其中, 和
是一系列非失真增强操作,只包含随机水平翻转、随机旋转和固定大小裁剪。
然后将两个输入 patch 前向传播到编码器和归一化层以获得最终特征,公式如下:
其中, 为编码器,
为归一化层。
(3)细粒度的 patch 识别损失
假设在训练集中有 N 个 patch 类别,它由 k 个 活体 和 N-k 个假体类别组成。每个输入都属于一个细粒度 ground truth ∈ {
,
, ...,
,
,
, ...,
}。Angular-Margin Softmax Loss 有很多变体,常用于人脸识别,以提高对开放数据集身份的泛化能力。在这项工作中,作者使用 AMSoftmax 损失来优化细粒度的 patch 识别模型并对其进行修改以解决 FAS 中的不对称性质。具体来说,分别对活体和假体类别的输入施加不同的裕值
和
。活体和假体类别分别为:
修改后的 AM-Softmax Loss 公式如下:
来自同一图像的两个增强 patch 上的非对称识别损失公式如下:
(4)自监督相似损失
给定来自同一人脸图像的两个不同 patch,应用自监督的相似性约束来强制特征相似。公式如下:
(5)训练和测试
总体损失如下:
其中, 和
是用于平衡两个损失影响的权重,在实验中都设置为1。
在测试时,给定一张测试人脸图像,首先从整个图像中统一裁剪 patch 进行网络推理,patch 大小与训练过程中的一致。假设有来自一张人脸图像的 P 个裁剪块特征,最终的预测分数为对 P (默认值为 9) 个patch 的分数取平均值,公式如下:
四、实验
OULU-NPU、SiW、CASIA-FASD、Replay-Attack、MSU-MFSD 被用于测试。前两个数据集为包含四个和三个协议的大规模高分辨率数据集,用于验证泛化能力。后三个数据集是包含低分辨率视频的数据集,用于跨数据集测试。五个数据集的信息如表 1 所示:
表 1 FAS 数据集统计数据
训练集中的人脸图像使用 RetinaFace 进行检测和裁剪获得,patch 的大小为160*160。超参数设置为:s = 30.0,,
。实验中使用 ResNet18 作为特征编码器、SGD 作为优化器,初始学习率为 0.002,训练 epoch 为 200,学习率每 90 epoch 下降为原来的一半。测试时,patch 的裁剪大小与训练时一致,裁剪框 x, y 坐标的最小值为裁剪大小的一半,最大值分别为:
在 OULU-NPU 数据集上的测试结果如表 2 所示:
表 2 OULU-NPU 测试结果
在 SiW 数据集上的测试结果如表 3 所示:
表 3 SiW 测试结果
框架各模块的消融实验如表 4 所示:
表 4 消融实验结果
patch 裁剪大小对模型的影响如图 2 所示:
图 2 patch大小选择之间的比较
在 CASIA-FASD、Replay-Attack 数据集上的测试结果如表 5 所示:
表 5 CASIA-FASD、Replay-Attack 测试结果
在四个跨数据集协议上评估结果如表 6 所示:
表 6 四个跨数据集协议上评估所提出方法的不同组件
PatchNet 与 SOTA 方法在四种域泛化协议上的比较结果如表 7 所示:
表 7 与 SOTA 方法的对比实验结果
来自 OULU-NPU 的5种不同类型的 patch 分数图如图 3 所示:
图 3 patch 分数图
五、结论
PatchNet 能有效地将 patch 特征映射到嵌入空间,修改后的 AM-Softmax Loss 能够增强特征识别能力。
边栏推荐
- jenkins +miniprogram-ci 一键上传微信小程序
- Build vulhub vulnerability shooting range on kali
- 理解js运算符
- [Ubuntu20.04 installs MySQL and MySQL-workbench visualization tool]
- 5 methods of MySQL paging query
- qt:cannot open C:\Users\XX\AppData\Local\Temp\main.obj.15576.16.jom for write
- MySQL高级学习笔记
- flutter 混合开发 module 依赖
- powershell统计文件夹大小
- Navicat从本地文件中导入sql文件
猜你喜欢
jenkins +miniprogram-ci 一键上传微信小程序
VS通过ODBC连接MYSQL(一)
VTK环境配置
Build DVWA with phpstudy
Take you to understand the MySQL isolation level, what happens when two transactions operate on the same row of data at the same time?
[uiautomation] Get WeChat friend list (stored in txt)
Navicat从本地文件中导入sql文件
The latest MySql installation teaching, very detailed
MySql to create data tables
[windows]--- SQL Server 2008 super detailed installation tutorial
随机推荐
Several solutions for mysql startup error The server quit without updating PID file
Artifact SSMwar exploded Error deploying artifact.See server log for details
ERROR Error: No module factory availabl at Object.PROJECT_CONFIG_JSON_NOT_VALID_OR_NOT_EXIST ‘Error
js中的break与continue退出
Why does read in bash need to cooperate with while to read the contents of /dev/stdin
Filter out egrep itself when using ps | egrep
The feign call fails, JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
QT VS中双击ui文件无法打开的问题
For penetration testing methods where the output point is a timestamp (take Oracle database as an example)
360 加固 file path not exists.
VS2017连接MYSQL
UiBot has an open Microsoft Edge browser and cannot perform the installation
[windows]--- SQL Server 2008 super detailed installation tutorial
js中的对象与函数的理解
cocoscreator 显示刘海内容
DeFi Token in the project management
[Cloud native] Open source data analysis SPL easily copes with T+0
js中的this指向与原型对象
VS通过ODBC连接MYSQL(二)
Chinese garbled solution in UTF-8 environment in Powershell