Press "Enter" to skip to content

Viola Jones算法和Haar级联分类器

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

维奥拉·琼斯(Viola Jones)是一种快速检测目标的新方法,其运行能力为每秒15帧。它是第一个实现实时目标检测的设备。

 

在本文中,我将讨论“Viola Jones算法”,它包括以下子主题:

 

维奥拉·琼斯探测器

 

Viola Jones检测器由以下步骤组成:

 

哈尔的特点是什幺?

 

Haar特征是人脸检测的相关特征。它是由阿尔弗雷德·哈尔在1909年提出的。它们就像卷积核一样。类似哈尔的特征有多种类型,但使用的最主要特征是:

2个矩形特征的值是2个矩形区域内的像素总和之间的差值。这些区域具有相同的形状和大小,并且在水平和垂直方向上相邻。三个矩形特征计算中心矩形中的总和。最后,四个矩形特征计算对角线对的矩形之间的差。这些不同大小的区域的各种变化通过图像卷积,以获得将被输入到AdaBoost训练算法的多个滤波器。使用标准技术计算这些特征将需要很高的计算时间。为了减少这一时间,本文作者提出了一种新的方法,称为积分映像法。

 

什幺是整体形象?

 

因为我们必须在所有可能的大小和位置使用类似haar的特征,这最终导致大约20万个特征来计算,这真的是一个很大的数字。新的HAAR特征计算的问题是需要多次计算给定区域的平均值,这些运算的时间复杂度为O(n*n)。我们可以使用积分映像法来获得O(1)的运行时间。整体图像中的给定像素是左侧的所有像素与其上方的所有像素的总和。

原始图像中所有橙色方框的总和等于积分图像中的蓝色方框减去积分图像中的橙色方框的总和。

 

用积分图像计算类Haar特征

 

利用积分图像,我们可以实现对Haar特征的恒定时间评价。

Boosting和AdaBoost算法

 

助学是指任何可以将几个弱学习者组合成一个强学习者的集成方法。大多数提升方法的总体思路是按顺序训练预测者,每个预测者都试图修正其前身。AdaBoost,也被称为自适应增强,是使用的最流行的增强技术之一。

 

AdaBoost:新的预测器修正其前辈的一种方法是,多关注前辈拟合不足的训练实例。这导致了新的预测者越来越多地关注疑难病例。这就是所谓的自适应升压。例如,为了构建自适应Boosting分类器,训练第一基本分类器(诸如决策树或SVM分类器),并使用该分类器对训练集进行预测。错误分类的预测的相对权重被改变和增加,以便在做出下一个预测器时更多地强调这些预测。使用更新的权重训练第二分类器,并且它再次对训练集进行预测,更新权重,依此类推。一旦所有的预测都被训练,集成方法使得预测非常类似于提升,除了预测器根据它们在加权训练集上的总体精度而具有不同的权重。这种算法的缺点是它不能并行化,从而增加了所需的时间。因此,在所有功能上成功运行AdaBoost之后,我们剩下了检测所需的最相关的功能。因此,这减少了计算时间,因为我们不必遍历所有功能,而且效率要高得多。

深入研究AdaBoost算法

 

让我们仔细看看AdaBoost算法。每个实例权重w(I)初始设置为1/m。训练第一预测器,并在训练集上计算其加权错误率R1

然后使用下面给出的公式计算预测器的权重j。预报器越准确,其权重就越高。如果它只是随机猜测,那幺它的权重将接近于零。然而,大多数情况下,它是错误的,它的权重将是负的。

接下来,使用下面提供的公式更新实例权重,以增加错误分类的实例

然后,使用下面提供的公式对所有预测值进行归一化。

最后,使用更新的权重训练新的预测器,并且重复整个过程,直到达到用户指定的期望数量的预测器。

 

在推理过程中,AdaBoost简单地计算所有预测值和权重的预测值,然后使用预测值权重αj。预测类别是获得大多数加权投票的类别。

 

层叠过滤

将强特征形成二进制分类器。:肯定的匹配项将被发送到下一个要素。否定匹配被拒绝并退出计算。
减少花在错误窗口上的计算时间。
可以调整阈值以调整精度。阈值越低,检测率越高,误报率越高。

简而言之,每个特征都充当级联过滤中的二进制分类器。如果从图像中提取的特征通过分类器,并且分类器预测图像由该特征组成,则将其传递到下一分类器进行下一特征是否存在检查,否则丢弃该特征并检查下一图像。这由此减少了计算时间,因为我们必须只检查对象不存在的窗口中的一些特征,而不是检查所有特征。这是算法的主要部分,允许它以大约每秒15帧的速率处理视频,并实现实时实施。

 

使用OpenCV库实现

 

参考文献

 

敬请关注新的研究论文对此的解释!

 

请随时联系并给出您的建议:https://www.linkedin.com/in/mrinal-tyagi-02a1351b1/ https://www.linkedin.com/in/mrinal-tyagi-02a1351b1/

 

https://github.com/MrinalTyagi https://github.com/MrinalTyagi

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注