CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

栏目: 编程工具 · 发布时间: 5年前

内容简介:本文转载自52CV群友王哲的知乎文章:https://zhuanlan.zhihu.com/p/70606223

我爱计算机视觉 标星,更快获取CVML新技术

本文转载自52CV群友王哲的知乎文章:

https://zhuanlan.zhihu.com/p/70606223

今天我们来看一篇今年的CVPR,来自于腾讯AI的 Face Anti-Spoofing Model Matters, So Does Data

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

出自上海交通大学与腾讯AI Lab。

所有范畴:单目可见光静默活体

论文地址:

http://openaccess.thecvf.com/content_CVPR_2019/papers/Yang_Face_Anti-Spoofing_Model_Matters_so_Does_Data_CVPR_2019_paper.pdf

主要贡献:

  • 提出一个很容易操作的收集大量数据的方法,包含人工伪造攻击样本和在伪造的基础上扩增,也证实了这批数据对人脸防攻击研究非常非常重要;

  • 提出新模型,用时空+注意力机制来融合全局时域信息和局部空间信息,用于分析模型的可解释行为;

  • 明显提升了多个AS( Anti-Spoofing,下同 )数据集的SOTA,为实际应用构建靠谱的解决方案同时让业界看到了希望的方向……(好热血的翻译)

简介

和其他活体论文一样,作者的研究背景依旧是现有模型泛化能力差、依赖于其他辅助信息,不能满足实际应用。所以呢,作者研究了收集数据的方法、提出Spatio-Temporal Anti-Spoof Network(STASN,Figure1),研究成果大幅提升了AS数据集上的SOTA,实验结果证实STASN具有自动搜索有效区域(能够区真人与攻击的区域)的能力,并能从这些区域中找到证据细节(摩尔纹,屏幕反光,屏幕边界等)。下面我会详细说明数据扩增和STASN这两部分。

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

数据

论文中说的这批数据的攻击样本分为两部分:人工伪造的攻击样本和在伪造的基础上做数据扩增的样本;真人视频和攻击视频各有5000个,收集和制作这1w条视频共花了1个月时间。

先说真人样本和人工伪造攻击,作者用 Python 脚本从网上爬了5000条有真人的视频,每一条都用Dlib筛选出5-10s,真人样本就准备好了;

作者用不同的设备播放真人视频在用不同设备翻拍,播放设备包括三种iPhone、超过十种常见的安卓手机、iPad、安卓平板以及台式机和笔记本的屏幕,翻拍设备包括常见的iPhone和安卓手机(光看这个数据,也知道模型效果差不到哪里去),这堆设备产生了2500个攻击视频,每个还是5-10s,两个人花了不到一个月做完的,制作的时候还要注意避免“伪造”的痕迹,比如屏幕反光、摩尔纹和屏幕边框;

重点是自动合成的这批,作者发现实际场景中的攻击样本不是分辨率低就是有反光+透视畸变,就分别合成了带有模糊和透视畸变两种类型的攻击样本,共2500个视频,处理流程如下:

  1. 模糊:用大小随机的高斯核处理真人样本;

  2. 透视畸变:将真人样本裁减成设备屏幕大小,替换原本屏幕区域得到X1;将X1与某随机图像B加权叠加得到X2,B的权重为为[0, 0.2]之间的随机数;对X2做透视变换,再与随机背景图做mask叠加,即用背景替换X2透视变换产生的“0”值区域,得到目标图像。如下图所示,至此,第二部分攻击样本合成结束。

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

这种收集数据的方法看起来确实没多复杂,但同时操作十几台手机还是有点难搞的,两个人一个月做完真的非常非常高效了,作者好像没考虑打印攻击哎~

模型

A 网络结构:

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

如Figure 3 所示,本文提出的TSASN分三部分,Temporal Anti-spoofing Model(TASM),Spatial Anti-spoofing Model(SASM)和Region Attention Model(RAM),被作者给予最大篇幅描述的是RAM,这也很好理解,毕竟另外两部分真的没什么可说的,普通的不能再普通的常规操作。

  • Temporal Anti-spoofing Model(TASM)

这部分是个CNN-LSTM结构,BackBone用的ResNet 50,用在ImageNet上预训练的权重提特征,后面接一GAP,丢进SoftMax分类,就这么简单暴力;

  • Region Attention Model(RAM)

视频动作捕捉这部分是整篇文章的highlight,RAM用来产生SASM的输入,也就是模型认为对分类更重要的区域。

作者先用图像中心做初始化在原图产生先验框,再学习相对这些先验框的偏移量,对backbone提取的特征,Fk,M*2048*7*7维特征产生M*2048*K*2个预测值,K是先验框的数量。

作者发现直接用中心点做初始化不太行,就改成了Grad-Gram初始化,效果有提升。后续操作是对Fk产生heat map,双线性插值上采样到原图大小,再接个均值池化,得到4*4的score map,从中选出top K,丢到SASM。

  • Spatial Anti-spoofing Model(SASM)

SASM有多个branch,RAM产生多少个crop,就有多少个branch,这些分支都是完全一样的网络结构,共享参数;提取特征后接1*1卷积,2048维->256维,再把K个256维的特征拼一起,丢进SoftMax分类,依旧粗暴。

整个TSASN产生两个分类结果,测试的时候,作者把时域和空域的活体得分合到一起,具体怎么合的,没说。

