96SEO 2026-02-23 14:31 24
人体关键点检测2Pytorch实现人体关键点检测(人体姿势估计)含训练代码

Pose是计算机视觉中一个相对基础的任务是人体动作识别、行为分析、人机交互等的前置任务。
一般情况下可以将人体关键点检测细分为单人/多人关键点检测、2D/3D关键点检测同时有算法在完成关键点检测之后还会进行关键点的跟踪也被称为人体姿态跟踪。
本项目将实现人体关键点检测算法其中使用YOLOv5模型实现人体检测(Person
Detection)使用HRNetLiteHRNet和Mobilenet-v2模型实现人体关键点检测。
项目分为数据集说明模型训练和C/Android部署等多个章节本篇是项目《人体关键点检测(人体姿势估计)》系列文章之Pytorch实现人体关键点检测(人体姿势估计)为了方便后续模型工程化和Android平台部署项目支持高精度HRNet检测模型轻量化模型LiteHRNet和Mobilenet模型训练和测试并提供Python/C/Android多个版本
轻量化Mobilenet-v2模型在普通Android手机上可以达到实时的检测效果CPU(4线程)约50ms左右GPU约30ms左右
基本满足业务的性能需求。
下表格给出HRNet以及轻量化模型LiteHRNet和Mobilenet的计算量和参数量以及其检测精度
模型input-sizeparams(M)GFLOPsAPHRNet-w32192×25628.48M5734.05M0.7585LiteHRNet18192×2561.10M182.15M0.6237Mobilenet-v2192×2562.63M529.25M0.6181
Demo体验(下载)https://download.csdn.net/download/guyuealian/88610359
【尊重原创转载请注明出处】https://blog.csdn.net/guyuealian/article/details/134837816
https://blog.csdn.net/guyuealian/article/details/134703548人体关键点检测2Pytorch实现人体关键点检测(人体姿势估计)含训练代码和数据集
https://blog.csdn.net/guyuealian/article/details/134837816人体关键点检测3Android实现人体关键点检测(人体姿势估计)含源码
https://blog.csdn.net/guyuealian/article/details/134881797人体关键点检测4C/C实现人体关键点检测(人体姿势估计)含源码
https://blog.csdn.net/guyuealian/article/details/134881797手部关键点检测1手部关键点(手部姿势估计)数据集(含下载链接)https://blog.csdn.net/guyuealian/article/details/133277630手部关键点检测2YOLOv5实现手部检测(含训练代码和数据集)https://blog.csdn.net/guyuealian/article/details/133279222手部关键点检测3Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集https://blog.csdn.net/guyuealian/article/details/133277726手部关键点检测4Android实现手部关键点检测(手部姿势估计)含源码
可实时检测https://blog.csdn.net/guyuealian/article/details/133931698手部关键点检测5C实现手部关键点检测(手部姿势估计)含源码
可实时检测https://blog.csdn.net/guyuealian/article/details/133277748
目前主流的人体关键点检测(人体姿势估计)方法主要两种一种是Top-Down自上而下方法另外一种是Bottom-Up自下而上方法
将人体检测和人体关键点检测(人体姿势估计)检测分离在图像上首先进行人体目标检测定位人体位置然后crop每一个人体图像再估计人体关键点这类方法往往比较慢但姿态估计准确度较高。
目前主流模型主要有CPNHourglassCPMAlpha
先估计图像中所有人体关键点然后在通过Grouping的方法组合成一个一个实例因此这类方法在测试推断的时候往往更快速准确度稍低。
典型就是COCO2016年人体关键点检测冠军Open
通常来说Top-Down具有更高的精度而Bottom-Up具有更快的速度就目前调研而言
Top-Down的方法研究较多精度也比Bottom-Up自下而上方法高。
本项目采用Top-Down(自上而下)方法先使用YOLOv5模型实现人体检测然后再使用HRNet进行人体关键点检测(人体姿势估计)
本项目基于开源的HRNet进行改进关于HRNet项目请参考GitHub
https://github.com/leoxiaobin/deep-high-resolution-net.pytorch
本项目主要使用COCO数据集和MPII数据集关于人体关键点检测数据集说明请参考《人体关键点检测1人体姿势估计数据集》https://blog.csdn.net/guyuealian/article/details/134703548
本项目采用Top-Down(自上而下)方法使用YOLOv5模型实现人体目标检测使用HRNet进行人体关键点检测(人体姿势估计)关于人体检测模型训练方法可参考
行人检测(人体检测)2YOLOv5实现人体检测(含人体检测数据集和训练代码)
推荐使用Python3.8或Python3.7更高版本可能存在版本差异问题项目依赖python包请参考requirements.txt使用pip安装即可项目代码都在Ubuntu系统和Windows系统验证正常运行请放心使用若出现异常大概率是相关依赖包版本没有完全对应
basetrainer项目安装教程请参考初学者入门麻烦先看完下面教程配置好Python开发环境
推荐使用Python3.8或Python3.7更高版本可能存在版本差异问题项目开发使用教程和常见问题和解决方法视频教程1
如何在pycharm中使用Anaconda创建的python环境
下载COCO数据集或者MPII数据集建议使用COCO数据集然后
项目支持HRNet以及轻量化模型LiteHRNet和Mobilenet模型训练并提供对应的配置文件你需要修改对应配置文件的数据路径本篇以训练HRNet-w32为例子其配置文件在configs/coco/hrnet/w32_adam_192_192.yaml修改该文件的训练数据集路径TRAIN_FILE支持多个数据集训练和测试数据集TEST_FILE的数据路径为你本地数据路径其他参数保持默认即可如下所示
D:/COCO/train2017/person_keypoints_train2017.jsonTEST_FILE:
D:/COCO/val2017/person_keypoints_val2017.jsonFLIP:
参数类型参考值说明WORKERSint8数据加载处理的进程数PRINT_FREQint10打印LOG信息的间隔DATASETstrcustom_coco数据集类型目前仅支持COCO数据格式TRAIN_FILEList-训练数据集文件列表(COCO数据格式)支持多个数据集TEST_FILEstring-测试数据集文件(COCO数据格式),仅支持单个数据集FLIPboolTrue是否翻转图片进行测试可提高测试效果ROT_FACTORfloat45训练数据随机旋转的最大角度用于数据增强SCALE_FACTORfloat1.25图像缩放比例因子SCALE_RATEfloat0.25图像缩放率JOINT_IDSlist[
]表示所有关键点也可以指定需要训练的关键点序号IDFLIP_PAIRSlist[
]图像翻转时关键点不受翻转影响的ID号SKELETONlist[
configs/coco/hrnet/w48_adam_192_192.yaml
configs/coco/hrnet/w32_adam_192_192.yaml
--work_dirwork_space/person训练轻量化模型LiteHRNet
configs/coco/litehrnet/litehrnet18_192_192.yaml
--work_dirwork_space/person训练轻量化模型Mobilenetv2
configs/coco/mobilenet/mobilenetv2_192_192.yaml
--work_dirwork_space/person下表格给出HRNet以及轻量化模型LiteHRNet和Mobilenet的计算量和参数量以及其检测精度AP
高精度检测模型HRNet-w32AP可以达到0.7585但其参数量和计算量比较大不合适在移动端部署LiteHRNet18和Mobilenet-v2参数量和计算量比较少合适在移动端部署虽然LiteHRNet18的理论计算量和参数量比Mobilenet-v2低但在实际测试中发现Mobilenet-v2运行速度更快。
轻量化Mobilenet-v2模型在普通Android手机上可以达到实时的检测效果CPU(4线程)约50ms左右GPU约30ms左右
模型input-sizeparams(M)GFLOPsAPHRNet-w32192×25628.48M5734.05M0.7585LiteHRNet18192×2561.10M182.15M0.6237Mobilenet-v2192×2562.63M529.25M0.6181
训练过程可视化工具是使用Tensorboard使用方法在终端输入#
--logdirwork_space/person/hrnet_w32_16_192_256_mpii_20231127_113836_6644/log
点击终端TensorBoard打印的链接即可在浏览器查看训练LOG信息等
demo.py文件用于推理和测试模型的效果填写好配置文件模型文件以及测试图片即可运行测试了demo.py命令行参数说明如下
参数类型参考值说明-c,--config_filestr-配置文件-m,--model_filestr-模型文件targetstr-骨骼点类型如hand,coco_person,mpii_personimage_dirstrdata/image测试图片的路径video_filestr,int-测试的视频文件out_dirstroutput保存结果为空不保存thresholdfloat0.3关键点检测置信度devicestrcuda:0GPU
下面以运行HRNet-w32为样例其他模型修改--config_file或者--model_file即可
work_space/person/hrnet_w32_17_192_256_custom_coco_20231115_092948_1789/w32_adam_192_192.yaml
work_space/person/hrnet_w32_17_192_256_custom_coco_20231115_092948_1789/model/best_model_195_0.7585.pth
work_space/person/hrnet_w32_17_192_256_custom_coco_20231115_092948_1789/w32_adam_192_192.yaml
work_space/person/hrnet_w32_17_192_256_custom_coco_20231115_092948_1789/model/best_model_195_0.7585.pth
work_space/person/hrnet_w32_17_192_256_custom_coco_20231115_092948_1789/w32_adam_192_192.yaml
work_space/person/hrnet_w32_17_192_256_custom_coco_20231115_092948_1789/model/best_model_195_0.7585.pth
work_space/person/hrnet_w32_16_192_256_mpii_20231127_113836_6644/w32_adam_192_192.yaml
work_space/person/hrnet_w32_16_192_256_mpii_20231127_113836_6644/model/best_model_148_89.4041.pth
人体关键点检测推理代码下载地址Pytorch实现人体关键点检测(人体姿势估计)推理代码
提供YOLOv5人体检测推理代码不包含训练代码提供人体关键点检测(人体姿势估计)推理代码demo.py不包含训练代码提供高精度版本HRNet人体关键点检测(人体姿势估计)不包含训练代码提供轻量化模型LiteHRNet,以及Mobilenet-v2人体关键点检测(人体姿势估计)不包含训练代码提供训练好的模型HRNet-w32,LiteHRNet和Mobilenet-v2模型权重文件配置好环境可直接运行demo.py推理代码demo.py支持图片视频和摄像头测试
提供YOLOv5人体检测推理代码提供整套完整的项目工程代码包含人体关键点检测(人体姿势估计)的训练代码train.py和推理测试代码demo.py提供高精度版本HRNet人体关键点检测(人体姿势估计)训练和测试代码提供轻量化模型LiteHRNet以及Mobilenet-v2人体关键点检测(人体姿势估计)训练和测试代码项目代码支持MPII数据集和COCO数据集人体关键点检测模型训练和测试根据本篇博文说明简单配置即可开始训练train.py提供训练好的模型HRNet-w32,LiteHRNet和Mobilenet-v2模型权重文件配置好环境可直接运行demo.py推理代码demo.py支持图片视频和摄像头测试
人体关键点检测3Android实现人体关键点检测(人体姿势估计)含源码
https://blog.csdn.net/guyuealian/article/details/134881797人体关键点检测4C/C实现人体关键点检测(人体姿势估计)含源码
https://blog.csdn.net/guyuealian/article/details/134881797
Demo体验(下载)https://download.csdn.net/download/guyuealian/88610359
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback