基于AdaBoost框架和头部颜色的实时人体检测方法

文档序号:6423061阅读:170来源:国知局
专利名称:基于AdaBoost框架和头部颜色的实时人体检测方法
技术领域
本发明涉及的是一种人体检测方法,具体涉及一种基于AdaBoost框架和头部颜色特征的实时人体检测方法。
背景技术
人体检测在监控系统、驾驶员辅助系统以及灾难现场搜救等领域中有着广泛的应用。混乱背景下的人体检测是一项极具挑战性的任务。很多研究者致力于人体检测,并取得了一些成果。较成功的检测方法为HOG (Histograms of Oriented Gradients,方向梯度直方图)结合支持向量机(SVM)的方法,但这种方法检测速度慢。Begard研究了不同类型的AdaBoost算法实现行人检测(J. Begard, N. Allezard, P.Sayd.Real-time human detection in urban scenes Local descriptors and classifiers selection with adaboost—like algorithms. In Proceeding of CVPR Workshops, 2008.),采用的是H0G-M特征,Begard采用的是HOG特征中的Cell作为提取特征的单元(而原HOG特征是将4个Cell合在一起的Block作为特征),特征维数只是原特征的四分之一。由于特征数较少,而且采用的是AdaBoost-Boosting分类方法,因此检测速度快,但是检测效果稍差。徐堃结合fisher判别分析对选出的弱分类方法进行训练(徐堃,徐佩霞.一种基于改进Adaboost的人体检测算法.电子技术(上海),2009 (11) :69-71.),学习得到一个新的线性判别方程,最大化不同类别数据之问的可分离性。

发明内容
本发明的目的在于提供一种能提高检测的准确性的基于AdaBoost框架和头部颜色的实时人体检测方法。本发明的目的是这样实现的包括训练及检测两个步骤;训练阶段的步骤如下(1)根据模板提取多尺度HOG特征;(2)采用AdaBoost-Boosting方法训练人体检测模型;(3)提取头部颜色直方图特征;(4)采用AdaBoost方法训练头部判别模型;检测步骤如下(5)基于滑动窗口方法的人体检测;(6)对于每个检测窗口,先提取HOG特征,根据人体检测模型判别是否是人体;(7)对于判别为人体的窗口,提取头部直方图特征,判断是否包含头部;包含头部的窗口确定为包含人体的窗口,在图像中相应位置画出矩形。本发明与已有技术的不同之处是采用的特征单元是原HOG特征的Block,而且是多尺度的Block,并结合了特征模板,提高了检测效果。此外,本发明增加了头部特征判别以提高检测率,降低假报警率。本发明在INRIA数据库上的实验结果证明了该方法的有效性,同时检测时间也达到了实时性。


