维奥拉-琼斯人脸检测 - 对象/人脸尺寸的变化

6

我正在尝试理解Viola Jones方法,我大部分都已经理解了。

该方法使用简单的Haar特征,将其提升为强分类器并组织成层级/级联,以实现更好的性能(不需要处理明显的“非对象”区域)。

我认为我理解积分图像,并且我理解如何计算特征值。

我唯一无法弄清楚的是算法如何处理人脸大小变化。

据我所知,它们使用24x24子窗口滑过图像,在其中算法通过分类器并尝试弄清楚是否有面部/对象,或者没有。

那么,如果一个人脸是10x10的大小,另一个是100x100的呢?那时会发生什么?

我非常想知道这前两个特征(在级联的第一层中),它们长什么样子(根据Viola&Jones的说法,这两个特征几乎不会错过一个面孔,并且将消除60%的错误面孔)?怎么做到的?

还有,如何构建这些特征以适应图像中不同人脸大小的统计数据?

我是不是漏掉了什么,或者我可能完全搞错了?

如果表述不够清晰,我会尝试更好地解释我的困惑。

1个回答

6

培训

Viola-Jones分类器是在24*24像素的图像上进行训练的。每个人脸图像都包含一个相似比例的人脸。这产生了一组由两个、三个或四个矩形构成的特征检测器,针对特定大小的人脸进行了优化。

人脸大小

通过在不同的比例尺度上重复分类来检测不同大小的人脸。原始论文指出,通过尝试间隔为1.25倍的不同比例尺度可以获得良好的结果。

请注意,积分图意味着可以通过简单地缩放矩形角落的坐标来轻松计算任何比例尺度下的矩形特征。

最佳特征

原始论文中包含了典型级联中选择的前两个特征的图片(见第4页)。

第一个特征检测眼睛上方宽阔的暗矩形和颧骨上方宽阔的亮矩形。

----------
----------
++++++++++
++++++++++

第二个功能可以检测出位于眼睛两侧的较暗矩形之间的鼻梁上的明亮细矩形。
---+++---
---+++---
---+++---

@Peter,非常感谢您提供如此有帮助的答案。我有一个类似的问题,就是如果使用Viola Jones算法来进行图像缩放,会不会影响检测结果?比如说,如果我在摄像头前站了1英尺,然后第二次我站在5英尺处进行检测,这样做会对检测结果产生影响吗? - ARG
@ARG 是的,只要人脸仍然覆盖至少24*24像素,并且算法的实施测试范围足够广泛(通常实现只搜索大面孔以避免误报),算法应该仍然可以正常工作。 - Peter de Rivaz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接