Viola-Jones 算法的目标:检测图像中的人脸。该算法
使用正面直立的面部,因此为了被检测到,整个面部必须
指向相机并且不应向任何一侧倾斜。算法是
基于面部眼睛、鼻子和嘴巴位置的物理估计的面部图像分割。
算法阶段:该算法分为以下四个阶段:
1. 哈尔特征
2. 整体形象
3.AdaBoost
4. 级联
下面讨论所有这些阶段。在此之前,我将回答一个简单的
问题,即**why haar** ?
Haar 小波是首选,因为它在特征提取方面优于傅立叶。
现在,我们将讨论该算法所涉及的阶段。
Haar 特征:在给定的输入图像上,一个 24 x 24 的基本窗口将
在将 haar 作为参数传递时滑动,并且将使用
卷积定理进行计算。什么是不同的 haar 特征, 你可以研究一下他们
here
此阶段的输出将是检测图像的明暗部分
。
积分图像:在上述阶段提取的haar特征会非常
很大,这会使计算变得非常复杂。为了使该计算
简单而简短,将这些提取的 haar 特征传递给积分图像。
它使用简单的数学计算像素值。您可以在上面提供的链接中了解此
计算。
AdaBoost:由于会有这么多的功能,所有的功能都不会包含
face。从积分图像中,我们将得到两种可能的东西:包含人脸的特征和不包含人脸的特征。我们只需要那些包含人脸的特征。这项工作将由 Adaboost 完成。这将有助于使用弱分类器和级联从身体其他部位采样
面部。
使用的整体过程是集成方法。所有这些
特征的加权排列用于评估和确定任何给定窗口是否有面。
它将消除所有冗余特征
级联:弱分类器将级联以形成一个强单一
分类器,同时窗口在整个图像上滑动。这个过程也被称为
增强弱分类器。分类为人脸的子窗口
被传递到级联中的下一个阶段。因此,给定子窗口通过的附加
阶段,子窗口
真正通过的机会就越高包含一张脸。
下一步:此模型将在真实图像上进行测试,并
检测面部。
Viola-Jones 的用例:该模型可以在 CPU 上运行,因此可以
出于学习目的进行实验。
带着敬意,
埃克塔·斯莫斯拉