人脸检测中几种框框大小的选择~

人脸检测应用极为广泛,内部细节也偏多,尤其是涉及到几种类型的框,这几种框的大小之前有着千丝万缕的联系,对检测性能的好坏影响程度大小不一。本篇文章基于自己在人脸检测方面的经验,说说对这些框之间关系的一些理解。

现在大部分人脸检测效果都已adaboost+LBP(各种改进)的方式实现,adaboost由N个强分类器组成,每个强分类器由M个弱分类器组成,而每个弱分类器其实就是一个特征。

本文以LBP特征为例,人脸检测共涉及到如下几类框:

1. LBP特征矩形框大小(极为重要)
2. 检测框大小(重要)
3. 检测目标大小(次要)
4. 原始训练样本大小(重要)
5. 图像大小(不重要)

其中,LBP特征矩形框大小一般由四个量组成,它们是:矩形框相对于模板的位置(x, y),矩形框的大小(w, h)。这四个变量均可以自由改变,只是有一个约束,那就是原始训练样本的大小(这也是我说的联系1)。

联系1:假设原始训练样本大小为28*28,那么LBP特征矩形框四个变量的取值均在[0-28]之内。

这点是因为,LBP特征都是在训练阶段确定下来的,位置和大小均是相对于原始训练样本而定,自然要在此范围之内。进一步,因为测试阶段,LBP特征的计算过程是在检测框中进行,于是可以引出第二个联系(联系2)

联系2:检测框大小和原始训练样本大小之间一定具有明确的比例关系,且原始训练样本长宽比例最好为1:1。

说白了,检测框是正方形的,它在图像中一步一步(step)的遍历,对每个检测框内的图像都要进行adaboost检测(想想看,算法时间还是比较恐怖的)。

进一步,检测目标大小一般由人为设定,比如我看到一个视频,我觉得里面的人脸可能是80*80,那么我就设定检测目标大小为80*80,这个设置的影响就是,限制了检测框的大小,也就是联系3。

联系3:检测目标大小由用户设置,其大小约束了检测框大小,如果检测框大小小于检测目标大小,则该检测框无用。

连锁反应,大家可以根据以上几种联系自己想想检测目标大小对特征矩形框的影响。下面举个例子,用于说明人脸检测中特征矩形框的变化策略。

假设原始训练样本大小为28*28,此时检测框大小为56*56,即为前者的两倍,对于这种情况,理论上,应该是将整幅图像下采样2倍,检测框的位置和长宽也就随之缩小两倍,LBP特征矩形框大小和位置保持不变。但是,在实际应用中,对整幅图像下采样时间较多,更加经济实惠的策略是保持检测框位置和大小不变,更改LBP特征矩形框位置和大小,例如,都扩大两倍。这两种方式显然存在区别,但是效果不会有太大的差距,所以经常被采用。

联系4:图像大小任意,对其余大小没有任何约束。

之前做这方面的研究,一点一直没理解,就是为什么训练的时候把目标图像裁剪为指定大小(比如说28*28),但是在测试过程中,却对任何大小的图像都可以。现在想想看,自己当时挺傻的,训练阶段采用的图像,都是只包含目标的,然后再规格化为28*28,在测试阶段,实际上也是这样,只不过这个时候,针对的是检测框,而不是整幅图像了,adaboost是在检测框中的图像进行,和图像真心没啥关系,自然就不要求图像为指定大小(联系4)。我弄了两幅图,左面是训练样本,右边是测试图像,大家看看吧,别和我一样犯傻。

人脸检测中几种框框大小的选择~

人脸检测中几种框框大小的选择~

其中,图当中的绿色框就是检测框,不同大小的绿框代表着检测框的大小变化。

总结起来一句话,原始训练样本大小约束LBP特征矩形框大小,检测框大小必须为原始训练样本大小的倍数,检测目标大小约束了检测框大小,图像大小对其余大小没有任何约束。

本文来自 迷雾forest 的CSDN 博客 ,转载此文目的在于传递更多信息,版权归原作者所有。
原文链接:https://blog.csdn.net/wsj998689aa/article/details/41243117