dan*_*ela 5 opencv image-processing computer-vision face-detection viola-jones
我试图了解Viola Jones的方法,而且我大部分时间都明白了.
它使用简单的Haar类似功能提升为强分类器,并组织成层/级联,以实现更好的性能(不打扰明显的"非对象"区域).
我想我理解积分图像,我理解这些特征的计算值.
我唯一想不通的是算法如何处理面部大小的变化.
据我所知,他们使用24x24子窗口在图像上滑动,并在其中算法通过分类器并试图弄清楚它上面是否有面/对象.
而我的问题是 - 如果一张脸是10x10尺寸,还是其他100x100呢?那么会发生什么?
而且我很想知道前两个功能是什么(在级联的第一层),它们是怎样的(记住这两个功能,根据Viola和Jones,几乎不会错过任何一张脸,并将消除60%的错误)?怎么样??
并且,如何构建这些功能以处理图像中不同面部大小的这些统计信息?
我错过了什么,或者我认为这一切都错了?
如果我不够清楚,我会试着更好地解释我的困惑.
Viola-Jones分类器采用24*24图像进行训练.每个面部图像包含类似缩放的面部.这产生了一组由两个,三个或四个矩形构成的特征检测器,这些矩形针对特定尺寸的面进行了优化.
通过以不同比例重复分类来检测不同的面部大小.在原始论文指出,良好的结果通过尝试不同规模的1.25的系数除了获得.
请注意,积分图像意味着通过简单地缩放矩形角的坐标,可以很容易地计算任何比例的矩形特征.
原始纸张包含在典型级联中选择的前两个功能的图片(请参阅第4页).
第一个特征是在脸颊宽阔的矩形上方检测眼睛的宽黑暗矩形.
----------
----------
++++++++++
++++++++++
Run Code Online (Sandbox Code Playgroud)
第二个特征是在包含眼睛的两侧较暗的矩形之间检测到鼻梁的明亮的薄矩形.
---+++---
---+++---
---+++---
Run Code Online (Sandbox Code Playgroud)