赞
踩
现有的大部分模型都是在PC(带有超级强大GPU)上进行的,所以在嵌入式设备上基本无法使用
人体姿态估计
姿态相似性度量
实现方案
实现方法
生成方法(Generative Methods)/有模型方法
判别方法(Discriminative Methods)/无模型方法
混合方法(Hybrid Methods)
研究现状
逐像素分类的方法
基于概率图模型的方法
基于特征点的方法
是指在深度图像上找到人体的目标点(通常为在人体深度图像上求测地距离,并将求得的极值点作为感兴趣的目标点)
常常利用深度图像中像素点的空间几何特点,首先将深度图像数据转换成点云数据,再利用空间中相邻点之间约束关系等,将点连接成连通图,然后将中心点作为起始点计算测地距离[38],通常挑选最大测地距离的点或者其他特征的极值点作为特征点
测地距离(Geodesic Distance):就是在曲面上从A点走到B点(不允许离开曲面)的最短距离, G e o d e s i c _ D i s t a n c e = d 12 + d 23 + d 34 + d 45 Geodesic\_Distance = d_{12} + d_{23} + d_{34} + d_{45} Geodesic_Distance=d12+d23+d34+d45
欧氏距离(Euclidean Distance):即两点之间的最短距离,
E
u
c
l
i
d
e
a
n
_
D
i
s
t
a
n
c
e
=
d
15
Euclidean\_Distance = d_{15}
Euclidean_Distance=d15
处理流程:
在得到目标点后,不同的学者提出了不同的方案:
基于特征点的方法目前只能应用于深度图像
仅仅依靠测地极值点作为人体的全部特征,往往不能刻画全部的人体姿态,鲁棒性不够好
基于深度学习的方法
MobileNet版本 | 主要特点 |
---|---|
V1 | 深度可分离卷积 |
V2 | 1) 反向残差 2) 线性瓶颈 |
V3 | 1) 网线结构搜索:基于块搜索的NAS, 基于层搜索的NetAdapt 2) 使用的新的激活函数 h-swish(x) 3) 基于squeeze and excitation 结构的轻量级注意力机制 |
方法 | 输入 | 输出 |
---|---|---|
NAS | 手动设计的搜索空间 | 网络实例 |
DNDS | 范例 (paradigm) | 创新的设计空间 |
序号 | 名称 | 来源 | 自由度及解空间 | 结果 |
---|---|---|---|---|
1 | A n y N e t X A AnyNetX_A AnyNetXA | 参数没有任何约束 | 16/ 1.8 × 1 0 18 1.8 \times10^{18} 1.8×1018 | 初始解空间 |
2 | A n y N e t X B AnyNetX_B AnyNetXB | 在 A n y N e t X A AnyNetX_A AnyNetXA的基础上,所有stage i i i共享 b i = b b_i=b bi=b | 13/ 6.8 × 1 0 16 6.8 \times10^{16} 6.8×1016 | 共享bottleneck ratio时,模型的精度没有损失 |
3 | A n y N e t X C AnyNetX_C AnyNetXC | 在 A n y N e t X B AnyNetX_B AnyNetXB的基础上,所有stage i i i共享 g i = g g_i=g gi=g | 10/ 3.2 × 1 0 14 3.2 \times10^{14} 3.2×1014 | 共享group width时,模型的精度没有损失 |
4 | A n y N e t X D AnyNetX_D AnyNetXD | A n y N e t X D = A n y N e t X C + w i + 1 ≥ w i AnyNetX_D=AnyNetX_C + w_{i+1} \ge w_i AnyNetXD=AnyNetXC+wi+1≥wi | 10/ 1.3 × 1 0 13 1.3 \times10^{13} 1.3×1013 | 每个stage递增widths(通道数),性能提升 |
5 | A n y N e t X E AnyNetX_E AnyNetXE | A n y N e t X E = A n y N e t X D + d i + 1 ≥ d i AnyNetX_E=AnyNetX_D + d_{i+1} \ge d_i AnyNetXE=AnyNetXD+di+1≥di | 10/ 5.5 × 1 0 11 5.5 \times10^{11} 5.5×1011 | 每个stage递增depths(网络深度),性能提升 |
符号说明
块通道数(block widths)的线性参数化
u
j
=
w
0
+
w
a
⋅
j
,
f
o
r
0
≤
j
<
d
(
2
)
u_j = w_0 + w_a \cdot j, \quad for \quad 0 \leq j \lt d \quad \quad (2)
uj=w0+wa⋅j,for0≤j<d(2)
为每个
b
l
o
c
k
j
block_j
blockj计算
s
j
s_j
sj:为量化
u
j
u_j
uj,引入参数
w
m
w_m
wm以控制量化
u
j
=
w
0
⋅
w
m
s
j
,
w
m
>
0
(
3
)
u_j = w_0 \cdot w_m^{s_j}, \quad w_m > 0 \quad \quad (3)
uj=w0⋅wmsj,wm>0(3)
计算每一个block的量化widths
w
j
w_j
wj(通道数):为量化
u
j
u_j
uj,对
s
j
s_j
sj取整
⌊
s
j
⌉
\lfloor s_j \rceil
⌊sj⌉
w
j
=
w
0
⋅
w
m
⌊
s
j
⌉
,
(
4
)
w_j = w_0 \cdot w_m^{\lfloor s_j \rceil}, \quad \quad (4)
wj=w0⋅wm⌊sj⌉,(4)
计算stage
i
i
i中的block的width
w
i
w_i
wi (通道数)
w
i
=
w
0
⋅
w
m
i
w_i = w_0 \cdot w_m^i
wi=w0⋅wmi
计算stage
i
i
i中的block的数量
d
i
d_i
di (通道数)
d
i
=
∑
j
1
[
⌊
s
j
⌉
=
i
]
d_i = \sum_j \mathbf 1 [\lfloor s_j \rceil = i]
di=j∑1[⌊sj⌉=i]
RegNetX设计空间
RegNetX的误差EDF
设计空间对比
论文 | 方法 | 代码 | 数据集 |
---|---|---|---|
Efficient Human Pose Estimation from Single Depth Images (第三方实现) | Random Tree Walks(RTW) | code | CAD-60 |
Efficient Human Pose Estimation from Single Depth Images (第三方实现) | Offset-Joint Regression (OJR) | code | CAD-60 |
Human3.6M | |||
Efficient Human Pose Estimation from Single Depth Images 2012 MSRA | BPC & OJR | CMU mocap database | |
随机森林里每一棵树都是一个分类器,包含分支节点和叶子节点
每个分支节点(split node)都包含一个弱的学习器(weak learner),此学习器通过参数 θ = ( ϕ , τ ) \theta=(\phi, \tau) θ=(ϕ,τ)表示
2D偏移量 ϕ = ( δ 1 , δ 2 ) \phi = (\delta_1, \delta_2) ϕ=(δ1,δ2):用于特征评估
τ \tau τ:是一个标量阈值、
Weak Learner函数:
h
(
u
;
θ
n
)
=
[
f
(
u
;
ϕ
n
)
≥
τ
n
]
(
4
)
h(\mathbf u; \theta_n) = [ f(\mathbf u; \phi_n) \ge \tau_n] \quad \quad (4)
h(u;θn)=[f(u;ϕn)≥τn](4)
对于深度图像上的某一像素 u \mathbf u u,首先根据公式(2-3),计算出当前的特征,然后比较 f ( u ∣ ϕ ) f(\mathbf u | \phi) f(u∣ϕ)与阈值 τ \tau τ的大小,来决定将当前节点更新到左边还是右边的孩子节点,这个过程一直持续到叶子节点,叶子节点中存储了训练学习到的当前像素分布在身体部位的概率分布 P ( c ∣ I , u ) P( c |I, \mathbf u) P(c∣I,u)
当随机决策森林中每一颗树(每一个分类器)都计算出当前像素身体部位的概率,通过以下公式来计算像素
u
\mathbf u
u的最终部位概率
P
(
c
∣
I
,
u
)
=
1
T
∑
t
=
1
T
P
t
(
c
∣
I
,
u
)
P( c |I, \mathbf u) = \frac{1}{T} \sum_{t=1}^T P_t( c |I, \mathbf u)
P(c∣I,u)=T1t=1∑TPt(c∣I,u)
训练过程:将全部训练样本分为k 个样本集合,每一个集合对应一个树形分类器,这些分类器共同组成了随机森林
推断过程:对于一个测试样本,计算特征后,输入到随机森林中,统计森林中每一棵树的结果,最终通过投票来对当前样本进行分类
论文:Human Pose Estimation from Depth Images via Inference Embedded Multi-task Learning (2016)
作者单位:中山大学
目标:解决Kinect V2 (Shotten)不能识别的一些动作以及遮挡问题
贡献:
基于RGB与Depth图像的位姿估计差异:
移动机器人属于此种场景
此场景可通过IMU来进行校正
本方法不使用IMU,仍然通过估计 C R C_R CR的方法实现
由于Roll角不为0,所以深度图像不同的列具有不同的 C R C_R CR
Roll角不为0的解决方案
深度图像的旋转角度
θ
∗
{\theta}^*
θ∗表示如下:
θ
∗
=
arg max
θ
(
∑
i
=
1
R
arg max
i
(
h
r
(
i
,
D
θ
)
)
\theta^* = \argmax_{\theta} (\sum_{i=1}^R \argmax_i(h_r(i, D_{\theta}) )
θ∗=θargmax(i=1∑Riargmax(hr(i,Dθ))
分割步骤
当场景中有障碍物时,如何估计地面的曲线?
影响地面曲线拟合的不利因素
将深度图像数据剔除背景、去除噪声
利用深度相机参数将深度图像数据转换为点云数据
使用SLIC 超像素思想处理点云数据,得到稀疏点云数据后,构建人体连通图
利用测地距离确定人体肢端点,然后根据肢端点将人体分为几个部位
最后在每一个部位内进行k-means 聚类,将聚类中心点作为人体的特征点
k-means聚类:
SLIC(Simple Linear Iterative Clustering)即简单线性迭代聚类方法
SLIC特点
SLIC与k-means的区别
提取特征点的步骤:
论文及代码:基于Depth
论文及代码:基于RGB
人体姿态估计Depth数据集
基于深度图像的人体姿态估计及相似性度量
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。