【问题标题】:How to normalize an image color?如何标准化图像颜色?
【发布时间】:2012-11-29 21:28:14
【问题描述】:

在他们描述Viola-Jones object detection框架(Viola和Jones的Robust Real-Time Face Detection)的论文中说:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    一种可能的方法是对所有元素进行假设正态分布的简单归一化。

    先求平均值(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)
    

    由此,我们可以使用标准正态分布公式(by 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|

    【讨论】:

    • 感谢您的回答。它真的帮了我很多!这个方法可以在MATLAB中实现吧?
    • @KojiIkehara:是的。另外,我相信它已经在 matlab 中实现了。当我下班回来时,如果你愿意,我可以检查如何在 octave(matlab 的开源变体)中实现它(只会在今天晚些时候)
    • 是的,那太好了!我也会研究一下。非常感谢!
    • 嗨!我已经发布了另一个问题,希望你能帮助我。 :)
    猜你喜欢
    • 2011-02-12
    • 2012-07-22
    • 2020-06-24
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 2020-10-09
    相关资源
    最近更新 更多