训练多类Boosting分类器的方法

文档序号:6612462阅读:296来源:国知局
专利名称:训练多类Boosting分类器的方法
技术领域
本发明涉及分类器训练方法,更具体地讲,涉及一种通过在使用多类 Boosting方法进行类的训练时通过动态改变类权重调整训练样本的训练权重 来训练多类Boosting分类器的方法。
背景技术
多类Boosting方法对于多类对象检测和识别非常重要,特别是在图像对 象检测领域。图像对象检测变得越来越流行,并且被用于多个不同检测类的 检测中。其应用的示例包括多视角人脸检测、眼睛定位,交通信号检测以 及车辆^r测等。
图l示出用于多视角人脸检测的多类Boosting方法。根据人脸相对于图 像面的旋转角度,多视角人脸被分为若干类。多类Boosting方法可用于同时 检测若干个角度的人脸。
图2示出多类Boosting方法的构思。在多浮见角人脸4企测中,多类Boosting 方法使用具有所有类的相同特征的分类器,分类器对于不同的类具有不同的 置信参数。例如,使用人的眼睛作为分类特征来训练分类器,在对不同视角 的人脸图像进行检测时,该分类器对于不同视角的人脸的检测结果的置信度 是不同的,因此需要根据不同的视角(即,不同的类)设置不同的置信参数。
第2006/0248029号美国专利"Object-detection method multi-class Bhattacharyya Boost algorithm used therein" 7>开了 一种多类对象4企测方法,在 该方法中,对于不同的类使用具有不同参数的相同投影作为分类特征,整个 多类系统的消耗时间取决于性能最差的类。也就是说,性能越差的类需要更 多的弱分类器才能达到预定的分类效果,所以对性能最差的类进行分类时消 耗的时间最多。这使得整个系统的速度变慢,效率降低。
因此,需要一种改进的训练方法,使得对性能最差的类进行分类的弱分 类器的数量减少,同时使对不同的类进行检测所需的弱分类器的数量基本相 同,从而提高系统的整体速度和效率。

