文章链接:https://arxiv.org/pdf/1509.06451.pdf

1、关于人脸检测的一些小小总结(Face Detection by Literature)

(1)Multi-view Face Detection Using Deep Convolutional Neural Network

  1. Train face classifier with face (> 0.5 overlap) and background (<0.5 overlap) images.
  2. Compute heatmap over test image scaled to different sizes with sliding window
  3. Apply NMS .
  4. Computation intensive, especially for CPU.
  • http://arxiv.org/abs/1502.02766

(2)From Facial Parts Responses to Face Detection: A Deep Learning Approach

Keywords: object proposals, facial parts,  more annotation.

  1. Use facial part annotations
  2. Bottom up to detect face from facial parts.
  3. "Faceness-Net’s pipeline consists of three stages,i.e. generating partness maps, ranking candidate windows by faceness scores, and refining face proposals for face detection."
  4. Train part based classifiers based on attributes related to different parts of the face i.e. for hair part train ImageNet pre-trained network for color classification.
  5. Very robust to occlusion and background clutter.
  6. To much annotation effort.
  7. Still object proposals (DL community should skip proposal approach. It complicate the problem by creating a new domain of problem :)) ).
  • http://arxiv.org/abs/1509.06451

(3)Supervised Transformer Network for Efficient Face Detection

  • http://home.ustc.edu.cn/~chendong/STN_Detector/stn_detector.pdf

(4)UnitBox: An Advanced Object Detection Network

  • http://arxiv.org/abs/1608.02236

(5)Deep Convolutional Network Cascade for Facial Point Detection

  • http://www.cv-foundation.org/openaccess/content_cvpr_2013/papers/Sun_Deep_Convolutional_Network_2013_CVPR_paper.pdf
  • http://mmlab.ie.cuhk.edu.hk/archive/CNN_FacePoint.htm
  • https://github.com/luoyetx/deep-landmark

(6)WIDER FACE: A Face Detection Benchmark

A novel cascade detection method being a state of art at WIDER FACE

  1. Train separate CNNs for small range of scales.
  2. Each detector has two stages; Region Proposal Network + Detection Network
  • http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/
  • http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/support/paper.pdf

(7)DenseBox (DenseBox: Unifying Landmark Localization with End to End Object Detection)

Keywords: upsampling, hardmining, no object proposal, BAIDU

  1. Similar to YOLO .
  2. Image pyramid of input
  3. Feed to network
  4. Upsample feature maps after a layer.
  5. Predict classification score and bbox location per pixel on upsampled feature map.
  6. NMS to bbox locations.
  7. SoA at MALF face dataset
  • http://arxiv.org/pdf/1509.04874v3.pdf
  • http://www.cbsr.ia.ac.cn/faceevaluation/results.html

(8)Face Detection without Bells and Whistles

Keywords: no NN, DPM, Channel Features

  1. ECCV 2014
  2. Very high quality detections
  3. Very slow on CPU and acceptable on GPU
  • https://bitbucket.org/rodrigob/doppia/
  • http://rodrigob.github.io/documents/2014_eccv_face_detection_with_supplementary_material.pdf

2、重点解读 (From Facial Parts Responses to Face Detection: A Deep Learning Approach--2015ICCV)

该文章来自于香港中文大学汤晓鸥实验室做的人脸检测,很有借鉴意义,论文提出了一个新的概念deep convolutional network (DCN) ,在FDDB数据集上达到了目前世界领先水准,这篇论文可以与之前《Joint Cascade Face Detection and Alignment》结合来看,其实是同一种思想在不同方向上的应用。

论文提出的DCN主要有三点新优势:

1、对遮挡有较强的鲁棒性。

2、可以检测到多角度倾斜人脸。

3、可以从一整张图片中检测出大小不一的人脸。

主要得益于一点,利用人脸上关键点的位置信息判断是否人脸(是不是和之前的JDA有些像啊),总结一下就是先用5个CNN检测全图,5个CNN分别是用于检测头发、眼睛、鼻子、嘴巴、脖子,之后合并五个的结果,利用这些位置信息判决人脸。

