【问题标题】:Viola-Jones Algorithm - "Sum of Pixels"?Viola-Jones 算法 - “像素总和”?
【发布时间】:2014-06-03 23:21:31
【问题描述】:

我查看了许多关于 Viola-Jones 算法如何真正工作的文章和问题的答案。我一直在寻找答案,即某个区域中的“像素总和”减去相邻区域的“像素总和”。我对“像素总和”的含义感到困惑。价值的依据是什么?是该区域的像素数吗?颜色的强度?

提前致谢。

【问题讨论】:

  • 不,是integral 图像
  • 积分图的值不是由某个位置的上下像素之和定义的吗?像素的总和是多少?
  • 是的。 (我可能误读了您的问题)上方和左侧的像素(强度)总和

标签: algorithm opencv image-processing detection pixels


【解决方案1】:

这些是基于'Robust Real-time Object Detection'上的 Viola-Jones 论文的定义

积分图像:位置 x, y = ii(x,y) 的积分图像 (ii)

ii(x,y) = > Sum of the pixels above and to the left of x, y inclusive

这里的“像素总和”表示像素(x, y) 并包括行/列 x 和 y,考虑到表示中的灰度图像。

积分图像的意义在于它加快了任何矩形像素块内像素强度总和的计算。例如四个数组引用。

而由 ii(x,y) 给出的每个点的积分图像值可以在原始图像 i(x,y) 上一次计算得到

在参考文件中详细说明的过程中,在每个点上使用以下方程:

s(x,y) = s(x,y-1) + i(x,y);

ii(x,y) = ii(x-1,y) + s(x,y);

在哪里

s(x,y) = the cumulative row sum;
s(x,-1) = 0;
ii(-1,y) = 0;

这些积分图像值随后用于生成特征以学习和稍后检测对象。

【讨论】:

    【解决方案2】:

    原始的 Viola-Jones 算法使用“Haar-like”特征,它们是一阶和二阶高斯导数滤波器的近似值。

    高斯导数滤波器如下所示:

    类似 Haar 的过滤器如下所示:

    Viola 和 Jones 使用 Haar-like 过滤器的原因是可以非常有效地评估它们。您所要做的就是从白色区域覆盖的像素总和中减去过滤器黑色区域覆盖的像素总和。并且由于区域是矩形的,因此可以从相应的积分图像中有效地计算出每个区域中像素的总和。

    【讨论】:

      猜你喜欢
      • 2017-06-13
      • 1970-01-01
      • 2013-11-27
      • 2023-04-11
      • 2016-12-23
      • 2016-04-26
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多