一种改进的AdaBoost分类器构造方法转让专利

申请号 : CN201010280835.9

文献号 : CN101964063B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 文学志郑钰辉方巍

申请人 : 南京信息工程大学

摘要 :

本发明提供一种改进的AdaBoost分类器构造方法,属于图像检测技术领域。本发明首先将样本的类Haar特征值与其类别标签结合起来生成候选分类位置集,从候选分类位置集中寻找使分类错误最小的位置,基于此位置构造弱分类器,并同时提供一种自适应的弱分类器阈值构造方法。本发明较好地解决了AdaBoost分类器训练准备时间过长以及性能的提升问题,将其结合类Haar特征用于车辆图像检测实验,与传统AdaBoost分类器方法相比,明显减少了分类器的训练所需时间,同时还提升了其识别性能。

权利要求 :

1.一种改进的AdaBoost分类器构造方法,包括:步骤(1)、获取图像感兴趣区域;

步骤(2)、计算积分图;

步骤(3)、获得弱分类器;

步骤(4)、将步骤(3)得到的弱分类器组合成强分类器;

其特征在于:所述步骤(3)中获得弱分类器的步骤为:(3)-I、设所有类Haar特征在训练样本集S上得到的特征值集合为矩阵A:其中n表示训练样本集中样本的个数,m代表一张归一化为32×32的灰度图中构造的类Haar特征的个数,a11表示第1个类Haar特征在第1个样本上的值;aij表示第i个类Haar特征在第j个样本上的值,其中i∈{1,2,…,m},j∈{1,2,…,n},依此类推;

(3)-II、进行迭代训练;

II-1,采用基于计算积分图的方法求第i个类Haar特征在训练样本集S上的特征值,设对应的特征值构成的向量为Vec,样本xj的权值为wj,类型为yj,yj∈{-1,+1},其中1表示车,-1表示非车,Vec[j]的值为在样本xj上的特征值;

II-2,生成候选分类位置集:

II-2.1,对特征向量排序:将对应的特征值构成的向量Vec中的元素由小到大排序得到新的向量SortVec,设排完序后对应的类别标签向量变为Lab;

II-2.2,构造候选分类位置集:从左向右察看所有类别标签出现变化的位置对,判断所述出现变化的位置对所对应的特征值是否相同;

若特征值不同,将所述位置对的第一个位置放入候选分类位置集中;

若特征值相同,首先向左查找与所述相同特征值不同的第一个特征值,判断该特征值对应的位置是否已包含在候选分类位置集中,若该特征值对应的位置没有包含在候选分类位置集中,则将该特征值对应的位置加入候选分类位置集中;然后再向右查找与所述相同特征值不同的第一个特征值,断该特征值对应的位置是否已包含在候选分类位置集中,若该特征值对应的位置没有包含在候选分类位置集中,则将该特征值对应的位置加入候选分类位置集中;

记得到的候选分类位置集为L={l1,l2,…,lk′},其中k′为候选分类位置的个数,每一个候选分类位置用特征值对{SortVec(j-1),SortVec(j)}来表示,记为li′,i′=1,

2,…,k′;

II-3,求最佳分类位置:从步骤II-2.2得到的候选分类位置集L中选取一个使得分类错误最小的分类位置作为最佳分类位置τ,τ∈L;

II-4,设置分类阈值:

II-4.1,设当特征值小于等于SortVec[τ-1]时,类别输出为Label;设当特征值大于等于SortVec[τ]时,类别输出为-Label,其中,Label∈{-1,+1};

当特征值小于等于SortVec[τ-1]时,类别输出为Label的先验概率P1为:当特征值大于等于SortVec[τ]时,类别输出为-Label的先验概率P2为:其中,wj为第j个训练样本的权值,yj为第j个训练样本的真实类别;

II-4.2,当P1=0或P2=0,直接进入(3)-III步骤;