发明内容
本发明的目的在于提供一种通过在使用多类Boosting方法进行类的训练 时,为训练数据中的每个训练样本的样本权重分配一个与训练样本所属的类 对应的类权重来训练多类Boosting分类器的方法,从而使得最差的类使用的 弱分类器的数量减少,同时用于不同的类的弱分类器的数量基本相同,从而 减少了系统的运算量,提高了系统的整体速度和效率。
本发明提供一种用于训练多类Boosting分类器的方法,所述方法包括 (1)提供包括多个类的训练样本的训练数据;(2 )设置性能目标阈值,初始 化训练样本的训练权重,其中,训练样本的训练权重包括训练样本的样本权 重和类权重,所述训练样本的类权重与所述多个类中与训练样本所属的类相 对应;(3 )使用Boosting方法对训练数据中的被训练权重加权的训练样本进 行循环训练,其中,在所述循环训练过程中的每次循环之后,得到用于与所 述进行训练的训练样本对应的类的弱分类器,将在已经完成的训练循环得到 的弱分类器组合为强分类器,并测试所述强分类器的性能以确定是否存在性 能达到或超过所述性能目标阈值而完成训练的类,对于完成训练的类,从训 练数据中去除完成训练的类的训练样本;对于没有完成训练的类,则根据 Boosting方法调整其训练样本的基础权重,并根据其性能调整其类权重,以 使在本次以及最近的循环中或在本次循环中的性能差的类的训练样本在下次 循环中的训练权重增大;(4)将在步骤(3)训练得到的所有弱分类器组合为 多类Boosting分类器。
根据没有完成训练的类的性能调整其类权重步骤还包括增大在本次循 环中性能最差的类的类权重;
如果一个类在上一次循环中的性能最差,而在本次循环中的性能不是最 差的,则减小所述类的类权重。
所述每个类的类权重是通过对每个类的基础类权重进行归一化得到的, 所述基础类权重根据下面的等式而得到 =(/^,,)
其中,Z是训练循环序号,/是类序号,WA,是在第"欠循环训练得到的强 分类器对第Z类进行分类的虚警率,w是对应于整个训练过程的全局变量,根 据各个类的性能而动态地改变。
5对每个类的基础类权重进行归一化而得到每个类的类权重的步骤包括
在每次循环后基于还没有完成训练的类的基础类权重,通过下式来进行所述
归一化
其中,2>".表示在第P欠循环后还没有完成训练的类的基础类权重之和。
w^i步骤(2)中被初始化为0;如果第/类的性能在第Z次循环最差,并 且在第"次循环的性能最差,则"增大预定值;如果第/类的性能在第f次 循环不是最差的,但在第"次循环的性能最差,则w减小预定值。 通过下面的等式计算样本在第什l次循环的训练权重
其中,是第/类的训练样本s在第,次循环的样本权重。
通过下面的等式来计算训练样本在第,次循环的样本权重w;(力
其中,w,—^)是第(")次循环中样本S的训练权重,y("是样本S的类别真
值,;^w是在第"欠循环中训练得到的弱分类器的分类结果,z是归一化系数。
根据没有完成训练的类的性能调整其类权重步骤还包括减小在本次循 环中性能最好的类的类权重;如果一个类在上一次循环中的性能最好,而在 本次循环中的性能不是最好的,则增大所述类的类权重。
根据没有完成训练的类的性能调整其类权重步骤还包括减小在本次循 环中性能最好的类的类权重。
根据没有完成训练的类的性能调整其类权重步骤还包括增大在本次循 环中性能最差的类的类权重。


图l示出用于多视角人脸检测的多类Boosting方法; 图2示出多类Boosting方法的构思;
图3示出根据本发明示例性实施例的训练Boosting多类分类器的方法的 流程图。
具体实施例方式
本发明的用于训练多类Boosting分类器的方法基于Boosting方法,对包 括多个类的训练样本的训练数据进行训练,而得到用于所述多个类的弱分类 器来形成多类Boosting分类器。本发明的用于训练多类Boosting分类器的方 法与传统的Boosting方法不同的是,在进行训练之前,设置一个性能目标阈 值,当在某次训练循环之后得到的强分类器对一个类的性能达到所述性能目 标阈值时,完成针对这个类的训练,并从训练数据中去除该类的训练样本。 在随后的循环中使用剩余的训练样本针对剩余的类进行训练。在训练过程中 的每次循环之后并在下一次循环开始之前,为训练数据中的每个训练样本的 样本权重分配一个与训练样本所属的类对应的类权重,即,样本权重和类权
重构成训练样本在每个训练循环中的训练权重。每个类对应的类权重根据在 本次以及最近的循环或者在本次循环中得到的强分类器对于该类的性能而动 态地变化,以使性能差的类的训练样本在下次循环中的训练权重增大,从而 性能好的类在下次循环中的训练权重减小。也就是说,通过调整类权重,在 下次循环的训练中增大性能差的类的训练样本的训练权重,减d、性能好的类 的训练样本的训练权重,使各个类的性能尽可能在相同的循环中达到性能目 标阈值而完成训练,从而最终使得性能最差的类所需的弱分类器的数量减小, 同时对不同的类进行分类所需的弱分类器的数量基本相同。
以下,将参照图3来详细说明根据本发明的第一示例性实施例。 图3示出根据本发明示例性实施例的训练Boosting多类分类器的方法的 流程图。
首先,提供包括多个类(例如,m个类,m为大于1的自然数)的类集 合r的训练数据D「。训练数据D「包括正训练样本和负训练样本,可由类别 真值来标识。训练数据D「可由下面的等式(1)来表示
D、((x;,y;),…,(x;,y;),…,(化iD,卩) (i)
D2 = {(x〖,y〖),..,,(x ,yi2),...(X|2D2|,y|2D2|)}
0、{(4,^),.."^), }
Dm = (0C,yr),…,(x「,y;",…(x「叶y「"" 二D1 YD2 Y..."4 Y..,ZT其中,x,表示训练数据D「中第k类的第i样本;y,=±l,表示第i样本x,的 类别真值;|W|表示训练数据Dr中第k类的样本数量。
在开始对训练数据Dr进行训练之前,初始化训练样本的样本权重以及不 同的类的类权重(步骤301)。与传统Boosting方法相同,每个样本的初始样 本权重为i/ljlz)卞每个类的类权重是通过对每个类的基础类权重进行归一化 得到的,所SL基础类权重根据下面的等式(2)而得到
(2)
其中,/是在使用Boosting方法进行训练期间的循环序号;/是类序号(每个 类的类序号在整个训练过程中保持不变);W《,是在第"欠循环训练得到的强 分类器对第/类进行分类的虚警率;w是对应于整个训练过程的全局变量。
在每次循环后基于还没有训练完成的类的基础类权重,通过下面的等式 (3)对基础类权重进行归一化而得到类权重
,. = r',' ( 3 )
其中,1>,,,表示在第^次循环后还没有完成训练的类的基础类权重之和。 通ii使w为0来初始化训练样本的类权重,根据等式(2 )和(3 )每个
类的类权重^f皮初始化为1/m。
可基于训练样本的样本权重和类权重由等式(4 )来计算训练样本的训练
权重
<formula>formula see original document page 8</formula> = (4)
其中,w;,是第z类在第z次循环被调整后的类权重,是第z类的训练样 本s在第,次循环的样本权重。
可使用基于传统Boosting方法的等式(5)来计算训练样本的样本权重 U.'(J) = w,—i") exP(- A,(力) (5)
其中, (力是第(Z-l)次循环中被调整后的样本s的训练权重,y(力是样本 s的类别真值,W力是在第,次循环中训练得到的弱分类器的分类结果,Z是
归一化系数。
在完成初始化之后,开始对训练数据D「进行训练(步骤302 )。 下面,以第T (T为大于1的自然数)次循环为例描述根据本发明第一 示例性实施例的训练多类Boosting分类器的方法的训练循环。
在第T次训练循中得到弱分类器br之后,将在已经完成的各个循环得到的弱分类器组合为强分类器,所述强分类器可被表示为
// = ^>, (6) 其中,4为在第t次循环得到的弱分类器。
测试所述强分类器对在T-l次循环中训练没有完成的类的性能(步骤 303 ),并根据测试结果确定是否完成训练(步骤304 )。
如果所述强分类器对于例如第/类的性能达到或超过性能目标阈值,例 如,0.5的虚警率,则可以确定完成对第/类的训练,并从训练数据D「中去 除第/类的训练it据Di。此外,如果本实施例中的m个类的性能都已达到或 超过性能目标阈值,则可确定整个训练过程完成,操作进入步骤305,并且 所述强分类器为最终训练得到的多类Boosting分类器。
在步骤306,对在第T次循环中性能没有达到或超过性能目标阈值的类 (即,没有完成训练的类),根据所述类的性能的变化对类权重进行调整,同 时根据等式(5)调整样本权重。具体地说,如果在第T次循环得到的强分类 器对于没有完成训练的类中的例如第/类(每个类的类序号在整个训练过程 中保持不变)的性能最差(即,虚警率高),并且在第T-l次循环训练得到的 强分类器对于第/类的性能也最差,则将等式(2)中的w增加l,从而根据 等式(3),第,'类的基础类权重气,的归一化值类权重w;,增大;如果在第T次 循得到的强分类器对于第Z类的性能不是最差的,但在第T-l次循环训练得到 的强分类器对于第/类的性能最差,则将w减小l,从而根据等式(3),第z' 类的基础类权重 的归一化值类权重 减小。因为存在某个类在之前的循环 或本次循环中完成训练的情况,所以在本说明书中,性能最差的类是指在所 述的循环中没有完成训练的类中,使用在所述的循环中得到的强分类器进行 测试的性能最差的类。
根据步骤306的结果,可使用等式(4)和等式(5)计算将在下一循环 中使用的训练样本的训练权重(步骤307)。当w增大时,第z'类的每个训练 样本的训练权重w,("(即,在第T+l次循环的训练权重)相对于样本权重w;(力 增大;当w减小时,第/类的每个训练样本的训练权重w,W相对于样本权重 w;(力减小。 j
也就是说,对于在上次循环中性能最差的类,如果在本次循环中该类仍 然是性能最差的类,则通过增大该类的类权重来最终增大该类的训练样本在 下一循环中进行训练时的训练权重,从而提高该类在下一循环后的性能(即,
9下一循环得到的强分类器对于该类的性能提高);如果在本次循环中该类不再 是性能最差的类,则通过减小该类的类权重来最终减小该类的训练样本在下 一循环中进行训练时的训练权重,从而降低该类在下一循环后的性能(即, 下一循环得到的强分类器对于该类的性能降低)。以这样的方式使本实施例中
的m个类在相同或相近的循环达到性能目标阈值,从而使性能最差的类所需 的弱分类器的数量减小,同时使每个类的弱分类器数量相同或相近。
随后,返回步骤302,重复上述步骤,直至操作进行到步骤305。需要注 意的是,如果一个类在步骤304完成了训练,则将不更新该类的类权重,并 且自本次循环起不将该类的类权重代入等式(3)。
在本实施例中的步骤306中调整类权重的方式不限于上面所述,也可以 通过针对性能最好的类的性能的变化,通过改变等式(2)中的w的值减小该 类的训练样本在下一循环中的训练权重来实现本发明的目的或者只根据在本 次循环中类的性能来调整类权重。例如,如果第/类在第T-l、 T次循环连续 两个循环性能最好,则将w减小;如果第z'类在第T-l次循环性能最好,而在 第T次循环的性能不是最好的,则将"增大。并且显然这里w每次增大或减 小的值不限于l。
下面同样参照图3描述根据本发明的第二示例性实施例。
提供由等式l表示的包括多个类(例如,m个类,m为大于1的自然数) 的类集合r的训练数据D「。在开始对训练数据D「进行训练之前,初始化训 练样本的样本权重以及类权重(步骤301)。初始化样本的权重的方法与根据 本发明的第一示例性实施例相同,每个样本的初始样本权重为|/|;|/)1。每个 类的类权重是通过对每个类的基础类权重进行归一化得到的,在^^实施例中 所述基础类权重根据下面的等式(7)而得到
=歸 (7)
其中,f是在使用Boosting方法进行训练期间的循环序号,/是类序号 (每个类的类序号在整个训练过程中保持不变),a,是在第"欠循环后还没有 完成训练的类的数量, 是第Z类的对应于整个训练过程的全局变量。
在每次循环后基于还没有训练完成的类的基础类权重,通过了面的等式 (8)对基础类权重进行归一化而得到类权重其中,2(气,)-1表示在第^次循环后还没有完成训练的类的基础类权重的倒数之和。'
可通过等式(4)和(5)来计算每个训练样本的训练权重。
通过使",(z' =1, 2, ...m)为1来初始化训练样本的类权重。其后,开始对训练数据D「进行训练(步骤302 )。
下面,以第T (T为大于1的自然数)次循环为例描述根据本发明第二示例性实施例的训练多类Boosting分类器的方法的训练循环。
在第T次训练循中得到弱分类器hT之后,根据等式(6)将在已经完成的各个循环得到的弱分类器组合为强分类器,测试强分类器对在T-l次循环中训练没有完成的类的性能(步骤303 ),并根据测试结果确定是否完成训练(步骤304 )。
如果在第T次循环训练得到的强分类器对于例如第Z类的性能达到或超过性能目标阈值,例如,0.5的虚警率,则可以确定完成对第/类的训练,并从训练数据Dr中去除第/类的训练数据Di。此外,如果所述类的性能都已达到或超过性能目标阈值,则可确定整个训练过程完成,操作进入步骤405,并且所述强分类器为最终训练得到的多类Boosting分类器。
在步骤306,对于在第T次循环中性能没有达到或超过性能目标阈值的类(即,没有完成训练的类),根据等式(5)调整样本权重,并且如果在第T次循环得到的强分类器对于没有完成训练的类中的例如第/类(每个类的类序号在整个训练过程中保持不变)的性能最差,并且在第T-l次循环得到的强分类器对于第,'类的性能也最差,则将等式(7)中的《,增加1,从而根据等式(8),第Z类的类权重w"的归一化值w;,增大;如果在第T次循环得到的强分类器对于第/类的性能不是最差的,但在第T-l次以及第T-2次循环得到的强分类器对于第/类的性能最差,则将 减小1,从而根据等式(8),第/类的类权重w"的归 一化值 < 减小。
根据步骤306的结果,可使用等式(4)、 (5)计算将在下一循环中使用的训练样本的训练权重(操作307)。当",.增大时,第/类的每个训练样本的训练权重w,("(即,在第T+l次循环4吏用的训练权重)相对于样本权重w;(力
z:二'
增大;当 减小时,第/类的每个训练样本的训练权重w,W相对于样本权重随后,返回步骤302,重复上述步骤,直至操作进行到步骤305。需要注
ii意的是,如果一个类在步骤304完成了训练,则将不更新该类的类权重,并
且自本次循环起不将该类的类权重代入等式(9)。
也就是说,对于在上次循环中性能最差的类,如果在本次循环中该类仍然是性能最差的类,则通过调整该类的类权重的大小,使该类的训练样本在
下一循环中的训练权重增大;如果在前面连续两个循环中该类是性能最差的类,而在本次循环中不是性能最差的类,则在本次循环中通过调整该类的类权重的大小,使该类的样本在下一循环中的训练权重减小。以这样的方式使本实施例中的m个类在相同或相近的循环达到性能目标阈值,从而使性能最差的类所需的弱分类器的数量减小,同时使每个类的弱分类器数量相同或相近。
本发明不限于上述实施例,也可通过其他方式构造类权重,通过调整构造的类权重使在本次以及最近的循环中或在本次循环中性能差(或最差)的类的训练样本的训练权重增大或者性能好(或最好)的类的训练样本的训练权重减小,来实现本发明的目的。
根据本发明,在训练期间每次循环后得到的强分类器对不同的类的性能被均衡,从而在多类系统中性能最差的类使用的弱分类器的数量减少,同时用于不同的类的弱分类器的数量基本相同,提高了整个系统的速度并提高了效率。
1权利要求
1、一种用于训练多类Boosting分类器的方法,所述方法包括(1)提供包括多个类的训练样本的训练数据;(2)设置性能目标阈值,初始化训练样本的训练权重,其中,训练样本的训练权重包括训练样本的样本权重和类权重,所述训练样本的类权重与所述多个类中与训练样本所属的类相对应;(3)使用Boosting方法对训练数据中的被训练权重加权的训练样本进行循环训练,其中,在所述循环训练过程中的每次循环之后,得到用于与所述进行训练的训练样本对应的类的弱分类器,将在已经完成的训练循环得到的弱分类器组合为强分类器,并测试所述强分类器的性能以确定是否存在性能达到或超过所述性能目标阈值而完成训练的类,对于完成训练的类,从训练数据中去除完成训练的类的训练样本;对于没有完成训练的类,则根据Boosting方法调整其训练样本的基础权重,并根据其性能调整其类权重,以使在本次以及最近的循环中或仅在本次循环中性能差的类的训练样本在下次循环中的训练权重增大;(4)将在步骤(3)训练得到的所有弱分类器组合为多类Boosting分类器。
2、 如权利要求l所述的方法,其中,根据没有完成训练的类的性能调整 其类权重步骤还包括增大在本次循环中性能最差的类的类权重;如果一个类在上一次循环中的性能最差,而在本次循环中的性能不是最 差的,则减小所述类的类权重。
3、 如权利要求2所述的方法,其中,所述每个类的类权重是通过对每个 类的基础类权重进行归一化得到的,所述基础类权重根据下面的等式而得到其中,Z是训练循环序号,/是类序号,F^ ,,,.是在第,次循环训练得到的强 分类器对第/类进行分类的虚警率,w是对应于整个训练过程的全局变量,根 据各个类的性能而动态地改变。
4、 如权利要求3所述的方法,其中,对每个类的基础类权重进行归一化 而得到每个类的类权重的步骤包括在每次循环后基于还没有完成训练的类的基础类权重,通过下式来进行所述归一化:<formula>formula see original document page 3</formula>其中,2>"表示在第,次循环后还没有完成训练的类的基础类权重之和。
5、 '如权利要求4所述的方法,其中, w在步骤(2)中一皮初始化为0;如果第/类的性能在第f-l次循环最差,并且在第,次循环的性能最差, 则w增大预定值;如果第,'类的性能在第次循环最差,在第/次循环不是最差的,则w 减小预定值。
6、 如权利要求5所述的方法,其中,通过下面的等式计算样本在第&1 次循环的训练权重其中,是属于第/类的训练样本s在第'次循环的样本权重。
7、 如权利要求6所述的方法,其中,通过下面的等式来计算训练样本 在第f次循环的样本权重w;W:其中,w,-,(力是第(/-1 )次循环中样本s的训练权重,y("是样本s的类别真 值,W力是在第f次循环中训练得到的弱分类器的分类结果,z是归一化系数。
8、 如权利要求l所述的方法,其中,根据没有完成训练的类的性能调整 其类权重步骤还包括减小在本次循环中性能最好的类的类权重;如果一个类在上一次循环中的性能最好,而在本次循环中的性能不是最 好的,则增大所述类的类权重。
9、 如权利要求l所述的方法,其中,根据没有完成训练的类的性能调整 其类权重步骤还包括减小在本次循环中性能最好的类的类权重。
10、 如权利要求l所述的方法,其中,根据没有完成训练的类的性能调 整其类权重步骤还包括增大在本次循环中性能最差的类的类权重。
全文摘要
一种训练多类Boosting分类器的方法,在训练过程中的每次循环之后并在下一次循环开始之前,为训练数据中的每个训练样本的样本权重分配一个与训练样本所属的类对应的类权重,即,样本权重和类权重构成训练样本在每个训练循环中的训练权重。每个类对应的类权重根据在本次以及最近的循环训练得到的强分类器对于该类的性能而动态地变化,以使性能差的类的训练样本在下次循环中的训练权重增大,从而性能好的类在下次循环中的训练权重减小,使各个类的性能尽可能在相同的循环中达到性能目标阈值而完成训练,从而最终使得性能最差的类所需的弱分类器的数量减小,同时对不同的类进行分类所需的弱分类器的数量基本相同。
文档编号G06K9/62GK101464954SQ200710159768
公开日2009年6月24日 申请日期2007年12月21日 优先权日2007年12月21日
发明者任海兵, 李宗河, 金培亭 申请人:三星电子株式会社;北京三星通信技术研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1