文章编号:1671—4598l 2o16)12—0205—04 DOI:10.16526 ̄.cnki.11--4762/tp.2016.12.059 中图分类号:TP 391.41 文献标识码:A 基于头肩模型的人体识别方法 林 佳 ,-,阮晓钢1,2,于乃功 , (1.北京工业大学信息学部,北京100124;2.计算智能与智能系统北京市重点实验室,北京100124) 摘要:针对移动机器人跟踪特定人体的要求,提出了一种基于头肩模型的人体识别方法;首先从人体检后得到的图像中提取所有的 人体头肩模型;接着提取各头肩模型的降维加权的Hu不变矩作为特征向量;然后根据一定的阈值将各头肩模型分类为正背面或侧面; 最后采用正背面或侧面K最近邻(K Nearest Neighbor,KNN)分类器判断哪个头肩模型属于移动机器人需要跟踪的人体;实验结果表 明本方法具有较高的平均识别准确率98.3 ,且满足实时性的要求。 关键词:人体识别;头肩模型;不变矩;最近邻分类器 Human Recognition Approach Based on Head—shoulder Model Lin Jia ,Ruan Xiaogang 。Yu Naigong ’ (1.Faculty of Information Technology,Bering University of Technology,Bering 100124,China; 2.Beijing Key Laboratory of Computational Intelligence and Intelligent System,Beijing 100124,China) Abstract: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 pro— file 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. Keywords:human recognition;head—shoulder model;moment invariant;nearest neighbor classifier O 引言 区域的形状差别很大,但人体头肩部的区域形状是变化最小 近年来,人体识别已成为机器人视觉领域中的一个重要的 的,比身体其他部分有更好的稳定性 ]。另外人体之间、人体 研究方向,是实现移动机器人跟踪人体的主要步骤。国内外人 与物体之间的相互遮挡,使得视频中通常只能显示人的上半 体识别的研究成果很多,一般是通过整个人体或部分人体的二 身,即头肩部分。这些方法都可有效的识别出场景中存在的人 值轮廓图像的特征来识别。李庆忠[1]和Mao[2]等将人体头肩部 体,但又都局限于用来识别人体和非人体,难以满足场景中存 的不变矩特征作为BP神经网络的输入来识别人。Ding等 采 在多个人体时移动机器人识别待跟踪人体的需要。在上述方法 用级联的SVM对人体头肩部的HOG特征进行分类识别。Xu 的基础上,经过一定的改进,本文提出了一种基于头肩模型的 等[4]通过对提取的人体头肩部进行卡尔曼滤波实现对人体的识 人体识别方法。通过实验对比,提出方法得到了较高的识别准 别与跟踪。王丽佳等[5 提取人体的运动、颜色和头肩特征来实 确率,且具有实时性,可以很好的满足移动机器人识别待跟踪 现人体跟踪。刘琳等[6]利用Sobel算子和均值漂移聚类检测人 人体的要求。 体轮廓,然后提取头肩模型,并结合傅里叶描述子和神经网络 来识别人体。谷灵康等[7 根据头顶像素点的梯度方向快速确定 头肩部区域,并采用BWH算法融合照度不变性色彩特征与旋 转不变性LBP纹理特征,结合HIKSVM分类器实现人体检测。 上述方法大都是利用头肩模型来进行人体识别,这是由于 人体运动的非刚性,运动时手臂和双腿会发生摆动,造成人体 图1 基于头肩模型人体识别的原理框图 收稿日期:2016—10—28;修回日期:2016—11—01。 基金项目:国家自然科学基金项目(61375086);北京市自然科学基 l基于头肩模型的人体识别原理 金项目/北京市教育委员会科技计划重点项目(Kz2O16100O5O1O)。 提出的基于头肩模型的人体识别方法的原理如图l所示, 作者简介:林佳(1987~),男,山东人,博士研究生,主要从事机器 具体步骤为: 视觉、人机交互方向的研究。 1)从人体检后得到的图像中提取所有的人体头肩模型; 阮晓钢(1958一),男,四川人,教授,博士研究生导师,主要从事认知 2)提取个头肩模型的Hu不变矩特征,并根据特征各维 科学、机器人学方向的研究。 对提高识别准确率的贡献大小进行降维加权处理; 于乃功(1966一),男,山东人,教授,硕士研究生导师,主要从事机器 3)根据一定的阈值将各头肩模型区分为正背面和侧面, 人定位与导航方向的研究。 分别用相应的正背面或侧面KNN分类器进行分类识别,实现 ・2O6 ・ 计算机测量与控制 第24卷 对待跟踪人体的识别。 2人体头肩模型提取方法 人体头肩模型的提取分两步进行:首先,确定人体检测后 的图像中的人体数目;然后,根据确定的人体数目依次提取各 个人体的头肩模型。 2.1人体数目的确定 般情况下运动人体之间都相隔一定距离,即便人体发生 不完全遮挡时头肩部间仍存在一定距离。因此可根据如下步骤 一图2二值图像,中的一个人体区域 确定人体数目[1]: 1)计算人体检测后获得的二值图像f(x,3,)的垂直投影 直方图H r( ): H,( )一 uf(z,3J) (1) 响。因此本文采用头肩模型的Hu不变矩特征[ ,…,仇, … ]作为待识别人体的特征。 籁 {幡; 蛙 如 皿 糕 {蟠; 醯 衄 皿 其中:uf一{ : 三: ;喜,f,直方图峰顶的位置即为人头 顶部的位置,当同一连通区域存在多个峰顶时通过峰顶间的极 小值点将其分割开,分割后的垂直投影直方图仍记为,分割同 样在f(x, )上进行,仍记为f(x, ); 2)求平滑后的垂直投影直方图SH,( ): 1 、 行数 (a)人体区域的水平投影直方图 列数 (b)头肩模型的垂直投影直方图 图3头肩模型的投影直方图 SHI( )= l一 H,( + ) 3)求脉冲函数P( ): (2) 3.1头肩模型I-lu不变矩提取 P(v)一』 ,sH, Y ≥ ’ \0, otherwise 其中:,r5一--g- 4X(SH,)。 (3) 为减小数值的分布范围以便于比较,同时考虑到结果可能 出现负值,实际采用的不变矩[2]为: M 一 ̄/I 由表1中数据可知 ,1≤ ≤7 (4) ,M ,M 和M7的值的数字范围比较 4)宽度大于叫的正脉冲数目即为人体的总个数N,f(x, )中仅保留N个脉冲对应的连通区域,每个连通区域对应一 个人体。 小。在下面用KNN分类器计算距离时,这些数字范围相对较小 的特征会被数字范围较大的特征压倒,使其对距离的计算没有 什么贡献,其对分类结果的影响也就可能被忽略。为了避免这 种数字问题的出现,可以将数字范围较小的特征值乘以相应的 系数,使其归一化到数字范围较大的特征值的数量级。不变矩 2.2头肩模型的提取 依次从二值图像_厂的N个人体区域中提取头肩模型,如图 2所示为,中的一个人体区域。计算其水平投影直方图,如图 特征向量取为:P一[M1,M2,1OM3,5oM,,2oooM ̄,M ,IOOM ̄]。 表1部分不变矩提取结果 M1 M2 M3 M4 Ms M7 3(a)所示。点A对应的是人体的头顶点。对于一个通常情 况下的投影直方图曲线,头顶附近的局部最大值点B的纵坐 标即为头部的宽度,由人体解剖学的知识可取头部宽度的2.5 ~3.0倍作为头肩模型的高度H[5 ;若找不到局部最大值点 1 0.614 1 0.257 1 0.O33 8 0.017 0 0.000 2 O.162 2 0.005 2 2 0.613 1 0.255 2 0.O33 8 0.017 7 0.000 2 O.16O 8 0.005 1 B,则找出水平投影直方图的全局最大值点B1,点B1的纵坐 3 0.613 9 0.256 4 0.034 3 0.0I7 6 0.000 1 0.161 8 0.005 6 4 0.613 7 0.256 3 0.034 2 0.017 6 0.000 2 0.161 6 0.O05 6 5 0.613 6 0.256 2 0.034 1 0.017 6 0.000 2 0.161 6 0.005 6 6 0.615 7 0.249 9 0.O37 4 0.021 0 0.000 2 0.158 8 0.006 6 7 0.615 7 0.249 9 0.O37 4 O.O21 0 0.000 2 0.158 8 0.006 6 标即为人体宽度,根据人体解剖学的知识人体的宽高比为 0.28~0.36,计算出人体的近似高度,再根据人体头肩模型高 度与人体高度的比值为0.22~0.30,计算出头肩模型的高度 H。图上A点到c点的距离H即为头肩模型的高度。这样A 点与c点之间的直方图即为头肩模型的水平投影直方图。图3 (b)为头肩模型的垂直投影直方图,E点、F点分别为头肩模 型的最左点、最右点,L为头肩模型的宽度。 由于机器人跟踪人体对系统的实时性要求比较高,因此应 该尽可能的降低特征向量的维数,以提高特征提取的速度和降 对于,的其余人体区域,可分别采用同样的方法提取其头 肩模型,并按顺序将所有头肩模型编号,编号数目应与确定出 的人体数目相等。 低分类的计算量。本文采用的KNN分类器主要是通过距离度 量来确定目标的分类,这里可以简单的应用欧氏距离来判断各 维特征向量对分类识别的贡献,保留对提高识别准确率有益的 特征,去掉不利于提高识别准确率的特征。然后根据保留的特 征向量对提高识别准确率的贡献赋予相应的权值。 实验中采集了一个由11 040张含有人体的图片组成的图 3头肩模型特征向量提取与区分 Hu不变矩[目 特征不随图像的位置、方向、大小的变化 而改变,具有缩放、平移、旋转不变性。同时由于不变矩特征 是通过计算目标区域内的点得出来的,不易受噪声等因素的影 像库,并按上述方法分别提取头肩模型组成头肩模型样本库。 由320个头肩模型作为训练样本,其中待跟踪人体样本8O个; 第l2期 林佳,等:基于头肩模型的人体识别方法 背面 ・2O7 ・ 随机抽取4 240个头肩模型作为测试样本,其中待跟踪人体样 本1 200个。分别提取这些头肩模型的不变矩特征向量,采用 欧氏距离作为距离度量对测试样本进行分类识别,统计错分个 数m,并计算识别准确率;依次去除不变矩特征向量的第 维,然后按上面的过程进行分类识别,统计错分个数1217,( 一 1,2,…7),并计算识别准确率。如表2所示为相应的错分个 数和识别准确率。 表2错分个数和识别准确率 维数 错分结果数/个 识别准确率/ M1~M7 543 87.1 9 去M1 8】l 80.87 去M2 59O 86.O8 去M3 531 87.48 去M4 535 87.38 去M5 5O2 88.1 6 去M6 564 86.70 去M7 574 86.46 根据表中数据依次去掉M。、M 、Mj后识别准确率都有所 提高,说明此三维特征向量不利于识别准确率的提高,应该舍 弃。相对的,依次去掉M 、 、 、M 后识别准确率有所下 降,说明此四维特征向量有益于提高识别准确率,应该保留。 根据下式计算不变矩M 、 、M 、M 的权值: M __ ’ 结果分别为 一0.321 9, 一0.234 2, 一0.227 9。 因此本文最终采用的不变矩特征向量为户 =EM ., M 3,M ],其中.】Ⅵ,l: lM1, 2一 2M2, 3= M6,M {= 100/*7M7。 3.2头肩模型正背面、侧面区分 由于机器人跟踪人体时大部分时间内摄像机拍摄的是人体 的背面,只有人体转身或者拐弯时才拍摄人体的侧面。因此, 如图4所示,将头肩模型分为两大部分,八个区域。两大部分 包括正背面、侧面。八个区域分为正面、背面、左侧面、右侧 悃 铘 圃l 侧 面、左前半侧面、左后半侧面、右后半侧面、右前半侧面。其 誊 中正面、背面属于正背面区域,人体头肩模型在正面、背面区 域左、右微偏5o仍可认为其属于正背面部分;左侧面、右侧 面、左前半侧面、左后半侧面、右后半侧面、右前半侧面属于 侧面部分。 过对大量人体头肩模型不变矩特征的研究找出可以区分头 肩模型正背面和侧面的阈值。当0.59≤M ≤0.61时,若M >0.24&M6>0.15,为正背面;若Mz≤0.24 l ≥0.15, 为侧面。当M <0.59时,为侧面。当M >0.61时,为正背 面。从而实现对头肩模型正背面和侧面的区分。 4 KNN分类识别 KNN(K Nearest Neighbor,KNN)分类算法的主要思想 是:先计算待分类样本与已知类别的训练样本之间的距离,找 到与待分类样本距离最近的k个邻居;待分类样本的k个邻居 中占多数的类别即为待分类样本的类别0”。。一般采用欧氏距 离来确定样本距离,还可采用曼哈顿距离作为距离度量。 本文中同时采用上述两种距离度量,参数女的值选为3。 正面 图4头肩模型的划分 其中用欧氏距离确定待分类头肩模型在训练样本中的2个最近 邻居,用曼哈顿距离确定1个最近邻居。然后根据这些邻居的 分类属性进行投票,投票结果大于等于2的分类属性即为待分 类头肩模型的分类属性。 由于将头肩模型分为正背面和侧面分别进行分类识别, 此需要训练两个KNN分类器,即正背面KNN分类器和侧面 KNN分类器。当待分类样本被确定为正背面时则用正背面 KNN分类器分类,被确定为侧面时则用侧面KNN分类器分 类。当同一图片中出现多个人体时,按已提取的头肩模型的编 号顺序提取不变矩特征向量。按确定的阈值将其分为正背面或 侧面,最后用相应的KNN分类器分类识别。若分类识别结果 为待跟踪人体,记录分类结果所属类别的邻居中最小的欧氏距 离值。 当图像中只有一个人体时,可根据KNN分类器分类结果 确定是否为待跟踪的人体。当图像中出现多个人体,且有多于 一个人体被分类为待跟踪人体时,则比较记录的欧氏距离值。 欧氏距离最小的人体即为待跟踪的人体。 机器人跟踪人体时,若待跟踪人体的头肩模型已存储在样 本库中时,则可直接使用此样本作为相应KNN分类器的训练 样本;若待跟踪人体的头肩模型未存储在样本库中,则此人体 在机器人前慢速旋转3600,机器人将拍摄视频按帧提取对应 头肩模型,并进行正背面和侧面区分,然后存储到已存在的正 背面或侧面样本库中。增加后的样本库可作为相应KNN分类 器的训练样本库。 相较于SVM,BP神经网络等分类器,采用KNN分类器 可以避免预先训练针对不同待跟踪人体的多个分类器;当有未 存储在训练样本库中的待跟踪人体需要被跟踪时直接按上述方 法将其头肩模型加入到训练样本库中.可以避免离线训练新分 类器的过程。 5实验结果与分析 本实验分为人体检测后图像中有单个人体、两个人体、3个人体出现的情况。采用距离度量为欧氏距离的KNN分类器 和本文方法的KNN分类器。分别测试不区分与区分头肩模型 时的识别准确率和耗时。 本文第二部分采集的头肩模型样本库中的正背面头肩模型 样本组成正背面样本库,侧面头肩模型样本组成侧面样本库。实验中的正背面KNN分类器的训练样本由正背面样本库中的 部分样本组成,侧面KNN分类器的训练样本由侧面样本库中 的部分样本组成。 不区分头肩模型正背面与侧面的情况下,训练样本由正背 面样本库中320个样本(待跟踪人体样本4O个)和侧面样本库 ・208・ 计算机测量与控制 第24卷 中的960个样本(待跟踪人体样本120个)组成。区分头肩模 型正背面和侧面的情况下,正背面KNN分类器的训练样本由 前面选出的320个正背面样本组成,侧面KNN分类器的训练样 本由前面选出的960个侧面样本组成。只有单个人体的实验从 图像库中选取只有单个人体的4 864张图片,分别提取头肩模 区分为正背面或侧面;最后利用相应的正背面或侧面KNN分 类器进行分类识别。提出方法实现了对待跟踪人体的快速与准 确识别,较好地解决了场景中存在多个运动人体时移动机器人 不能很好的识别待跟踪人体的问题。本研究还可应用于人机交 互、智能视频监控和人体行为分析等领域。对于人体弯腰或举 高手臂等特殊情况下的图像,本文方法不再适用。因为此时无 法提取出适用的头肩模型,这种特殊情况下的人体识别方法有 待后续研究解决。 型作为测试样本。有两个人体的实验从图像库中选取含有两个 人体的1 400张图片,分别提取头肩模型作为测试样本。有3个 人体的试验从图像库中选取有3个人体的3 000张图片,分别提 取头肩模型作为测试样本。实验结果如表3、表4所示。 表3 KNN分类器采用欧氏距离的实验结果 较好地解决了场景中存在多个运动人体时移动机器人不能 很好的识别待跟踪人体的问题。 参考文献: 实验 单人不区分 单人区分 识别准确率/ 92.33 96.86 识别耗时/ms 5.73 3.77 [1-1李庆忠,陈显华,王力红.一种视频运动目标的检测与识别方法 [J].模式识别与人工智能,2006,19(2):238—242. [23 Mao Y,Huang X.Human recognition based on head—shoulder moment ̄eature rA].IEEE/INFORMS Int.Conf.on Service Op— 两人不区分 两人区分 三人不区分 三人区分 95.16 96.82 93.31 97.83 5.63 3.88 5.58 4.00 erations and Logistics,and Informatics[C].Beijing,China: IEEE,2008:622—625. [3]Ding X,Xu H,Cui P,et a1.A cascade SVM approach for head— 表4 KNN分类器采用本文方法的实验结果 shoulder detection using histograms of oriented Ggradients[A]. IEEE Int.Symp.on Circuits and Systems[c].Tainan,China: IEEE,2009:1791—1794. 实验 单人不区分 单人区分 两人不区分 两人区分 识别准确率/ 94.75 97.83 95.57 98.79 识别耗时/ms 5.7l 3.74 5.62 3.83 [4]Xu H,Lv P,Lei M.A People counting System based on head— shoulder detection and tracking in surveillance video r A].Int. Con.On Computer Design and Applications[c].Qinhuangdao, China:IEEE,2010:394—398. 三人不区分 三人区分 94.13 98.28 5.8O 3.96 [5]王丽佳,贾松敏,李秀智,等.多特征提取的双目机器人目标跟踪 [J].控制与决策,2013,28(10):1568—1572. 从实验结果可以看出区分头肩模型正背面和侧面的情况下 [6]刘琳,耿俊梅,顾国华,等.轮廓特征与神经网络相结合的行人 识别准确率明显提高,平均为98.3 。在同时存在多个人体 时识别准确率也完全可以满足跟踪人体的需要。实际系统应用 中可通过比较连续几帧的识别结果来判定,以更加准确地识别 检测[J].光电工程,2014,41(7):50—56. [7]谷康灵,周鸣争.多特征融合下的快速行人检测[J].光电工程, 2015,42(9):14—2O. [8]Jia S,Sheng J,Chugo D,et a1.Human recognition using RFID 待跟踪的人体。同时每个头肩模型的识别时间平均减少了 1.82 ms,提高了对系统实时性要求的满足程度。 通过比较表3和表4中的实验结果,还可发现采用本文方 法的KNN分类器进行分类识别,识别准确率也有了不同程度 的提高。 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. [1O]马琦,马蔚碰,刘彦,等.基于支持向量机的图像飞机目标自 6 结论 本文针对移动机器人跟踪人体的要求,对只能识别人体与 动识别算法研究[J].计算机测量与控制,2014,22(9):2851— 2852,2899. [11]李乐平,高 杨.一种高准确率的交通监控视频车辆检测算法 非人体的人体识别方法进行了改进。首先提取人体检测后图像 中的头肩模型;接着提取头肩模型降维后的Hu不变矩,并赋 予其相应的权值作为特征向量;然后根据经验阈值将头肩模型 (上接第204页) [J].计算机测量与控制,2015,23(3):852—864,857. E12]Peter E H.The condensed nearest neighbor rule[J].IEEE Transactions on Information Theory,1968,14(3):515—516. 外露天线提供了隐身改进设计的依据和手段,也为飞机的隐身 设计奠定了基础,节约了成本。 参考文献: 则必须选用更细的铂金丝。这将对敏感元件的绕制工艺提出更 高的要求。后续研究采用更小的铂金丝绕制体积更小的敏感元 件,由于绕制工艺目前还存在诸多难点,还需要上时间公关, 进一步提高绕制工艺,进一步研究敏感元件减小还能否实现外 露物指标要求。 [1]段振武,麻建军.隐身技术在无人机上的应用研究[J].飞航导 弹,2009,2(4):36—39. [2]桑建华,飞行器隐身技术[M].北京:航空工业出版社,2013. [3]尤春风等CATIA V5曲面造型[M].第1版.北京:清华大学出 版社,2002. 4 结论 通过前面的仿真和实测发现,经过一系列的隐身改进设 计,使得外露物的RCS值降低明显,为机上其他外露物以及 [4]张宗斌,陈益邻,高正红.三维复杂目标求解的多层快速多极子方 法[J].南京航空航天大学学报,2007,39(2):222—226.