本发明涉及智能视频监控领域,尤其是一种基于级联多层检测器的快速目标检测方法。
背景技术:
目标检测是计算机视觉中重要的一个研究方向,是进一步分析目标的基础,在此基础上,可以对目标跟踪、行为分析等等。随着我国经济的发展,城市化水平进一步提高,智慧城市已经成为城市现代化发展的重要方向。视频监控系统作为智慧城市的重要组成部分,也正朝着智能化和网络化方向发展。在智能视频监控中,对于目标(如车辆,行人等)进行快速的检测和定位,达到实时性,是后续智能监控的基础和前提。因此,如何快速的检测和定位目标,已成为国内外相关领域的研究热点。
目前,目标检测主流的方案是,提取目标特征,用检测器对包含目标的区域进行检测。用于目标特征提取的算子主要有Haar算子、LBP算子、HOG算子,结合adaboost检测器进行检测。
进行目标检测时,常用方案是生成金字塔图像,然后遍历整个金字塔图像,可以精确的检测和定位目标。但是会生成大量的候选框,需要对每个候选框进行判断,严重地降低效率,增加了检测时间。如果可以降低候选框的数量,就可以缩短时间。因此如何在不损失精度的前提下,合理的减少候选框,成为了研究的重点。
技术实现要素:
为解决上述问题,本发明提供一种基于级联多层检测器的快速目标检测方法。
本发明解决其技术问题所采用的技术方案是:一种基于级联多层检测器的快速目标检测方法,其特征在于,包括步骤:
S101,生成大量可能包含目标区域的候选框;
S102,进入粗检测阶段,选择目标的简单特征进行检测,排除非目标区域;
S103,将目标进行分块,选择目标部件特征进行进一步检测筛选;
S104,进入精检测阶段,选择目标区域的精细特征对余下目标区域进行检测;
S105,精确定位目标区域;
S106,将粗检测阶段检测器、目标部件检测器、精检测阶段检测器级联起来组成级联检测器。
进一步地,所述S102进入粗检测阶段选择目标的简单特征进行检测排除非目标区域包括:
A.进行第一阶段检测器训练,收集样本后,对样本集合选择简单的灰度级特征,产生大量的特征,形成特征池;
B.对特征池里面的特征进行随机选择,训练生成n棵随机树,每个随机树深度为d,每个随机树中叶节点的得分值记为s,随机随机树阈值为t,记录随机选择的特征;
C.用随机森林去检测样本集合,到达每个随机数的叶节点时,取里面的得分值,组合成特征向量,这些特征向量就是自我学习得到的特征;
D.根据学习到的特征,再选用adaboost(SVM)训练出目标检测模型。
进一步地,所述S103将目标进行分块选择目标部件特征进行进一步检测筛选包括:
A.在样本集合中,将目标分为几个部件,提取每个部件的灰度级特征,对部件用级联检测器进行训练,弱检测器选择决策树,训练出每个部件的阈值和通过整个目标的阈值;
B.经过第一阶段聚类之后得到的候选区域,对其进行分块,用决策树检测每个部分,得到每个部件的阈值,将每个部件阈值相加,将大于目标阈值的候选区域保留,然后将部件按照顺序组成目标区域。
进一步地,所述S105精确定位目标区域包括:
A.选择复杂的特征对目标提取特征;
B.训练检测器,精确定位出目标区域;
C.对剩下的区域进行检测,提取区域的精细特征,用检测器进行精确定位。
本发明采用随机森林学习到的特征来训练adaboost检测器。将目标分成几个部件,训练出每个部件的阈值,由部件阈值之和来判断是否是目标。另外,本发明中的基于多阶检测器级联的检测器框架,各阶可以采用相同特征或者不同特征来训练检测器,先粗检测目标,再用部件过滤,最后用精细检测器定位的级联结构框架。
附图说明
图1为本发明基于级联多层检测器的快速目标检测方法的步骤流程图。
具体实施方式
本专利公开了一种快速目标检测方案,主要分为三个部分,首先对目标进行粗检测,除去大量的非目标候选框,再用目标部件检测器过滤掉部分非目标区域,最后用精细特征对剩下的区域定位出目标区域,将这三个过程级联起来,就构成了快速目标检测的级联检测器。
下面结合附图对本发明的具体实施方式作进一步详细的说明。
S101,首先生成大量可能包含目标区域的候选框。
根据各种目标特征采集大量信息之后,产生多个可能包含目标区域的候选框。
S102,进入粗检测阶段,选择简单特征进行检测。
在粗检测阶段,为了快速的排除大量非目标候选框,选择简单特征进行检测。
第一阶段进行检测器训练时,对样本集合选择简单的灰度级特征,如灰度差分特征,类Harr特征,梯度幅值特征等,产生大量的特征,形成特征池,这些特征时间复杂度低,适合快速计算,对特征池里面的特征进行随机选择,训练生成n棵随机树,每个随机树深度为d,每个随机树中叶节点的得分值记为s,随机树阈值为t,记录随机选择的特征;然后再用随机森林去检测样本集合,到达每个随机数的叶节点时,取里面的得分值,组合成特征向量,这些特征向量就是自我学习得到的特征,根据学习到的特征,再选用adaboost(SVM)训练出目标检测模型。
第一阶段检测器里的随机森林和adaboost(SVM)可以迭代级联,不过为了达到快速检测,要求迭代次数不能太高。
用第一阶段检测器检测一帧图像时,先生成多层金字塔图像,对每一层金字塔图像,按照一定的步长进行遍历,产生大量的候选框图像;对这些候选框图像提取灰度级特征,用训练好的随机森林检测,选择包含目标图像的候选框。因为灰度级特征时间复杂度低,随机森林检测速度快,这样可以快速的排除大量的没有目标的候选框图像;对选出来的候选框图像,在用随机森林产生自我学习特征,用训练好的adaboost(SVM)进行检测,保留符合的候选框图像。
在第一阶段得到的候选框图像,进行组合聚类,产生一部分候选区域。
S103,将目标进行分块,选择目标部件特征进行进一步检测筛选。在粗检测与细定位之间再加一层检测器,就是目标部件检测器,用它再筛选一些包含目标的区域。
将目标进行分块,如行人分为三个部件,头、上肢、下肢,车辆分为上下左右四个部件。
在样本集合中,将目标分为几个部件,为了加速运算,仍然提取每个部件的灰度级特征,对部件用级联检测器进行训练,弱检测器选择决策树,训练出每个部件的阈值和通过整个目标的阈值。
经过第一阶段聚类之后得到的候选区域,对其进行分块,用决策树检测每个部分,得到每个部件的阈值,将每个部件阈值相加,将大于目标阈值的候选区域保留,然后将部件按照顺序组成目标区域。
S104,使用精细特征训练出来的检测器对余下区域进行检测。
S105,精确定位目标区域。
最后用精细特征训练出来的检测器,对余下区域进行检测,精确定位目标区域。
a、为了精确定位目标区域,可以选择复杂的特征对目标提取特征,特征可为HOG、SIFT等。
b、训练检测器,精确定位出目标区域,检测器可以为adaboost。
c、再对剩下的区域进行检测,提取区域的精细特征,用检测器进行精确定位,因为上面两个阶段已经排除了大量的非目标区域,即使用复杂的特征提取,也可以快速的检测出目标,并且精度非常高。
S106,将粗检测阶段、目标部件检测器、精细检测器级联起来组成级联检测器。
将这三个阶段的检测器,粗检测阶段检测器,目标部件检测器,精检测阶段检测器级联起来,组成级联检测器,可以快速又高精度的检测出目标区域。
本发明采用:
1、用随机森林学习到的特征来训练adaboost检测器。
2、将目标分成几个部件,训练出每个部件的阈值,由部件阈值之和来判断是否是目标。
3、基于多阶检测器级联的检测器框架,各阶可以采用相同特征或者不同特征来训练检测器;先粗检测目标,再用目标部件检测器过滤,最后用精细检测器定位的级联结构框架。
在不损失精度的前提下,降低需检测的候选框数量,缩短了检测时间,大大提高了检测效率。