您的位置:首页 > 大数据 > 人工智能

人脸检测“A Fast and Accurate Unconstrained Face Detector”

2015-11-25 15:02 671 查看
NPD人脸检测主要内容:

1.图像特征:Normalized Pixel Difference(NPD),存在查找表中。

2.特征筛选:deep quadratic tree

3.分类:soft cascade classifier

1.NPD特征

就是两个像素的相对差值,根据Weber规则得到。

f(x,y)=x−yx+yf(x,y)=\frac {x-y}{x+y}

对于s*s的图像,p=s*s一维向量化,NPD特征维度为d=p(p−1)/2d=p(p-1)/2。作者用的20*20大小的人脸,特征维度为20*20(20*20-1)/2=79800。特征值的范围是[-1 1]。

2.DQT

stump:基本的树分类器,根据一个阈值将节点分成两个子节点。

DQT:对于特征x,树节点如下分割:

(ax2+bx+c)<t(ax^2+bx+c)

给定合适的系数,这个方程对应检查x是否在[θ1,θ2][\theta_1,\theta_2]中,考虑到了x的一阶和二阶信息。对于NPD特征,可以学到如下三种结构:



下图显示了几种情况,f1f_1对应(3),f2f_2对应(4),f3,f4f_3,f_4对应不能满足(5)出现的强对比边缘。



在论文的算法中,将特征的范围归一化到L=256个bin中,使用穷举法决定阈值[θ1,θ2][\theta_1,\theta_2],加权均方误差作为分割标准。

此外,使用二次分割学习深度树,论文中树的深度是8。这样可以把几个NPD特征结合起来描述人脸,fig.3是一个例子。

3.Gentle Adaboost

学习基于NPD特征的DQT,soft cascade结构用来训练和拒绝负样本,每次迭代,学习到一个DQT作为弱分类器,以及一个目前AdaBoost分类器的阈值用于拒绝负样本。

Pose:不同的pose可自动划分到树的叶子节点。

对遮挡,光照变化,低分辨率都不敏感。

4.实验细节

对于非限制的模型,人脸模板是24*24。训练使用Annotated Facial Landmarks in the Wild(AFLW)数据库,包含25933个人脸,使用21730个样本及它们的镜像随机扰动构成217300个正样本。通过在人脸上贴非人脸构造了一些难得负样本。树的深度是8,每个树最多评价8个NPD特征,最终的检测器包含1226个DQT,46401个NPD特征。每个检测窗约需估计114.5个NPD特征。

对于正面人脸,12102,12315个正负样本,模板大小20*20,使用CART训练。

在FDDB上的实验结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: