前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人脸注意机制网络

人脸注意机制网络

作者头像
计算机视觉研究院
发布2018-04-17 13:45:57
7340
发布2018-04-17 13:45:57
举报

好久没有和大家进行学术交流,本平台也很久没有给大家推送最新的技术和知识,在此想所有关注我们平台的朋友说声抱歉,但是,我们一直在努力,为大家呈现最好的推送,今天我们推送的内容关于FACE++的一个先进技术,希望大家可以通过该技术得到很多启发,谢谢!

先看一小段视频(关于人脸检测技术视频):

视频内容

主要内容:

文章提出一种新颖的人脸检测器,叫做人脸注意网络(FAN)。在不影响速度的情况下,可以显著提高遮挡情况下人脸检测问题的召回率。更具体地说,提出了一个新的anchor level的attention机制,这将突出脸部区域的特征。集成我们的anchor分配策略和数据增强技术,在公共人脸检测基准(WiderFace和MAFA)上获得最好的结果。

本文贡献:

  • 提出了一个anchor level的attention机制,它可以很好地解决遮挡问题的人脸检测任务,如下图:
  • 精心设计的anchor setting,可以获得快速计算的性能;
  • FAN在流行的人脸检测基准上,明显优于最先进的检测器,尤其在遮挡情况下。

相关工作:

从背景上来看,对于人脸的检测,跟General detection一脉相承。从是否需要提取proposal和是否需要对这个proposal进行二次操作的角度来简单划分的话,主要分为One stage detector和Two stage detector。

这两个方法总体来说是各有利弊。One stage detector主要的优势是快速,这个主要是从工程上来说,假如你在手机上从一个256甚至更高维度的1024的channel上直接crop一个feature出来,是一个相当耗时的工作,所以one stage天然就有很好的速度优势。但是one stage有也存在不足,它由于没有后面refine的过程,在两个人脸或者是两个物体挨得比较近,或者是难以辨认的情况下,one stage通常会在性能上会有一定的劣势。

Face detection的挑战:

首先是scale,由于face自身的特殊性,不论是通用物体或者行人检测,通常情况下,只是在意比较近处的物体。scale的变化远远没有人脸这么大。其次是occlusion,也就是遮挡问题。遮挡问题简单的分为两部分:物体的遮挡和face的自遮挡。识别戴头巾或者口罩的人脸,这是一个典型的物体遮挡的问题,如果两个人挨得特别近,以至于把后面的人挡住了一部分,但是勉强还是可以看到另一部分,这就是face的自遮挡。

对于遮挡的物体,我们首先需要确定这是不是一个脸,或者是至少要确定这是不是一个头。这就需要context信息,例如能够看到更多的地方,能看到身躯或者是看到头的整个区域,这样就有助于判断。这些信息可以通过合理的Anchor setting或者是合理的大感受野去隐式地学到。此外,只看context信息也会产生一些误导,所以需要可见的部分来辅助确认这块区域真的是人脸,而不是其他的东西。这个时候可以考虑用segmentation或者是attention的机制去处理。

图1 FAN的主要框架

这张图是本文主要的网络设计构架。从网络设计构架上面来说,前面这个红色和这个白色的区域,可以理解为一个FPN的结构,可以复用多层的信息,通过合理的anchor设计,保证每个anchor都有较大的感觉野,隐式地学习了context信息。(c)这个部分是一个attention的子网络,我们在得到feature之后,会另开一支去学习attention,之后对attention做一个E指数的操作乘到原来的feature map上面,加强可见区域信息。后面是一个类似于fast R-CNN两支操作:一支做classification,一支做regression。Anchor setting设置可以保证每个人脸都有足够的感受野以及足够的context信息。底下这个attention的subnet,它可以通过有监督的信息,学到visible的information,也就能提高对遮挡物体检测的能力。

Attention Network

  • 在不同的特征层中处理不同比例的人脸;
  • 突出人脸区域的特征,减少无人脸区域;
  • 生成更多遮挡人脸去训练。

1)Anchor Assign Strategy

图2 WiderFace训练集目标尺寸大小分布

