基于规则的连续动作识别

阅读: 评论:0

㊀doi:10.3772/j.issn.1002 ̄0470.2019.09.005
基于规则的连续动作识别
丁伟利②㊀胡㊀博㊀张焱鑫
(燕山大学电气工程学院㊀秦皇岛066004)
摘㊀要㊀动作识别技术成为近些年计算机视觉领域的研究热点ꎮ本文针对深度传感器获得的骨骼信息ꎬ提出一种基于规则的动作识别算法ꎮ首先设定规则定位动作ꎬ将连续动作分段划分ꎬ使整段动作划分成短的多段动作数据ꎮ将视频中所获得的不同动作的深度骨骼数据用不同方法进行归一化ꎮ通过动态时间规整(DTW)算法对分段动作数据进行分析ꎬ得到最匹配的动作标签ꎬ实现动作识别ꎮ从实验结果可知ꎬ该方法在动作识别中具有较高的准确性以及较好的实用性ꎮ
关键词㊀动作识别ꎬ规则ꎬ分段ꎬ动态时间规整(DTW)算法
0㊀引言
近些年ꎬ动作识别技术在人机交互㊁康复医疗[1]㊁事件监测㊁虚拟现实等领域变得日益重要ꎬ成为计算机视觉领域的研究热点ꎮ动作识别技术主要是指计算机对于视频㊁图像或者RGD ̄B图像序列中的动
作行为进行识别和对比ꎮ通过识别算法使机器设备更好地理解人类的动作语言ꎬ通过肢体动作引导机器设备进行生产工作ꎮ尤其是在嘈杂的生产车间及危险的工作环境中ꎬ动作识别这种人机交互方式相比按键控制㊁语音交互等方式有着更为准确㊁高效和自然的优势ꎮ
早期动作识别的研究方法多通过单摄像头2D图像提取运动特征ꎮJames等人[2]采用运动能量模型(motion ̄energyimageꎬMEI)和运动历史模型(mo ̄tion ̄historyimageꎬMHI)对人体动作特征进行表征ꎮ但是由于视频拍摄的图像ꎬ受衣着㊁光照㊁遮挡以及拍摄角度不同的影响较大ꎬ同时很难排除复杂背景的干扰ꎬ因此基于RGB视频获得特征方法的局限性也渐渐显露出来ꎮ近几年ꎬ随着深度图像传感器成本越来越低ꎬ基于RGD ̄B图像的动作识别技术逐渐成为动作识别研究领域的一个重要方向ꎬ研究者利用Kinect获取的骨骼数据提出了众多动作识别算法ꎬ且准确性得到了大幅提升ꎮ
目前ꎬ基于骨骼数据的连续人体动作识别方法主要有以下几种方式ꎮ第1种是基于概率统计的方法ꎬ其中最常用到的模型有动态贝叶斯网络(dy ̄namicBayesiannetworkꎬDBN)㊁隐马尔科夫模型(hiddenMarkovmodelsꎬHMM)以及支持向量机
(SVM)3种方法ꎮYang等人[3]基于朴素贝叶斯和最邻近两种方法实现动作识别ꎮYamato[4]和Hon ̄geng[5]基于隐马尔科夫模型的人体动作识别方法进行研究ꎮ支持向量机(SVM)[
6ꎬ7]方法是使用该向量机学习训练样本ꎬ将测试样本分类ꎬ最终获得动作识别结果ꎮ第2种是基于模板的方法ꎬ可分为两种ꎬ一种是帧对帧的匹配方法ꎬ较为常用的是动态时间规整(dynamictimewarpingꎬDTW)算法[8]ꎬ将动态时间规整算法应用到人体动作识别中ꎬ能够将待识别的动作特征与模板中每个时刻特征进行匹配ꎬ计算出累计距离ꎬ获得两条动作曲线的最小的匹配路径ꎮ文献[9]提出了模板匹配方法ꎬ先建立标准动作模
968
㊀高技术通讯2019年第29卷第9期:869~875㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀
②国家自然科学基金(61573356)和河北省自然科学基金(F2016203211)资助项目ꎮ
女ꎬ1979年生ꎬ博士ꎬ教授ꎻ研究方向:模式识别ꎬ虚拟现实ꎬ计算机视觉ꎻ联系人ꎬE ̄mail:weiye51@ysu.edu.cn
(收稿日期:2018 ̄11 ̄03)
板库ꎬ然后将采集的动作数据与模板数据对比匹配ꎬ进行动作识别ꎮ动态规划算法[10]是将待识别的样本模板中每个时刻的特征与特征模板中的任意时刻进行特征匹配ꎮ近些年ꎬ被广泛关注的深度学习方法[11ꎬ12]也渐渐推广到动作识别中来ꎬ虽然有较好的识别结果ꎬ但深度学习生成的模型较难解释ꎬ在实验过程中通常需要较大的数据集ꎬ同时在参数调节方面也需要较多时间ꎮ
虽然近些年人体动作识别取得了很好的成果ꎬ但同时还有很多不足和挑战ꎮ第1方面是人体的结构与动作ꎬ不同的人身高不同㊁体态不同㊁动作幅度也不相同ꎬ因此给动作识别的准确性增加了难度ꎮ第2方面是人体动作的切割ꎬ由于动作是连续的ꎬ无法确定何时开始及何时结束ꎬ使得识别有很大的难度ꎮ第3方面是人体动作数据的高维表示ꎬ以Ki ̄nect获得的动作数据为例ꎬ每组连续数据至少是20ˑ3=60维的人体骨骼数据ꎬ因此ꎬ动作识别算法的
实时高效性也变得尤为重要ꎮ
针对现有动作识别的挑战性问题ꎬ本文主要基于Kinect获得运动骨骼数据ꎬ提出了基于规则动作识别方法ꎮ首先以Kinect获得的连续动作数据作为输入ꎬ然后定义多种规则定位开始动作帧与结束动作帧ꎬ使用开始及结束帧将连续动作分段ꎮ因为动作数据在未分段前数据量过大ꎬ且每个动作反复执行次数不确定ꎬ开始结束时间点也不确定ꎬ动作分段能将整段数据划分成短的多段动作进行识别ꎬ在提高准确率的同时也获得了更丰富的反馈信息ꎮ最后ꎬ分段后得到的动作数据经归一化后结合DTW算法与模板库数据对比识别ꎬ获得具体动作标签ꎮ1㊀动作定位和自动分段
动作识别与语音识别相似ꎬ每个动作都是由多个连续帧组成的ꎬ动作与动作间没有明确的界限ꎬ因此ꎬ若能很好地将连续动作分段ꎬ将会大大降低动作识别的难度ꎮ本文提出了基于规则的动作定位识别算法ꎮ其中ꎬ定义两个方面规则ꎬ一方面是骨骼段夹角ꎬ另一方面是运动姿态判断ꎮ在动作曲线分段前ꎬ首先判断是否伴随下肢动作(如弯腰㊁下蹲等)ꎬ如有伴随下肢动作ꎬ经过分段后的动作曲线仅需与有伴随下肢动作的模板匹配ꎬ无需与全部模板一一匹配ꎬ可减少识别过程的计算量ꎮ骨骼夹角特征的定义可以从人体动作相关结构上很好地描述动作ꎬ同时针对不同身高㊁不同身材的人ꎬ所定义的三维空间的角度特征具有旋转及尺度不变性ꎮ
由于Kinect传感器可以实时获得人体20个关节点的3维位置信息ꎬ被主动跟踪的用户关节点信息由x㊁y㊁z坐标表示ꎬ单位为mꎮ关节空间坐标信息由Kinect位置决定ꎬ如果Kinect放置位置不是水平面ꎬ或者Kinect摄像头与传动马达之间有夹角ꎬ那么被采集的用户就算是笔直站立的ꎬ采集的数据也是倾斜的ꎬKinect关节空间原点坐标为Kinect位置ꎬ空间坐标如图1所示ꎮ电解液比重计
Kinect获得的关节点坐标J数量一共有20个ꎬ每个关节点在t帧时刻的坐标为pi(t)ꎬ其中:pi(t)=(xi(t)ꎬyi(t)ꎬzi(t))ꎻ(iɪ[1ꎬ20])水上滚筒
(1)任意两个关节点iꎬj组成的骨骼段直线方程的方向向量sm(amꎬbmꎬcm)为
㊀sm(amꎬbmꎬcm)=(xj(t)-xi(t)ꎬyj(t)-yi(t)ꎬ
zj(t)-zi(t))(2)两骨骼段夹角Angle为
Angle=arccos((a1 a2+b1 b2
+c1 c2)/ (a21+b21+c21 a22+b22+c22))(3)
图1㊀Kinect采集空间坐标系
agagcl参比电极
为了确保特征的完备性ꎬ本文一共定义23个骨骼段ꎬ两两骨骼段取夹角后ꎬ共得到12个波动较为明显的夹角特征ꎮ在参与者执行动作时ꎬ左臂运动时波动较为明显的共有3个夹角ꎻ右臂运动时波动较为明显的共有3个夹角ꎻ左腿运动时波动较为明
078
高技术通讯㊀2019年9月第29卷第9期
显的共有3个夹角ꎻ右腿运动时波动较为明显的共有3个夹角ꎮ由于这12个动作波动较为明显ꎬ可以较为准确地区分不同动作ꎬ因此选取这12个特征角
度(见表1)来定义不同动作的开始帧和结束帧ꎬ用开始帧和结束帧来划分连续动作ꎬ使用划分好的动作数据进行动作识别时结果会更为准确ꎮ
表1㊀动作分段特征夹角
动作类型
波动明显的相关动作夹角
夹角标号
左臂动作
右肩到左肩骨骼段与左肩到左肘骨骼段夹角
1左肩到左肘骨骼段与左肘到左手腕骨骼段夹角
2左肩到左肘骨骼段与肩部中心到髋部中心骨骼段的夹角3右臂动作
右肩到左肩骨骼段与右肩到右肘骨骼段夹角
4右肩到右肘骨骼段与右肘到右手腕骨骼段夹角
5右肩到右肘骨骼段与肩部中心到髋部中心骨骼段的夹角6左腿动作
左髋到左膝骨骼段与肩部中心到髋部中心的夹角
7左髋到左膝骨骼段与左膝到左脚踝骨骼段夹角8左髋到右髋骨骼段与左髋到左膝骨骼段夹角
9右腿动作
右髋到右膝骨骼段与肩部中心到髋部中心骨骼段的夹角
10右髋到右膝骨骼段与右膝到右脚踝骨骼段夹角11左髋到右髋骨骼段与右髋到右膝骨骼段夹角
12
㊀㊀首先对动作数据进行 姿势规划 ꎬ目的是判断动作过程中是否伴随下肢动作ꎮ如果该动作未伴随
有下肢动作ꎬ则本文所定义的6个左右腿夹角在整段动作夹角曲线中无明显变化ꎬ当有明显变化时可判断该动作有伴随下肢动作ꎮ图2为左腿动作及右腿动作定义的共6个夹角在无伴随下肢动作时的夹
角变化曲线ꎬ图3则为有伴随下肢动作的6个夹角变化曲线ꎮ由图中可见ꎬ当该动作无伴随下肢运动时ꎬ6个夹角几乎没有变化ꎬ当动作有伴随下肢运动时ꎬ6个夹角均有明显波动ꎮ在图2与图3中ꎬ
横坐
图2㊀
无伴随下肢动作时的夹角变化曲线
图3㊀有伴随下肢动作时的夹角变化曲线
标轴为该动作序列的帧数Fꎬ纵轴为夹角度数Angleꎮ本文设定了针对无伴随下肢动作时6个腿部动作角度的变化范围ꎬ当全部动作序列帧数中2%的帧数夹角角度超过规定的范围ꎬ则认为该动作序列
有伴随下肢动作ꎮ
姿态划分后ꎬ定位开始帧和结束帧动作将连续动作中有效动作分割出来ꎮ如一组连续序列帧集合F={f1ꎬf2ꎬ ꎬfn}ꎻ当前帧动作特征满足开始帧动作规则时ꎬ标记该帧为开始帧fsiꎬ开始帧集合Fstart
={fs1ꎬfs2ꎬ ꎬfsiꎬ ꎬfsk}ꎬ(FstartɪFꎬiɪ[1ꎬ
k])ꎻ当前帧动作特征满足结束帧动作规则时ꎬ标记
178 丁伟利等:基于规则的连续动作识别
该帧为结束帧feiꎬ结束帧动作集合Fend={fe1ꎬfe2ꎬ ꎬfeiꎬ ꎬfek}ꎬ(FendɪFꎬfsi<feiꎬiɪ[1ꎬk])ꎬ得知开始帧及结束帧位置后ꎬ组成连续动作曲线中的有效动作帧集合FEf={fef1ꎬfef2ꎬ ꎬfefiꎬ ꎬfefk}ꎬ(fefiɪ[fsiꎬfei]ꎬiɪ[1ꎬk]ꎬEEfɪF)将有效动作分割出来进行动作识别ꎮ因此采用本文提出的动作定位与自动分段识别算法ꎬ无需识别全部动作曲线ꎬ仅自动提取出有效动作曲线完成分类识别ꎮ同时该方法的动作定位及自动分段功能可以获得连续动作的开始帧和结束帧的帧数位置以及动作重复次数等更为丰富的信息ꎮ
2㊀动作识别
DTW算法最初由日本学者Itkura[13]提出ꎬ主要
sofa燃烧器用于比较两个时间序列的相似性ꎬ早期应用于语音识别[14]领域ꎮ在语音识别中ꎬ读同一个单词的语速快慢不同ꎬ但音调是相似的ꎬ动作识别与之类似ꎬ虽然参与者所做动作快慢不同ꎬ但是运动轨迹是相似的ꎮ如何将两段长度不同的时间序列曲线进行拉伸或压缩ꎬ使两段时间序列曲线在具有相同长度的同时也具有较好的匹配度ꎬ是实现动作识别的关键ꎮ如图4所示ꎬ两个相似时间序列曲线进行匹配时ꎬ按照传统的欧几里得定理ꎬa点对应的是c点ꎬ但实际a点对应的是b点ꎬ运用DTW算法就能很好地解决这一问题
图4㊀DTW算法与传统匹配方法的区别
然而在实际中采集动作时ꎬ参与者所站立的位置及所面对的方向不同ꎬ并且在动作过程中位置也是在实时变化的ꎬ因此采集到的动作数据差异较大ꎮ在动作识别时ꎬ计算两条运动轨迹相似性会产生很大偏差ꎬ为了保证采集的动作数据的统一性ꎬ需要将数据进行归一化ꎮ本文主要针对两种动作姿态采用两种不同的归一化方法ꎬ除下蹲姿势外我们将所有动作的每一帧除髋部中心的其他关节点归一化到当前帧髋部中心位置ꎬ将以Kinect所在的空间位置为坐标原点的原坐标系转化为以髋部中心空间位置为原点的新坐标系ꎮ假设当前帧髋部中心原始坐标为(x0ꎬy0ꎬz0)ꎬ以头部坐标为例ꎬ头部的初始坐标为
(x1ꎬy1ꎬz1)ꎬ那么归一化后ꎬ髋部中心坐标为(xᶄ0ꎬ
yᶄ0ꎬzᶄ0)=(0ꎬ0ꎬ0)ꎬ头部坐标(xᶄ1ꎬyᶄ1ꎬzᶄ1)=(x1-x0ꎬy1-y0ꎬz1-z0)ꎬ其他关节点的归一化坐标同
样根据该方法计算可得ꎮ针对下蹲动作进行模板匹配时ꎬ由于下蹲动作的髋部中心坐标实时变化波动较大ꎬ所以在动作识别中ꎬ髋部中心运动轨迹曲线在相似性度量时占据重要的地位ꎬ不能按上述归一化方
法将髋部中心归一化到原点ꎮ因此本文采用的方法是将每个下蹲动作刚开始位置定义为原点ꎬ然后将每个下蹲动作分别归一化到每个下蹲开始动作的原点位置ꎮ
将骨骼数据归一化后ꎬ本文将分割好的动作曲线结合DTW算法进行动作曲线相似性判断ꎮ具体方法如下:
假设模板的第i个关节点坐标为(xiꎬyiꎬzi)ꎬ
待识别的动作数据第i个关节点坐标为(xᶄiꎬyᶄiꎬzᶄi)ꎬ则相似性距离d的计算公式为
d=(xi-xᶄi)2+(yi-yᶄi)2+(zi-zᶄi)2
iɪ[1ꎬ20]㊀(4)
根据式(4)可知ꎬ归一化可以减小原始坐标空间的相似距离误差大的情况ꎮ本文选择了动作时波动较为明显的11个关节点的运动轨迹计算曲线相似性ꎬ分别为左肩㊁右肩㊁左肘㊁右肘㊁左手腕㊁右手腕㊁左膝㊁右膝㊁左脚踝㊁右脚踝和髋部中心ꎮ在识别无伴随下肢运动的动作时ꎬ将关节点轨迹结合双手
间距特征和双肘间距特征以及双手到头距离特征进行识别ꎮ采用该方法ꎬ在获得动作识别结果的同时也能得到与模板动作的相似性距离d(式(4))ꎮ对相似性距离逐帧累计求和可得到该动作曲线与模板的一
磁铁块
一匹配最小累计距离差值ꎬ该值越小说明该动作与模板标准动作越相似(与模板完全一致时该值为0)ꎬ通过该值可知该动作与标准模板动作的相似性ꎬ因此在动作识别中有更好的实用性ꎮ
278 高技术通讯㊀2019年9月第29卷第9期
门槛记
3㊀实验结果
本文实验所选择的动作数据集为MSRC ̄12(MicrosoftResearchCambridge ̄12)微软剑桥大学计算机实验室采集的人体动作数据集ꎬ该数据集由人体20个关节点的时间序列数据组成ꎬ由Kohli等人[15]通过Kinect深度传感器训练采集获得ꎮ该数据集采集了30个参与者ꎬ在5种方式引导下分别执行12种动作获得ꎬ这5种方式分别为分解动作的描述文本㊁动作的静态图片㊁动作视频㊁文本和视频以及文本和图片ꎮ所执行的12种动作分为两类ꎬ一类是标志性动作ꎬ另一类为抽象的隐含类动作ꎮ本算法先规划姿势识别ꎬ判断姿态是否包含下肢动作ꎮ通过姿势划分以及起始终止动作定位后ꎬ对分段好的动作曲线结合DTW算法进行识别ꎬ动作识别的准确率与其他方法的对比如下:
由图5可见ꎬ本文算法在识别准确率方面优于传统的DTW算法㊁HMM算法[16]以及Veloangles ̄SVM[17]方法ꎬ同时本文算法如表2所示ꎬ以MSRC ̄12数据集中文件数据作为输入ꎬ表中列出每个动作的总样本数以及其中识别正确样本数ꎬ由表2可见识别正确的样本平均相似性距
离值ꎬ值越小表明该动作与模板动作越相似ꎮ由于MSRC ̄12每个样本动作为重复多次的ꎬ本文提出的动作定位及自动分段识别算法在获得该动作分类标签的同时也可获得动作数据开始帧及结束帧的帧数值ꎬ表2也列出了动作分段的准确度以及相似性距离值ꎮ可见在该算法能获得该动作的标签以及与模板动作相比的相似性累加距离的同时也能获得参与者在执行动作时的起始帧㊁结束帧以及重复该动作次数等更为丰富的信息ꎮ由此可见ꎬ本文算法相比机器学习方法具有更好的解释性ꎬ使用户对判别规则有更直观的了解ꎬ因此在如指导肢体动作功能障碍患者进行康复训练等方面具有更好的实用性
图5㊀实验结果对比
表2㊀MSRC ̄12中每个动作的相似性距离及分段准确度
动作标签总样本数识别正确样本数相似性距离分段准确度A150390.19126396.41%A250440.23819079.77%A350460.27633058.04%A450430.22536279.07%A548220.48675547.27%A649390.22067964.10%A750480.12797578.13%A850370.57345978.11%A950420.23044480.48%A1048430.20671577.67%A1149183.93238061.11%A1250450.47773456.89%
4㊀结论
本文提出了一种基于规则的动作识别算法ꎬ首先将连续的动作序列按照定义好的规则进行动作定位与自动分段ꎬ其中经过姿势规划规则将动作数据划分为有伴随下肢运动和无伴随下肢运动的两种动
378
丁伟利等:基于规则的连续动作识别

本文发布于:2023-06-27 10:16:07,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/154299.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:动作   识别   数据   进行   夹角
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图