CVPR2019人脸防伪检测挑战赛Top3论文代码及模型解析

2019 年 12 月 22 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~


来源:知乎

链接:https://zhuanlan.zhihu.com/p/69542283

本文经作者授权转载,未经允许,不得二次转载


赛事简介


ChaLearn Face Anti-spoofing Attack Detection Challenge@CVPR2019: CVPR2019的workshop,此次比赛项目是人脸防欺诈攻击检测。

人脸防欺诈攻击检测,主要是帮助人脸识别系统判断被采集人脸是用户本人脸部,还是打印的照片,录制的视频,3D面具等伪造物,所以也叫活体检测。这项技术对于手机解锁,门禁控制,刷脸支付的安全性是至关重要的。

从技术发展上,人脸防欺诈检测可以简单地分为两大类:传统的人工特征模式识别方法和近几年兴起的CNN深度学习方法。通过在几个通用数据集上的测试,目前,深度学习方法在识别准确性上对传统方法已成碾压态势。本次比赛中,也很难见到传统方法的身影。



衡量指标


衡量人脸识别算法性能的优劣有很多不同的标准,比如FAR,FRR,TAR等,这次比赛主要依据的是TPR@10e-4 FPR作为衡量标准。

TPR (True Positive Rate)真正类率,又叫真阳率,代表预测是异常实际也是异常的样本数,占实际总异常数的比例——数值越大,性能越好

FPR (False Positive Rate)假正类率,又叫假阳率,代表预测是异常但实际是正常的样本数,占实际正常总数的比例——数值越小,性能越好

TPR@10e-4 FPR即为当FPR为10e-4时候的TPR的数值,之所以采用这种形式是因为在不同的FPR下度量的TPR是会不同的。

这个数值越大,说明算法性能越好


比赛数据集


此次比赛的数据集是CASIA-SURF,这是中科院自动化所推出的数据集,包含了1000个个体样本的21000段视频。采集设备是英特尔的RealSense SR300立体相机,同时采集了RGB,红外图,和深度图。数据集按3:1:6的比例分成了训练、开发、测试三个子集。大赛为了检验参赛模型有足够泛化能力,训练集只给了一部分。



Top3团队及参赛模型介绍


Top3的团队在美国长滩岛CVPR2019 Worshop上做了技术分享。全部成绩信息:
注:比赛分为多个阶段,本文采用的结果为最终被CVPR2019接受的时间点的结果。

冠军:Visionlabs -俄罗斯明星面部识别初创公司


VisionLabs是俄罗斯的一家专注于人脸识别、物体识别、增强现实和虚拟现实的公司,是全球视觉识别市场的领导者。


这家公司充分发挥了战斗民族的数学天赋(雪地里能格斗,回屋里能解题,能文能武。。),其技术团队由计算机视觉和机器学习专家组成,拥有独家开发的最先进的算法和技术。


VisionLabs处理了俄罗斯和独联体几百万摄像头中的数据流。占据俄罗斯和独联体人脸识别技术引进的80%份额。


美国情报局举办的全球人脸识别挑战赛(IARPA)上,包揽了识别速度和识别准确率两项比赛的冠军。美国情报局承认其人脸识别技术是世界第一。


VisionLabs 与 Facebook 和 Google 是合作伙伴关系,他们共同开发了一个开源计算机视觉平台(Facebook和谷歌为该项目提供了资金支持),这个平台整合了OpenCV和Torch两个最受开发人员欢迎的神经网络和人工智能库。他们与NVidia合作打造了人脸识别汽车钥匙。


CVPR2019的这次挑战赛上VisionLabs拿了冠军。公司长期目标是15到20年内用生物特征取代全俄罗斯的护照。

论文:
Recognizing Multi-modal Face Spoofing with Face Recognition Networks
链接:
http://openaccess .thecvf.com /content _CVPRW_2019/papers/CFS/Parkin_Recognizing_Multi-Modal_Face_Spoofing_With_Face_Recognition_Networks_CVPRW_2019_paper.pdf