II-4.3,当P1≠0并且P2≠0时,分类阈值θi,即第i个类Haar特征所对应的弱分类器分类阈值,设置方法如下:II-5,根据以上的阈值,在给定的样本权重分布下构造弱分类器如下:其中SortVecj为第i个类Haar特征在第j个样本上相应的特征值,p∈{-1,+1}表示分类方向;

II-6,计算每个弱分类器对样本集的分类错误率:

其中wj代表样本xj的权值,fi(xj)表示基于第i个类Haar特征构造的弱分类器fi对样本xj的分类结果;

II-7,选取分类错误最小的弱分类器,并根据其分类效果对样本的权值进行更新:即分类错误的样本权值升高,而分类正确的样本权值降低;

(3)-III、反复进行步骤(3)-II的迭代训练过程,直至分类错误趋近于零。

说明书 :

一种改进的AdaBoost分类器构造方法

技术领域:

[0001] 本发明涉及一种改进的AdaBoost分类器构造方法,属于图像检测技术领域。背景技术:
[0002] 在机器学习中,AdaBoost分类器与SVM(支持向量机,Support Vector Machines)相比,在模式识别应用中具有识别精度高、实时性好的优点,因而在汽车辅助驾驶中障碍物(如车辆、摩托车、行人)识别中取得了较好的应用效果,然而,AdaBoost分类器在应用中的不足之处是训练过程远比SVM分类器耗时得多,妨碍了其在其他领域的应用推广。AdaBoost(Adaptive Boosting)分类器构造方法是由Freund&Schapire提出的一种自适应的Boost分类器构造方法,其主要原理是将所有待分类样本赋予相等的初始权值,在每一轮选取弱分类器(比随机猜测略好)的训练中,选择对样本带权分类错误最小的特征与阈值组合作为当前选取的弱分类器,并根据当前的弱分类器的分类效果对样本的权值进行更新:即分类错误的样本权值升高,而分类正确的样本权值降低。在反复进行多次迭代训练后,可以使分类错误趋近于零,最后将这些弱分类器组合成强分类器。由此可以看出,AdaBoost分类器训练阶段大部分时间都消耗在寻找弱分类器上。传统的寻找弱分类器方法是仅仅依据每个样本的类Haar特征值来寻找弱分类器,即首先对每个类Haar特征在训练样本集上得到的特征向量采用穷举的方式得到相应的候选分类位置,然后从所有候选分类位置中寻找分类错误最小的分类位置,再基于此位置构造弱分类器,因而导致AdaBoost分类器训练过程计算量大、耗时长,此外,在构造弱分类器过程中,传统的阈值设置方法在反映训练样本的分布规律方面仍有待进一步改善。

发明内容

