CVPR2022 Oral | CosFace、ArcFace的大统一升级,AdaFace解决低质量图像人脸识(二)

简介: CVPR2022 Oral | CosFace、ArcFace的大统一升级,AdaFace解决低质量图像人脸识(二)

4实验


4.1 消融实验

1、图像质量指标h的影响

如表1所示。当h=0.33时,模型表现最佳。当h=0.22或h=0.66时,成绩仍然高于curriculum face。只要把h设置成类似的情况,就仅仅只是一些变化,h不是很敏感。这里设h=0.33。

2、超参数m的影响

Margin m既对应于angular margin的最大范围,也对应于additive margins的大小。从表1可以看出:

  • 对于HQ数据集,m=0.4时性能最好,
  • 对于LQ数据集,m=0.75时性能最好。

m越大,基于图像质量的angular margin变化也越大,自适应能力越强。在后续的实验中,选择m=0.4,因为它在LQ数据集上有很好的性能,而在HQ数据集上又不牺牲性能。

3、代理选择的影响

在表1中,为了显示使用特征范数作为图像质量代理的有效性,将特征范数与其他数量进行了切换,例如(1-BRISQUE)或。使用特征规范的性能优于使用其他范数。对于训练数据集,BRISQUE评分是预先计算的,因此当使用增强训练时,它不能有效地捕捉图像质量。作者引入来说明特征范数的适应性不同于难度的适应性。

4、数据增强的影响

表2显示,数据增强确实为AdaFace带来了性能提升。HQ数据集的性能保持不变,而LQ数据集的性能显著提高。需要注意的是,数据增强会影响CurricularFace的性能,这与假设是一致的,即数据增强获得更多数据的积极效果无法识别的图像的消极效果之间的权衡。基于Margin的softmax之前的工作不包括动态增强,因为性能可能会更差。AdaFace避免了对不可识别图像的过拟合,可以更好地利用增强效果。

分析

image.png图6

为了显示特征范数以及训练样本的难度在训练过程中的变化情况,在图6中绘制了样本轨迹。从训练数据中随机抽取共计1536个样本。热力图中的每一列代表一个样本,x轴是根据上一个Epoch的范数排序的。

样本#600大约是低范数样本向高范数样本过渡的中间点。底部的图显示,许多低范数样本的概率轨迹直到最后才得到高概率。这与假设是一致的,低规范特征更可能是无法识别的图像。这证明了不太重视这些案例的动机,尽管它们是很难的案例。

低范数特征比高范数特征具有增强的样本百分比更高。对于编号为#0到#600的样本,大约62.0%的样本至少有一种类型的增强。对于#600或更高的样本,该百分比约为38.5%。

4.2 SOTA方法对比

image.png表3a表3b

4.3 局限性与影响

1、局限性

这项工作解决了训练数据中存在的无法识别的图像。然而,噪声标签也是大规模人脸训练数据集的突出特征之一。AdaFace损失函数对贴错标签的样品没有特殊处理。由于自适应损失赋予高质量的困难样本很大的重要性,高质量的错误标记图像可能会被错误地强调。未来可以同时适应不可识别性标签噪声

2、潜在的社会影响

作者认为,计算机视觉社区作为一个整体,应该努力尽量减少负面的社会影响。论文的实验使用了训练数据集MS1MV*,这是MS-Celeb的副产品,一个由其创建者撤回的数据集。

使用MS1MV*是必要的,以比较本文的结果与SoTA方法的公平对比。然而,作者认为社区应该转向新的数据集,所以作者还在最新发布的WebFace4M进行了,以促进未来的研究。

在科学界,收集人类数据需要获得伦理委员会的批准,以确保知情同意。虽然IRB状态通常不是由数据集创建者提供的,但由于收集过程的性质,假设大多数FR数据集(除了IJB-S)没有IRB。FR社区的一个方向是在知情同意的情况下收集大型数据集,促进没有社会关注的研发。

检索展示

可以看到使用AdaFace得到的gallery结果的置信度都比ArcFace要高。


5参考


[1].AdaFace: Quality Adaptive Margin for Face Recognition


6推荐阅读


YOLOv5永不缺席 | YOLO-Pose带来实时性高且易部署的姿态估计模型!!!

Transformer崛起| TopFormer打造Arm端实时分割与检测模型,完美超越MobileNet!

阿里巴巴提出USI 让AI炼丹自动化了,训练任何Backbone无需超参配置,实现大一统!

相关文章
|
网络协议 数据库 vr&ar
1. OSPF 基础实验(一):单区域
1. OSPF 基础实验(一):单区域
|
Java Python
Python调用jar包
jpype 调用 jar 包环境:python 3.6.8 + jpype1 0.6.3 + jdk 1.8“”"基本的开发流程如下:①、使用jpype开启jvm②、加载java类③、调用java方法④、关闭jvm(不是真正意义上的关闭,卸载之前加载的类)“”" ①、使用jpype开启虚拟机(在开启jvm之前要加载类路径) 加载刚才打包的jar文件path = r"C:\Users\Admi...
515 0
|
数据挖掘 PyTorch 算法框架/工具
人脸识别中的损失函数ArcFace及其实现过程代码(pytorch)--理解softmax损失函数及Arcface
人脸识别中的损失函数ArcFace及其实现过程代码(pytorch)--理解softmax损失函数及Arcface
2252 0
|
12月前
|
人工智能 安全 算法
十万奖金等你来战!第二届“隐语杯”数据挑战赛报名正式启动!
近日,国家数据局举办了2025“数据要素×”首场新闻发布会。
422 9
十万奖金等你来战!第二届“隐语杯”数据挑战赛报名正式启动!
|
安全 算法 小程序
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
1007 28
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
YOLOv11改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
1054 0
YOLOv11改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
|
PyTorch TensorFlow API
大模型中 .safetensors 文件、.ckpt文件、.gguf和.pth以及.bin文件区别、加载和保存以及转换方式
本文讨论了大模型中不同文件格式如`.safetensors`、`.ckpt`、`.gguf`、`.pth`和`.bin`的区别、用途以及如何在TensorFlow、PyTorch和ONNX等框架之间进行加载、保存和转换。
6635 2
|
编译器 Go C语言
通过例子学习在golang中调试程序
【7月更文挑战第4天】Go语言支持使用cgo进行汇编调试,官方文档在golang.org/doc/asm。注意,调试Go运行时可能遇到变量不可用或行号错误,需谨慎使用step命令。
380 1
通过例子学习在golang中调试程序
|
Java Maven 数据库
Annotation Processing Tool自动生成代码
本文介绍了一种利用Java注解处理器(Annotation Processor)自动生成协议接收与发送类接口的方法,显著提升开发效率。注解处理器能在编译阶段扫描并处理特定注解,生成所需Java代码。文中详细展示了如何通过自定义`HttpProto`注解及对应的处理器`ProtoServiceProcessor`,实现在保存协议类后自动生成客户端请求工具和服务端控制器代码。此外,还提供了具体实现步骤、依赖配置及常见问题解决方案,如处理“服务配置文件不正确”错误和Gradle项目的配置方法。此技术特别适用于需要频繁处理协议或数据交互的应用场景。
262 1
|
机器人 人机交互 vr&ar
实战 | 实时手部关键点检测跟踪(附完整源码+代码详解)
实战 | 实时手部关键点检测跟踪(附完整源码+代码详解)

热门文章

最新文章