我看了很多关于Viola-Jones算法如何工作的文章和问题的答案。我一直在寻找答案,即某个区域的“像素总和”减去相邻区域的“像素总和”。我搞不懂“像素总和”是什么意思。价值是基于什么的?是区域中的像素数吗?颜色的强度?
提前谢谢。
发布于 2014-04-20 04:05:17
这些是基于维奥拉-琼斯关于'Robust Real-time Object Detection的论文的定义
积分图像:位置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的每个像素元素处的像素强度值(例如,对于8位灰度图像,0和255之间的值)的总和,并且包括行/列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;然后使用这些积分图像值来生成特征,以便学习和稍后检测对象。
发布于 2014-04-20 22:50:20
原始的Viola-Jones算法使用“类Haar”特征,这些特征是一阶和二阶高斯导数滤波器的近似值。
高斯导数滤波器如下所示:

类似Haar的过滤器看起来像这样:

Viola和Jones使用类似Haar的过滤器的原因是它们可以非常有效地进行评估。您所要做的就是从白色区域覆盖的像素总和中减去滤镜黑色区域覆盖的像素总和。由于区域是矩形的,因此可以根据相应的积分图像有效地计算每个区域中的像素的总和。
https://stackoverflow.com/questions/23171232
复制相似问题