[0003] 本发明的所要解决的技术问题是针对现有AdaBoost构造方法训练过程中存在的计算量大、耗时长以及弱分类器构造过程中传统阈值设置方法存在的问题,提出一种改进的AdaBoost分类器构造方法。
[0004] 本发明为实现上述发明目的采用如下技术方案:
[0005] 一种改进的AdaBoost分类器构造方法,包括:
[0006] 步骤(1)、获取图像感兴趣区域;
[0007] 步骤(2)、计算积分图;
[0008] 步骤(3)、获得弱分类器;
[0009] 步骤(4)、将步骤(3)得到的弱分类器组合成强分类器;
[0010] 其特征在于:所述步骤(3)中获得弱分类器的步骤为:
[0011] (3)-Ⅰ、设所有类Haar特征在训练样本集S上得到的特征值集合为矩阵A:
[0012]
[0013] 其中n表示训练样本集中样本的个数,m代表一张归一化为32×32的灰度图中构造的类Haar特征的个数,a11表示第1个类Haar特征在第1个样本上的值;aij表示第i个类Haar特征在第j个样本上的值,其中i∈{1,2,…,m},j∈{1,2,…,n},依此类推;
[0014] (3)-Ⅱ、进行迭代训练;
[0015] Ⅱ-1,采用基于计算积分图的方法求第i个类Haar特征在训练样本集S上的特征值,设对应的特征值构成的向量为Vec,样本xj的权值为wj,类型为yj,yj∈{-1,+1},其中1表示车,-1表示非车,Vec[j]的值为在样本xj上的特征值;
[0016] Ⅱ-2,生成候选分类位置集:
[0017] Ⅱ-2.1,对特征向量排序:将对应的特征值构成的向量Vec中的元素由小到大排序得到新的向量SortVec,设排完序后对应的类别标签向量变为Lab;
[0018] Ⅱ-2.2,构造候选分类位置集:从左向右察看所有类别标签出现变化的位置对,判断所述出现变化的位置对所对应的特征值是否相同;
[0019] 若特征值不同,将所述位置对的第一个位置放入候选分类位置集中;
[0020] 若特征值相同,首先向左查找与所述相同特征值不同的第一个特征值,判断该特征值对应的位置是否已包含在候选分类位置集中,若该特征值对应的位置没有包含在候选分类位置集中,则将该特征值对应的位置加入候选分类位置集中;然后再向右查找与所述相同特征值不同的第一个特征值,断该特征值对应的位置是否已包含在候选分类位置集中,若该特征值对应的位置没有包含在候选分类位置集中,则将该特征值对应的位置加入候选分类位置集中;
[0021] 记得到的候选分类位置集为L={l1,l2,…,lk′},其中k′为候选分类位置的个数,每一个候选分类位置用特征值对{SortVec(j-1),SortVec(j)}来表示,记为li′,i′=1,2,…,k′;
[0022] Ⅱ-3,求最佳分类位置:从步骤Ⅱ-2.2得到的候选分类位置集L中选取一个使得分类错误最小的分类位置作为最佳分类位置τ,τ∈L;
[0023] Ⅱ-4,设置分类阈值:
[0024] Ⅱ-4.1,设当特征值小于等于SortVec[τ-1]时,类别输出为Label;设当特征值大于等于SortVec[τ]时,类别输出为-Label,其中,Label∈{-1,+1};
[0025] 当特征值小于等于SortVec[τ-1]时,类别输出为Label的先验概率P1为:
[0026]
[0027] 当特征值大于等于SortVec[τ]时,类别输出为-Label的先验概率P2为:
[0028]
[0029] 其中,wj为第j个训练样本的权值,yj为第j个训练样本的真实类别;
[0030] Ⅱ-4.2,当P1=0或P2=0,直接进入(3)-Ⅲ步骤;
[0031] Ⅱ-4.3,当P1≠0并且P2≠0时,分类阈值θi,即第i个类Haar特征所对应的弱分类器分类阈值,设置方法如下:
[0032]
[0033] Ⅱ-5,根据以上的阈值,在给定的样本权重分布下构造弱分类器如下:
[0034]
[0035] 其中SortVecj为第i个类Haar特征在第j个样本上相应的特征值,p∈{-1,+1}表示分类方向;
[0036] Ⅱ-6,计算每个弱分类器对样本集的分类错误率:
[0037]
[0038] 其中wj代表样本xj的权值,fi(xj)表示基于第i个类Haar特征构造的弱分类器fi对样本xj的分类结果;
[0039] Ⅱ-7,选取分类错误最小的弱分类器,并根据其分类效果对样本的权值进行更新:即分类错误的样本权值升高,而分类正确的样本权值降低;
[0040] (3)-Ⅲ、反复进行步骤(3)-Ⅱ的迭代训练过程,直至分类错误趋近于零。
[0041] 本发明采用上述技术方案具有以下有益效果:
[0042] 本发明较好地解决了AdaBoost分类器训练准备时间过长以及性能的提升问题,将其结合类Haar特征用于车辆图像检测实验,与传统AdaBoost分类器方法相比,明显减少了分类器的训练所需时间,同时还提升了其识别性能。附图说明:
[0043] 图1是本发明的AdaBoost分类器构造方法流程图。具体实施方案:
[0044] 下面结合附图对技术方案的实施作进一步的详细描述:
[0045] 如图1所示,图1中计算积分图以及类Haar特征值方法与现有技术相同,在此不再赘述。
[0046] 以下详细介绍图1中的生成候选分类位置集以及设置分类阈值方法。为便于叙述,设所有类Haar特征在训练样本集S上得到的特征值集合为矩阵A。
[0047]
[0048] 其中n表示训练样本集中样本的个数,m代表一张归一化为32×32的灰度图中构造的类Haar特征的个数,aij(i∈{1,2,…,m},j∈{1,2,…,n})表示第i个类Haar特征在第j个样本上的值。
[0049] 以第t次迭代时求第i个类Haar特征在训练样本集S上值(对应矩阵A的第i行)的弱分类器为例,记对应的特征值构成的向量为Vec,样本xj的权重为wj,类型为yj,yj∈{-1,+1}(1表示车,-1表示非车)。Vec[j]的值为在样本xj上的特征值。
[0050] 1.生成候选分类位置集
[0051] 传统的生成候选分类位置集方法仅基于样本的类Haar特征值采用穷举的方法来生成,其不足之处是当样本规模很大时,所得到的候选分类位置数量庞大,使得求取最佳分类位置的计算量大、耗时长,是导致AdaBoost分类器训练时间太长的主要因素之一。为此,提出一种将类Haar特征值与相应样本类别标签结合起来生成候选分类位置集的方法。共分两步实现:第一步,对特征向量排序;第二步,构造候选分类位置集。
[0052] 1)对特征向量排序:将Vec中的元素由小到大排序得到新的向量SortVec,设排完序后对应的类别标签向量变为Lab;
[0053] 2)构造候选分类位置集:从左向右对所有标签出现变化的位置对,察看其对应的特征值是否相同,若不同,将位置对的第一个位置放入候选分类位置集中;若特征值相同,首先向左查找与其不同的第一个特征值,判断该特征值对应的位置是否已包含在候选分类位置集中,若没有,则加入候选分类位置集中;再向右查找与相同特征值不同的第一个特征值,后续操作与向左过程类似,在此不再赘述,记得到的候选分类位置集为L={l1,l2,…,lk′}。
[0054] 然后对以上得到的候选分类位置集L={l1,l2,…,lk′},选取一个使得分类错误最小的分类位置。
[0055] 2.设置分类阈值
[0056] 记以上得到的使分类错误最小的位置为τ∈L,下面计算分类阈值,传统的计算分类阈值的方法是求取平均值的方法,即:
[0057]
[0058] 然而,这种计算阈值的方法并没有较好地反映训练样本的分布规律,为此,提出一种自适应的分类阈值计算方法。
[0059] 设当特征值小于等于SortVec[τ-1]时,类别输出为Label(Label∈{-1,+1}),则当特征值大于等于SortVec[τ]时,输出为-Label。于是可得特征值小于等于SortVec[τ-1]时类别为Label的先验概率为:
[0060]
[0061] 特征值大于等于SortVec[τ]时类别为-Label的先验概率为:
[0062]
[0063] wj为第j个训练样本的权值,yj为第j个训练样本的真实标签;
[0064] 以上所得概率值反映了两类训练样本的分布规律,根据样本的分布规律,所提出的自适应分类阈值设置方法如下:
[0065]
[0066] 对于两种极端情况:P1=0或P2=0,可以将其理解成这样一个学习过程,即在训练期间弱分类器只学会识别一种类别,而通过实验发现,在特征分布正常的情况下,上面两种极端情况即使出现了,将其用于分类也无法得到最佳分类效果,总能找到比它分类效果更好的情形,因此不予考虑。