ex4

原子动作分割,判别开始帧,结束帧。
慢特征分析算法()分割动作,标记动作的慢特征。
根据不同的动作轮廓边框,水平速度和垂直速度不同分割行为。
动作方向 水平垂直

关节点 水平速度 垂直速度 纵深速度 帧速度

分层 分段

位移 +象限

ex3

动态规划:

动作序列里的一帧动作如果没有相应的模板,那么就寻找已有模板里最近的的动作模板
一个动作如果没有动作模板,那么就找到最近的动作模板

通过动作的mark,和24位的动作空间编码来标定最近的模板。

慢动作 快动作区分
这里是变化速度快的关节,变化慢的关节
作为动作模板的一项特征
不变量学习:提取慢的特征,时序数据。

慢动作的时序特征:

当分别慢动作快动作时,阈值为4,24,25: 27个动作可以区分为25个

取25,(08,09)(10,11),动作标记模板相同
08,09相同,10,11相同

1 17
2 19
3 21
4 25
5 24
6 22
7 22
8 24
9 23
10 22
11 22
12 22
13 22
14 23
15 24
16 23
17 23
18 24
19 22
20 22
21 22
22 23
23 24
24 25
25 25
26 23
27 23
28 22
29 22
30 22
31 19
32 1

对于八个不同的人,区分
1 24
2 24
3 23
4 23
5 22
6 22
7 22

八位01序列,标记动作关节的变化
e.g. 动作1,变化的上肢动作那么 标记序列为11110000
动作2,变化的是下肢动作 00001111

动作的水平,垂直位移
添加 骨骼数据里的hip center,shoulder center,计算水平、垂直移动速度

去噪 去重

ex1

每一个关节分为一层,分八层同步识别?
所有关节 8个关节作为一层 去动作帧网络中识别
肢体动作的联动?

2014, 论文是基于 segmental context free grammar,是分段,分动作的原子级别和动作段,行为段的

实验可以先实现分段,之后分层,这个分层是指上下肢动作分层。

把一个关节的在平面上的投影,编码为16区段

H. Pirsiavash and D. Ramanan, CVPR2014

ex0

动作帧 提取
– 分三个维度,XY YZ XZ 动作帧
– 用角度不合适,有可能动作速度快慢 不一样,那么动作的角速度不一样
– 提取动作帧,动作间的跳转,动作的循环

vecCosine.py
pass------------

jointCosine.py
pass------------

directSkeleton.py
现在的8段连接的方向是在三维空间进行投影的,分别在三个动作平面进行投影,每个平面四象限,那么原来的维度是8维,现在变成了12维。

每一根肢干 在三个平面上有四种可能,八节,有8*12 = 96种可能
定义一个肢干:
xy, yz, xz
00, 00, 00
2的6次方

做一个误差估计:

画出动作的投影

找出关键帧

那么一个平面的四个象限:水平或纵向相邻的差值不大,对角线差值增大
逆时针:0123

01

00

11

10

数值差别,相邻差1,不相邻差2

test/a1_s1_t1_skeleton.txt
11 1
15 1
20 1
21 1
23 2
26 1
28 1
30 1
36 3
37 1
38 1
43 1
47 1
13
空间八象限,结果:
test/a1_s1_t1_skeleton.txt
11 [0, -4, 0, 0, 0, 0, 0, 0]
15 [0, 0, 0, 2, 0, 0, 0, 0]
20 [0, 0, 2, 0, 0, 0, 0, 0]
21 [0, 0, 0, -4, 0, 0, 0, 0]
23 [0, 0, -4, 0, 4, 0, 0, 0]
26 [0, 4, 0, 0, 0, 0, 0, 0]
28 [0, 0, -2, 0, 0, 0, 0, 0]
30 [0, -4, 0, 0, 0, 0, 0, 0]
36 [0, 0, 4, 2, 0, 0, 0, 0]
37 [0, 0, 0, 0, -4, 0, 0, 0]
38 [0, 0, 1, 0, 0, 0, 0, 0]
43 [0, 0, -1, 0, 0, 0, 0, 0]
47 [0, 4, 0, 0, 0, 0, 0, 0]
test/a1_s1_t2_skeleton.txt
6 [0, 0, 1, 0, 0, 0, 0, 0]
10 [0, -4, -1, 0, 0, 0, 0, 0]
13 [0, 0, 0, 2, 0, 0, 0, 0]
18 [0, 0, 2, -4, 0, 0, 0, 0]
19 [0, 0, -4, 0, 0, 0, 0, 0]
20 [0, 0, 0, 0, 4, 0, 0, 0]
29 [0, 0, -2, 0, 0, 0, 0, 0]
31 [0, 4, 0, 0, 0, 0, 0, 0]
35 [0, -4, 0, -2, 0, 0, 0, 0]
37 [0, 0, 4, 0, 0, 0, 0, 0]
39 [0, 0, 1, 4, 0, 0, 0, 0]
41 [0, 0, 0, 0, -4, 0, 0, 0]
49 [0, 0, -1, 0, 0, 0, 0, 0]
test/a1_s1_t3_skeleton.txt
6 [0, 0, 1, 0, 0, 0, 0, 0]
9 [0, 0, -1, -2, 0, 0, 0, 0]
11 [0, 0, 2, 0, 0, 0, 0, 0]
12 [0, 0, -4, 0, 4, 0, 0, 0]
13 [0, 4, 0, 0, 0, 0, 0, 0]
16 [0, 0, -2, 0, 0, 0, 0, 0]
17 [0, -4, 0, 0, 0, 0, 0, 0]
26 [0, 0, 4, 0, 0, 0, 0, 0]
27 [0, 0, 0, -2, 0, 0, 0, 0]
35 [0, 0, 0, 4, 0, 0, 0, 0]
39 [0, 0, 0, 0, -4, 0, 0, 0]
51 [0, 4, 0, 0, 0, 0, 0, 0]
test/a1_s1_t4_skeleton.txt
7 [0, 0, 1, 0, 0, 0, 0, 0]
9 [0, -4, -1, 0, 0, 0, 0, 0]
12 [0, 0, 0, 2, 0, 0, 0, 0]
17 [0, 0, 2, -4, 0, 0, 0, 0]
18 [0, 0, -4, 0, 0, 0, 0, 0]
19 [0, 0, 0, 0, 4, 0, 0, 0]
24 [0, 0, -2, 0, 0, 0, 0, 0]
26 [0, 4, 0, 0, 0, 0, 0, 0]
31 [0, -4, 0, 0, 0, 0, 0, 0]
34 [0, 0, 4, 0, 0, 0, 0, 0]
36 [0, 0, 0, -2, 0, 0, 0, 0]
43 [0, 0, 0, 4, 0, 0, 0, 0]
46 [0, 0, 0, 0, -4, 0, 0, 0]