HyperFace: ADeep Multi-task Learning
Framework for Face Detection, Landmark
Localization, Pose Estimation, and Gender
Recognition

概要

论文采用多任务学习的方法,实现了利用CNN 同时做人脸检测,关键点定位,姿态估计和性别预测4项任务。利用多任务学习同时完成几项人脸检测任务是该篇论文主要亮点。

简介

这里提了一个概念——hyperfeatures,其实含义就是指提取多个卷积层的特征做多任务学习,之所以要这么做,是因为论文层数较浅的卷积层包含较多的细节、局部信息,更适合于关键点定位和姿态估计,对于层数较深的卷积层则包含较多的整体信息,可以用于人脸检测和性别预测。

然而由于多个卷积层包含的信息十分庞大,难以直接拿来做多任务学习,所以需要一种特征融合(feature fusion)技术用以将多层的特征信息线性或非线性的结合到一块子空间上。论文构建了一个单独的fusion-CNN 层用来复用hyperfeatures,利用该fusion-CNN输出的特征做多任务学习。

主要的贡献有如下四点:

1):提出了一种新的CNN框架,可以复用中间层特征做多任务学习。

2):提出了两种后处理方法,迭代区域选择和基于关键点的NMS,可以有效提示整体性能。

3):对比了采用单任务学习和多任务学习下的R-CNN性能差别。

4):4种任务在各非约束评测集上都取得了突破性结果。

HYPERFACE

算法主要包含三个模块,第一个模块从图像中产生候选区并resize到227*227输入到网络;第二个模块是CNN,如上图所示,做二分类,分类出是否为人脸,如果是人脸则输出关键点、姿态、性别预测结果;第三个模块是一个后处理,包含候选区迭代和基于关键点的NMS。

HYPERFACE架构

在设计网络架构时,有两个前提,分别是:

1、  CNN特征分布于各层中,浅层网络反映局部特征信息,适于关键点检测和姿态估计,深层网络反映全局特征信息,适于检测和分类。

2、  多任务协同学习被证明比单任务独立学习更加有效。

基于这两点,设计了HYPERFACE这种网络结构,由于相邻层网络包含着较多的重复信息,所以在采样特征时,间隔选择网络提取特征即可。

作者设计的网络基于AlexNet,提取的中间网络层分别是max1,conv3,pool5,由于三个层的特征维度不同,所以不能直接将其拼接在一起,作者设计了conv1a和conv3a卷积层卷积Max1和Conv3的特征,获得归一化的统一特征维度,最后和pool5拼接在一起,得到6*6*768维度的feature maps,由于特征庞大,又增加了卷积核为1*1的Conv_all卷积层将特征降维到6*6*192[1],之后是一个全连接层,输出3072维的特征向量,之后将该特征向量分为5个部分,每一个512维,用于分别学习不同任务。在每一个全连接层后部署非线性ReLU激活函数。为了不丢失局部信息,在fusion网络中不使用任何pooling操作。

训练过程

作者选择AFLW作为训练集,并从中抽取1000张作为测试集,采用了多种损失函数用以训练不同任务:

人脸检测

作者使用Select Search用以生成候选区,IOU大于0.5时为正例(l=1),小于0.35的作为负例(l=0),使用softmax损失函数。

p表示该区域是人脸的概率,从Fc_detection获取得到。

关键点定位

AFLW包含21个关键点信息,IOU大于0.35的作为正例被采用,所有关键点坐标被归一化,采用相对值,映射函数为:

xi,yi为关键点坐标,x,y为人脸中心的坐标,w,h为人脸宽高,对于缺失的关键点,被设置为(0,0)。使用Euclidean损失函数,如下所示:

为预测的归一化后的相对坐标值,N是关键点数量,vi为1时表示该关键点在此区域可见,否则为0,也就是说,对于那些不可见点,不参与运算。

可见预测

作者这里还训练了一个用于预测关键点是否可见的分类器,采用IOU大于0.35的候选框作为正例,使用Euclidean损失函数,如下所示:

vi表示该候选框,第i个关键点是否可见的真值,1为可见,反之为0, 为其预测值。

姿态估计

使用Euclidean损失函数训练roll(p1),pitch(p2),yaw(p3),IOU大于0.5的为正例:

为预测值。

性别预测

IOU大于0.5的作为正例,损失函数为:

g=0表示male,为1表示female。(p0,p1)是一个2维预测向量,由网络计算得到。

全局损失函数

为各结果相关权重,取值为:

,分别对应上面5项。

Testing

这里主要讲两个点,Iterative Region Proposals(IRP)和Landmarks-based Non-MaximumSuppression(L-NMS)。

IRP

作者先指出了Fast_SS(作者使用的一种Selective Search的改进算法)的不足,其不能准确定位一些噪声较大的人脸,导致其在检测过程中因分数过低而被漏检。于是,作者采用了一种新的策略,使用FaceRectCalculator[2](应该是一种借助关键点信息生成人脸框的工具)借助关键点信息产生候选区域。在网络中预测一轮后,再利用新的关键点信息生成新的人脸框,迭代该过程。论文设置的迭代次数为1,伪代码如下所示:

L-NMS

跟其他NMS算法的不同就是不以人脸框坐标作为参数,而是以关键点中的最小四个角坐标作为参数,作者觉得这样的话更加人脸紧凑,可以避免相邻脸被合并或漏检等情况。伪代码如下:

NMS取top-k的结果,人脸框选择得分最大的,其余几项选择top-k的中值,也就是说,最终结果由top-k决定的投票结果,作者设置k为5.

Runtime

8核CPU加泰坦XGPU的配置也只能达到3s一张的水平,其中有2s用在selectivesearch上,但是作者指出,一次forward pass仅需0.2s,但是这速度依然够慢了。

