在前一个分类得出的结果在下一个分类器中会得到加强,加强后的全体样本再进行训练
例子:
苹果 苹果 苹果 香蕉
第一次训练得出的结果: 0.1 0.1 0.1 0.5
训练的终止条件:1、迭代的最大次数(循环最大次数)2、每次迭代之后,有一个最小检测概率,当训练过程大于最小的检测概率,则终止条件。
主要内容:
1、分类器的结构 2、Adaboost分类器计算过程 3、opencv自带人脸识别Adaboost分类器的文件结构(xml)
第一部分:分类器的结构
image.png第一级:强分类器
当 haar>某一个阈值 就认为是苹果,一般需要多级分类器判决:
haar>T1 and haar>T2 (2个强分类器,应用时一般为15-20个强分类器,只有当计算出的haar特征连续通过10-20个强分类器,才能被认为是所需目标)
例子:
3个强分类器: x1 x2 x3
对于的阈值: t1 t2 t3
进行判决时:x1>t1 and x2>t2 and x3>t3 ----->认为是所需的目标
作用:对输入的样本进行计算,然后通过阈值判断,进行判决(是或不是所需目标)
第二级:弱分类器
一个强分类器下边也有若干个弱分类器
作用:计算强分类器的特征,也就是计算前面提到的 x1 x2 x3
分类器x2下有3个弱分类器,其计算特征为y1,y2,y3,那么强分类器x2 =sum( y1,y2,y3 )
第三级:弱分类器的特征计算
弱分类器的y是由若干个节点(node)组成
在opencv中,一个弱分类器最多支持三个haar特征,而这三个haar特征,每一个haar特征构成1一个node节点
一个haar特征对应一个node:
若其haar特征>当前node的特征 (阈值判决) ,那么当前node节点的特征 z1 = 阿法1;
若其haar特征<当前node的特征 (阈值判决) ,那么当前node节点的特征 z1 = 阿法2
将三个node节点的值进行求和,若:
z = sum(z1,z2,z3)>弱分类器的判决门限T ,则y = AA (弱分类器被赋予一个值)
z = sum(z1,z2,z3)<弱分类器的判决门限T ,则y = BB (弱分类器被赋予另外一个值)
网友评论