如何规范化图像颜色?

时间:2012-12-12 08:03:17

标签: algorithm image-processing machine-learning face-detection adaboost

在他们描述Viola-Jones object detection框架(Viola和Jones的强大实时人脸检测)的论文中,有人说:

  

用于训练的所有示例子窗口都是归一化的方差   尽量减少不同光照条件的影响。

我的问题是“他们使用什么样的工具来规范图像?”

我不是在寻找Viola& amp;琼斯使用但是产生几乎相同输出的类似产品。我一直在关注很多haar-training教程(试图检测一只手),但还不能输出一个好的探测器(xml)。

我尝试过与作者联系,但仍然没有回复。

1 个答案:

答案 0 :(得分:5)

一种可能的方法是应用简单规范化,假设正态分布到所有元素。

首先找到平均值(Mu)和standard deviation(S):

Mu = 1/N * Sum(a[i][j]) for each i,j 
S  =  sqrt(1/(N-1) *  Sum((a[i][j] - Mu)^2)) for each i,j
       (in here N is the number of pixels, 20*20 in the viola jones case)

由此,我们可以使用标准正态分布公式(standardizing all values)来规范化每个像素的值:

a'[i][j] = (a[i][j] - Mu) / S

另一种方法是vector normalization,基本上说:

  • 找到向量的长度|a| = sqrt(sum (a[i][j]*a[i][j])) for each i,j
  • 分配:a'[i][j] = a[i][j] / |a|