Joint Cascade Face detection and Alignment(ECCV2014)介绍

来源:互联网 发布:便签的元数据已损坏 编辑:程序博客网 时间:2024/05/23 21:42

一、总体

Joint Cascade Face detection and Alignment(ECCV2014)(以下简称论文)之前,比较广泛的人脸检测(object detection)方法是Viola-Jones检测器(典型的为Haar + Ababoost)。V-J分类器基于以下两个原则进行检测的:

  1. 逐步提升的级联结构
  2. 简单的特征

这种方法在日常生活场景中效果不甚理想。在一些复杂的情况下(光照、表情、遮挡),简单的特征会使检测能力大大下降。

一些人尝试离散的训练出各种角度的识别器来增强鲁棒性,但是用这种离散的方式来估计人脸角度本身就带来了很大的困难,训练出的模型往往速度过慢或准确率不高。

最近又提出了一种不使用V-J框架的人脸检测算法:DPM(Deformable Parts Model, 可变形的组件模型),它可以做到人脸检测和关键点定位的一气呵成,但是其计算量太大导致时间消耗过高。

OK,回到本论文

论文采用了一种新的算法来检测人脸,其仍遵循V-J的经典框架,采用像素差作为特征,有着杰出的速度(28.6 ms for a VGA image )与实现效果(achieves the best accuracy on the challenging datasets)。

论文的突破点在于采用了人脸检测点作为人脸检测的一种指标,过去的工作中人们大多数将关键点检测(face alignment)与人脸检测(face detection)分成两部分。论文通过实验指出,关键点检测可以作为人脸检测的一个重要评价标准,其实我们想一下也能知道,假如关键点检测到鼻子在嘴巴下面,那么这张脸想必不会是人脸。关键在于如何有效的利用这种特征。

论文与另一篇论文密不可分,《Face Alignment at 3000 FPS via Regressing Local Binary Features》(以下简称3000FPS),只有理解好这篇论文,才能理解其利用回归树做的关键点定位算法,能够理解其关键点定位算法,才能理解本论文提出的分类回归树算法。

阅读步骤:分类树与回归树、随机森林-->3000FPS-->本论文

二、论文通过试验证明了关键点如何帮助人脸检测:

试验步骤:

  1. 使用OpenCV中的V-J检测器,在一个比较低的阈值下检测,以保证一个高的召回率。
  2. 将得到许多图像窗口,其中有许多是false positive(错误的正样本),将这些窗口分为真假正样本两部分,用于训练一个线性SVM分类器。
  3. 在测试的时候,将V-J检测器输出的窗口,送人SVM分类器中进行筛选。

上边第2步中提取特征并训练SVM:

所有的V-J输出的窗口都被归一化到96*96pixel大小,论文实验了几种不同的特征:
  1. 将窗口分为6*6各不重叠的部分,在每一块区域上进行SIFT描述子的提取。
  2. 选用27个面部的平均形状点,并以这些点为中心,提取SIFT描述子。
  3. 按照参考文献【21】中算法得到面部的27标点,并且以此为中心提取SIFT描述子。
上述三种情况下,所有的SIFT描述子都被连接成一个向量,送入SVM训练。

试验结果:
下图画出了分类情况分布图,(1)是原始的V-J检测器,(2)(3)(4)分别是结合了上述三种特征下训练的SVM分类器的分类结果。


由上图可见,做一下shape alignment可以得到一个更好的分类效果。但是问题来了:如果把所有的windows都做一下alignment,即使是3000 faces per second的速度一张图可能也要处理上1秒,这无法满足一般一秒30帧的实时需求。论文作者也说,用opencv分类器,参数设成99%的recall率将会带来很严重的效率灾难——一张图能找出来3000个框,处理一张图都要好几秒。这么渣的效率可咋办呢?以上内容已经证明了alignment确实对detection的preciseness有帮助,这就够啦。

三、关键点用于人脸检测的初步结合尝试:

论文提到两个算法,分别是:

  1. Cascade Detection
  2. Cascade Alignment 

这两个算法都是现成的,V-J框架就是一个cascade detection,我们不再多说。Cascade Alignment相比来说是个较新的方法,主要是用回归的方法,将关键点不断回归到正确的位置。实现的方法是在做检测的时候引入关键点参数,然后在一层检测过后更新关键点参数,具体做法就是在训练检测过程的弱分类器时加入关键点参数,算法流程如下:


上边的算法很容易理解,其实就是在每一层内,先做检测,检测完在做关键点校准,缺点也很明显,一来是效率不高,二来是两套模型训练和测试起来很麻烦,别急,下面是改进。


这里的就是一棵CRDT是其阈值。

整个算法的训练过程如下:





阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 如果一支股票有好几个庄家怎么办 浦发信用卡查询密码被锁定怎么办 浦发信用卡输错密码被锁定怎么办 浦发手机银行查询密码锁定怎么办 宝宝吃母乳没吃饱就睡着了怎么办 量柱画线不是方屏电脑怎么办 夏天卧室开空调太干了怎么办 健身房锻炼手臂抻的肌肉疼怎么办 人累了可以休息 心累了怎么办 上来两天班感觉不想做了怎么办 休产假的时候公司解散了怎么办 上三天班老板不给结工资怎么办 老师说孩子上课纪律不好我该怎么办 大班的孩子记不住拼音怎么办呢 家长跟孩子沟通出现问题该怎么办? 如果孩子入学分配出现问题该怎么办 2岁多的宝宝喜欢动手打人怎么办 儿童新长出的大门牙像两边撇怎么办 被烫伤了怎么办的活动反思怎么写 生完孩子脸上起蝴蝶斑了怎么办 鼻子部位突然长了晒斑怎么办 我脸上长有日晒斑.该怎么办 做为小领导同事不听你的怎么办 二年级的小孩叫写作业不听怎么办 苹果手机微信出现黑框怎么办 百度网盘下载原画视频会闪退怎么办 已发布的公众号推文段落重复怎么办 谷歌商店找不到方舟手游怎么办 染头发的颜色弄到衣服上怎么办 橡皮把桌面油漆弄掉了怎么办 手机被调成静音不知道放哪了怎么办 金丝熊吃大米吃撑了怎么办 部落有可疑记录被暂时禁封怎么办 鼻子通向嘴那里痒得难受怎么办 小孩上嘴唇中间的连线碰掉了怎么办 秋田犬夏天退毛严重么 怎么办 初中数学基本没学过高中怎么办 老师家纺突然想日语文老师怎么办 微信聊天表情小企鹅不动了怎么办 微信自带小表情不全怎么办 爱奇艺电视果有图像无声音怎么办