论文链接:https://openaccess.thecvf.com/content/CVPR2022/papers/Wang_Domain_Generalization_via_Shuffled_Style_Assembly_for_Face_Anti-Spoofing_CVPR_2022_paper.pdf

动机

人脸识别系统经常遭到诸如打印纸张、视频重播、3D 头模的表示攻击,一系列的 FAS 方法被提出来解决这些问题。近期,基于域泛化 (DG) 的 FAS 方法由于能在未知域中有良好的表现而受到越来越多的关注。然而,这些方法没有充分利用全局和局部图像统计的属性。此外,风格迁移可以将内容特征作为全局数据、风格特征作为局部数据进行重组,形成用于特定监督的风格化特征,如下图所示:

创新点

1)将完整的特征分为内容和风格特征,提出了 shuffled style assembly network (SSAN),该网络基于特征级风格迁移

2)为了增强与活体相关的风格信息并抑制特定域的风格信息,采用对比学习方法来控制靠近或远离 anchor 特征的风格化特征

方法论

SSAN 的整体网络结构如下图所示,首先使用两个分支来分别提取内容和风格特征并对信息进行聚合。接着,提出了一个风格打乱及重组方法来组合不同的内容和风格特征,形成风格化的特征空间。为了抑制特定于域的风格信息并增强活体相关信息,作者在风格化特征空间中使用了对比学习。

内容和风格信息聚合

内容信息通常由 FAS 中的公共因子表示,主要包括语义特征和物理属性。而风格信息描述了一些判别线索,它在 FAS 任务中可以分为两类:特定域的风格信息和与活体相关的风格信息。因此,在 SSAN 中,内容和风格特征分别由两个分支提取。具体来说,特征生成器作为浅层嵌入网络,可以捕获多尺度低级信息。随后,内容和风格特征提取器通过使用特定的归一化层(即 BN 和 IN)来收集不同的图像统计信息。

针对内容信息聚合,作者基于下列事实推测不同域存在小的分布差异:1)虽然样本可能来自不同的域,但它们都包含脸部区域,因此它们共享了一个有共同语义的特征空间;2)无论是真人脸还是假人脸,它们的形状和大小等物理属性往往是相似的。因此,作者使用对抗学习进行训练,使得模型无法区分生成的不同域的内容特征。具体来说,内容特征生成器的参数通过最大化对抗性损失函数来优化,而域判别器的参数则在相反的方向上进行优化。公式如下:

其中, 是域标签集,M 是域的个数,G 和 D 分别表示内容特征生成器和域判别器。

对于风格信息聚合,由于风格特征的尺度不同,作者以类似金字塔的方法收集多层特征。

打乱风格重组

Adaptive Instance Normalization (AdaIN) 是一种自适应风格迁移方法,它能对内容输入 x 以及风格输入 y 进行重组,公式如下:

其中, 和  是由风格输入 y 产生的仿射参数。

作者提出了 style assembly layers (SAL) 来组合内容特征和风格特征,SAL 由 AdaIN 以及带有残差结构的卷积组成,公式如下:

其中, 和 为 3*3 卷积。然而, 同时包含了与活体相关的信息以及特定于域的信息,后者可能会使网络学到偏差信息。为了缓解这个问题,作者提出了 SSA 来形成风格化特征以进行域泛化。假设 batch size 为 N, 为其中的一个输入,它的内容特征可以表示为,风格特征表示为,相应的重组特征空间 S 可以表示为:

此外,为了利用与活体相关的风格特征,作者通过打乱原始对  来合成辅助特征空间,公式如下:

风格特征的对比学习

作者提出了一种对比学习方法来强调与活体相关的风格特征以及抑制特定于域的风格特征。在重组完内容特征及风格特征后,就得到了以及。对于前者,作者将它输入到分类器中,并使用二分类 GT 来监督。对于后者,作者使用余弦相似度来测量它们与前者的差异,公式如下:

 被设置为风格化特征空间中的 anchor,如下图所示,

作者使用 stop-gradient (stopgrad) 来固定在特征空间中的位置,随后 被拉近或者远离 anchor,对比学习的公式如下:

模型的伪代码如下:

损失函数

实验结果

在源域有限的条件下,与其他算法的对比实验结果如下:

消融实验结果如下:

与 SOTA 方法的实验对比结果如下:

活体检测 Domain Generalization via Shuffled Style Assembly for Face Anti-Spoofing 论文学习记录相关推荐

  1. CVPR2019| 百度17篇CVPR论文学习记录(包含:无人驾驶、神经网络、GAN、无监督学习、目标检测)

    首先感谢现在网上资源丰富,能够获得很多人的总结,结合自身实际进行了学习记录. 并着重标注了其中关键核心 目录 1)Taking A Closer Look at Domain Shift: Categ ...

  2. 活体检测 Single-Side Domain Generalization for Face Anti-Spoofing 论文学习记录

    论文链接:https://openaccess.thecvf.com/content_CVPR_2020/papers/Jia_Single-Side_Domain_Generalization_fo ...

  3. 人脸静默活体检测最新综述

    ©PaperWeekly 原创 · 作者|燕皖 单位|渊亭科技 研究方向|计算机视觉.CNN 活体检测在人脸识别中的重要环节.以前的大多数方法都将面部防欺骗人脸活体检测作为监督学习问题来检测各种预定义 ...

  4. CVPR2022 活体检测 Adaptive Transformers for Robust Few-shotCross-domain Face Anti-spoofing

    论文链接:https://arxiv.org/pdf/2203.12175.pdf 域泛化 (domain generalization):旨在从多个源域数据集中学习一个模型,该模型能泛化到未知的数据 ...

  5. 人脸检测实战进阶:使用 OpenCV 进行活体检测

    使用 OpenCV 进行活体检测 在本篇博文中,您将学习如何使用 OpenCV 执行活体检测.您将创建一个活体检测器,该检测器能够在人脸识别系统中发现假人脸并执行反人脸欺骗. 在教程的第一部分,我们将 ...

  6. 活体检测 使用OpenCV进行 运动检测

    原文链接 活体检测 使用OpenCV进行 运动检测 在 2019年7月19日 上张贴 由 hotdog发表回复 活体检测 使用OpenCV进行 运动检测 在本教程中,您将学习如何使用OpenCV执行 ...

  7. Android接入advance活体检测

    Android接入Advance.Ai活体检测 Api (安卓活体检测) 通过摄像头实时采集动态影像.识别人物面部表情,以此检测.验证用户的真实性与可靠性. advance.ai 系统已针对印度尼西亚 ...

  8. CVPR AAAI 2020 |人脸活体检测最新进展

    本文原载自知乎,已获作者授权转载,请勿二次转载. https://zhuanlan.zhihu.com/p/114313640 今年活体检测(FAS)比较火热,这块的文章投稿和录用量剧增,AAAI录了 ...

  9. 活体检测综述 Deep Learning for Face Anti-Spoofing: A Survey 阅读记录

    论文链接:Deep Learning for Face Anti-Spoofing: A Survey | IEEE Journals & Magazine | IEEE Xplore 代码链 ...

最新文章

  1. 收集的一些主流网站的GA代码
  2. [SQL]死锁处理语句
  3. 替换敏感字符,统计,乘法表,函数
  4. 我的第一个Python程序(简单的用户名密码登录程序)
  5. 一个复平面上的不等式
  6. python apk fr_Python fr包_程序模块 - PyPI - Python中文网
  7. 不固定个数的子元素自适应居中
  8. 【JAVA】虚拟机指令集
  9. (1)Jenkins Linux环境下的简单搭建
  10. 时间表达式java定时器_quartz定时任务时间表达式说明
  11. 第五章-----Java数组及排序
  12. 服务器报错 http error 503.the service is unavailable怎么解决
  13. 支付宝17年新春红包技术体系剖析
  14. 微信二维码活码制作管理系统源码+独立版网站
  15. 小米应用商店如何做优化?有哪些方式 ?
  16. 分享的山 换个地图打开成了海
  17. 【leetcode】592.分数加减运算(python)
  18. 尚硅谷java多线程
  19. PyGame 英文打字游戏
  20. 记一下终于用iverilog搭建好仿真环境

热门文章

  1. 什么是Linux内存管理中的RSS和VSZ
  2. 微信分享本地视频到朋友圈,收藏或者对话
  3. Map嵌套Map遍历
  4. 从云计算到容器到容器云
  5. 抖音最近很火的游戏直播:挤地铁教程+源码+软件下载
  6. win7系统下安装LINUX系统教程
  7. 三点法求三维坐标精度误差评估实验
  8. 云计算工程师必备技能
  9. 在uniapp的小程序中使用自己的字体库
  10. 如何用html写抖动效果,利用transition实现文字上下抖动的效果