长久以来,三维姿态估计都在追求准确性上一路狂奔。

但精度提高的同时,也带来了计算成本的上升。

而刚刚被 CPVR 2021 接受的论文中所提出的模型,MobileHumanPose 却可以同时做到又小又好。

还是放在手机上都能 hold 得住的那种。来感受一下:

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

这种动作的健身操也没问题:

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

据了解,这个模型的尺寸,只有基于 ResNet-50 的模型的 1/7,算力达到了 3.92GFLOPS

而且平均每关节位置误差(MPJPE),也只有大约 5 厘米。

那么这一模型到底是如何在有限的算力下产生极佳性能的呢?

基于编码器-解码器结构的改进

这是一个从基本的编码器-解码器结构改良得来的模型。

在编码器用于全局特征提取,而解码器进行姿态估计的基础架构上,研究团队对其主干网络、激活函数,以及 Skip concatenation 功能都进行了修改。

先来看研究团队选择的主干网络,MobileNetV2。

他们在 MobileNetV2 的前四个倒置残差块(Residual Block)处修改了通道大小,获得了性能提升。

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

接下来,将 PReLU 函数用于实现激活功能,其中 ai 为学习参数 yi 是输入信号。

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

这一函数中的可学习参数能够在每一层网络都获得额外的信息,因此在人体姿势估计任务中使用参数化 PReLU 时可提升性能。

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

▲ 修改了激活函数后的 baseline

现在,模型的效率已经不低了,但考虑到推理速度,团队使用 Skip concatenation 结构。这一结构能从编码器到解码器中导出低级别特征信号(Lowlevel feature signal),不会降低性能。

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

参数量减少 5 倍,计算成本降到 1/3

团队使用 Human3.6M 和 MuCo-3DHP 作为三维人体姿势数据集,他们提出了 MobileNetV2 的大小两个模型。

在 Human3.6M 上,MobileNetV2 大模型实现了 51.44 毫米的平均每关节位置误差。

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

且其参数量为 4.07M,对比同类模型的 20.4M(chen)减少了 5 倍,计算成本为 5.49GFLOPS,是同类模型的 1/3 不到(14.1G)。

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

对于多人三维姿势估计任务,研究者使用 RootNet 来估计每个人的绝对坐标,在 MuPoTS 的 20 个场景中进行了实验:

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

实验结果证明,对比 Zerui Chen 等研究者提出的获 ECCV 2020 的三维人体姿态估计方法,MobileNetV2 在一般场景中的性能都更好,且在少数场景中取得了最佳性能:

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

在模型效率上,MobileNetV2 的大模型效率为 2.24M/3.92GFLOPS,远超同类模型的 13.0M/10.7GFLOPS(Zerui Chen)。

而小模型也能实现 56.94 毫米的平均每关节位置误差,有 224 万个参数,计算成本为 3.92GFLOPS。

作者介绍

论文的三位作者皆毕业于韩国高等技术研究院,一作 Sangbum Choi 为该校的电机及电子工程专业硕士。

可以装在手机里的 3D 姿态估计,模型尺寸仅同类 1/7,平均关节位置误差却只有 5 厘米-风君子博客

论文:

https://openaccess.thecvf.com/content/CVPR2021W/MAI/html/Choi_MobileHumanPose_Toward_Real-Time_3D_Human_Pose_Estimation_in_Mobile_Devices_CVPRW_2021_paper.html

开源地址:

[1]https://github.com/SangbumChoi/MobileHumanPose

[2]https://github.com/ibaiGorordo/ONNX-Mobile-Human-Pose-3D