人体姿态估计 (2021)
1. 基于RGB的人体姿态估计
1.1 关键的姿态识别方法总结
- PCKh:Head-normalized Percentage of Correct Keypoints
- 高通845 SoC:
- 4 Cortex A55 cores and 4 Cortex A75 cores
- 1 Adreno 630 GPU
模型 | CPU | GPU | PCKh@0.5 | 硬件平台 | 特点 |
---|---|---|---|---|---|
2-stage Hourglass | 1,640ms | - | 90.9 | 高通845 SoC CPU | |
SimpleBaseline-50 | 9,520ms | - | 91.5 | 高通845 SoC CPU | |
HRNet-W32 | 6,810ms | - | 92.3 | 高通845 SoC CPU | 高准确率 |
PoseNet | 60ms | 27ms | 80.2 | 高通845 SoC CPU | 高度修剪的CNN模型 |
MobiPose | 47ms | 34ms | 85.8 | 高通845 SoC CPU | BoundingBox跟踪+反向残差 |
1.2 Top-Down步骤
- 第一步:检测人以生成Bounding Box
- 第二步:识别每一个人的Pose
1.3 MobiPose
- MobiPose系统架构
1.3.1 检测人
- 关键帧:通过SSDLite + MobileNetv3-S (18.6ms on高通845 SoC)
- 跟踪帧:根据Video Codec的运动向量(MV: Motion Vector),使用卡尔曼滤波方法预测人的Bounding Box.
1.3.2 位姿估计
- 模型:基于Hourglass模型
- 层模块:反向残差(inverted residual)+ SE(squeeze and excitation)+ H-Swish
- 反向参差: 对于移动视觉识别,它是一个非常有效的特征提取器
- SE:它是SEnet 中提出的一种轻量级的注意力模块,与反向残差块结合使用以提高其特征提取能力
- H-Swish:此激活函数可以提高模型的准确率
- 多尺度:定位不同的关节需要不现的尺度
- 模型结构
1.3.3 异构计算(CPU+GPU)
- CPU与GPU并行工作
2. 基于深度图像的姿态估计
2.1 Residual Pose
- 主要思路:充分利用深度信息,并将任务分解为:
- 2D多人姿态估计
- 3D姿态回归:
- 使用深度信息和先验姿态(以处理部分遮挡)
- 创新的有效残差姿态3D回归方法
- 主要框架如下:
2.2 Microsoft算法
2.2.1 算法1-身体部位分类 (Body Part Classification)
-
第一步:每个像素分类(Per Pixel Classification)
-
第二步:身体候选关节的聚合(Aggregation of Body Joint Proposals)
2.2.2 算法2-偏移量关节回归(Offset Joint Regression)
- 直接为身体候选关节投票,无需身体部位