CVPR2019 | 人脸防伪检测挑战赛-俄初创公司夺冠, 中美企业位列二三

本文转载自:计算视觉与深度学习的小屋(BloomCV)

赛事简介

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 团队及参赛模型介绍

全部成绩信息:

注:比赛分为多个阶段,本文采用的结果为最终被CVPR2019接受的时间点的结果。

Top3的团队在美国长滩岛CVPR2019 Worshop上做了技术分享:

10:10 - 10:30 Aleksandr Parkin et al, "Recognizing Multi-modal Face Spoofing with Face Recognition Networks" (1st place, best paper)

14:50 - 15:10 FaceBagNet: Bag-of-local-features Model for Multi-modal Face Anti-spoofing (2nd place)

16:30 - 16:50 Peng Zhang et al, "FeatherNets: Convolutional Neural Networks as Ligh as Feather for Face Anti-spoofing"(3rd place)

冠军: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

【代码】AlexanderParkin/ChaLearn_liveness_challenge

【模型简评】

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

SE模块,Sequeeze-and-Excitation(SE) block,源自2017年的论文Squeeze-and-Excitation Networks,l链接:arxiv.org/abs/1709.0150。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顶会论文速攻组zhuanlan.zhihu.com

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

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

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

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

【论文】FaceBagNet: Bag-of-local-features Model for Multi-modal Face Anti-spoofing

【代码】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

【代码】github.com/SoftwareGift

【模型简评】

模型的名字叫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)

openaccess.thecvf.com/c

[4] FaceBagNet: Bag-of-local-features Model for Multi-modal Face Anti-spoofing (2nd place)openaccess.thecvf.com/c

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

[6] Squeeze-and-Excitation Networks arxiv.org/abs/1709.0150

原文发布于微信公众号 - CVer(CVerNews)

原文发表时间:2019-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券