图Icell特征计算流程;图2(a)_(b)梯度平均图像与特征模板,其中图2(a)梯度平均图像、图2(b)特征模板;图3AdaBoost分类方法的结构;图4层类器结;图5基于组特征的AdaBoost算法;图6组特征分类方法训练算法;图7检测流程图;图8H0G特征检测算法;图9头部检测算法;图10头部颜色的bin数与假报警率关系;图11本发明方法的检测性能。
具体实施例方式下面举例对本发明做更详细的描述1训练——HOG特征提取1. 1特征提取流程特征提取流程如下。(1)制作特征模板(具体方法见1. 3节),并保存;(2)载入特征模板,并按特征模板生成特征映射表(具体方法见1. 3节);(3)按特征映射表提取特征;对于每个训练样本图像,特征提取分以下步骤完成。(1)将图像缩放为MX 1 大小;(2)用[-1 0 1]的掩模计算其梯度幅值图像和方向角图像;(3)将图像分别划分为基本单元为2、4和8的cell ;计算多尺度cell特征;(4)形成特征向量(见1.3节)。1.2多尺度cell特征的计算HOG特征采用64XU8像素的训练样本图像及检测窗口,将该窗口划分成以若干个cell,对每个cell按图1计算出9维特征。然后再将每相邻的4个cell (田字形结构的 4个cell)划分为1组(block),将每个block中的4个cell的梯度直方图的数据串联起来每个Block便是一个36维的向量。最后将所有的block依次串联起来,便形成了对每个训练图像的。本发明采用多尺度HOG特征,采用的cell尺度包括为2、4和8,相应的block大小即为4、8和16。不同大小的cell都具有9维特征,构成的block也都有36维特征,在 64X128的图像上一共有2280个block。cell特征的计算如错误!未找到引用源。所示。1. 3制作特征模板的方法(1)特征模板的生成采用AdaBoost分类方法训练模型时,训练实例的选择会影响训练效果,本发明采用INRIA数据集中的训练正例,大部分正例的背景较简单,因此分类方法在选择特征时经常会选择到背景部分,遇到背景复杂的检测窗口则检测效果不好。HOG特征为形状特征,为强制分类方法选择人体边缘部分的块进行判断,我们根据训练实例的梯度图像制作了特征选取模板。特征模板制作的方法如下。第一步计算每个训练实例的梯度图像,然后计算所有训练实例梯度图像的平均值,得到平均梯度图像。第二步,在平均图像画出8X8的网格,选择计算特征所用到的块。梯度图像和特征模板如图1所示。错误!未找到引用源。标记的cell所在的block都被选作模板中的 block (除第2行和第15行以外),一共58个16 X 16的block。4X4和2X2的cell可以根据8X8的cell计算出来,一共1218个block。把所有block按生成顺序给出特征号,把特征号对应的block尺度和左上角坐标存入特征映射表。选择特征模板后,分类方法特征的选择都在人体边缘附近,提高了分类方法的分类效果。(2)模板特征的计算A.从特征映射表取出每个block的信息;B. 1.2节中block和cell的关系转换为4个cell的信息,按图1计算每个cell 的特征向量;C.按计算顺序形成36维向量。2 训练----AdaBoost-Boosting 分类方法AdaBoost分类方法是一种由弱分类方法组合构成强分类方法算法,该分类方法的突出优点是可以根据训练样本筛选特征,并且检测速度快,因而得到了广泛的应用,本发明采用AdaBoost分类方法实现人体检测。AdaBoost分类方法中弱分类方法一般是一维阈值分类方法,但本发明采用HOG特征,一个Block的特征为36维。采用SVM作为弱分类方法则使训练时间太长,模型较大,而且不容易调整样本权值。所以本发明采用Boosting分类方法作为弱分类方法(本发明称为组分类方法),对应HOG特征一个Block的36维向量。 Boosting分类方法下的每一维特征采用阈值分类方法。(1)将正例、反例和补充反例图像按第1节方法计算好特征;(2)输入到分类算法中,具体方法见2. 2节;(3)保存人体检测模型;2.1分类方法结构AdaBoost分类方法采用基于层的否绝机制,每层是一个强分类方法。如错误!未找到引用源。所示,其中CnC2,...为层分类方法。其分类性能由高到低排列,只有当前层判断为正例的样本才能进入到下一层。本发明中,每一层的强分类方法由若干组分类方法
5构成,组分类方法由若干单特征的阈值分类方法构成。其结构如错误!未找到引用源。所示ο2. 2分类算法AdaBoost算法通过调整样本权值使不同弱分类方法侧重于不同的样本,这样使多个分类性能不强的弱分类方法,组合成一个强分类方法。本发明的阈值分类方法通过这种方式构成组分类方法,同样,组分类方法也通过这种方式构成层分类方法。层分类方法通过否绝的方式淘汰反例样本。2. 2. 1层分类方法训练算法对于给定正例样本和反例样本(XijY1),……,(Xn, Yn),其中Yi = 1,O分别表示正
例样本禾口反例样本。{xin,x il2, ......‘ Xilp' ......,Xiql,Xiq2, ......,Xiqpl,每个样本包括
q组特征,每组特征具有某种相同属性。每组特征包括P维特征,所以每个样本的特征维数为pXq。假设正例样本和反例样本数分别为m和n-m。分类方法训练算法如图5所示。权值初始化公式如式(1)所示。
权利要求
1.一种基于AdaBoost框架和头部颜色的实时人体检测方法,包括训练及检测两个步骤;其特征是训练阶段的步骤如下(1)根据模板提取多尺度HOG特征;(2)采用AdaBoost-Boosting方法训练人体检测模型;(3)提取头部颜色直方图特征;(4)采用AdaBoost方法训练头部判别模型; 检测步骤如下(5)基于滑动窗口方法的人体检测;(6)对于每个检测窗口,先提取HOG特征,根据人体检测模型判别是否是人体;(7)对于判别为人体的窗口,提取头部直方图特征,判断是否包含头部;包含头部的窗口确定为包含人体的窗口,在图像中相应位置画出矩形。
2.根据权利要求1所述的基于AdaBoost框架和头部颜色的实时人体检测方法,其特征是所述根据模板提取多尺度HOG特征中,特征提取流程为(1)制作特征模板,并保存;(2)载入特征模板,并按特征模板生成特征映射表;(3)按特征映射表提取特征;对于每个训练样本图像,特征提取分以下步骤(1)将图像缩放为64X128大小;(2)用[-1O 1]的掩模计算其梯度幅值图像和方向角图像;(3)将图像分别划分为基本单元为2、4和8的cell;计算多尺度cell特征;(4)形成特征向量。
全文摘要
本发明提供的是一种基于AdaBoost框架和头部颜色的实时人体检测方法,包括训练及检测两个步骤;(1)根据模板提取多尺度HOG特征;(2)采用AdaBoost-Boosting方法训练人体检测模型;(3)提取头部颜色直方图特征;(4)采用AdaBoost方法训练头部判别模型;(5)基于滑动窗口方法的人体检测;(6)对于每个检测窗口,先提取HOG特征,根据人体检测模型判别是否是人体;(7)对于判别为人体的窗口,提取头部直方图特征,判断是否包含头部;包含头部的窗口确定为包含人体的窗口,在图像中相应位置画出矩形。本发明采用的特征单元是原HOG特征的Block,而且是多尺度的Block,并结合了特征模板,提高了检测效果;增加了头部特征判别以提高检测率。
文档编号G06K9/00GK102163281SQ20111010489
公开日2011年8月24日 申请日期2011年4月26日 优先权日2011年4月26日
发明者李智慧, 李香, 邵春艳 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1