lightweight openpose 入门实操笔记(pytorch环境)

本文介绍了作者在2D姿态识别项目中对现有模型的研究,包括singleperson和multiperson检测方法。作者尝试了openpose、alphapose和mediapipe等模型,发现它们虽好但学习成本较高。因此,作者决定从2018年的lightweight openpose论文开始,该模型在速度和精度上有良好表现。在配置环境中遇到pycocotools安装问题,最终通过下载特定版本的whl文件解决。测试运行了作者提供的预训练模型,能够成功实现摄像头实时姿态检测。

最近有个小项目要搞姿态识别,简单调研了一下2D的识别:

基本上是下面几种

  • (单人)single person
    • 直接关键点回归
    • heatmap,感觉其实就是把一个点的标签弄成一个高斯分布
  • (多人)multi person
    • 自顶向下:先把人圈出来,再针对单个人做检测
    • 自底向上:把所有关键点弄出来,再聚合适配到个人

这个不是本文重点,笔者也还没吃透,可以看这篇综述:Deep Learning-Based Human Pose Estimation: A Survey

作者试过几个模型:openpose,alpahposemediapipe,使用体验如下:

  • openpose流行度很高,效果也不错,就是有点慢,fps比较低
  • alphapose效果和速度都很满意,比较重量级
  • mediapipe效果速度都很好,使用体验超级棒,封装太好了

作者打算从头到尾完整地训练一个自己地数据集合,并且要求速度为第一位,精度达到要求即可,经过简单调研,上面几个虽然很不错,但是系统学习下来成本可能比较高,所以后面再弄,打算从2018年的这篇lightweight openpose开始学习,看一下这个introduction就知道为啥先弄这个了:

在这里插入图片描述

速度和精度都不错,关键是论文才5页,下面是论文和代码链接,体量都不大,正好适合练手:

  • 论文地址:https://arxiv.org/pdf/1811.12004.pdf
### 轻量级 OpenPose 替代方案或优化实现 #### 1. **Lightweight Pose Estimation Frameworks** 一些框架专注于减少计算复杂度并提高实时性能,这些框架通常通过简化网络结构、降低分辨率输入等方式实现轻量化。例如,MobileNet 和 ShuffleNet 这样的架构被广泛用于姿态估计任务中[^5]。 ```python import torch from torchvision import models # 使用 MobileNetV2 实现轻量化的特征提取 model = models.mobilenet_v2(pretrained=True) print(model) ``` #### 2. **OpenPose 的轻量化变体** 一种常见的方法是对原始 OpenPose 模型进行剪枝 (Pruning),从而移除冗余权重以减小模型大小和推理时间。另一种方式是采用知识蒸馏技术,将大型教师模型的知识迁移到更小型的学生模型上[^4]。 #### 3. **HRNet (High-Resolution Network)** 虽然 HRNet 并不是专门为轻量化设计的,但它保持高分辨率表示的能力使其成为高效姿态检测的一个良好候选者。相比传统的逐步降采样再升采样的方法,HRNet 始终维持较高的分辨率,这有助于捕捉细节信息而无需过多增加计算负担[^6]。 #### 4. **Lite-HRNet** 作为 HRNet 的改进版本之一,Lite-HRNet 特别针对移动设备进行了优化,在保证精度的同时显著降低了 FLOPs 数量以及内存占用情况。它引入了一种新的分支连接机制——渐进式聚合策略(Progressive Aggregation Strategy),进一步提升了效率[^7]。 #### 5. **TensorRT 加速** NVIDIA TensorRT 是一款高性能深度学习推理库,能够极大提升 GPU 上运行神经网络的速度。通过对预训练好的 OpenPose 或其他替代模型应用 TensorRT,可以获得更快的推断速度而不牺牲太多准确性[^8]。 ```bash docker run --gpus all -it nvcr.io/nvidia/tensorrt:22.08-py3 bash pip install nvidia-tensorrt==8.4.* ``` --- ###
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值