我的心得:这篇论文很难付诸应用,因为其速度实在难以令人接受,其亮点在于中间层特征的利用和多任务学习,这两点相辅相成,往往比单任务学习可以取得更好的效果。

关于作者指出selective search耗费了太长时间,其实faster r-cnn已经解决了该问题,借鉴faster r-cnn的RPNs网络,其实速度可以提升不少。

[1] .C. Szegedy, W. Liu, Y. Jia, P.Sermanet, S. Reed, D. Anguelov,D. Erhan, V. Vanhoucke, and A. Rabinovich. Goingdeeper withconvolutions. CoRR, abs/1409.4842, 2014.

[2] . M. Kostinger, P. Wohlhart, P. Roth,and H. Bischof. Annotated facial landmarks in the wild: A large-scale,real-world database for facial landmark localization. In IEEE InternationalConference on Computer Vision Workshops, pages 2144–2151, Nov 2011.

【论文笔记】HyperFace: ADeep Multi-task Learning Framework for Face Detection相关推荐

  1. 【论文笔记】PassGAN: A Deep Learning Approach for Password Guessing

    title: "[论文笔记]PassGAN: A Deep Learning Approach for Password Guessing" date: 2019-10-12 la ...

  2. Multi task learning多任务学习背景简介

    2020-06-16 23:22:33 本篇文章将介绍在机器学习中效果比较好的一种模式,多任务学习(Multi task Learning,MTL).已经有一篇机器之心翻译的很好的博文介绍多任务学习了 ...

  3. 【论文导读】- E-LSTM-D: A Deep Learning Framework for Dynamic Network Link Prediction(动态网络链接预测)

    文章目录 论文信息 摘要 论文贡献 问题定义 动态网络 动态网络链接预测 E-LSTM-D 框架 Encoder–Decoder结构 1. 编码器(Encoder) 2. 解码器(Decoder) 堆 ...

  4. 论文笔记(十一):Learning to Track with Object Permanence

    Learning to Track with Object Permanence 文章概括 摘要 1. 介绍 2. 相关工作 3. 研究方法 3.1 背景 3.2 用于跟踪的视频级模型 3.3. 学会 ...

  5. 【论文笔记】Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos

    这篇论文提出了一种称为管道卷积神经网络( tube convolutional neural network,T-CNN) 的结构,它是 Faster R-CNN 从 2D 到 3D 的扩展.该方法先 ...

  6. 论文笔记:CVPR 2022 Cross-Domain Adaptive Teacher for Object Detection

    摘要 我们解决了对象检测中的域适应任务,其中有注释的源域和没有注释的感兴趣的目标域之间存在域间隙(注:在一个数据集上训练模型,再另外一个数据集上进行预测性能下降很大,在一个数据集上训练好的模型无法应用 ...

  7. 【论文笔记】Reinforcement and Imitation Learning for Diverse Visuomotor Skills

    目录 Abstract Introduction Related Work Model A. Background: GAIL and PPO 1. 行为克隆(Behavior Cloning) 2. ...

  8. 论文笔记 Spectral Regularization Algorithms for Learning Large IncompleteMatrices (soft-impute)

    2010 JMLR 0 摘要 使用凸松弛技术为大规模矩阵完成问题提供一系列正则化低秩解决方案. 论文算法 SOFT-IMPUTE 迭代地用从软阈值 SVD 获得的元素替换缺失的元素.通过热启动,这使算 ...

  9. Multi Task Learning在工业界如何更胜一筹

    摘要: 本文主要介绍多任务学习和单任务学习的对比优势以及在工业界的一些使用.如何从单任务学习转变为多任务学习?怎样使AUC和预估的准确率达到最佳?如何对实时性要求较高的在线应用更加友好?本文将以淘宝实 ...

  10. 最新论文笔记(+11):Privacy-Preserving Searchable Encryption Framework for Permissioned Blockchain Networks

    Privacy-Preserving Searchable Encryption Framework for Permissioned Blockchain Networks(用于许可区块链网络的隐私 ...

最新文章

  1. 软工作业 5:词频统计——增强功能
  2. 力扣:169. 多数元素
  3. JavaScriptjQuery.返回多个值的函数
  4. 对象池回收对象_回收对象以提高性能
  5. 职场新人的入门法则:少想、多做、立即执行!
  6. oracle中直方图的使用
  7. python hbase_python 操作 hbase
  8. HDU 3197 Game(树删边)
  9. texlive写论文源代码_基于中国人民大学LaTeX论文模板毕业论文,课程研究生硕士本科设计,ppt答辩,外文翻译程序源代码下载...
  10. 听杨中科吹牛B—《杨中科:我的大学生活》
  11. Python中奇技淫巧之定时运行函数
  12. 用ROS来做无人测试平台系列之国外的一些RACECAR
  13. uint 数据类型理解
  14. 微信小程序 在wxml写过滤器 脱敏手机号
  15. 严蔚敏 数据结构(c语言版)c语言实现
  16. Android之HttpURLConnection应用实例:武大教务系统获取课表
  17. vulcan测试记录
  18. 【优化理论】 共轭梯度下降算法实现
  19. ToDoListEditor 任务清单工具
  20. 酷狗音乐关键字搜索并生成下载url

热门文章

  1. Java实例分析:宠物商店
  2. 电商设计中的一些概念
  3. MVC模型与FishiGUI应用层MVC型号
  4. 美国Compuware败退中国市场!又一家外企逃离
  5. Android-清空栈内的activity
  6. INSERT … ON DUPLICATE KEY UPDATE
  7. 数学建模python matlab 编程(指派问题)
  8. js:防抖动与节流【转载】
  9. 4.1 HTML5 音频
  10. Oracle SQL 模拟MySQL的inet_aton()和inet_ntoa()