请简要解释一下维奥拉-琼斯人脸检测方法的工作原理。
Each weak detector is an extremely simple binary classifier
所以我们有类似于这样的东西:
关于公式,使用积分图像快速计算Haar-like特征看起来像:
Viola-Jones检测器是由多个弱检测器构建的强二元分类器。每个弱检测器都是一个非常简单的二元分类器。
检测包括以下部分:
Haar滤波器
:从图像中提取特征以进行分类(特征用于编码专业领域知识)。
积分图像
:允许非常快速地评估特征。
级联分类器
:级联分类器由多个过滤器阶段组成,用于将图像(图像的滑动窗口)分类为人脸。
以下是如何在图像中检测人脸的概述。
一个检测窗口在整个图像中移动,提取由积分图计算的haar滤波器特征,然后将提取的特征发送到级联分类器以判断是否为脸部。滑动窗口逐像素移动。每次窗口移动时,窗口内的图像区域将经过级联分类器。积分图像
: 可以实现非常快速的特征评估
级联分类器
:
级联分类器由多个过滤器级联组成,如下图所示。每次滑动窗口移动时,新的滑动窗口区域将逐级通过级联分类器。如果输入区域未能通过某个阶段的阈值,则级联分类器将立即将该区域拒绝为人脸。如果一个区域成功通过所有阶段,则它将被分类为人脸候选区域,并可能通过进一步处理进行精炼。
更多细节:
首先,建议您阅读源论文使用简单特征的增强级联快速目标检测,以了解该方法的概述。
如果您无法清楚地理解它,可以查看Viola-Jones人脸检测或实现Viola-Jones人脸检测算法或Viola-Jones实时人脸检测研究以获取更多详细信息。
这里是一个Python代码Paul Viola和Michael J. Jones的人脸检测算法的Python实现。
matlab代码 在这里。