CPU上跑到 33 FPS 的简单轻量级人体姿态估计网络


在姿态估计算法中,微软开发的 SimpleBaseline 是精度高而又轻量级的典范,昨天一篇论文Simple and Lightweight Human Pose Estimation,在该架构基础上做了少许改进,取得了更快的速度和更小的模型Size。

论文作者信息:

作者均来自南京大学。

该文发明的轻量级姿态估计网络LPN架构:

与SimpleBaseline类似,LPN由一个主干网络和几个上采样层组成,不同的是,作者重新设计了网络中在下采样阶段的基础组件即轻量级Bottleneck模块,并同时在上采样阶段也选择了轻量级的形式。

改进的Bottleneck模块

如下图:

(a)为标准Bottleneck模块,(b)为改进的Bottleneck模块,将标准卷积替换为深度可分离卷积,同时expansion 参数从4设为1,同时为了使网络能够更好的建模全局上下文信息,作者又进一步在Bottleneck中添加了GC block(global context block),如(c),(d)为GC block结构示意图。

另外,作者发明了一种迭代式的训练方法,在不使用ImageNet数据集上预训练的分类网络时,可以有效改进最终精度。

在训练过程中,每一阶段选择不同的学习率,如下图:

另外,作者提出了一种在推断阶段对heatmap进行Soft-Argmax以获得更精确位置信息的方法B-Soft-Argmax。

实验结果

作者在COCO姿态估计数据集上进行了实验。

在COCO验证集上的结果:

在COCO test-dev集上的结果:

可见该文提出的方法,精度与SimpleBaseline相当,相比于SOTA 方法HRNet精度要低一些,但在参数量与FLOPs上仅为后者的1/30左右。

下图为LPN与SOTA方法精度与FPS的比较:

结果是在 Intel i7-8700K CPU上运行得出的,可见该文提出的 LPN 处于一骑绝尘的位置,LPN-50 可以达到 33 FPS,大约是SimpleBaseline152和HRNet-W32的推理速度的3倍。而大型网络LPN-152 AP可以达到 71 ,仍有 23 FPS。

总之,该文提出了一种轻量级、高效的姿态估计网络架构,更具有实用价值。

目前还未发现该文有开源代码。

论文地址:

https://arxiv.org/pdf/1911.10346v1.pdf

(0)

相关推荐