首页 理论教育人体动作识别研究:关键帧提取技术

人体动作识别研究:关键帧提取技术

【摘要】:关键帧提取在人体动作识别率中起着重要的作用。本节根据上一节提出的基于空间曲度概念进行动作序列关键帧提取。,N},其中,Lk表示关键帧组成动作序列的长度。关键帧提取数目的多少完全依赖阈值的设定,即阈值将是权衡动作识别准确率和运算复杂性之间的关键因素。⑦设定阈值τ,根据式进行关键轨迹点选取。

关键帧提取在人体动作识别率中起着重要的作用。本节根据上一节提出的基于空间曲度概念进行动作序列关键帧提取。动作序列在空间的表现形式是多条运动轨迹曲线。因此,在动作序列分类之前,首先根据空间曲度概念确定每一条运动轨迹的关键轨迹点,然后对多条轨迹上提取的关键轨迹点进行规整,选取相对应的时间序列帧作为关键帧。

假定某类具有n 条轨迹的动作序列Tn= {Pn(t),t= 1,…,L;n= 1,…,N},Pn(t) 为某一类动作采样获取的三维点集,L 表示动作序列的时间长度,即时间序列帧长度,N 为该类动作序列在空间的运动轨迹数。关键帧提取的具体思路如下:

输入:Tn= {Pn(t),t=1,…,L;n=1,…,N}。

输出:T′n= {Pn(t),t=1,…,Lk;n=1,…,N},其中,Lk表示关键帧组成动作序列的长度。算法步骤:

①选择空间中的一条轨迹曲线: P= {Pi},Pi=(xi,yi,zi) ∈R3,i ∈{1,2,…,L}。

②选取曲线上轨迹点 Pi的 k 个最近邻域点,构成点集 Q={qi,1,qi,2,…,qi,k}。

③选取最近邻域点数目k=4,得到包括Pi点在内的曲线上的5 个轨迹点,这些点满足式(3.11),属于同一个空间曲面。

④分别对这5 个轨迹点利用式(3.9)求取各自的曲率,求出最小曲率kmin和最大曲率kmax

⑤根据式(3.12)求出轨迹点Pi的空间曲度值。

⑥重复该方法依次求出运动轨迹曲线上其他轨迹点的空间曲度。

⑦设定阈值τ,进行关键轨迹点选取,即

空间曲度大于阈值的轨迹点予以保留,小于阈值的轨迹点进行消减。

⑧按照以上步骤依次求出其他轨迹曲线的关键轨迹点。

⑨整合各轨迹关键点,输出新的训练集

说明:对N 条轨迹提取完轨迹点后,根据各轨迹点对应的时间序列号进行重新规整长度和数据重组,得到最终的动作序列关键帧。例如,轨迹1 获取的关键轨迹点序号为{3,5,6,8,10},轨迹2 获取的关键轨迹点序号为{3,5,7,8,10,12},则动作序列关键帧就取包含轨迹1 和轨迹2 中所有轨迹点序号{3,5,6,7,8,10,12} 对应的帧,这样才能保证动作的连续性和准确性。关键帧提取数目的多少完全依赖阈值的设定,即阈值将是权衡动作识别准确率和运算复杂性之间的关键因素。

对Kinect 传感器采样的动作序列的关节点坐标进行骨骼模型可视化,如图3.1 所示。该图为卡内基梅隆大学动作捕捉数据集(CMU Motion Capture,MoCap)中行为“Both Arms Pointing to Right Side”的动作序列。

图3.1 “Both Arms Pointing to Right Side”动作序列示意图

由视觉观察可以发现,该动作序列在第50 帧才开始有动作趋势,而在第116 帧动作开始结束,但是整个动作序列的帧长为152 帧。这种现象的发生可能是人为因素也可能是系统延迟所造成的。例如,在录制动作行为过程中,深度传感器Kinect 启动一定时间后,受试者才开始执行动作,或者动作执行结束后Kinect 传感器还在进行录制。因此,每类动作的起止时间帧不一样,容易影响动作识别率,而动作关键帧的检测可很好地解决动作行为起止点的问题。(www.chuimin.cn)

另外,对简单的动作行为,参照20 个关节点的人体骨架结构,如果以人体骨架关节点髋中心作为分界点,人体动作就可大致分为上半身肢体动作和下半身肢体动作。从视觉上看,本节给出的“Both Arms Pointing to Right Side”的动作序列可作为上半身肢体动作。由于每一个人体骨架关节点都有其定义和序号排列,动作序列在空间呈现的轨迹曲线也被相应地标上编号。因此,可根据提出的空间曲度进行动作序列关键轨迹的提取。同样,假定具有n 条轨迹的某类动作序列Tn= Pn(t),t=1,…,L;n=1,…,N

{},Pn(t) 为采样获取的各关节点三维坐标点集,L 表示时间序列帧长度,N 为该类动作序列在空间的运动轨迹数。具体思路如下:

输入:Tn= {Pn(t),t=1,…,L;n=1,…,N}。

输出:= {Pn(t),t=1,…,L;n=1,…,M},其中,M 表示动作序列的轨迹数。

算法步骤:

①选择空间中的一条轨迹曲线: P= {Pi},Pi=(xi,yi,zi) ∈R3,i ∈{1,2,…,L}。

②选取曲线上轨迹点 Pi的 k 个最近邻域点,构成点集 Q={qi,1,qi,2,…,qi,k}。

③选取最近邻域点数目k=4,得到包括Pi点在内的曲线上的5 个轨迹点,这些轨迹点满足式(3.11),属于同一个空间曲面。

④分别对这5 个轨迹点利用式(3.9)求各自的曲率,获得最小曲率kmin和最大曲率kmax

⑤根据式(3.12)求出轨迹点Pi的空间曲度值。

⑥重复该方法依次求出轨迹曲线上其他轨迹点的空间曲度值。

⑦设定阈值τ,根据式(3.13)进行关键轨迹点选取。

⑧定义一个置信度,即

其中,lk表示从一类动作轨迹曲线上提取的关键轨迹点数目;L 表示一类动作轨迹曲线上所有轨迹点数目。

⑨按照以上步骤依次求出其他轨迹曲线的置信度。

⑩设置一个阈值τt,并输出新的训练集T′,即

说明:各条运动轨迹曲线提取关键轨迹点时,共享同一个阈值。置信度越高,即比值越大,意味着在运动轨迹曲线上提取的关键轨迹点也越多,表明该运动轨迹在整个动作序列中起的作用也越大。设置一个阈值τt,小于该阈值,意味着该运动轨迹在动作识别中具有很低的辨识力,可进行消减处理。大于阈值的轨迹,保留形成新的某类动作序列T′n