基于训练自适应增强和支持矢量机的目标识别方法转让专利

申请号 : CN201110099202.2

文献号 : CN102147866B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋利徐振超薛耿剑

申请人 : 上海交通大学

摘要 :

一种图像处理技术领域的基于训练自适应增强和支持矢量机的目标识别方法,通过提取原始样本的哈尔特征,并用于训练得到基于Adaboost和SVM的级联分类器,然后用该级联分类器对待识别图像进行目标识别并得到最终的识别结果。本发明能够对人、车等目标进行准确而快速的识别。

权利要求 :

1.一种基于训练自适应增强和支持矢量机的目标识别方法,其特征在于,通过提取原始样本的哈尔特征,并用于训练得到基于Adaboost和SVM的级联分类器,然后用该级联分类器对待识别图像进行目标识别并得到最终的识别结果;

所述的级联分类器由多个Adaboost分类器以及SVM分类器级联组成,其中:各个Adaboost分类器按照复杂程度从小到大依次排序,前一级Adaboost分类器的输出被用作后一级Adaboost的输入,并且每个后一级Adaboost的分类器只使用那些能够通过前面分类器的样本进行训练,同时在每两级Adaboost分类器后附带一个SVM分类器,该SVM分类器以它前面两级Adaboost分类器的输出置信值作为输入,根据前面两级Adaboost的检测结果决定是跳一级Adaboost分类器进行检测还是停止进行检测还是逐级进行Adaboost检测,以此在保证分类器整体识别率和误检率的同时提高分类器的检测速度;

所述的级联分类器的整体识别率和误检率是指: 和 其中:D表示整个

级联分类器的正样本检测率,F表示整个级联分类器的负样本的误检率,di,fi分别表示第i级分类器的正样本的检测率和负样本的误检率;

所述的训练是指:

1.1)设定每个哈尔特征分别对应一个弱分类器;

1.2)利用Adaboost的学习方法从全体弱分类器中选择出分类性能最优,并且相互之间冗余度最低的若干个弱分类器组成强分类器,并将这个Adaboost强分类器作为级联分类器的一级;

1.3)在每两级Adaboost级联分类器后面新增一个SVM分类器,将训练样本通过前两级Adaboost分类器得到的输出置信值作为其后面SVM分类器学习的输入数据样本,用径向基核函数对其进行映射,并且对SVM学习的正样本和负样本设定不同的惩罚系数以构建初始拒绝分隔面和初始跳跃分隔面这两个SVM线性分隔面,根据分隔面的检测率指标训练得到该级SVM分类器的最优拒绝分隔面和跳跃分隔面;

1.4)逐级训练分类器,直至各级级联分类器训练完毕;

所述的弱分类器是指:弱分类器函数为 其中:x代表待识别图

像,fj(x)代表特征j对应的哈尔特征值,α1,α2代表分类结果,θj代表分类器的阈值,通过选择分类性能最优的特征构建弱分类器,对于每个特征由弱分类器计算出一个对应阈值,该阈值能够保证被错误识别的样本数目最少;

所述的线性分隔面是指:对于所有样本数据x,线性分隔面都满足:w·x+b=0,其中:

w代表向量且垂直于分类超平面,b代表偏移量且为标量, 表示从原点到分隔面H的垂直距离,用d+代表从分隔面H到最近的正样本的距离,d-代表从分类器H到最近的负样本的距离,则分隔面的差值为d+-d-,并且该差值反比于||w||;当所有样本都线性可分的时候,支持矢量机的实质就是寻找差值最大的分隔面;

所述的径向基核函数是指:用于替代支持向量机中的w和xi的相乘运算,具体为:

其中:K表示核函数,y为核函数中心,γ为函数的宽度参数,xi代表向

量,w代表向量且垂直于分类超平面;

所述的SVM分类器是指:在常规的Adaboost级联分类器的基础上增加基于SVM学习方法的分类器,该分类器以前面两级Adaboost分类器的输出置信值作为它的输入,在该分类器的学习过程中,利用不同的惩罚系数得到两个SVM线性分隔面,分别称作拒绝分隔面和跳跃分隔面;

所述的惩罚系数是指:对于被分隔面不正确区分的样本,在目标函数中引入相应的惩罚项,即SVM的拒绝分隔面和跳跃分隔面的最优化公式都可表示为:其中:ξi是针对各个样本的惩罚项,C是惩罚系数,xi代表向

