技术领域
[0001] 本发明属于目标检测技术领域,具体涉及一种分类器集成方法。
相关背景技术
[0002] 在目标检测方法中,现在常用的一类方法是基于统计学习的分类器设计算法。分类器可以通过学习的方法获得。各种方法获得的分类器可分为弱分类器和强分类器。在二分情况下弱分类器的错误率会低于50%,其实任意的分类器都可以作为弱分类器,如KNN、决策树等。强学习器的识别准确率很高并且可以通过弱分类器集成获得。集成就是将不同的分类器组合在一起。集成的方法有bagging和boosting方法。Adaboost是boosting的代表算法。在机器学习方法中,AdaBoost能够将弱分类器组合起来构成强分类器,并在人脸检测等方面也得到了成功的应用。在OpenCV(开源计算机视觉库)中该算法结合Haar特征、HOG等特征得到成功实现和应用,并为广大计算机视觉研究人员使用,使其成为各种场合下目标检测应用的首选。
[0003] Adaboost方法的目的就是从训练数据集中学习一系列最佳弱分类器,这一系列的弱分类可看做组成Adaboost分类器的分类器单元,然后将这些分类器单元集成起来构成一个强分类器,最终用这个强分类器分类一个新的样本是正样本还是负样本。
[0004] Adaboost方法运行过程如下:对训练集中的每一个样本赋予一个初始权重,并在训练集中训练一个最佳弱分类器,计算出该分类器的错误率,根据错误率调整样本权重,调整后再进行训练弱分类器。通过不断的调整权重,增加弱分类器数量达到训练收敛条件。Adaboost方法示意图如图1所示。
[0005] 为了从所有弱分类器中得到最终的分类结果,需要将所有的弱分类器组合起来,构成强分类器。组合的方式是让所有弱分类器投票,再对投票结果按照错误率加权求和,将投票加权求和的结果与平均投票结果比较得出最终的结果。
[0006]
[0007] 其中,
[0008] 上述公式中ht(x)代表训练得到的弱分类器,αt代表对应弱分类器ht(x)的投票权重。其中错误率εt=未正确分类的样本数目/所有样本数目。
[0009] 平均投票结果,即假设所有的弱分类器投“赞同”票和“反对”票的概率都相同下,求出的概率平均。
[0010]
[0011] 从Adaboost算法对弱分类器的集成过程可以看到它只是采用对各弱分类器的投票权重进行简单求和并与平均值做阈值比较的方法得到强分类器,并没有充分发挥出各个弱分类器的投票权重的作用,因而应用此种方法集成得到的强分类器的性能还具有很大的提升空间。
具体实施方式
[0038] 为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
[0039] 为解决现有技术问题,本发明提供一种分类器集成方法,所述方法包括:
[0040] 步骤S1:使用分类器训练方法训练满足系统实时性能需求的分类器A;
[0041] 步骤S2:抽取组成分类器A的所有分类器单元对训练样本分类的分类置信度;
[0042] 步骤S3:将步骤2得到的分类置信度作为新一轮训练特征训练得到分类器B;
[0043] 步骤S4:将分类器A和B联合起来对待分类样本进行分类。
[0044] 其中,所述步骤S1中,分类器A是指由若干具有分类能力的分类器单元组成的集成分类器。
[0045] 其中,所述步骤S1中,所述分类器单元为:能够对待分类样本输出分类置信度的分类器单元。
[0046] 所述组成分类器A的分类器单元通常分类能力较弱,可称为弱分类器;分类器单元通常自带对样本分类的准确度的评估,可称之为分类置信度。
[0047] 其中,所述步骤S1中,在haar特征+adaboost分类器的情况下,组成Adaboost分类器的弱分类器的投票权重就代表了由样本特征反映出来的分类能力;因此,分类置信度、投票权重都是对分类能力或者准确度评估一种称谓。
[0048] 其中,所述步骤S2中,计算分类器单元对分类样本的分类置信度作为后续步骤的输入。
[0049] 其中,所述步骤S2中,在haar特征+adaboost分类器训练的情况下,其从众多haar特征中通过训练筛选得到组成分类器A的分类器单元和分类置信度;各分类器单元使用一种或者haar特征对待分类样本进行判别,并且输出判别的置信度;
[0050] Haar特征的数量非常大,但经过分类器A的训练过程,已经将众多的Haar特征过滤得到具有对样本分类判别一定能力的特征,并且分类置信度是对过滤得到的特征的分类能力的度量;
[0051] 因此,分类器单元对训练样本分类的分类置信度可视为样本的一种新的特征。
[0052] 其中,所述步骤S3中,选择由步骤S2抽取的对训练样本的分类置信度作为新一轮训练的特征,训练得到分类器B,也就是用分类器B对分类器A的分类器单元的分类置信度重新集成。
[0053] 其中,所述步骤S3中,在haar特征+adaboost分类器训练得到的分类器A中,经过步骤S2保存的分类置信度新特征具有维数低、分类能力明确的优势,并且得到它的计算过程简单,可为工程应用打下基础;
[0054] 有了简单高效的特征,可以应用更高级的分类模型来提高分类能力。在具体实施中采用SVM(支持向量机)进行新一轮训练,得到分类器B。
[0055] 其中,,所述步骤S4中,对待分类样本,首先使用分类器A的分类单元对待分类样本判别得到分类置信度,再将这些分类置信度作为分类B的输入,得到对待分类样本的最终判别结果。
[0056] 其中,所述方法使得弱分类器能够以更加合理的方式集成起来,使得同样的弱分类器能够集成得到分类能力更强的强分类器;如此来提高最终的强分类器的分类性能,从而获得了更高的分类能力,可以达到工程应用的目的。
[0057] 实施例
[0058] 本实施例包括如下步骤:
[0059] S1:使用分类器训练方法训练满足系统实时性能需求的分类器A所述步骤S1中,分类器A是指由若干具有分类能力的分类器单元组成的集成分类器。并且这些分类器单元能够对待分类样本输出分类置信度。
[0060] 组成分类器A的分类单元通常分类能力较弱,可称为弱分类器。它通常自带对样本分类的准确度的评估,可称之为分类置信度。以haar特征+adaboost分类器为例,组成Adaboost分类器的弱分类器的投票权重就代表了由样本特征反映出来的分类能力。因此,分类置信度、投票权重等都是对分类能力或者准确度评估一种称谓。
[0061] S2:抽取组成分类器A的所有分类器单元对训练样本分类的置信度[0062] 所述步骤S2中,计算分类器单元对训练样本分类的置信度作为后续步骤的输入。
[0063] 继续以haar特征+adaboost分类器训练为例,它从众多haar特征中通过训练筛选得到组成分类器A的分类器单元和分类置信度。各分类器单元使用一种或者haar特征对待分类样本进行判别,并且输出判别的置信度。Haar特征的数量非常大,但经过分类器A的训练过程,已经将众多的haar特征过滤得到具有对样本分类判别一定能力的特征,并且分类置信度是对过滤得到的特征的分类能力的度量。因此,分类器单元对训练样本分类的置信度可视为样本的一种新的特征。
[0064] S3:将步骤2得到的置信度作为新一轮训练特征训练得到分类器B[0065] 所述步骤S3中,选择由步骤S2抽取的对训练样本的分类的置信度作为新一轮训练的特征,训练得到分类器B,也就是用分类器B对分类器A的分类器单元的分类置信度重新集成。
[0066] 在haar特征+adaboost分类器训练得到的分类器A中,经过步骤S2保存的置信度新特征具有维数低、分类能力明确的优势,并且得到它的计算过程简单,可为工程应用打下基础。有了简单高效的特征,可以应用更高级的分类模型来提高分类能力。在具体实施中我们可以采用SVM(支持向量机)进行新一轮训练,得到分类器B。
[0067] S4:将分类器A和B联合起来对待分类样本进行分类。
[0068] 所述步骤S4中,对待分类样本,首先使用分类器A的分类单元对待分类样本判别得到分类置信度,再将这些分类置信度作为分类B的输入,得到对待分类样本的最终判别结果。
[0069] 在本发明的实施例中,如图1所示,就是选用haar特征+adaboost作为分类器A,SVM(支持向量机)作为分类器B的分类器训练过程的流程图。如图2所示,就是选用haar特征+adaboost作为分类器A,SVM(支持向量机)作为分类器B的分类器判别过程的流程图[0070] 简单的特征经过分类器A的筛选和提升得到了分类能力更强的特征,同时保留了其简单的特性,为后续分类能力更强的分类器的应用打好了基础。通过分类器B对分类器A输出的特征二次训练提升,使得分类器A和B可以结合在一起对样本进行分类,在分类能力提升的同时,保留了初始特征使用的简便性,使得更加适合实际工程应用。
[0071] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。