CVPR-2019 workshop

code:https://github.com/SoftwareGift/FeatherNets_Face-Anti-spoofing-Attack-Detection-Challenge-CVPR2019


文章目录

  • 1 Background and Motivation
  • 2 Related Work
  • 3 Advantages / Contributions
  • 4 Method
    • 4.1 FeatherNet Architecture Design
    • 4.2 Multi-Modal Fusion Method
  • 5 Experiments
    • 5.1 Datasets
    • 5.2 Implementation Detail
    • 5.3 Result Analysis
    • 5.4 Competition details
  • 6 Conclusion(own)

1 Background and Motivation

人脸活检对人脸识别系统的重要性不言而喻,随着科技的发展,人脸识别系统渐渐被部署到了 mobile or embedded environments 中去了。这不仅对活检算法的精度提出了高的要求,同时速度也尤为重要!

因此,作者 to address the issues of computational and storage costs,设计了 FeatherNets 轻量级网络,力求又快又准的进行 face presentation attacks detection!

2 Related Work

  • Traditional
    crafted features detection(LBP / SIFT / SURF / HOG / DoG) + SVM / Random Forest 二分类(liveness or not)

  • CNN based

    • RGB frame
    • RGB frame + depth or rPPG(remote photoplethysmography)
    • RGB + depth + IR(infrared)

本文作者只用到了 depth + IR 的信息

3 Advantages / Contributions

  • third place in CVPR 2019 ChaLearn Face Anti-spoofing attack detection
  • 提出了轻量级的 face anti-spoofing 网络结构—— FeatherNet,with Streaming Module(替换 Global Average Pooling,GAP)
  • 采用了 ensemble + cascade 的 模型 fusion 方式
  • 收集公开了新的数据集——Multi-Modal Face Dataset(MMFD),用作 data augmentation(让 depth 图更有层次感)

4 Method

1)Streaming module

2)ensemble + cascade(fusion procedure)

4.1 FeatherNet Architecture Design

1)The Weakness of GAP for Face Task

GAP 是把 H×W×C 的 feature maps 平均 pooling 成 1×1×C,


《Understanding the effective receptive field in deep convolutional neural networks》(NIPS-2016)

在 face 应用中,输入图片只有 face,因此中心的比边缘的点应该更重要,RF1 比 RF2 有更大的 effective 感受野,也即空间上不同的位置重要性不太一样,GAP 的 equal importance(用人均 GDP 来衡量每个人的财富情况) 显得不太合适

用全连接可以规避 GAP 带来的影响,但是计算代价又太高了,偏离了作者 light-weight 的理念,而且全连接参数太多了也容易过拟合

2)Streaming Module

GAP 的 equal importance 不太适合 face tasks,FC 虽然能保证 different units 有 different importance,但是太复杂!

作者折衷一下,用步长大于 1 的 DWConv(Depth-wise convolution) 降低分辨率(7×7×C -> 4×4×64,每个位置通过卷积权重加权了一下),然后 flatten 成特征 vector!

保证 not equal importance 的同时,也没有使得计算量过大


Streaming Module 模块是借鉴 【GDConv】《MobileFaceNets:Efficient CNNs for Accurate RealTime Face Verification on Mobile Devices》 的!

区别在于, GDConv(Global Depthwise Convolution)的 kernel size 与 input feature 的 size 相同

3)Network Architecture Detail

Table 1 and Figure 3


FeatherNet AFeatherNet B 的差别在于,FeatherNet B 中的 Block B 换成 Block C 就是 FeatherNet A

注意,每个 stage 结束后还插入了 SE attention(【SENet】《Squeeze-and-Excitation Networks》)

loss 采用的是 focal loss(【Focal Loss】《Focal Loss for Dense Object Detection》)

4.2 Multi-Modal Fusion Method

stage 1:多个模型 ensemble 一起来分类(including FeatherNet),输入是 depth map,接近 1 就是 real,接近 0 为 fake,模棱两可的送进 stage 2

stage2:用 FeatherNetB 对 IR 图像分类,来进一步决策 stage1 中模棱两可的情况

整体逻辑如下,仅打比赛的时候使用,后续实验描述中仅用到了 depth image

5 Experiments

5.1 Datasets

1)CASIA-SURF( 【CASIA-SURF】《A Dataset and Benchmark for Large-scale Multi-modal Face Anti-spoofing》)

评价指标,同 【CASIA-SURF】

APCER:attack presentation classification error rate(Fake samples 的错误率)

BPCER:bona fide presentation classification error rate(real samples 的错误率)

ACER:average classification error rate(APCER 和 BPCER 的平均值)

HTER:half total error rate (真假人脸中各自被判断错的比例之和的一半,同 ACER)

ROC:receiver operating characteristic(纵坐标 TPR,横坐标 FPR)

2)MMFD dataset

作者自己采集的,15 subjects with 15415 real samples and 28438 fake samples

也是三种模态,除了 CASIA-SURF 的 6 种攻击外,作者都采集了两种新的攻击

  • Attack A: flat face photo + eyes and mouth cut

  • Attack B: curved face photo + eyes and mouth cut

5.2 Implementation Detail

不同装置采集的 depth 图片还是有区别的,如图 6

第一行是 CASIA-SURF 中 real face 的深度图,肉眼很难分辨

第二行是 MMFD 中 real face 的深度图,非常清晰

作者为了减小这种影响,对所有 real face 进行了 MMFD scale 操作,算法流程如 Algorithm 1

scale 后效果如图 6 中第三行所示

5.3 Result Analysis

1)How useful is MMFD dataset

