[0036] 本发明所述的人手检测方法分为待检图像读入、图像特征计算、人手目标判断,以及检测结果输出这四部分组成。具体包括人手训练集与测试集的建立、样本的特征提取方法以及分类器的训练方法。对于分类器的训练方法,为了实现本发明的目的,本发明在JointBoost算法的基础上采用以下方法做出了多处改进:
[0037] 首先,在训练分类器的过程中,在boosting的每一轮,得到若干个共享特征的组合。对于共享组合中每个特征的样本类别所组成的集合两两互斥,并且全部集合的并集为全部的样本类别。根据这样的一个共享特征的组合,训练出一组对应的弱分类器。为了确定共享特征组合中特征的个数,定义了一个“最小误差上升”的判别准则。
[0038] 其次,对于每一个弱分类器,其函数的输出值是根据样本的某个特征的值与分类器的阈值进行比较得出的结果确定的。由于涉及到多姿态或多类目标的检测,本发明中每个弱分类器根据类别的不同,对各个类别分别设定了一个更加适合的阈值,以加强分类器对于不同类别目标与背景之间的分类能力。
[0039] 首先,对分类器的整体结构与工作过程进行描述。图1为本发明基于共享弱分类器组合的人手分类器的整体结构框图。待检测的图像窗口被读入后,首先需要对图像进行特征提取。本发明的分类器根据待检目标图像的Haar特征、HOG特征以及方差特征进行判断是否包含人手,因此需要对该待检目标图像进行计算,提取出对应的三种特征。
[0040] 得到待检目标图像的Haar、HOG以及方差特征后,将这三种特征的值输入到训练得到的分类器中。通过与一系列的阈值进行比较后,综合所有的特征对应的得分情况,分类器给出最终的判断,该目标图像是否包含人手。分类器采用多级强分类器级联的结构,待检目标图像必须通过每一级强分类器,均被判断为“包含人手”,整个级联分类器才会最终判断为“包含人手”,否则,任意一级强分类器判断为“不包含人手”都会导致待检目标图像在该级退出,并且被级联分类器最终判断为“不包含人手”。级联分类器的使用大幅降低了误检的发生。
[0041] 下面对本发明基于共享弱分类器组合的人手分类器的训练方法进行描述。
[0042] 整个分类器由多级强分类器级联构成,而每一级强分类器由若干对共享弱分类器组合共同构成。对于每一级强分类器的获得,首先设置一个误检率阈值,在训练得到每一组共享弱分类器组合后,都综合目前已经获得的所有弱分类器组合对训练样本进行一次判断,若误检率高于预设的阈值,则继续下一轮的弱分类器组合的训练;相反,若低于预设的阈值,则不再进行下一轮,本级强分类器训练完毕。将所有训练得到的共享弱分类器组合合在一起即为该级强分类器。
[0043] 下面对于共享弱分类器组合以及训练方法进行描述。
[0044] 假设一共有C类,一共有N个训练样本,每一个训练样本vi对于类别c的权重为且共有C个权重。假设有nf个弱分类器作为一个组合,且样本集被划分为了nf个子集,则第k个弱分类器表示为:
[0045]
[0046] 其中 为该分类器对应于类别c的阈值,这样每一个弱分类器hm对于不同的类别就会有多个不同的阈值。该组弱分类器组合可以表示为:
[0047]
[0048] 其中 且
[0049] 此时的损失函数用弱分类器的形式可以表示为:
[0050]
[0051] 如果使用弱分类器组合来表示损失函数,则为:
[0052]
[0053] 当nf=1时,表示选取的特征为所有样本分组所共享,因此只选取出一个共享特征,并构建一个所有样本分组共享的弱分类器;而当nf=C时,即表示将样本集按照样本自身的类别进行分组,对每一类分别单独进行训练,因此不使用共享特征。当nf=C时,损失函数的值达到最小,但是分类器数量达到最大,导致检测速度也是最慢的。而当nf逐渐减少时,损失函数的值会有所增大,但是分类器数量减少,检测速度增快。
[0054] 为了得到合适的nf值,使用最缓误差上升的判别准则对nf的值进行选取。首先,我们对这C类样本分别各自使用独有特征训练,则得到的弱分类器组合中有C个非共享的弱分类器,且假设它们的误差总和为JC。然后,减少分类器组合中弱分类器的个数至C-1(一个弱分类器变为两类样本的共享弱分类器),此时误差总和为JC-1。那么,当弱分类器个数减少1时,分类误差总和增加了ΔJC-1=JC-1-JC。重复这一过程,当分类器组合中弱分类器个数减少至nf时(一些弱分类器可能共享与几类样本之间,可能还存在一些剩下几类样本各自的独有弱分类器),分类误差总和增加了ΔJnf=Jnf-JC,弱分类器的个数平均每减少1,弱分类器组合的分类误差总和的增加这样表示:
[0055]
[0056] 式(5)表示了随弱分类器组合中分类器个数减少,分类误差总和增加的快慢,即误差上升梯度的概念。误差增量(分子)越大,组合中弱分类器个数的减少量(分母)越小,则的值越大,表示选取nf个弱分类器的组合时,分类误差增加体现出的负面效果相对于分类器个数减少体现出的积极效果越明显;相反,分子越小,分母越大,则 值越小,表示减少分类器个数带来的积极效果越明显,而分类误差的增加越不明显。因此,如图1所示,我们选择使得 的值达到最小的弱分类器组合。横坐标为分类器组合中弱分类器的个数,纵坐标为一组分类器的分类误差总和,线段1和线段2分别代表当分类器组中弱分类器个数从C减少到1和nf个时,分类误差总和增加的趋势。线段1,2与横坐标轴的夹角分别为α1,α2,且tanα1与tanα2的值分别表示了线段1与线段2的梯度,即分类误差总和随组合中弱分类器减少而增加的快慢程度。图中tanα1>tanα2,即2的误差增加较1更缓慢,所以2相对于1是一个更好的弱分类器组合方案。