参考:
基于 AdaBoost 算法的人脸检测 北京大学 赵楠
csdn博客:http://blog.csdn.net/watkinsong/article/details/7631241
最近在看基于adaboost的人脸检测,因为数学基础较差,所以比较吃力,花费了好长时间,终于有了 一些眉目。 知道自己各方面都很差,所以开始以博客的形式记录下学习的历程。
boosting方法
boosting本意指增加发动机的压力,而boosting方法是指通过融合多个分类器,大大提高分类的性能。-------摘自《模式识别》
adaboost
由于自己基础很差,看了很多网上的资料及介绍adaboost算法的博客都没能明白。就翻看以前学过的《模式识别》,居然真的找到了adaboost的介绍,虽然介绍相对简单,但还是大致明白了。
以下是书上关于adaboost算法的描述:
(由于公式没法编辑,求和类的在后面括号内写了取值范围)
设给定N个训练样本{x1、x2、、、、xn},用fm(x)∈{-1,1}(m=1、、、M)表示M个弱分类器在样本x上的输出:
1,初始化训练样本(x1、x2、、、、xn)的权重wi=1/N,i = 1….N。
2,利用m=1→M,重复以下过程:
(1) 利用{wi}加权后的训练样本构造分类器fm(x)∈{-1,1}。
(2) 计算样本用{wi} 加权后的分类错误率em,并令cm=log((1-em)/em). cm即为分类器权值。
(3) 令wi=wi exp [ cm 1(yi≠fm(xi))],i=1,2…N,并归一化使 ∑wi=1(i从1到N)。 1(yi≠fm(xi)表示当yi≠fm(xi)时取1,否则取0.
3,对于待分类样本x,分类器输出为: sgn[∑fm(x)](m从1到M)
矩形特征
AdaBoost算法的实现,采用的是输入图像的矩形特征,也叫Haar特征。
常用矩形特征有三种
分别表示边缘特征、线性特征和特定方向特征。
特征模板的特征值定义为:白色矩形像素和减去黑色矩形像素和。
求滑动子窗口中的矩形特征数量