用 MMFD 数据集的 depth 训练,在 CASIA-SURF 上测试效果也还行,比 baseline 三模态输入还高,有点意思!

2)Compare with other network performance

仅用 depth 作为输入

3)Ablation experiments

  • Why AP-down in BlockB(Fig.3 (b))
    Model1 vs Model2,用了效果会好一些
  • Why not use FC layer
    Model1 vs Model3,采用作者的 streaming module 后,加 fc 效果变差
  • Why not use GAP layer
    Model3 vs Model4,streaming module 比 GAP 好

5.4 Competition details

上述实验都只是用到了数据集中的 depth 图,还未涉及到 figure 4 中的 depth + IR 形成的 ensemble + cascade 策略

6 Conclusion(own)

  • 用的小 tricks 太多了吧,显得很繁琐,更偏向于技术报告,DWConv 的公式有必要绕来绕去写的那么晦涩难懂吗?

  • [31] suggested that increasing average pooling layer works well and impacts the computational cost little.(Block B 的设计指导思想)——《 Bag of tricks for image classification with convolutional neural networks

  • a fast downsampling strategy[33] is used at the beginning of our network which makes the feature map size decrease rapidly and without much parameters——【FD-MobileNet】《FD-MobileNet:Improved MobileNet with a Fast Downsampling Strategy》

【FeatherNets】《FeatherNets:Convolutional Neural Networks as Light as Feather for Face Anti-spoofing》相关推荐

  1. 2019 FeatherNets: Convolutional Neural Networks as Light as Feather for Face Anti-spoofing

    [代码]https://github.com/SoftwareGift/FeatherNets_Face-Anti-spoofing-Attack-Detection-Challenge-CVPR20 ...

  2. MobileNetV1《MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications》

    MobileNetV1<MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications> ...

  3. 【卷积神经网络】卷积神经网络(Convolutional Neural Networks, CNN)基础

    卷积神经网络(Convolutional Neural Networks, CNN),是一种 针对图像 的特殊的 神经网络. 卷积神经网络概述 Why not DNN? 图像数据的维数很高,比如 1, ...

  4. Paper翻译:《A Novel Convolutional Neural Network Based Model for Recognition and Classification of App》

    论文名称:<A Novel Convolutional Neural Network Based Model for Recognition and Classification of Appl ...

  5. 【BiSeNet】《BiSeNet:Bilateral Segmentation Network for Real-time Semantic Segmentation》

    ECCV-2018 文章目录 1 Background and Motivation 2 Related Work 3 Advantages / Contributions 4 Method 5 Ex ...

  6. 10.深度学习练习:Convolutional Neural Networks: Step by Step(强烈推荐)

    本文节选自吴恩达老师<深度学习专项课程>编程作业,在此表示感谢. 课程链接:https://www.deeplearning.ai/deep-learning-specialization ...

  7. 论文阅读:Convolutional Neural Networks for Sentence Classification 卷积神经网络的句子分类

    Convolutional Neural Networks for Sentence Classification 卷积神经网络的句子分类 目录 Convolutional Neural Networ ...

  8. 【D2Det】《 D2Det:Towards High Quality Object Detection and Instance Segmentation》

    CVPR-2020 Pytorch Code: https://github.com/JialeCao001/D2Det. 文章目录 1 Background and Motivation 2 Rel ...

  9. 【CutMix】《CutMix:Regularization Strategy to Train Strong Classifiers with Localizable Features》

    arXiv-2020 文章目录 1 Background and Motivation 2 Related Work 3 Advantages / Contributions 4 Method 5 E ...

最新文章

  1. python 画图_用python解九宫格以及画图
  2. 5新建没有头文件_IAR新建工程
  3. webplugin 没有画面_[问题记录] webpack devServer HtmlWebpackPlugin 没有加载 js、css
  4. 【安卓开发 】Android初级开发(十一)Android中多线程
  5. java 泛型 加_Java泛型并将数字加在一起
  6. 我的react+material-ui之路
  7. 基于静态类型分析的java程序函数调用图构建方法研究,JAVA的静态方法调用
  8. python 取模是什么意思_编程语言中,取余和取模的区别到底是什么?
  9. Jupyter Tool
  10. 森林结点数,边数与树个数的关系
  11. 从 “C语言之父” 那里学到的一些好东西!分享给你~
  12. adams功能区不显示_Word 空白的页面显示与隐藏,与五种试图的简介操作技巧
  13. antd-vue 划上表格内容显示气泡框及提示内容
  14. ubuntu20.04安装burpsuite
  15. Apple TV 4K播放原盘电影
  16. C#实例.net_经典例子400个
  17. 2022年湖南省自考考试学前教育幼儿文学练习题及答案
  18. 5分钟搞懂什么是深度学习
  19. HEVC intra MPM
  20. Qt程序无法启动,debug时提示During startup program exited with code 0xc0000135

热门文章

  1. SPSS可以制作哪些图表?
  2. oracle计算本月天数,oracle中计算某月的天数
  3. Oracle存储过程实现X日均线计算
  4. C++:实现量化SMM Caplet均匀校准测试实例
  5. ipad使用的PDF书籍没有目录怎么办?
  6. asp微信会员积分上下级团队注册,带参数推荐人的二维码,分销等级会员生成二维码海报系统
  7. 基于html5的音乐网站开题,开题报告基于HTML5的音乐网站.doc
  8. ViewModel 和 ViewModelProvider.Factory:ViewModel 的创建者
  9. 根本不赚钱,你为何还坚持写博客?
  10. 老子《道德经》里的投资之道