先统计一下Wider face训练集,大概80%以上的人脸其实都是集中在16像素到406像素这样的量级上面,还有约10%的人脸是在8像素到16像素。小尺寸的人脸缺乏足够的分辨率,因此包含在训练数据中可能不是一个好的选择。如果这个face在8pixel量级的情况下,我们把它放大出来,图像就很糊,基本上也已经没有什么纹理的信息。加入训练会引来大量的噪声,反而会导致detector性能的下降。就实验结果来看下降还是比较明显的,大概会下降2到3个点。因此,将anchors的区域在金字塔级别上选择16*16到406*406。

所以我们在设计上的时候,需要考虑到如何让anchor去覆盖这么大的一个区域。Ratio上的设置,我们选择了1和1:1.5,其实是潜在地考虑了正脸和侧脸两种情况,因为通常情况下一个face,在正脸的情况下,1:1都是可以接受的。侧脸的情况下,可以近似到1:1.5。

P3、P4、P5、P6、P7是分别是表示我们FPN的各个layer,P3表示的是一个浅层的信息,然后P7表示的是越深层的信息。在感受野上面,feature的感受野是anchor的4倍左右,例如P3层达到了接近100的水平,是P3 anchor的四倍大小。这样就可以提供足够的context信息来保证能够检测出轮廓。铺设密度上,没有选择传统的每一层只有一个anchor的铺设方式,采用每层3个scale,以2 ^ -1/3 步进。如果每层只铺设一个anchor,就会导致个别的ground truth分配不到一个很好的anchor。当然anchor也不是铺设得越密越好。如果把anchor铺设得更密一些,比如每层每个layer铺4个anchor,这样会导致的有很多的FP,最终导致性能下降。

2)Attention Function

图3 注意机制用于训练的框架

图4 注意监督信息与在当前层上的anchors匹配的ground-truth相关联

不同的图层有不同的ground-truth的人脸尺寸。子图指的是:(a)具有ground-truth的原图,(b) p7层的关注监督信息,它关注大的人脸;(c)p6层的注意监督信息,它小于p7;(d)-(f)分配给P5至P3的ground-truth,分别侧重于较小的人脸。

这些层次注意图可以减少它们之间的相关性。与传统的注意力图不同,我们将注意力映射作为指数运算,然后用特征映射点。它能够保存更多的上下文信息,同时突出检测信息。考虑到遮挡面部的例子,大多数看不到的部分都是无用的,而且可能对检测有害,我们attention mask能增强面部特征映射。

图5 P7 to P3呈现的注意力图

Attention的操作:

我们之前说过,只有context的信息,很难分辨这个物体到底是不是一个被遮挡人脸。这个时候需要加入一些attention,或者是加入一些segmentation,把这些区域给学出来。

首先ground truth只有bounding box。那么我们就采用将bounding box的区域填1,直接作为segmentation去学。由于大量的ground truth是没有遮挡的,当发生遮挡时,最后学出来的segmentation会对于这些未遮挡的信息更加敏感。

其次还有一个细节,在我们的attention网络里面,做完attention之后,不是简单的点乘到原来的feature map上面,而是先做了一个E指数的操作,再去点乘到feature map上面。这样做就不是只保留attention高量的部分,而是对高量的部分做一些增强,这样能够很好地保留它原有的context信息,同时也能够突出它自身那个可见区域的信息。

然后是attention机制的整体框架。我们相比于其他的attention来说,attention不仅是有监督的,同时不同的层赋予不同的anchor level的监督信息。

3)Data Augmentation

采用随机复制策略,产生大量遮挡人脸去进行训练。更具体地说,基于训练集,随机从原始图像中裁剪出方形补丁,它的短边与原始图像之间的范围为[0.3,1]。此外,如果中心在采样块中,则保留ground-truth box的重叠部分。除了随机裁剪数据集增强之外,还采用了从随机翻转和颜色抖动的增强。

4)Loss function

采用了多任务的损失函数联合优化模型参数:

实验

图6 在WiderFace验证集和测试集的精确度-召回率曲线

表1 FAN在WiderFace验证集上的实验结果

表2 FAN在MAFA上的实验结果

实验结果图:

在WiderFace数据集上的实验效果图

在MAFA数据集上的实验效果图

总结:

本文针对遮挡人脸的人脸检测问题进行了研究。提出了一种可以整合我们精心设计的单级基础网络和anchor-level的注意算法的FAN检测器。基于设计的anchor-level的注意机制,可以突出面部区域的特征,成功地减轻了假阳性的风险。在WideFaces和Mafa等测试基准上的实验结果验证了该算法的效率和有效性。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉战队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档