代码:

AlexanderParkin/ChaLearn_liveness_challenge

链接:

https://github.com/AlexanderParkin/ChaLearn_liveness_challenge


模型简评:


模型基于经典的ResNet-34和ResNet-50做backbone,加入了SE模块。

SE模块,Sequeeze-and-Excitation(SE) block,源自2017年的论文Squeeze-and-Excitation Networks,l链接: https://arxiv.org/abs/1709.01507 。SE block并不是一个完整的网络结构,而是一个子结构,可以嵌到其他分类或检测模型中,比如下图是SE-ResNet:
SENet的核心思想在于通过网络根据loss去学习特征权重,使得有效的feature map权重大,无效或效果小的feature map权重小的方式训练模型达到更好的结果。当然,SE block嵌在原有的一些分类网络中不可避免地增加了一些参数和计算量,但是在效果面前还是可以接受的。

夺冠技巧:

正如visionlab自己总结的那样,他们的算法之所以solid,是在数据处理,模型架构,参数初始化三个方面的优势累积的结果。

一、 对训练集的巧妙拆分

为了提高模型的泛化能力和鲁棒性,不仅仅能够识别训练集里面的攻击类型,也能够对测试集里未知的攻击具备识别能力,作者将训练集拆成三份。每一份里面含有两种攻击,然后第三种攻击作为测试。训练的时候,将三个网络看成一个单一模型,对预测结果分数进行平均。

二、  MLFA blocks 多层次特征聚合模块

即Multi-level feature aggregation,使用随机权重初始化MLFA,再用最好的学习策略进行训练,会发现包含MLFA blocks的错误率比不包含的降低了1.5倍。原因是,MLFA blocks可以充分利用来自不同模态粗细层级的特征进行融合。

三、使用多个不同任务的预训练模型fine-tuning

因为训练数据有限,使用预训练模型进行模型参数初始化时很常见的技巧。visionlabs为了让防欺诈模型具有更广泛的人脸特征学习能力,使用了人脸识别和性别检测的预训练模型作为初始化参数,然后在四个数据集上进行fine-tuning。结果证明,对于目标任务的不同预训练模型进行特征迁移是有作用的,使用多种人脸相关任务的综合结果能够提高系统的稳定性和性能。

一系列技巧,让冠军的方案TPR@FPR=10-4已经无限接近100%;但是,这个模型并不是完美的,因为网络复杂,子模型众多,还有SE模块这种子结构增加了系统复杂性,使得它准确率出色,速度却比较尴尬,不能达到实时。这也是该团队下一步的工作重点。


亚军:上海阅面科技有限公司-中国视觉AI新秀 


阅面科技是上海交大AI博士赵京雷的初创公司,成立于2015年的上海。


定位明确,致力于在低功耗AI芯片端进行视觉AI应用的开拓,拥有一系列行业领先的核心技术。


核心研发团队由来自阿里、百度、以及卡内基梅隆大学的顶尖人工智能研发人员组成。

论文:
FaceBagNet: Bag-of-local-features Model for Multi-modal Face Anti-spoofing
链接:
http://openaccess.thecvf.com/content_CVPRW_2019/papers/CFS/Shen_FaceBagNet_Bag-Of-Local-Features_Model_for_Multi-Modal_Face_Anti-Spoofing_CVPRW_2019_paper.pdf


代码:

SeuTao/CVPR19-Face-Anti-spoofing

链接:

https://github.com/SeuTao/CVPR19-Face-Anti-spoofing


模型简评:

注:阅面科技是前三名里唯一不提供pretrained model下载链接的团队,截止发稿时间未回答预训练模型相关的问题,保持了十足的神秘感,也给其他人复现其比赛结果造成了一定的障碍。