量,yi表示xi样本对应的归类且取值为整数,b代表偏移量,w代表向量且垂直于分类超平面,K表示核函数,在训练SVM分类器中的拒绝分隔面和跳跃分隔面的时候,对于正样本和负样本选择不同大小的惩罚系数,因为拒绝分隔面的目的是为了让正样本都被正确区分的前提下,排除掉尽可能多的负样本,因此让正样本的惩罚系数远大于负样本的惩罚系数,即C+>>C-,对于跳跃分隔面,负样本的惩罚系数要远大于正样本的惩罚系数,即C->>C+,C-,C+分别表示负样本和正样本的惩罚系数;

所述的目标识别是指:设定不同尺寸的窗口并通过滑动窗口的方式扫描待识别图像内的所有像素,通过级联分类器依次对滑动窗口获得的各个图像进行检测,判断该窗口是否包含目标并标出包含目标的位置,当待测图像窗口通过级联分类器中的所有分类器时则判定为目标窗口。

2.根据权利要求1所述的基于训练自适应增强和支持矢量机的目标识别方法,其特征是,所述的哈尔特征包括:基本哈尔特征以及扩展哈尔特征。

3.根据权利要求2所述的基于训练自适应增强和支持矢量机的目标识别方法,其特征是,所述的基本哈尔特征通过以下方式获得:将待识别图像沿水平或竖直方向划分不同大小的矩形小块,然后计算每个矩形小块的像素值的和并组成该待识别图像的矩形特征,然后将相邻的两个或者三个矩形小块的像素值的和相减作为该矩形特征的特征值;所述的扩展哈尔特征通过以下方式获得:将待识别图像沿水平或竖直方向划分不同大小的矩形小块,再沿着待识别图像的45度方向取一系列的斜矩阵,通过计算这些矩形小块的像素值的和并相减,得到这些扩展特征的特征值。

4.根据权利要求3所述的基于训练自适应增强和支持矢量机的目标识别方法,其特征是,所述的像素值为 其中:ii(x,y)代表积分图像的像素值,i(x′,y′)代表原始图像的像素值,(x,y)为待识别图像的内部坐标。

5.根据权利要求1所述的基于训练自适应增强和支持矢量机的目标识别方法,其特征是,所述的SVM的拒绝分隔面和跳跃分隔面的最优化公式中,最优分隔面是指:s.t.:yi(w·xi+b)-1≥0,其中:xi代表向量,b代表偏移量且为标量,w代表向量且垂直于分类超平面。

说明书 :

基于训练自适应增强和支持矢量机的目标识别方法

技术领域

[0001] 本发明涉及的是一种图像识别技术领域的方法,具体是一种基于训练自适应增强(Adaboost)和支持矢量机(SVM)的目标识别方法。

背景技术

