张志佳,魏 信,周自强,刘 政
(1.沈阳工业大学 视觉检测技术研究所,沈阳 110020;2.江苏省机电产品循环利用技术重点建设实验室,常熟 215500;3.辽宁省广播电视中心发射台,沈阳 110016)
基于Kinect的拆卸工具运动轨迹识别方法
张志佳1,2,魏 信1,2,周自强2,刘 政3
(1.沈阳工业大学 视觉检测技术研究所,沈阳 110020;2.江苏省机电产品循环利用技术重点建设实验室,常熟 215500;3.辽宁省广播电视中心发射台,沈阳 110016)
为了获取拆卸工具的运动轨迹,提出了基于Kinect的轨迹识别方法。首先采用Kinect传感器获取拆卸人员前臂及拆卸工具深度图像,通过图像细化获得拆卸工具顶端位置并提取轨迹特征,进而提出了一种基于欧式距离和随机抽样一致性的样本轨迹预处理方法,然后利用隐马尔科夫模型(HMM)训练轨迹样本并实现轨迹的识别。实验结果表明,该方法能有效地识别拆卸工具运动轨迹,并且对样本预处理后,能显著提高识别率。
Kinect传感器;深度图像;图像细化;欧式距离;随机抽样一致性;隐马尔科夫
在废旧产品的自动化拆卸中,如何获取人工拆卸的相关信息并进行学习,能大幅度提高拆卸过程的自动化程度。Kinect设备是微软于2010年正式推出[1,5],可以获取RGB和深度图像数据,同时进行实时的全身骨骼跟踪[2],并可以进行人体动作姿态识别[3,4]。目前大部分运动跟踪设备需要穿戴,通过标记来识别[6],微软开发的Kinect不做任何标定直接获取人体姿态动作,满足了便捷性。
Kinect在人体手势识别方面[7]已经有了研究,但在利用拆卸工具的情况下,对拆卸工具的轨迹识别还未见有相关研究。基于以上背景,本文提出基于Kinect的拆卸工具运动轨迹识别方法。该方法通过Kinect提取手持拆卸工具的深度图像,并进行二值化、图像细化[8]等处理,获取拆卸工具顶端位置,提取拆卸工具轨迹,然后对提取的轨迹进行量化编码。构建隐马尔科夫(HMM)模型[9],将编码值输入到HMM模型中进行训练,优化选取模型参数,实现拆卸工具轨迹识别。
Kinect共有三个摄像头(如图1所示),中间的镜头是RGB彩色摄像头,左右两边镜头分别是红外线发射器和红外线CMOS摄像机。Kinect在底部还配备了传动马达,在两侧内置了阵列麦克风系统,用于语音识别。
图1 Kinect传感器
Kinect具有骨骼跟踪技术,它是通过处理深度数据来建立人体各个关节的坐标,骨骼追踪能够确定人体各个部分(如:手,头部以及身体),还能确定他们相对于Kinect所在的空间位置。基于这一特性,在拆卸过程中,可以利用Kinect对人体骨骼进行跟踪。
图2 20个人体关节点
Kinect系统通过20个关节点来表示一个骨架,如图2所示。当人进入如图3所示的Kinect视野范围内,Kinect会把人的20个骨骼关节点找到,且以坐标形式表示出来。
图3 Kinect场景内的人体骨骼
手持拆卸工具的轨迹提取主要包括以下主要步骤:提取右臂及拆卸工具的深度图像,对深度图像二值化;然后对二值化图像进行细化,获取细化图像顶端的位置;提取拆卸工具运动轨迹,将轨迹进行量化编码,以方便对轨迹进行识别。
2.1 获取工具的深度图像
深度图像包含与场景物体表面距离有关信息的一种图像。与彩色图像相比,深度图像能反映物体表面的三维特征,且不受光照等外在因素的影响。利用Kinect获得的深度图像可以对人体主要部位进行识别,本文主要研究手持拆卸工具轨迹,所以对手持拆卸工具进行识别。加入工具的关节点作为第21个关节点,如图4所示。
图4 21个人体关节点
由于是手持拆卸工具,为了获取更多的图像信息方便图像处理,利用Kinect提取前臂及拆卸工具的整个深度图像如图5所示。
图5 右前臂及拆卸工具
2.2 图像细化
由于获取的前臂及拆卸工具深度图像特征不精细,这给拆卸工具顶端坐标获取带来很大难度,因此引入图像分析方法,得到一个精细的骨架特征,这就是图像细化[8]。
图像细化是针对二值图像的细化,对于640×480的二值图像,1代表待细化的像素点区域,0代表背景。对边界点P及其八邻域点P0,P1,…,P6,P7,如图6所示。
图6 细化规则
对于边界点P,判断P0到P7所对应的像素值,计算八个邻域点的权值S,对S值查表1的编号,若编号对应的值为1,则可以判断P为可删除点。
式中:Pk表示第k个邻域点的像素值;k表示第几个邻域点。
通过上述方法对人体前臂及拆卸工具的二值图像进行细化,如图7所示。
图7 细化示意图
2.3 提取拆卸工具顶端三维坐标
对于细化后的图像,获取曲线上点的坐标。利用Kinect的关节跟踪,可以提取出肘关节G点的坐标为(x,y),计算G点与曲线上其他点的欧式距离d,则欧式距离d最大值所对应的点P为拆卸工具顶点,其坐标为(x',y'),如图8所示。
表1 索引表
图8 寻找顶端示意图
2.4 获取拆卸工具轨迹
人拿拆卸工具进行运动(以圆为例),在运动的整个过程中,利用Kinect提取一系列深度图像,对每一幅深度图像进行2.2~2.3节的操作,获得拆卸工具顶端的位置,提取轨迹特征,如图9所示的是一个近似圆形的工具轨迹。
图9 轨迹模型
2.5 轨迹预处理及量化编码
1)对轨迹进行预处理
样本数据里存在干扰点,所以提出利用欧式距离和随机抽样一致性对样本进行预处理。
对于获取的轨迹特征点的数据集合Q,计算其重心点P(x0,y0)。
轨迹特征点集合可表示为:
式中:Qi表示(xi,yi)处的位置坐标;n表示特征点数目。
重心点坐标可表示为:
式中:xi表示点的横坐标;yi表示点的纵坐标。
计算每个样本里点到重心P(x0,y0)的欧式距离d,若则将d〉T所对应的点剔除;若对式(1)样本,利用随机抽样一致性算法拟合成一条直线L,提取集合Q中每一点到直线L的距离d',将d'〉T'所对应的点剔除,图10给出剔除干扰点示意图。
图10 干扰点剔除示意图
如图10所示,左图A点离重心P(x0,y0)的欧式距离太大,作为剔除点;右图B点离拟合的直线的欧式距离太大,作为剔除点。
2)对轨迹进行量化编码
为了便于对轨迹进行识别,需要对轨迹进行量化编码。对于提取的轨迹,将其深度值Z去掉,以便于量化编码,图11给出求取角度的方向矢量图。
如图11所示,P(x0,y0)是轨迹曲线的重心,对于轨迹曲线上任意点A(x1,y1),通过几何关系,求出A点所在的角度值θ,其中:
图11 方向矢量图
从轨迹曲线上得到一系列角度值,采用16方向链码进行角度量化编码,图12给出里夹角量化编码示意图。
图12 夹角量化编码
如图12所示,轨迹上每个点都对应一个角度值,根据对应关系将角度值转化为1到16的码值,通过码值对轨迹进行识别。
3.1 HMM模型
隐马尔科夫模型(Hidden Markov Model, HMM)[9,10]是用于描述随机过程统计特性的概率模型[11],可以用来描述含有隐含未知参数的马尔科夫过程。首先通过可观察的参数中确定该过程的隐含参数;然后利用这些参数进行模式识别[12]等。
HMM用5个元素来描述,包括两个状态和三个状态概率矩阵。
1)隐藏状态数目N。
3.2 HMM参数估计
利用HMM对轨迹识别之前,需要对HMM参数进行估计。前向-后向算法(Baum-Welch算法)可以解决隐马尔科夫模型参数估计问题。
给定观察序列O及隐马尔科夫模型λ,定义t时刻位于隐藏状态Si的概率变量为:
给定观察序列O及隐马尔科夫模型λ,定义t时刻位于隐藏状态Si及t+1时刻位于隐藏状态Sj的概率变量为:
对多组角度量化编码,进行迭代提取γ和ζ,用这两个变量对HMM模型参数进行重新估计:
3.3 轨迹识别
4.1 提取拆卸工具轨迹
本文以螺丝刀为研究对象进行了拆卸工具的轨迹提取。利用Kinect获取前臂及螺丝刀的深度图,且提取出右肘所在的深度图像坐标,图13给出提取的前臂及螺丝刀深度图,图14给出了细化后的轮廓图。
图13 前臂及拆卸工具提取
图14 前臂及拆卸工具图像细化
如图14所示,利用Kinect的骨骼跟踪提取右肘图像坐标,计算出离右肘最远的点作为螺丝刀顶端所在的图像坐标。最后通过Kinect SDK开发工具包将图像坐标转换为三维点云坐标。
拆卸工具运动时记录下不同时刻其三维坐标则提取出拆卸工具顶端的运动轨迹。
4.2 轨迹识别
本文设计了三种轨迹类型来进行识别,有圆形轨迹、垂直运动轨迹和水平运动轨迹,典型的轨迹样本如图15所示。本研究对预处理前后的样本利用HMM算法对三种轨迹进行识别实验。
图15 三种轨迹图
经过实验与分析,各阈值参数确定为:T1=60,T2=300,T'=20。本研究对每种轨迹类型分别用80组样本进行训练。表2和表3分别为通过实验分析得到原HMM算法和对样本预处理后的轨迹识别率。
通过实验分析可知:对样本预处理后的识别率比没有预处理的提高了6个百分点,验证了本文对样本预处理后用HMM算法能提高识别率。
表2 原HMM算法对三种轨迹的识别率
表3 样本预处理后的识别率
本文研究了利用Kinect获取的深度图像对人手拆卸工具进行轨迹识别。从深度图像出发,结合图像细化获得拆卸工具顶端位置,提取轨迹特征,进而提取一种基于欧式距离和随机抽样一致性的样本轨迹预处理方法;然后利用隐马尔科夫算法训练轨迹样本并实现轨迹的识别。试验结果表明样本预处理后的识别率比未作预处理的识别率有了明显提高。
[1] Biswas K K ,Basu S K. Gesture recognition using Microsoft Kinect[A].5th Internation Conference on Automation,Robotics and Application[C].IEEE,2011:100-103.
[2] Shotton J, Sharp T, Kipman A, et al. Real-time human pose recognition in parts from single depth images[J].Communications of the ACM,2013,56(1):116-124.
[3] Le T L, Nguyen M Q,Nguyen T T M,Human posture recognition using human skeleton provided by Kinect[A]. International Conference on Computing, Management and Telecommunications[C].IEEE,2013:340-345.
[4] 田国会,尹建芹,韩旭,等.一种基于关节点信息的人体行为识别新方法[J].机器人,2014,36(3):285-292.
[5] Microsoft Kinect Tear down(iFixit,4 November 2010).[EB/ OL].http://www.ifixit.com/Teardown/Microsoft_Kinect_ Teardown/4066/1.
[6] MEENAKSHI P.Hand gesture recognition based on shape parameters[A].Computing, Communication and Application(ICCCA), 2012 International Conference[C],2012.
[7] SILANON K, SUVONVORN N. Hand motion analysis for Thai alphabet recognition using HMM[J].International Journal of Information and Electronics Engineering,2011,1(1):65-71.
[8] Tian Jie Chen Xinjian,Zhang Yangyang et al. Recent progress on finger print identification technologies[J].Progress in Natural Science.2006,16(4):400-406.
[9] Marcinczuk M,Piasecki M. Study on named entity recognition for polish based on hidden Markov models[A].Proceedings of Text,Speech and Dialogue-13th International Conference(TSD 2010)[C],2010:142-149.
[10] 吴晓娟,张博洋,张桢,等.基于HMM动态手势轨迹识别的门限模型研究方法[J].模式识别与人工智能.2003,16(1):122-125.
[11] RABINER R,JUANG H.An introduction to HMMs[J].IEEE ASSP Magazine,1986,3:4-16.
[12] Wu Haitao,Pan Wei, Xiong Xingyu,et al.Human activity recognition based on the combined SVM & HMM[A].Proceedings of 2014 IEEE International Conference on Information and Automation[C].Hailar:IEEE,2014:219-224.
Recognition of removal tool trajectory based on kinect
ZHANG Zhi-jia1,2, WEI Xin1,2, ZHOU Zi-qiang2, LIU Zheng3
TP391.4
A
1009-0134(2016)12-0140-06
2016-11-24
江苏省机电产品循环利用技术重点建设实验室基金(KF1508);国家自然科学基金(61540069)
张志佳(1974 -),男,副教授,博士,研究方向为机器视觉检测技术、图像处理与模式识别。