基于边缘类型比率特征的人体检测算法
顾爽,陈启军
(同济大学 机器人与智能系统实验室,上海,201804)
摘要:研究基于立体视觉的室内人体检测方法,提出了一种描述图像一定区域内边缘类型比率的特征。算法在离线阶段将不同边缘点根据其邻域内的边缘梯度直方图(EOH)量化为不同的类别。检测时,首先通过立体视觉分割出场景中若干兴趣区域(ROI);然后,将每个ROI划分为若干相互重叠的部分,统计每个部分中每类边缘点出现的比率,组成特征向量。该特征能够较好地体现不同物体轮廓之间的差异。最后,针对不同正负样本特征训练线性SVM作为检测系统的分类器。实验表明,算法具有较好的人体检测结果。
关键词:行人检测;边缘类型特征;立体视觉;线性SVM分类器
中图分类号:TP24 文献标志码:A 文章编号:1672-7207(2011)S1-0717-07
People detection algorithm based on feature of edge type ratio
GU Shuang, CHEN Qi-jun
(Robotics and Intelligent system Laboratory, Tongji University, Shanghai 201804, China)
Abstract: A people detection algorithm based on the stereo vision is proposed and a new feature which describes the ratio of edge types in a certain area is introduced. During the offline stage, the edge points are quantized into different types based on their histograms of edge orientation. During the online stage, a stereo segmentation algorithm is used to select certain ROIs. The edge type ratio is then calculated in some overlapped blocks in each ROI to form the feature vector. The feature proposed here can describe the differences between the contours of different objects very well. At last, a linear SVM which is trained based on certain positive and negative samples serves as the classifier. Experiment shows that the proposed algorithm can get good result in human detection task.
Key words: people detection; edge type feature; stereo vision; linear SVM classifier
行人/人体识别技术在监控、交通安全及人机交互等领域有着广阔的应用前景。针对这一问题许多学者提出很多经典的方法,如利用2层激光传感器进行多人体检测[1],利用红外摄像头对人体进行检测[2],针对普通图像进行检测[3-4]。其中,基于视觉传感器的行人检测技术是研究的热点,尤其是最近十几年来,取得了令人瞩目的成果。
目前,视觉人体检测技术主要包含2大类方法[5]:一种是以文献[3]为代表的滑动检测窗体法。该类方法主要由特征提取及分类器判别2步组成,利用滑动窗体在图像中不同位置以及尺度之间进行扫描,提取若干外形特征,通过分类器判断当前特征是否来自人体;另一类方法是基于部分肢体的检测方法[4-5]。其主要思想是将人体分为若干个组成部分,每个部分具有不同的外形特征,部分与部分之间利用类似于弹簧的模型相互连接[5-6]。首先,针对每个部分的外观特征以及部分与部分之间的位置关系进行学习,最终通过计算针对当前观测结果的最大后验概率进行人体识别。
在识别算法中,最初步、也是最重要的一个环节就是特征选择,好的特征能够充分反映被描述物体的特点,因此,容易通过学习算法获得类内距较小、类间距较大的分类器。在人体识别方面,目前比较常见特征有梯度直方图(HOG)[3],Haar小波特征[7],Edgelet特征[8]等,这些特征都从各自的角度对人体的轮廓形状进行了描述。
本文作者从研究描述人体轮廓特征的方法入手,提出一种描述边缘点类型比率的特征提取方法。算法根据边缘点的梯度直方图,将其量化成为不同的类型,根据不同区域中不同类型的边缘点出现的比率来对人体进行识别。算法采用了主成分分析(PCA )以及线性支持向量机(Linear SVM classifier)来对特征进行降维和分类。
由于单目视觉缺失物体距离信息,图像中的物体可能具有不同的尺度。因此,基于单目视觉的物体识别方法需要在图像坐标及尺度的三维空间中搜索特征,如通过在不同尺度之间的差分高斯(DOG)图像中寻找极值特征点[9],在检测图像中生成若干个区域来捕捉不同尺度下的人体HOG特征[10]。本文作者采用立体视觉来解决未知尺度的问题,利用立体分割技术将空间中不相连的物体划分为若干感兴趣区域(ROI),得到其中像素点的距离,每个ROI都作为人体可能存在的假设区域,被调整到固定的检测窗体大小,最终通过分类器判定检测窗体中是否存在人体。
1 算法介绍
主要针对室内场景进行人体识别,双目传感器被装配到可自主移动的机器人平台上。首先通过左右视图的相关性匹配获得图像像素的视差,由此得到像素点在空间中的位置坐标。通过对图像中空间距离相近的像素点进行区域分割,可以有效地将图像中的物体按照距离摄像头的远近进行区分,形成一系列人体可能存在的假设区域。
借鉴文献[11]中边缘直方图的方法,首先计算图像边缘特征点,然后,以每个边缘点为中心,计算其一定邻域内的梯度直方图。与文献[3,11]不同的是,本文作者没有直接采用直方图作为物体的特征向量,而是采用无监督聚类算法,将具有相似梯度直方图分布的边缘点进行归类,每类视作一种边缘类型。特征检测的假设区域被分为若干相互重叠的“块”,在每个块中统计每类边缘出现的比率。最终的特征由每个块中的特征比率组成。
算法最后利用线性SVM对特征向量进行分类,得到检测结果。算法流程见图1。
图1 算法流程图
Fig.1 Algorithm flow chart
2 立体分割
对图像进行立体分割之前,需要先估计地平面的位置,在文献[12-13]分别介绍了2种地平面估计的方法。本研究中由于摄像头固定安放,距离地面的位置已知。地平面的像素可以直接通过立体匹配获得。
在获得地面区域之后,对图像进行立体分割。其目的是找出图像中竖直的物体。首先将立体匹配后获得的三维点云投影到二维栅格化的水平面上,得到点云在水平面上的二维累加直方图。然后,对该直方图进行区域分割,得到水平面上一系列的连通区域。图2(b)所示为区域分割后的结果,不同的灰度表示不同的连通区域,观察点处于原点,方向向右。最后分割好的连通域中的像素将被逆向投射到原图像中。
逆向投射后的图像片包含在二维水平面中连续的物体,需要进一步分割。本研究采用一个近似人形的模板在这些图像片中滑动找出竖直的物体。首先将图像片根据其与摄像头之间的距离缩放到检测窗体的尺度下。缩放后的宽度W、高度H按照式(1)计算。其中,Ho,Wo为当前图像片的宽度和高度;Zo为当前图像片中的像素与摄像头之间的距离均值;Zt为检测窗体尺度所对应的图像与摄像头之间的距离。
(1)
(2)
采用相关匹配算法进行模板匹配,见式(2)。同时利用非极大值抑制方法保证选择出一定邻域内的最大值。所选区域将作为行人存在的假设区域。此时假设区域中的图像已经消除了尺度的影响。图3所示为立体分割算法生成的2个检测区域。
图2 立体分割步骤
Fig.2 Procedures of stereo segmentation
图3 分割出的假设区域
Fig.3 Hypothetical regions for classifier
3 特征提取与分类器训练
提出边缘类型的概念,首先,针对边缘图像计算每个边缘点一定邻域内的梯度直方图。直方图根据梯度的方向分为HN个区间,并忽略梯度方向的符号,即0°与180°区间相同,区间的分割方法见图4。其次,利用无监督的聚类算法对大量的边缘梯度直方图进行分类,聚类的目的是为找出边缘直方图之间的共性,设类别的个数为CN。采用K中心(K-means)的聚类方法,对HN,CN不同取值进行尝试,实验表明,当HN=6,CN=4时,能够达到较好的聚类效果。
图4 梯度区间划分(间隔为30°)
Fig.4 Orientation segmentation (Each bin crosses 30°)
图5所示为聚类学习后4类边缘类型中心的直方图分布。可以看出,聚类的结果很明显地将一定区域内的边缘像素点按照其走向分为水平,竖直以及两个对角线方向4个类别。
对于轮廓不同的物体,这4类边缘的分布也互不相同。以行人为例,头顶部以及脚步区域的边缘基本属于水平方向;竖直类型的边缘主要分布在身体两侧;对角线方向的边缘分布在手部以及腿部的位置。图6所示为针对相同人体轮廓图像统计的边缘点类型分布图,从左到右依次对应图5(a)~(d)。
通过从图像一定区域中提取到的边缘类型比率来表征这种分布。类型比率由式(3)定义,即表示在一定范围中,某类边缘点占所有边缘点的比重。特别地,当区域中没有边缘点时,比率为0。
(3)
式中:i表示1~4类的边缘类型,Nei为第i类边缘点的个数,Na为区域内所有边缘点的个数。因此,对于一定的区域内的边缘类型比率特征可以用一个四元向量表示,即(R1,R2,R3,R4)。
图5 4类边缘类型中心的直方图
Fig.5 Histograms of 4 edge type centers
图6 人体边缘类型分布(从左到右对应图5中(a)~(d))
Fig.6 Edge types distribution of people (From left to right corresponding to (a)~(d) in Fig.5)
区域中的边缘比率能够从一定程度上反映物体的轮廓。为了说明这点,本文针对文献[14]中的数据库进行统计。统计时,将整张图像视为检测区域,计算包含人体轮廓图像中4类边缘所占的比重。图7所示为了统计结果,为了便于观察,对每一类边缘用正态分布进行拟合。
从图7中可以看出:对于竖直类型的边缘(类别2),在一幅包含行人的图片出现的比率均值约为50%。同时,针对图 3(a)统计边缘类型比率进行比较,结果见图8。可以看出,只需通过比较第2类边缘所占的比率即可将图3(a)与包含人体的图像加以区分。
在提取边缘类型比率特征时,首先将检测区划分为若干相互层叠的块,对每个块统计4类边缘所占的比率。采用分辨率为230×130的检测窗口,去除边界区域,共划分220个块。由于整体的比率特征也具有一定分辨能力,因此,除了局部区域以外,还将检测区域分别分为上、下、左和右4大部分,同样计算类型比率,加上整个检测区域中的统计结果组成最终的900维向量。由于特征维度较高,且特征向量中存在一些比率为0的元素,分类器训练效率较低,考虑对特征向量进行降维。本文作者采用主成分分析(PCA)进行降维。主成分分析法通过将向量投影到重点反映数据差异程度的子空间中来实现系统降维。选择样本数据中特征值最大的前500个特征向量构成主成分空间,降低特征向量的维度。
采用线性SVM作为行人检测的分类器,SVM寻找数据中的最大间隔超平面作为分类平面,对于小样本以及高维的数据具有良好的分类效果。采用OpenCV2.1[15]提供的线性SVM函数进行分类训练。
图7 行人轮廓各边缘类型所占的比率统计图
Fig.7 Statistic results of edge type ratio from human contour images
图8 典型非人体轮廓图像的边缘类型比率
Fig.8 Edge type ratio from typical non-human contour image
4 实验结果
实验由边缘比率特征验证与整体算法验证两部分组成。
4.1 边缘比率特征验证实验
首先,对所提出的边缘类型比率特征进行验证。采用文献[3]中提供的INRIA数据库提取特征,训练SVM,其中,正样本由1 126张包含人体的图片组成,负样本来自INRIA数据库中不包含人体的图像,通过在这些图像中随机截取和正样本相同分辨率的区域组成4 492张负样本图像,其中,1 903张用于训练,剩下的用于测试。测试用数据库采用文献[7]中的行人数据库(924张)以及2 589张负样本组成。表1给出了实验结果。需要指出的是,在本次实验中,检测窗体分辨率被调整为128×64。
表1 MIT行人数据库识别结果
Table 1 Detection result of MIT pedestrian database
从实验结果可以看出,本文作者提出的边缘比率特征具有较好的检测效果。
4.2 算法验证实验
在第2个实验中,自行构建数据库对整体算法进行验证。通过操控机器人在研究大楼中不同地点收集到4组图像,每组图像包含大约300张人体正样本图像及若干负样本图像。不同组数据分别采集自一天的不同时段。图9给出了部分检测结果的截图。
图10所示为算法的ROC曲线。可以看出:算法在误检率为2.5%的情况下获得将近90%的检出率。将本算法与多尺度的HOG的检测算法进行比较,比较算法由OpenCV2.1[15]提供默认参数。实验中HOG算法在误检率为2.5%的情况下检出率约为80%。可以看出:在相同的误检率下,本算法检出率较高,主要原因是在机器人采集到的图像中人体的尺度差异较大,对于距离摄像头较近的人体图像,文献[15]中算法无法稳定地检出。而本文作者由于采用了立体分割,能够较好地消除尺度影响,得到大小相同的检测图像,因此,检出率较高。
图9 检测结果
Fig.9 Detection results
图10 检测结果ROC曲线
Fig.10 ROC curve of detection results
5 结论
针对基于立体视觉的人体检测技术进行研究,提出一种基于边缘类型比率的特征提取方法,实验表明该方法具有较好的检测效果。下一步将会对存在部分阻挡以及拥挤情况下的人体识别问题展开研究,改进算法的识别效果。
参考文献:
[1] Carballo A, Ohya A. Multiple people detection from a mobile robot using double layered laser range finder[EB/OL]//Proceedings of the Work Shop of IEEE International Conference on Robotics and automation (Work shop of ICRA’09). [2009-05-12]. http://srl.informatik.uni- freiburg.de/conferences/ icra09ws/.
[2] Thomas Gilmore Ⅲ E, Frazier P D, Chouikha M F. Improved human detection using image fusion[EB/OL]//Proceedings of the Work Shop of IEEE International Conference on Robotics and automation (Work shop of ICRA’09). [2009-05-12]. http://srl.informatik.uni-freiburg. de/conferences/icra09ws/.
[3] Navneet Dalal, Bill Triggs. Histograms of oriented gradients for human detection[C]//Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05). Piscataway, NJ, USA: IEEE, 2005: 886-893.
[4] Mikolajczyk K, Schmid C, Zisserman A. Human detection based on a probabilistic assembly of robust part detectors[C]// Proceedings of the 2004 European Conference on Computer Vision(ECCV’04). Berlin Heidelberg: Springer, 2004: 69-82.
[5] Schiele B, Andriluka M, et al. Visual people detection- different models, comparison and discussion[EB/OL]//Proceedings of the Work Shop of IEEE International Conference on Robotics and automation (Work shop of ICRA’09). [2009-05-12]. http://srl.informatik.uni-freiburg.de/ conferences/icra09ws/.
[6] Felzenszwalb P F, Huttenlocher D P. Pictorial structures for object recognition[J]. International Journal of Computer Vision, 2005, 61(1): 55-79.
[7] Papageorgiou C, Poggio T. A trainable system for object detection[J]. International Journal of Computer Vision, 2000, 38(1): 15-33.
[8] Wu B, Nevatia R. Detection of multiple. partially occluded humans in a single image by bayesian combination of edgelet part detectors[J]. International Journal of Computer Vision, 2007, 75(2): 247-266.
[9] Lowe D G. Distinctive image features from scale-invariant key points[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.
[10] Zhu Q, Avidan S, Yeh M C, et al. Fast human detection using a cascade of histograms of oriented gradients[C]//Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’06). Piscataway, NJ, USA: IEEE, 2006: 1491-1498.
[11] Levi K, Weiss Y. Learning object detection from a small number of examples: the importance of good feature[C]//Proceedings of the Computer Vision and Pattern Recognition (CVPR’04), Piscataway, NJ, USA: IEEE, 2004: 53-60.
[12] Andreas E, Bastian L, Luc V G. Depth and appearance for mobile scene analysis[C]//Proceedings of IEEE Conference Computer Vision (ICCV’07). Piscataway, NJ, USA: IEEE, 2007: 1-8.
[13] Labayrade R, Aubert D, Tarel J. Real time obstacle detection in stereovision on non flat road geometry through “V-disparity” representation[C]//Proceedings of IEEE Intelligent Vehicle Symposium (IV’02). Piscataway, NJ, USA: IEEE, 2002: 646-651.
[14] Leibe E B, Schindler K. A mobile vision system for robust multi-person tracking[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR’08), Piscataway, NJ, USA: IEEE, 2008: 1-8.
[15] Open computer vision library version 2.1[EB/OL]. [2010-04-06]. http://opencv.willowgarage.com
(编辑 陈卫萍)
收稿日期:2011-04-15;修回日期:2011-06-15
基金项目:国家高技术研究计划资助项目(2009AA04Z213);国际科技合作计划项目(2010DFA12210);上海曙光跟踪项目(10GG11);上海市科技人才计划项目(11XD1404800)
通信作者:陈启军(1966-),男,湖北松滋人,博士,教授,从事机器人、智能系统研究;电话:021-69589338;E-mail:qjchen@tongji.edu.cn