林 佳,阮晓钢,于乃功
(1.北京工业大学 信息学部,北京 100124; 2.计算智能与智能系统北京市重点实验室,北京 100124)
基于头肩模型的人体识别方法
林 佳1,2,阮晓钢1,2,于乃功1,2
(1.北京工业大学 信息学部,北京 100124; 2.计算智能与智能系统北京市重点实验室,北京 100124)
针对移动机器人跟踪特定人体的要求,提出了一种基于头肩模型的人体识别方法;首先从人体检后得到的图像中提取所有的人体头肩模型;接着提取各头肩模型的降维加权的Hu不变矩作为特征向量;然后根据一定的阈值将各头肩模型分类为正背面或侧面;最后采用正背面或侧面K最近邻(K Nearest Neighbor, KNN)分类器判断哪个头肩模型属于移动机器人需要跟踪的人体;实验结果表明本方法具有较高的平均识别准确率98.3%,且满足实时性的要求。
人体识别;头肩模型;不变矩;最近邻分类器
近年来,人体识别已成为机器人视觉领域中的一个重要的研究方向,是实现移动机器人跟踪人体的主要步骤。国内外人体识别的研究成果很多,一般是通过整个人体或部分人体的二值轮廓图像的特征来识别。李庆忠[1]和Mao[2]等将人体头肩部的不变矩特征作为BP神经网络的输入来识别人。Ding等[3]采用级联的SVM对人体头肩部的HOG特征进行分类识别。Xu等[4]通过对提取的人体头肩部进行卡尔曼滤波实现对人体的识别与跟踪。王丽佳等[5]提取人体的运动、颜色和头肩特征来实现人体跟踪。刘琳等[6]利用Sobel 算子和均值漂移聚类检测人体轮廓,然后提取头肩模型,并结合傅里叶描述子和神经网络来识别人体。谷灵康等[7]根据头顶像素点的梯度方向快速确定头肩部区域,并采用BWH 算法融合照度不变性色彩特征与旋转不变性LBP 纹理特征,结合HIKSVM 分类器实现人体检测。
上述方法大都是利用头肩模型来进行人体识别,这是由于人体运动的非刚性,运动时手臂和双腿会发生摆动,造成人体区域的形状差别很大,但人体头肩部的区域形状是变化最小的,比身体其他部分有更好的稳定性[1]。另外人体之间、人体与物体之间的相互遮挡,使得视频中通常只能显示人的上半身,即头肩部分。这些方法都可有效的识别出场景中存在的人体,但又都局限于用来识别人体和非人体,难以满足场景中存在多个人体时移动机器人识别待跟踪人体的需要。在上述方法的基础上,经过一定的改进,本文提出了一种基于头肩模型的人体识别方法。通过实验对比,提出方法得到了较高的识别准确率,且具有实时性,可以很好的满足移动机器人识别待跟踪人体的要求。
图1 基于头肩模型人体识别的原理框图
提出的基于头肩模型的人体识别方法的原理如图1所示,具体步骤为:
1)从人体检后得到的图像中提取所有的人体头肩模型;
2)提取个头肩模型的Hu不变矩特征,并根据特征各维对提高识别准确率的贡献大小进行降维加权处理;
3) 根据一定的阈值将各头肩模型区分为正背面和侧面,分别用相应的正背面或侧面KNN分类器进行分类识别,实现对待跟踪人体的识别。
人体头肩模型的提取分两步进行:首先,确定人体检测后的图像中的人体数目;然后,根据确定的人体数目依次提取各个人体的头肩模型。
2.1 人体数目的确定
一般情况下运动人体之间都相隔一定距离,即便人体发生不完全遮挡时头肩部间仍存在一定距离。因此可根据如下步骤确定人体数目[1]:
1)计算人体检测后获得的二值图像f(x,y)的垂直投影直方图Hf(y):
(1)
2)求平滑后的垂直投影直方图SHf(y):
(2)
3)求脉冲函数P(y):
(3)
4)宽度大于w的正脉冲数目即为人体的总个数N,f(x,y)中仅保留N个脉冲对应的连通区域,每个连通区域对应一个人体。
2.2 头肩模型的提取
依次从二值图像f的N个人体区域中提取头肩模型,如图2所示为f中的一个人体区域。计算其水平投影直方图,如图3(a)所示。点A对应的是人体的头顶点。对于一个通常情况下的投影直方图曲线,头顶附近的局部最大值点B的纵坐标即为头部的宽度,由人体解剖学的知识可取头部宽度的2.5~3.0倍作为头肩模型的高度H[5,8];若找不到局部最大值点B,则找出水平投影直方图的全局最大值点B1,点B1的纵坐标即为人体宽度,根据人体解剖学的知识人体的宽高比为0.28~0.36,计算出人体的近似高度,再根据人体头肩模型高度与人体高度的比值为0.22~0.30,计算出头肩模型的高度H。图上A点到C点的距离H即为头肩模型的高度。这样A点与C点之间的直方图即为头肩模型的水平投影直方图。图3(b)为头肩模型的垂直投影直方图,E点、F点分别为头肩模型的最左点、最右点,L为头肩模型的宽度。
对于f的其余人体区域,可分别采用同样的方法提取其头肩模型,并按顺序将所有头肩模型编号,编号数目应与确定出的人体数目相等。
图2 二值图像f中的一个人体区域
Hu不变矩[9-11]特征不随图像的位置、方向、大小的变化而改变,具有缩放、平移、旋转不变性。同时由于不变矩特征是通过计算目标区域内的点得出来的,不易受噪声等因素的影响。因此本文采用头肩模型的Hu不变矩特征[φ1,…,φ4,…φ7]作为待识别人体的特征。
图3 头肩模型的投影直方图
3.1 头肩模型Hu不变矩提取
为减小数值的分布范围以便于比较,同时考虑到结果可能出现负值,实际采用的不变矩[2]为:
(4)
由表1中数据可知M3,M4,M5和M7的值的数字范围比较小。在下面用KNN分类器计算距离时,这些数字范围相对较小的特征会被数字范围较大的特征压倒,使其对距离的计算没有什么贡献,其对分类结果的影响也就可能被忽略。为了避免这种数字问题的出现,可以将数字范围较小的特征值乘以相应的系数,使其归一化到数字范围较大的特征值的数量级。不变矩特征向量取为:p=[M1,M2,10M3,50M4,2000M5,M6,100M7]。
表1 部分不变矩提取结果
由于机器人跟踪人体对系统的实时性要求比较高,因此应该尽可能的降低特征向量的维数,以提高特征提取的速度和降低分类的计算量。本文采用的KNN分类器主要是通过距离度量来确定目标的分类,这里可以简单的应用欧氏距离来判断各维特征向量对分类识别的贡献,保留对提高识别准确率有益的特征,去掉不利于提高识别准确率的特征。然后根据保留的特征向量对提高识别准确率的贡献赋予相应的权值。
实验中采集了一个由11 040张含有人体的图片组成的图像库,并按上述方法分别提取头肩模型组成头肩模型样本库。由320个头肩模型作为训练样本,其中待跟踪人体样本80个;随机抽取4 240个头肩模型作为测试样本,其中待跟踪人体样本1 200个。分别提取这些头肩模型的不变矩特征向量,采用欧氏距离作为距离度量对测试样本进行分类识别,统计错分个数m,并计算识别准确率;依次去除不变矩特征向量的第l维,然后按上面的过程进行分类识别,统计错分个数ml(l=1,2,…7),并计算识别准确率。如表2所示为相应的错分个数和识别准确率。
在微电网控制中,集中控制需要通过中央控制器控制所有DG单元的信息,对通信要求高,一旦某条线路发生通信故障,将无法确定其余DG单元的控制指令,情况严重时会造成系统崩溃,可靠性不高。
表2 错分个数和识别准确率
根据表中数据依次去掉M3、M4、M5后识别准确率都有所提高,说明此三维特征向量不利于识别准确率的提高,应该舍弃。相对的,依次去掉M1、M2、M6、M7后识别准确率有所下降,说明此四维特征向量有益于提高识别准确率,应该保留。根据下式计算不变矩M1、M2、M6、M7的权值:
(5)
结果分别为μ1=0.321 9,μ2=0.234 2,μ6=0.216 0,μ7=0.227 9。
3.2 头肩模型正背面、侧面区分
由于机器人跟踪人体时大部分时间内摄像机拍摄的是人体的背面,只有人体转身或者拐弯时才拍摄人体的侧面。因此,如图4所示,将头肩模型分为两大部分,八个区域。两大部分包括正背面、侧面。八个区域分为正面、背面、左侧面、右侧面、左前半侧面、左后半侧面、右后半侧面、右前半侧面。其中正面、背面属于正背面区域,人体头肩模型在正面、背面区域左、右微偏5o仍可认为其属于正背面部分;左侧面、右侧面、左前半侧面、左后半侧面、右后半侧面、右前半侧面属于侧面部分。
过对大量人体头肩模型不变矩特征的研究找出可以区分头肩模型正背面和侧面的阈值。当0.59≤M1≤0.61时,若M2>0.24&M6>0.15,为正背面;若M2≤0.24|M6≥0.15,为侧面。当M1<0.59时,为侧面。当M1>0.61时,为正背面。从而实现对头肩模型正背面和侧面的区分。
图4 头肩模型的划分
KNN(K Nearest Neighbor, KNN)分类算法的主要思想是:先计算待分类样本与已知类别的训练样本之间的距离,找到与待分类样本距离最近的k个邻居;待分类样本的k个邻居中占多数的类别即为待分类样本的类别[12]。一般采用欧氏距离来确定样本距离,还可采用曼哈顿距离作为距离度量。
由于将头肩模型分为正背面和侧面分别进行分类识别,因此需要训练两个KNN分类器,即正背面KNN分类器和侧面KNN分类器。当待分类样本被确定为正背面时则用正背面KNN分类器分类,被确定为侧面时则用侧面KNN分类器分类。当同一图片中出现多个人体时,按已提取的头肩模型的编号顺序提取不变矩特征向量。按确定的阈值将其分为正背面或侧面,最后用相应的KNN分类器分类识别。若分类识别结果为待跟踪人体,记录分类结果所属类别的邻居中最小的欧氏距离值。
当图像中只有一个人体时,可根据KNN分类器分类结果确定是否为待跟踪的人体。当图像中出现多个人体,且有多于一个人体被分类为待跟踪人体时,则比较记录的欧氏距离值,欧氏距离最小的人体即为待跟踪的人体。
机器人跟踪人体时,若待跟踪人体的头肩模型已存储在样本库中时,则可直接使用此样本作为相应KNN分类器的训练样本;若待跟踪人体的头肩模型未存储在样本库中,则此人体在机器人前慢速旋转360o,机器人将拍摄视频按帧提取对应头肩模型,并进行正背面和侧面区分,然后存储到已存在的正背面或侧面样本库中。增加后的样本库可作为相应KNN分类器的训练样本库。
相较于SVM,BP神经网络等分类器,采用KNN分类器可以避免预先训练针对不同待跟踪人体的多个分类器;当有未存储在训练样本库中的待跟踪人体需要被跟踪时直接按上述方法将其头肩模型加入到训练样本库中,可以避免离线训练新分类器的过程。
本实验分为人体检测后图像中有单个人体、两个人体、3个人体出现的情况。采用距离度量为欧氏距离的KNN分类器和本文方法的KNN分类器,分别测试不区分与区分头肩模型时的识别准确率和耗时。
本文第二部分采集的头肩模型样本库中的正背面头肩模型样本组成正背面样本库,侧面头肩模型样本组成侧面样本库。实验中的正背面KNN分类器的训练样本由正背面样本库中的部分样本组成,侧面KNN分类器的训练样本由侧面样本库中的部分样本组成。
不区分头肩模型正背面与侧面的情况下,训练样本由正背面样本库中320个样本(待跟踪人体样本40个)和侧面样本库中的960个样本(待跟踪人体样本120个)组成。区分头肩模型正背面和侧面的情况下,正背面KNN分类器的训练样本由前面选出的320个正背面样本组成,侧面KNN分类器的训练样本由前面选出的960个侧面样本组成。只有单个人体的实验从图像库中选取只有单个人体的4 864张图片,分别提取头肩模型作为测试样本。有两个人体的实验从图像库中选取含有两个人体的1 400张图片,分别提取头肩模型作为测试样本。有3个人体的试验从图像库中选取有3个人体的3 000张图片,分别提取头肩模型作为测试样本。实验结果如表3、表4所示。
表3 KNN分类器采用欧氏距离的实验结果
表4 KNN分类器采用本文方法的实验结果
从实验结果可以看出区分头肩模型正背面和侧面的情况下识别准确率明显提高,平均为98.3%。在同时存在多个人体时识别准确率也完全可以满足跟踪人体的需要。实际系统应用中可通过比较连续几帧的识别结果来判定,以更加准确地识别待跟踪的人体。同时每个头肩模型的识别时间平均减少了1.82 ms, 提高了对系统实时性要求的满足程度。
通过比较表3和表4中的实验结果,还可发现采用本文方法的KNN分类器进行分类识别,识别准确率也有了不同程度的提高。
本文针对移动机器人跟踪人体的要求,对只能识别人体与非人体的人体识别方法进行了改进。首先提取人体检测后图像中的头肩模型;接着提取头肩模型降维后的Hu不变矩,并赋予其相应的权值作为特征向量;然后根据经验阈值将头肩模型区分为正背面或侧面;最后利用相应的正背面或侧面KNN分类器进行分类识别。提出方法实现了对待跟踪人体的快速与准确识别,较好地解决了场景中存在多个运动人体时移动机器人不能很好的识别待跟踪人体的问题。本研究还可应用于人机交互、智能视频监控和人体行为分析等领域。对于人体弯腰或举高手臂等特殊情况下的图像,本文方法不再适用。因为此时无法提取出适用的头肩模型,这种特殊情况下的人体识别方法有待后续研究解决。
较好地解决了场景中存在多个运动人体时移动机器人不能很好的识别待跟踪人体的问题。
[1]李庆忠,陈显华,王力红.一种视频运动目标的检测与识别方法[J].模式识别与人工智能, 2006, 19(2): 238-242.
[2]Mao Y, Huang X. Human recognition based on head-shoulder moment feature[A]. IEEE/ INFORMS Int. Conf. on Service Operations and Logistics, and Informatics[C]. Beijing, China: IEEE, 2008: 622-625.
[3]Ding X, Xu H, Cui P, et al. A cascade SVM approach for head-shoulder detection using histograms of oriented Ggradients[A]. IEEE Int. Symp. on Circuits and Systems[C]. Tainan, China: IEEE, 2009: 1791-1794.
[4]Xu H, Lv P, Lei M. A People counting system based on head-shoulder detection and tracking in surveillance video[A]. Int. Con. On Computer Design and Applications[C]. Qinhuangdao, China: IEEE, 2010: 394-398.
[5]王丽佳, 贾松敏, 李秀智,等.多特征提取的双目机器人目标跟踪[J]. 控制与决策, 2013, 28(10): 1568-1572.
[6]刘 琳, 耿俊梅, 顾国华, 等. 轮廓特征与神经网络相结合的行人检测[J]. 光电工程, 2014, 41(7): 50-56.
[7]谷康灵, 周鸣争. 多特征融合下的快速行人检测[J]. 光电工程, 2015, 42(9): 14-20.
[8]Jia S, Sheng J, Chugo D, et al. Human recognition using RFID technology and stereo vision[A]. IEEE Int. Conf. on Robotics and Biomimetics[C]. Sanya, China: IEEE, 2007: 1488-1493.
[9]Hu M K. Visual pattern recognition by moment invariants[J]. IRE Transaction on Information Theory, 1962, 8(2): 179-187.
[10]马 琦, 马蔚碰, 刘 彦, 等. 基于支持向量机的图像飞机目标自动识别算法研究[J]. 计算机测量与控制, 2014, 22(9): 2851-2852, 2899.
[11]李乐平, 高 杨. 一种高准确率的交通监控视频车辆检测算法[J]. 计算机测量与控制, 2015, 23(3): 852-864, 857.
[12]Peter E H. The condensed nearest neighbor rule[J]. IEEE Transactions on Information Theory, 1968, 14 (3): 515-516.
Human Recognition Approach Based on Head-shoulder Model
Lin Jia1,2,Ruan Xiaogang1,2, Yu Naigong1,2
(1. Faculty of Information Technology, Beijing University of Technology, Beijing 100124, China; 2. Beijing Key Laboratory of Computational Intelligence and Intelligent System, Beijing 100124, China)
According to the requirements of tracking desired human for mobile robots, a human recognition approach which is based on the head-shoulder model is proposed. Firstly, the human head-shoulder models are extracted from the image obtained by human detection. Next, dimensionality reduction and weighted Hu moment invariants of the head-shoulder models are extracted as the feature vectors. Then, the head-shoulder models are identified as the front-back or profile models according to certain thresholds. Finally, the front-back or profile K Nearest Neighbor (KNN) classifier is used to determine which head-shoulder model belongs to the desired human, who needs to be tracked by a mobile robot. The experimental results show that the proposed approach has high average recognition accuracy 98.3% and is provided with real-time performance.
human recognition; head-shoulder model; moment invariant; nearest neighbor classifier
2016-10-28;
2016-11-01。
国家自然科学基金项目(61375086);北京市自然科学基金项目/北京市教育委员会科技计划重点项目(KZ201610005010)。
林 佳(1987-),男,山东人,博士研究生,主要从事机器视觉、人机交互方向的研究。
阮晓钢(1958-),男,四川人,教授,博士研究生导师,主要从事认知科学、机器人学方向的研究。
1671-4598(2016)12-0205-04
10.16526/j.cnki.11-4762/tp.2016.12.059
TP 391.41
A
于乃功(1966-),男,山东人,教授,硕士研究生导师,主要从事机器人定位与导航方向的研究。