B 训练:

作者分三个stage训练TSASN,第一步,先用ResNet的与训练权重初始化TASM,再用活体数据微调5 个epoch;第二步,固定TASM参数,配合Grad-Gram算法训练RAM和SASM,5个epoch;最后把学习率*0.1,端到端训练整个网络。

实验

作者使用的超参不在此赘述了,实验也都在常用的数据集上做的,Oulu,Siw,Replay-Attack等,也分别对注意力机制模块和初始区域搜索做了模型简化实验。

值得一提的是,作者使用自己的数据做了对比实验,即对比使用自有数据和不使用自有数据预训练TASM的模型在公开数据集上的性能差异……这个有点迷的。

先看下简化实验的结果,实验在Onlu数据集上进行的,遵循protocol1和protocol3,如Table 1,增加RAM和区域搜索都能提升分类精度,没毛病。

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

再看不同公开数据集上的结果和其他算法的对比,如Table 2和Table 3所示,‘Ours+’表示用自有数据预训练过TASM的版本。从Table 2上来看,在Onlu上,‘Ours+’遍地开花,取得最多SOTA,没用自有数据预训练的就没那么出彩了,很普通;Table 3展示Siw上的实验结果,只把MSU的Binary or Auxiliary Supervision这篇哪来比较了一下,成绩平平。

重头戏来了,跨数据集的实验结果,作者用CASIA-MFSD和Replay-attack分别作训练集测试集,交叉测试,见Table 4,‘Ours+’以绝对优势取得sota,‘Ours’依旧成绩平平。

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

分析

可能是作者自己也怀疑模型本身的贡献太少,就对RAM结果和分类结果做了可视化,如图Figure 5,把ResNet50提出的特征降到2维,用Grad-Gram做区域搜索,这里区域的个数为4,这里的分类结果是对每个图像中白色框内的区域预测得到的。

作者并没有说这个实验有没有用到自己的数据预训练,也没说这是在哪个数据集上进行的:-) 可以看到两类样本的在2维坐标系上分的很开,白框好像没什么规律啊,很多都取到背景上,这能证明什么?作者又有解释;看Figure 6,白色框为先验框,橘色为模型预测框,这三对例子说明啥?对于真人,attention 区域都在面中部,而攻击呢,都在边缘、背景处,这…我不知道该怎么评价了,一口老血…

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

总结

这篇19年的CVPR,提出了powerful and robust 模型(作者自己说的),模型本身利用了时域、空域和attention的信息,还用自有数据集做了预训练,在多个数据集上取得sota;后续实验也证实了大规模数据,尤其是和真实场景相近的数据在实际使用时很重要。(废…)

这篇文章提出的收集样本的方法、CNN-LSTM结构、Attention的使用都是有章可循,但是对于其中的一些细节,我不是很理解,总结如下:

  1. 在3.1中,作者提到做样本时要尽量避免人工“伪造”的痕迹,比如屏幕反光、边框入镜等,但是摘要最后一句却强调了模型正是把这些细微证据作为分类依据,实验部分也证实了这一点。对于单目活体算法,样本的监督信息很有限(活体标签),攻击媒介的表达仅仅能体现在这些痕迹中,为什么要在做样本的时候尽量避免这些呢,是为了让模型学到和这些无关的特征么?个人觉得没有这必要,这样反而会给人前后矛盾的感觉。

  2. 在3.2中,作者总结出实际场景中的攻击有模糊和透视畸变两种特点,这是怎么得出来的啊?!在生成透视畸变样本的过程中还专门合成了反光的效果,这难道是模拟不是那么精细设计的攻击嘛(相比于3.1)?对于那个随机背景,在真正使用样本的时候,人脸检测器只把人脸区域抠出来,背景根本用不到啊!如果背景都能框进去,那这个检测器是不是不太行啊!

  3. 在第6部分对模型做分析时,放大Figure 5可以看到很多白色的框都框在背景上…这是人脸防攻击的实验,扣一块背景去做分类,能说明啥啊!和人脸有啥关系么?把人头轮廓裁剪下,就可以轻松破解这个算法的意思嘛?

  4. Table 2、Table 3和Table4的结果给人感觉模型没啥贡献,数据越多越好使,这有什么好证明的么?!看的我好疑惑啊!体现不出交叉测试的结果哪里SOTA……

  5. 对于CNN-LSTM分支,作者也没做对比实验,所以TASM的贡献是啥?

  6. 欢迎任意方式的吐槽~~~

(欢迎文末留言探讨,作者会看到的)

活体检测专业交流群

关注最新最前沿的人脸活体检测技术,欢迎加入52CV-活体检测专业交流群,扫码添加CV君拉你入群(如已为CV君好友,请直接私信, 不必重复添加 ),

请务必注明:活体 ):

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

喜欢在QQ交流的童鞋可以加52CV官方QQ群: 702781905

(不会时时在线,如果没能及时通过还请见谅)

CVPR 2019 | 腾讯AI:做好活体检测,模型重要,数据亦然

长按关注 我爱计算机视觉


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Shallows

The Shallows

Nicholas Carr / W. W. Norton & Company / 2011-6-6 / USD 15.95

"Is Google making us stupid?" When Nicholas Carr posed that question, in a celebrated Atlantic Monthly cover story, he tapped into a well of anxiety about how the Internet is changing us. He also crys......一起来看看 《The Shallows》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换