装在手机里的3D姿态估计,模型尺寸仅同类1/7,误差却只有5厘米
又小又好
博雯 发自 凹非寺
量子位 报道 | 公众号 QbitAI
长久以来,三维姿态估计都在追求准确性上一路狂奔。
但精度提高的同时,也带来了计算成本的上升。
而刚刚被CPVR 2021接受的论文中所提出的模型,MobileHumanPose却可以同时做到又小又好。
还是放在手机上都能hold得住的那种。来感受一下这个feel:
这种动作的健身操也没问题:
据了解,这个模型的尺寸,只有基于ResNet-50的模型的1/7,算力达到了3.92GFLOPS。
而且平均每关节位置误差(MPJPE),也只有大约5厘米。
那么这一模型到底是如何在有限的算力下产生极佳性能的呢?
基于编码器-解码器结构的改进
这是一个从基本的编码器-解码器结构改良得来的模型。
在编码器用于全局特征提取,而解码器进行姿态估计的基础架构上,研究团队对其主干网络、激活函数,以及Skip concatenation功能都进行了修改。
先来看研究团队选择的主干网络,MobileNetV2。
他们在MobileNetV2的前四个倒置残差块(Residual Block)处修改了通道大小,获得了性能提升。
接下来,将PReLU函数用于实现激活功能,其中ai为学习参数 yi是输入信号。
这一函数中的可学习参数能够在每一层网络都获得额外的信息,因此在人体姿势估计任务中使用参数化PReLU时可提升性能。
△修改了激活函数后的baseline
现在,模型的效率已经不低了,但考虑到推理速度,团队使用Skip concatenation结构。这一结构能从编码器到解码器中导出低级别特征信号(Lowlevel feature signal),不会降低性能。
参数量减少5倍,计算成本降到1/3
团队使用Human3.6M和MuCo-3DHP作为三维人体姿势数据集,他们提出了MobileNetV2的大小两个模型。
在Human3.6M上,MobileNetV2大模型实现了51.44毫米的平均每关节位置误差。
且其参数量为4.07M,对比同类模型的20.4M(chen)减少了5倍,计算成本为5.49GFLOPS,是同类模型的1/3不到(14.1G)。
对于多人三维姿势估计任务,研究者使用RootNet来估计每个人的绝对坐标,在MuPoTS的20个场景中进行了实验:
实验结果证明,对比Zerui Chen等研究者提出的获ECCV 2020的三维人体姿态估计方法,MobileNetV2在一般场景中的性能都更好,且在少数场景中取得了最佳性能:
在模型效率上,MobileNetV2的大模型效率为2.24M/3.92GFLOPS,远超同类模型的13.0M/10.7GFLOPS(Zerui Chen)。
而小模型也能实现56.94毫米的平均每关节位置误差,有224万个参数,计算成本为3.92GFLOPS。
作者介绍
论文的三位作者皆毕业于韩国高等技术研究院,一作Sangbum Choi为该校的电机及电子工程专业硕士。
论文:
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
- 开源Llama版o1来了,3B小模型反超80B,逆向工程复现OpenAI新Scaling Law2024-12-17
- AI音乐战火升级!三路国产大军全面对决Suno2024-12-11
- o1满血版最鲜测!这¥1500花得值吗?2024-12-06
- 谷歌邀马斯克联手做AI游戏!DeepMind版Sora是个3D游戏引擎 profile-avatar2024-12-05