Haar-Like特征

Haar-Like特征

矩形特征的值, 是指图像上两个或多个形状大小相同的矩形内部所有像素灰度值之和差值, 即使用白色矩形区域所有像素灰度值之和减去黑色矩形区域所有像素灰度值之和。





单个Haar-Like特征的分类能力是很弱的,但是通过特定的级联算法可以将简单Haar-Like特征应用于目标检测。


积分图法

对Haar-like 特征来说, 物体识别需要扫描大量的窗口,并计算每个窗口对应子图像的特征值,这么大的计算量将降低训练和检测的速度。为了保证系统实时性的要求, 采用积分图像法来快速计算矩形的相应特征值。
Viola P.利用图像的快速积分算法可以快速计算特征值:引入了一种新的图像表示方法———积分图像,利用它可以快速计算Haar-Like 特征。积分图像的定义如下:
已知图像I,在点(x,y)处的积分图像值定义为:


如图2 所示,点(x,y)处的积分图像值等于图中阴影部分所有像素灰度值的和。

                                                
                                                  图2 点(x,y)的积分图像
如图3 所示,计算矩形D 内所有像素灰度积分,则
可由各点的积分图像值得到:
Sat3=A+B;Sat4=A+B+C+D;
所以有:
D=Sat1-Sat2-Sat3+Sat4;


所以,无论矩形的尺寸大小,只需查找积分图像4次就可以求得任意矩形内像素值的和, 而且在进行多尺度检测时,仍然在任意尺度搜索。在实现时只需按行或按列遍历整张图像一次就可以得到这张图像的积分图,避免了算法的耗时问题。

Adaboost算法

这个方法允许设计者不断地加入新的“弱分类器”,直到达到某个预定的足够小的误差率。在AdaBoost 方法中,每个训练样本都被赋予一个权重,表明它被某个分量分类器选入训练集的概率。如果某个样本点已经被正确分类,那么在构造下一个训练集中,它被选中的概率就被降低;相反,如果某个样本点没有被正确地分类,那么它的权重就得到提高。通过这样的方式,AdaBoost方法能够“聚焦于”那么较困难(更富信息)的样本上。在具体实现上,最初令每个样本的权重都相等,对于第k次迭代操作,我们就根据这些权重来选取样本点,进而训练分类器Ck。然后就根据这个分类器,来提高被它错分的那些样本点的权重,并降低可以被正确分类的样本权。最后,用权重更新过的样本集来训练下一个分类器Ck+1。整个训练过程如此进行下去。其算法描述如下:



算法中 Wk (i)——每一步迭代中对每个样本的加权;
Zk ——归一化因子;
C ——第k 个分量分类器;
α k ——对Ck 的加权;
最后,总体的判别函数由各分量分类器的加权平均得到:

其中hk (x)为分类器Ck 给出的判别结果。

基于 AdaBoost 方法的特征选择

用类Haar特征法可以提取出大量的特征,为了满足实际应用,需要从这些特征中挑选出少量的特征,为此Paul Viola和Michael Jones 的文章中提出改进版的AdaBoost方法来挑选特征,具体方法如下:



版权声明:

posted on 2015-04-22 18:12  moffis  阅读(505)  评论(0编辑  收藏  举报

导航