[0002] 目标识别方法的研究和应用是计算机视觉、智能视频分析领域的一个活跃的分支,在视频监控、安全检查、自动控制等系统中具有重要的地位。在复杂环境下,高效且准确的识别出目标将为后续的目标跟踪以及行为分析等处理环节提供了坚实而有效的保障。
[0003] 目前的基于监督学习的目标识别技术通常为了取得较高的识别率而设计结构复杂的分类器,这些分类器的识别速度往往较慢,以至于很难对后续目标跟踪及行为分析等处理环节提供实时有效的结果和数据。复杂环境下高效、高精度的目标识别作为模式识别的难点之一,受到广泛的研究和关注,设计一种高效率、高精度的目标识别方法具有重要的意义。
[0004] Adaboost学习方法是通过一种自适应的学习方法选择出一系列分类能力较强并且相互之间冗余性较小的弱分类器。每次选择新的弱分类器的时候,都对学习样本的权重进行更新,使得那些能够被现有已经选出的弱分类器正确识别的样本的权重降低,而那些不能被现有的弱分类器正确识别的样本的权重增加。通过这样的自适应的权重更新过程,每次新选择出的弱分类器都更关注于那些还没有被正确识别的样本。由于每个弱分类器对应于一个哈尔特征,因此Adaboost学习过程可以看成是一个特征选择的过程。
[0005] 支持矢量机是一种计算复杂度较低并且高效的算法,通常应用于小样本的学习过程中。在本方法中,将支持矢量机用于学习新增的分类器。在支持矢量机的学习过程中,用{xi,yi},i=1,2,...n来标记样本图像,假设这些样本是线性可分的,则存在某个分隔面H能够将正样本与负样本最优的分隔开来。
[0006] 现有的基于监督学习的目标识别方法主要分为:支持矢量机,级联Adaboost分类器。
[0007] 支持矢量机的方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力。但支持矢量机的方法在大量样本条件下效率会变的很低,将消耗大量的机器内存和运算时间,并且难以应用到多类分类领域。因此,支持矢量机的方法通常应用于有少量样本的情况下。
[0008] 级联Adaboost分类器的方法是目前最常用的目标识别方法之一,得到了广泛的应用和研究。它的基本思想是先通过Adaboost学习的方法得到一组强分类器,再将这些强分类器按照分类精度的大小级联起来。强分类器是通过Adaboost这种迭代算法获得的,其核心思想是针对同一个训练集训练一组弱分类器,然后把这些弱分类器集合起来,构成一个强分类器。P.Viola和M.Jones等人2001年在Conf.Computer Vision and Pattern Recognition(计算机视觉与模式识别国际会议)发表的“Rapid object detection using a boosted cascade of simple features”(基于简单特征级联boosted结构的快速目标检测)一文中提出了在人脸识别领域使用基于级联Adaboost分类器的识别方法,并且以图像的矩形结构作为构建弱分类器的特征。之后,他们又将这种基于级联Adaboost分类器的识别方法推广到了多视角的人脸识别。Dalal和Triggs 2005年在Conf.Computer Vision and Pattern Recognition(计算机视觉与模式识别国际会议)发表的“Histograms oforiented gradients for human detection”(基于方向梯度直方图的行人检测)一文中提出利用梯度方向直方图为识别的特征,采用线性SVM作为分类器的方法,该方法能够更好的应用于行人等其它目标的识别上。Y.T.Chen等人2008年在IEEE Transactions On ImageProcessing(国际电子与电气工程师协会《图像处理》期刊)发表的“Fast Human detection usinga novel boosted cascading structure with meta stages”(一种利用meta强分类器的新型级联boosted结构的快速行人检测方法)一文中提出了将级联Adaboost结构与SVM学习结合在一起,取得了目标识别效率上的提高。但是,Y.T.Chen等的方法只对识别过程中遇到的错误图片的过滤速度进行了优化,但是没有对正确图片的获取实施进一步的处理。

发明内容