(1)Faceness-Net

Faceless-Net工作流包括三个阶段,生成人脸局部信息特征图,根据打分排序候选框,完善候选框。整个流程如图a所示。

在第一阶段,人脸被作为输入放进5个CNN网络,5个输出包含各个器官的位置信息,被整合为一个hf送入下一阶段。

在第二阶段,匹配这些器官位置,对其打分排序。

在第三阶段,一次检测,无需滑窗。

下面分别详述每个阶段:

(2)Partness Maps Extraction

网络结构如下图所示:

研究指出叠加多个卷积层可以获得目标位置。

下图展示了各个网络区分粒度的效果:

从图上结果显示,当粒度从物体-非物体,人脸-非人脸,亚洲人脸-欧洲人脸等,升至直发-卷发、微笑-厚嘴唇等这样的器官粒度时,对遮挡人脸的鲁棒性最强,5个网络的分类可以如下表一样,为了获得更好的区分效果,每个网络模型都是从ImageNet训练好的模型微调而来。

(3)Ranking Windows by Faceness Measure :

利用partness map对候选框进行打分,是通过每个part map进行的空间位置先验,比如头发在脸的上方,眼睛在脸的中央,来进行人脸or 非人脸的打分(faceness score)。如图3,将打完分的part map进行相加,通过NMS(Non-Maximun Suppression,非极大值抑制)就可以将每个部位定位好的矩形框合并成一个大的矩形框,即为人脸的proposal。 图3 首先使用现有的object proposal方法(比如selective search 和 edge box)在 map图上找到候选框。找到候选框之后,基于partness map生成得分由高到低排列的 face proposal集合,评判方法如下图所示, 以一种积分图的方式生成faceness score. 以头发为例,考虑头发的空间位置,已知头发在人脸的上方,其partness map上找到的proposal窗口为ABEF,则头发提供的faceness score为ABEF/FECD的积分值,如下式,分子的最后一项是I(xe,ye),分母的第三项是I(xf,yf). 同理,眼睛长在脸的中间部分,即窗口为EFGH.那么其faceness score就是EFGH/(ABEF+HGCD)的积分值。 部件的Faceness score得分越高则表明与人脸的相交比例越大。假如ABEF里面不是头发,那么ABEF里面的数值将会很小,这样就会使得得分很低,只有当ABEF正确的框住可头发,得分才能变得高。接下来的问题就是如何确定E,F这两个点,即公式中λ 
,使得不同部件的空间配置合理,能够区分人脸和非人脸的置信度最大。 在这里,我们通过学习的方法来得到λ 
。具体做法就是给定一个训练集(w,r,h),w指的是人脸的boundingbox,r是人脸和非人脸的label,h是我们知道头发所在的区域,我们的目的就是学习到一个参数λ 
使得有头发的地方获得一个高分。而且我们知道λ 
是一个服从0-1均匀分布的随机变量,所以这个问题也就是求最大后验的问题。用最大后验来求解 lamda:

(4)Refine face detection

最后作者通过使用来自AFLW的人脸图片和来自于PASCAL VOC 的非人脸数据来finetune AlexNet网络来对产生的proposal进行提纯,提高检测准确率.

(5)Experiments

Training dataset: (1)对于部件检测器的训练,用的是CelebFaces,包含87628张图片,我们为所有的这些图片标上Table 1中所列的25种attributes,然后将这些属性划分到5个part的各个类中,这样就完成了attribute-aware network训练数据的准备工作。我们随机抽取其中75000张作为训练,余下的作为验证。 (2)对于人脸检测器的训练,我们从AFLW dataset中选取13205张图片并保证不同姿态的图片分布均匀,另外PASCAL VOC 2007 dataset中随机选取5771张图片。

Part response testing dataset:2827张LFW images,包含了头发和胡子的标注,另外其他人脸部件如眼睛等也进行人工标注,并通过68个danse facial landmarks来guide。

