郑立国,刘 杨,罗江林,李宏研
(吉林世纪元时空动漫游戏科技股份有限公司动画工程研究中心,长春130012)
体感交互技术作为前沿科技技术,已经从微软的Kinect开始逐步向各个领域延伸,体感游戏也开始走进人们的日常生活。体感互动中,人体骨架识别技术的研究与实现必不可少,而在进行人体骨架识别前,需先进行人体检测。由于体感交互的实时性要求,使人体检测成为一项极具挑战性的课题。
近年来,人们对人体检测进行了大量研究,Bajracharya等[1]与Navarro-Serment等[2]利用双目立体视觉与激光雷达技术对多传感器的特征进行融合,并将其用在机器人与车载应用的人体检测上,但该算法计算量较大,实时性较差。Luber等[3]提出了基于RGB-D数据的人体追踪算法,该算法基于在线学习人体模型的方法构建人体检测器,但并未给出计算时间。Spinello等[4]提出了HOD(Histogram of Oriented Depths)深度特征提取算法,它模仿底层特征提取算法HOG(Histogram of Oriented Gradient),对深度差值的大小与方向进行直方图统计,提取深度特性,并结合RGB图像上的HOG特征进行人体检测。文献[5]也对HOG特征进行改进,提出了HDD(Histogram of Depth Difference)特征提取算法,该算法将梯度方向从原来的180°的统计空间扩展到360°,对梯度不同方向的统计更加精细。同样文献[6]也依赖于CPU的高速运算才能实现实时人体检测。文献[7]研究如何使用基于深度的ROI(Region Of Interest)追踪算法以减少人体检测算法的计算量,然而要想获得图像中感兴趣的目标区域,同样也需要基于GPU(Graphic Processing Unit)的人体检测系统的密集扫描。
基于以上人体检测算法的优缺点,笔者提出了一种基于RGB-D数据的实时人体检测算法。实验表明,该算法实时性好,无论对静止的人体还是行走中的人体,都能进行较精确及快速的检测。对于地面上行走的人体,该算法可在标准的CPU上,以平均25帧/s的检测速率对人体进行较好的实时检测。
算法思想:首先对原始3D点云数据进行简化,对地平面进行移除,然后对剩余的点云数据进行初步分类得到人体点云数据簇,对初步分类后的人体点云数据簇进行二次精细分类,进而实现了地面上的多个人体的检测。
基于k邻域原理[8],笔者采用基于k邻域的离散点云简化算法对原始点云进行简化。
简化算法整体流程:
1)输入原始点云数据;
2)确立中心点;
3)对每个中心点,利用KD-Tree法搜索距离中心点最近的k个点,建立k-邻域,其中这些最近点按照离中心点距离由小到大的顺序排列;
4)判断每个k-邻域的密度大小;
5)根据密度大小对点云进行简化,密度大处,保留该邻域中所有点的平均点,密度小处,则保留部分点,具体保留哪些点,依具体情况而定,原则上尽量保留中心点;
6)若还有没简化完的k-邻域,则转4),否则,转7);
7)算法结束。
这里令k=20,共建立24 537个k-邻域,原始有效点云数据为215 521个,简化后点云数据为23 311个,简化后的效果如图1所示。
图1 简化效果图Fig.1 Simplified diagram
笔者采用RANSAC(Random Sampling Consensus)算法进行点云数据的地平面提取并移除。随机抽样一致性RANSAC算法由Fisher和Bolles共同提出,该算法是从一组包含异常值的观测数据集中估计其数学模型参数的迭代算法[9]。
地平面提取及移除算法流程如下(其中Ps为简化后的点云数据,di为点云中点到地平面的欧氏距离,D为设定好的距离门限值):
地平面被移除后,剩余的点云将不再通过地面相连。可将剩余的点云聚类,即通过计算相邻的3D点欧几里德距离判断是否属于同一点云簇。但这里有两个问题:由于深度数据的丢失或中断,同一个人的点云数据可能被分到不同的点云簇中;不同人的点云数据可能被分到同一个点云簇中。为了避免上述两个问题的发生,采用如下的算法流程进行点云的初步分类:
1)输入剩余点云数据;
2)聚类建立多个点云簇;
3)尽量合并靠近地平面坐标的点云簇;
4)将所有的点云坐标的Y值沿着X轴的方向进行直方图投影,得到波峰波谷的位置;
5)按波谷的位置将已有的点云簇进行分割,初步确立人与人之间的分界;
6)输出目前已有的所有点云簇,初步分类完毕。
对分类得到的点云簇,采用基于HOG的人体检测算法[10]对其进行二次精细分类,即结合点云簇对应的RGB图运用基于HOG的人体检测算法,识别人体特征。笔者运用文献[10]中同样的步骤和参数描述建立了SVM分类器训练HOG检测器,实现了对人体特征的精确检测和识别。图2为经过1.3节和1.4节两次分类后、复杂背景下的多人人体检测效果。
图2 复杂背景下人体检测效果Fig.2 Human body detection in complex background
按照以上算法步骤,对地面上人体进行检测,基于RGB-D数据流的检测结果如图3所示。这里设置人体检测的高度范围为1.3~2.5 m,最小的HOG系数设置为 -1.3。
由图3可知,该算法可以检测到多个人体,而且无论对静止的人体还是行走中的人体,都能进行较精确及实时地检测。
图3 检测效果图Fig.3 The effect of human body detection
笔者采用200个复杂背景中的人体作为测试样本,分别运用了笔者算法、文献[4]算法和文献[6]算法进行人体检测测试,测试结果如表1所示。
表1 人体检测算法比较与分析Tab.1 Comparison and analysis of human body detection algorithm
由表1可知,与文献[4]中基于HOD描述子的深度数据人体检测算法和文献[6]基于RGB-D相机的多检测器融合的人体检测算法相比较,笔者算法可在CPU上以更高的效率实时检测人体,并且无论对静止人体还是运动人体,都有较高的检测精度。
该算法可检测到多个人体,而且无论对静止的人体还是行走中的人体,都能进行较精确及实时地检测。实验结果表明,基于RGB-D数据的实时人体检测算法具有较好的实时性,可应用到项目后续开发的骨架识别程序中,完成实时人体检测,更好地实现人机交互。
[1]BAJRACHARYA M,MOGHADDAM B,HOWARD A,et al.Results from a Real-Time Stereo-Based Pedestrian Detection System on a Moving Vehicle[C]∥Workshop on People Detection and Tracking.Kobe,Japan:IEEE,2009:38-45.
[2]NAVARRO-SERMENT L E,MERTZ C,HEBERT M.Pedestrian Detection and Tracking Using Three-Dimensional LADAR Data[J].The International Journal of Robotics Research,2010,29(12):1516-1528.
[3]LUBER M,SPINELLO L,ARRAS K O.People Tracking in RGB-Data with On-Line Boosted Target Models[C]∥IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS).San Francisco,CA:IEEE,2011:3844-3849.
[4]SPINELLO L,ARRAS K O.People Detection in RGB-D Data[C]∥IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS).San Francisco,CA:IEEE,2011:3838-3843.
[5]SHENGYIN W,SHIQI Y,WENSHENG C.An Attempt to Pedestrian Detection in Depth Images[C]∥2011 Third Chinese Conference on Intelligent Visual Surveillance(IVS).Beijing:IEEE,2011:97-100.
[6]CHOI W,PANTOFARU C,SAVARESE S.Detecting and Tracking People Using an RGB-D Camera via Multiple Detector Fusion[C]∥IEEE International Conference on Computer Vision Workshops(ICCV Workshops).Barcelona:IEEE,2011:1076-1083.
[7]MITZEL D,LEIBE B.Real-Time Multi-Person Tracking with Detector Assisted Structure Propagation[C]∥ IEEE International Conference on Computer Vision Workshops(ICCV Workshops).Barcelona:IEEE,2011:974-981.
[8]钱锦锋.逆向工程中的点云处理[D].杭州:浙江大学计算机科学与技术学院,2005.
QIAN Jinfeng.Point Cloud Processing in Reverse Engineering[D].Hangzhou:College of Computer Science& Technology,Zhejiang University,2005.
[9]FISCHLER M A,BOLLES R C.Random Sample Consensus:A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography[J].Communications of the ACM,1981,24(6):381-395.
[10]DALAL N,TRIGGS B.Histograms of Oriented Gradients for Human Detection [C]∥Computer Vision and Pattern Recognition.San Diego,CA,USA:IEEE,2005:886-893.