[0009] 本发明针对现有技术存在的上述不足,提供一种基于训练自适应增强和支持矢量机的目标识别方法,能够对人、车等目标进行准确而快速的识别。
[0010] 本发明是通过以下技术方案实现的,本发明通过提取原始样本的哈尔特征,并用于训练得到基于Adaboost和SVM的级联分类器,然后用该级联分类器对待识别图像进行目标识别并得到最终的识别结果。
[0011] 所述的哈尔特征包括:基本哈尔特征以及扩展哈尔特征。
[0012] 所述的基本哈尔特征通过以下方式获得:将待识别图像沿水平或竖直方向划分不同大小的矩形小块,然后计算每个矩形小块的像素值的和并组成该待识别图像的矩形特征,然后将相邻的两个或者三个矩形小块的像素值的和相减作为该矩形特征的特征值;所述的扩展哈尔特征通过以下方式获得:将待识别图像沿水平或竖直方向划分不同大小的矩形小块,再沿着待识别图像的45度方向取一系列的斜矩阵,通过计算这些矩形小块的像素值的和并相减,得到这些扩展特征的特征值。
[0013] 所述的像素值为 其中:ii(x,y)代表积分图像的像素值,i(x′,y′)代表原始图像的像素值,(x,y)为待识别图像的内部坐标。
[0014] 所述的级联分类器由多个Adaboost分类器以及SVM分类器级联组成,其中:各个Adaboost分类器按照复杂程度从小到大依次排序,前一级Adaboost分类器的输出被用作后一级Adaboost分类器的输入,并且每个后一级的Adaboost分类器只使用那些能够通过前面分类器的样本进行训练,同时在每级Adaboost分类器后附带一个SVM分类器,该SVM分类器以它前面两级Adaboost分类器的输出置信值作为输入,根据前面两级Adaboost的检测结果决定是跳一级Adaboost分类器进行检测还是停止进行检测还是逐级进行Adaboost检测,以此在保证分类器整体识别率和误检率的同时提高分类器的检测速度。
[0015] 所述的级联分类器的整体识别率和误检率是指: 和 其中:D表示整个级联分类器的正样本检测率,F表示整个级联分类器的负样本的误检率,di,fi分别表示第i级分类器的正样本的检测率和负样本的误检率。
[0016] 所述的训练是指:
[0017] 1.1)设定每个哈尔特征分别对应一个弱分类器;
[0018] 1.2)利用Adaboost的学习方法从全体弱分类器中选择出分类性能最优,并且相互之间冗余度最低的若干个弱分类器组成强分类器,并将这个Adaboost强分类器作为级联分类器的一级;
[0019] 1.3)在每级Adaboost级联分类器后面新增一个SVM分类器,将训练样本通过前两级Adaboost分类器得到的输出置信值作为其后面SVM分类器学习的输入数据样本,用径向基核函数对其进行映射,并且对SVM学习的正样本和负样本设定不同的惩罚系数以构建初始拒绝分隔面和初始跳跃分隔面这两个SVM线性分隔面,根据分隔面的检测率指标训练得到该级SVM分类器的最优拒绝分隔面和跳跃分隔面;
[0020] 1.4)逐级训练分类器,直至各级级联分类器训练完毕。
[0021] 所述的弱分类器是指:弱分类器函数为 其中:x代表待识别图像,fj(x)代表特征j对应的哈尔特征值,α1,α2代表分类结果,θj代表分类器的阈值。通过选择分类性能最优的特征构建弱分类器,对于每个特征由弱分类器计算出一个对应阈值,该阈值能够保证被错误识别的样本数目最少。
[0022] 所述的线性分隔面是指:对于所有样本数据x,线性分隔面都满足:w·x+b=0,其中:w代表向量且垂直于分类超平面,b代表偏移量且为标量, 表示从原点到分隔面H的垂直距离,用d+代表从分隔面H到最近的正样本的距离,d-代表从分类器H到最近的负样本的距离,则分隔面的差值为d+-d-,并且该差值反比于||w||;当所有样本都线性可分的时候,支持矢量机的实质就是寻找差值最大的分隔面。
[0023]
[0024] 所述的最优分隔面是指:s.t.:yi(w·xi+b)-1≥0,其中:xi代表向量,b代表偏移量且为标量,yi表示xi样本对应的归类且取值为整数,w代表向量且垂直于分类超平面。
[0025] 所述的径向基核函数是指:用于替代支持向量机中的w和xi的相乘运算,具体为:其中:K表示核函数,y为核函数中心,γ为函数的宽度参数。
[0026] 所述的SVM分类器是指:在常规的Adaboost级联分类器的基础上增加基于SVM学习方法的分类器,该分类器以前面两级Adaboost分类器的输出置信值作为它的输入。在该分类器的学习过程中,利用不同的惩罚系数得到两个SVM线性分隔面,分别称作拒绝分隔面和跳跃分隔面。
[0027] 所述的惩罚系数是指:对于被分隔面不正确区分的样本,在目标函数中引入相应的惩罚项,即SVM的拒绝分隔面和跳跃分隔面的最优化公式都可表示为:其中:ξi是针对各个样本的惩罚项,C是惩罚系数,xi代表向量,b
代表偏移量,w代表向量且垂直于分类超平面,K表示核函数。在训练SVM分类器中的拒绝分隔面和跳跃分隔面的时候,对于正样本和负样本选择不同大小的惩罚系数。因为拒绝分隔面的目的是为了让正样本都被正确区分的前提下,排除掉尽可能多的负样本,因此让正样本的惩罚系数远大于负样本的惩罚系数,即C+>>C-。对于跳跃分隔面,负样本的惩罚系数要远大于正样本的惩罚系数,即C->>C+,C-,C+分别表示负样本和正样本的惩罚系数。
[0028] 所述的目标识别是指:设定不同尺寸的窗口并通过滑动窗口的方式扫描待识别图像内的所有像素,通过级联分类器依次对滑动窗口获得的各个图像进行检测,判断该窗口是否包含目标并标出包含目标的位置,当待测图像窗口通过级联分类器中的所有分类器时则判定为目标窗口。
[0029] 与现有技术相比,本发明实现一种新的高效率、高精度的级联分类器结构,该级联分类器包括普通的Adaboost分类器以及新增的基于SVM的分类器。该级联分类器能够让部分负样本窗口被提前排除,并且加速部分正样本窗口通过级联分类器的速度。

附图说明

[0030] 图1为本发明流程图。
[0031] 图2为本发明的Adaboost分类器的学习流程图。
[0032] 图3为本发明中SVM分类器的学习流程图。
[0033] 图4为本发明实施得到的目标检测率和负样本误检率的曲线图。
[0034] 图5为实施例效果示意图。