Face proposal and detection testing datasets:FDDB,AFW和PASCAL

作者:南君
出处:http://www.cnblogs.com/molakejin/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

paper 159:文章解读:From Facial Parts Responses to Face Detection: A Deep Learning Approach--2015ICCV的更多相关文章

  1. 论文笔记之:From Facial Parts Responses to Face Detection: A Deep Learning Approach

    From Facial Parts Responses to Face Detection: A Deep Learning Approach ICCV 2015 从以上两张图就可以感受到本文所提方法 ...

  2. 论文解读(DCN)《Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering》

    论文信息 论文标题:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering论文作者:Bo Yang, Xi ...

  3. Paper List ABOUT Deep Learning

    Deep Learning 方向的部分 Paper ,自用.一 RNN 1 Recurrent neural network based language model RNN用在语言模型上的开山之作 ...

  4. Deep Learning方向的paper

    转载 http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧,但 ...

  5. paper 124:【转载】无监督特征学习——Unsupervised feature learning and deep learning

    来源:http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio c ...

  6. #Deep Learning回顾#之2006年的Science Paper

    大家都清楚神经网络在上个世纪七八十年代是着实火过一回的,尤其是后向传播BP算法出来之后,但90年代后被SVM之类抢了风头,再后来大家更熟悉的是SVM.AdaBoost.随机森林.GBDT.LR.FTR ...

  7. Deep Learning for NLP 文章列举

    Deep Learning for NLP 文章列举 原文链接:http://www.xperseverance.net/blogs/2013/07/2124/   大部分文章来自: http://w ...

  8. 转 Deep Learning for NLP 文章列举

    原文链接:http://www.xperseverance.net/blogs/2013/07/2124/   大部分文章来自: http://www.socher.org/ http://deepl ...

  9. (转)Deep Learning深度学习相关入门文章汇摘

    from:http://farmingyard.diandian.com/post/2013-04-07/40049536511 来源:十一城 http://elevencitys.com/?p=18 ...

随机推荐

  1. 测开之路八十一:参数定义之*args和**kwargs

    # *,不定长参数,*args# 定义函数参数def avg(score, *scores):    return (score + sum(scores)) / (len(scores) + 1) ...

  2. poj1742Coins(多重背包)

    People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony ...

  3. C++64位整型

    今天在Ubuntu下编译C++代码,然后毫无防备的出现以下错误: 查阅了相关资料,__int64是VC++独有的,因此64位g++无法识别. 以下内容转载自:Byvoid 在C/C++中,64位整型一 ...

  4. python字典、字符串(json串)、字节串之间的转化

    字典和json字符串(本质也是字符串)之间的转化用json.dumps和json.loads() json.dumps():   字典→json字符串 json.loads():     json字符 ...

  5. Linux服务器安全配置小结(转)

    众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...

  6. 702:Crossing River (贪心)

    [题目描述] N个人过河,一次过去2个回来一个,给出每个人所需时间,问最小过河时间. [题目链接] http://noi.openjudge.cn/ch0406/702/ [算法] 一开始想样例是怎么 ...

  7. C# 跨线程调用控件的4中方法

    原文:C# 跨线程调用控件 在C# 的应用程序开发中, 我们经常要把UI线程和工作线程分开,防止界面停止响应.  同时我们又需要在工作线程中更新UI界面上的控件, 下面介绍几种常用的方法 阅读目录 线 ...

  8. spring boot整合redis多实例

    最近项目中遇到需要连接两个redis实例的情况,于是就在spring boot原先的基础上修改了一点. 首先,添加所需的依赖 <dependency> <groupId>org ...

  9. MapReduce的序列化机制

    MapReduce自己实现了一套序列化机制,通过实现Writable接口, 重写DateInput和DateOutPut方法,实现数据的序列化和反序列化, 相比于JDK自带的序列化,MapReduce ...

  10. JavaScript—— 案例:表单验证

    QQ号:<input type="text" id="txtQQ"><span></span><br> 邮箱:& ...