他们提出了一个带有模态特征擦除功能(MFE)的多路CNN架构,因为其中借鉴了BagNet的思想,故名为FaceBagNet。从短短5页的论文中,可以看出该团队主要使用了2个方法来提升比赛成绩:

一、 patch-based 特征学习

因为欺诈相关的区别性信息遍布于整个脸部区域,所以使用CNN去提取patch级别的图片信息。常见的基于patch的方案,会把整个脸部分割成数个互相不交叠的固定区域,然后每个区域训练一个独立的子网络。

本文的使用方法,对于每一个模态,训练一个单一的CNN随机从脸部获取patch。然后,使用他们自定制的ResNext网络提取特征。网络中包括五组卷积模块,一个GAP,一个softmax层。
结果证明,基于patch的特征对于不同的欺诈攻击具有很高辨别能力。

二、使用MFE模块进行multi-stream融合

RGB,IR,depth三种模态各有一个独立的子网络,三个子网络提取的特征肯定是不同的。在第三个卷积模块后,将特征图进行拼接。这是不同模态结果进行融合的方案。

为什么要使用MFE模块呢?因为这里面有一个问题,直接简单的拼接不同模态的channel,无法充分利用不同模态之间的关联特性。为了防止过拟合和更好的进行特征学习,于是引入了MFE,即Modal Feature Erasing。训练的时候,随机选择一个模态的特征输入进行擦除(其实就是置零)。结果证明,这招有效防止了过拟合。dropout的既视感。

季军:英特尔公司+华科大


英特尔,没什么好说的,老牌美企,半导体行业的常青树,对深度学习领域不断投注资本(并购狂魔)。这次的季军来自位于上海的亚太研发中心,鉴于英特尔长期致力于和国内高校进行合作研究,论文也属名了华科大。

论文:
FeatherNets: Convolutional Neural Networks as Ligh as Feather for Face Anti-spoofing
链接:
https://arxiv.org/pdf/1904.09290.pdf


代码:

https://github.com/SoftwareGift...

链接:

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


模型简评:

模型的名字叫FeatherNet,寓意轻如鸿毛,是轻量级的神经网络模型。主要有两个特色方法:

一、Streaming Model 流模块

主要是替代全局平均池化GAP(Global Average Pooling)。


GAP被众多state of the art 目标检测网络采用,比如ReasNets,DenseNet,MobileNetV2,ShuffleNetV2,非常主流,适合降维和防止过拟合。但是在人脸相关的任务中,GAP对准确性却容易造成负面影响,主要原因在于其中的“equal importance”不适合人脸任务。为什么呢?简而言之,人脸图像不同于一般的目标检测图像,中心区域应该比边缘区域享有更高的权重,GAP是无法做区域权重区分的。能做到这一点的,一个可能选择是全连接层,但是会大量增加模型参数和过拟合的风险,不可取。


作者选用了(DWConv)Depthwise convolution layer来解决这个问题,读者会觉得有点儿眼熟,因为在2018年有一篇论文“Mobilefacenets: Efficient cnns for accurate real-time face verification on mobile devices. ”,里面就论证了Global Depthwise Convolution (GDConv) layer对于人脸任务的有效性。

根据测试结果,Streaming module比GAP精确度更高,又不会像FC层显著增加参数和过拟合风险。

这就是为什么要多读相关领域的论文,因为拿来主义经常很奏效!

二、multi-result fusion

多模态数据的结果最终一定是要融合的,具体到融合的策略就八仙过海各显神通了。FeatherNets选择的是传统的cascade级联的方法,设计了一种新的融合分类器体系结构,将从多模态数据(depth 和 IR 数据)中学习到的多模型进行组合和级联;具体架构如下:1.基于depth images先判断好区分的样本,输出real和fake的结果;2.将上一阶段不好确定的样本再通过IR images再判断一轮,输出最终结果。



结语