具体实施方式

[0035] 下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0036] 如图1、2所示,本实例具体实施细节如下:
[0037] (1).根据技术指标确定Adaboost分类器的级数以及每级的技术指标:本实例中总共为12级Adaboost分类器,设定每级Adaboost分类器的检测率为99.5%,误检率为50%。SVM分类器拒绝分隔面和跳跃分隔面的检测率设定为99.5%。
[0038] (2).采用UIUC汽车数据集作为分类器学习和识别的样本数据:包括550个正样本,550负样本以及170个测试样本,且所有训练样本的大小取为50×20.样本权重被均匀初始化,即 (在本实验中,N=1100),并且设定Adaboost分类器的误检率初值为1。
[0039] (3).哈尔特征集合构造:取4×4到24×24大小范围内,包括水平、竖直以及斜45度方向的哈尔特征,对于每个50×20的训练样本总共得到344630个哈尔特征。并让每个哈尔特征对应一个弱分类器。
[0040] (4).选出最优的弱分类器:从弱分类器池中选出当前分类性能最强的弱分类器,并且将该分类器加入到Adaboost强分类器中,该过程也是特征选择的过程。
[0041] (5).更新分类器的阈值:每一次选择出新的弱分类器后,更新当前的强分类器的阈值,使得该分类器能够保证对正样本的检测率达到99.5%的要求。
[0042] (6).重新计算当前Adaboost分类器的误检率:每次选择出一个新的弱分类器后,重新计算当前的Adaboost分类器的误检率,得到一个最新值。
[0043] (7).更新样本的权重:每次选择出新的弱分类器后,更新学习的样本数据的权重值,更新的规则是这样的,让那些被已经选择出来的弱分类器能正确检测出的样本的权重降低,那些被现有的弱分类器错误检测的样本的权值增加。
[0044] (8).判断当前级Adaboost分类器的误检率是否达到要求:比较当前级Adaboost分类器的误检率是否达标,如果达到要求,则停止该级Adaboost分类器的学习,否则回到第(4)步,再次寻找新一个弱分类器。
[0045] (9).判断级联Adaboost分类器的级数是否满足要求:比较级联Adaboost分类器的级数是否达到要求,如果达到要求,则停止Adaboost分类器的学习,否则构造新的一级Adaboost分类器并回到第(4)步。
[0046] (10).利用样本通过前面两级Adaboost分类器获得的输出置信值作为SVM学习的输入数据,然后设定拒绝分隔面学习的正样本的初始惩罚系数C+和负样本的初始惩罚系数C-的比率为10∶1,跳跃分隔面学习的正样本的初始惩罚系数C+和负样本的初始惩罚系数C-的比率为1∶10。
[0047] (11).学习分隔面:基于当前正样本和负样本的惩罚系数,分别学习一个拒绝SVM线性分隔面和一个跳跃SVM线性分隔面。
[0048] (12).更新计算拒绝分隔面和跳跃分隔面关于正样本的检测率。
[0049] (13).更新正样本与负样本惩罚系数之比,为下次分隔面的学习做准备。
[0050] (14).判断分隔面的检测率是否达到要求:比较拒绝分隔面和跳跃分隔面当前的检查率和他们对应的指标,看是否已经达到设定的要求。如果达到要求,则停止该SVM的学习,否则回到第(11)步。
[0051] (15).判断每级Adaboost分类器后的SVM分类器是否都学习完毕,若没有完成,则转回第(10)步进行新的SVM分类器的学习,否则分类器训练学习完成。
[0052] (16).根据训练得到的分类器对测试图像进行检测并标识出检测到的目标区域。
[0053] 实施效果
[0054] 依据上述步骤,对由UIUC数据集的测试图像进行了实验。为体现本发明的进步性,本方法与传统的Adaboost分类器进行了比较,本实施例从分类器检测的效率和准确率两个方面去比较传统Adaboost分类器和本发明分类器的效果。准确率方面主要比较正样本的检查率和负样本的误检率,其中:
[0055] 检测率的定义为:
[0056] 误检率的定义为:
[0057] 检测率越高且误检率越低表明该方法的准确性越高。本实施例提出的分类器在检测率和误检率方面与传统级联分类器相比性能没有明显下降。
[0058] 此外,从分类器检测的效率评价来看,本实施例中新提出的分类器相比于传统Adaboost分类器能够节约6.9%的用于负样本窗口检测的分类器级数以及可减少约20.9%的用于正样本检测的分类器级数。