显而易见,基于CNN的深度学习方法已经彻底改变了人脸防欺诈检测领域的发展轨迹,就如同DeepFace等技术也改变了人脸检测,人脸识别等其他领域的发展轨迹一样,可以成为一场正在进行的技术革命;

对于这项挑战赛,在数据集、评价方法都已经限定的情况下,结果就是一切。相对于一般的CVPR文章,创新性的考核实际是被削弱了的。而能够决定分数的,实际是经验和技巧。不难发展,名列前茅的参赛选手,都在Kaggle等比赛平台上经验丰富,硕果累累。论文是调试技巧的强行归纳,这也是为什么论文都比较短的原因。

拿来主义一直是很有效的。当然,这里的拿来主义并不是贬义的,更不是简单的搬运,而是基于对大量论文的涉猎,通过深入的理解消化和融会贯通,而获得的对问题本质的敏锐洞察力,和对潜在的解决方案的横向连接能力。无他,唯手熟尔。

Top3的方案不约而同地采用了PyTorch平台进行实现。所以,平台之争孰为王者又多了一个有力例证。


参考文献

[1] ChaLearn Face Anti-spoofing Attack Detection Challenge@CVPR2019,link

[2] Shifeng Zhang, Xiaobo Wang, Ajian Liu, Chenxu Zhao, Jun Wan, Sergio Escalera, Hailin Shi, Zezheng Wang, Stan Z. Li, " CASIA-SURF: A Dataset and Benchmark for Large-scale Multi-modal Face Anti-spoofing ", arXiv, 2018 PDF

[3] Aleksandr Parkin et al, "Recognizing Multi-modal Face Spoofing with Face Recognition Networks" (1st place)

http://openaccess.thecvf.com/content_CVPRW_2019/papers/CFS/Parkin_Recognizing_Multi-Modal_Face_Spoofing_With_Face_Recognition_Networks_CVPRW_2019_paper.pdf

[4] FaceBagNet: Bag-of-local-features Model for Multi-modal Face Anti-spoofing (2nd place)http://openaccess.thecvf.com/content_CVPRW_2019/papers/CFS/Shen_FaceBagNet_Bag-Of-Local-Features_Model_for_Multi-Modal_Face_Anti-Spoofing_CVPRW_2019_paper.pdf

[5] Peng Zhang et al, "FeatherNets: Convolutional Neural Networks as Ligh as Feather for Face Anti-spoofing"(3rd place) https://arxiv.org/pdf/1904.09290.pdf

[6] Squeeze-and-Excitation Networks https://arxiv.org/abs/1709.01507




-End-


*延伸阅读





CV细分方向交流群


添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群(已经添加小助手的好友直接私信),更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流一起来让思想之光照的更远吧~



△长按添加极市小助手


△长按关注极市平台


觉得有用麻烦给个在看啦~  

登录查看更多
47

相关内容

【CMU】基于图神经网络的联合检测与多目标跟踪
专知会员服务
54+阅读 · 2020年6月24日
专知会员服务
109+阅读 · 2020年3月12日
必读的10篇 CVPR 2019【生成对抗网络】相关论文和代码
专知会员服务
31+阅读 · 2020年1月10日
【紫冬快讯】夺冠!自动化所团队拔得CVPR2019 UG2+人脸识别竞赛头筹
中国科学院自动化研究所
9+阅读 · 2019年6月22日
FoveaBox,超越Anchor-Based的检测器
极市平台
10+阅读 · 2019年4月22日
【紫冬分享】自动化所团队获PRCV2018 美图短视频实时分类挑战赛冠军
中国科学院自动化研究所
10+阅读 · 2018年11月30日
CVPR 2018 |“寻找”极小人脸
极市平台
14+阅读 · 2018年7月11日
Arxiv
5+阅读 · 2019年2月28日
Arxiv
4+阅读 · 2018年12月20日
Arxiv
4+阅读 · 2018年1月19日
VIP会员
Top
微信扫码咨询专知VIP会员