上一篇讲完安装,这一篇来简单操作一下,搞点估计结果图爽一下。虽然还没深入内容,但是只要搞出了结果,那就是一脚踏进了姿态估计大门!

我再叨叨一句,有时候,先把代码跑通了,测试一波,简单的复现一下,也是初期代码能力的培养!配环境多难啊!看懂别人的英文教程多难啊!直接改代码是要一步登天嘛!我刚入门就读源码,边爬边飞靠谱吗!天才发抖!


目录

  • 开始使用
    • 1 准备数据集
    • 2 推导预训练模型
      • 2.1 测试数据集
        • 官网举例
        • 用 HigherHRNet 试水
      • 2.2 运行 demos
        • 官网举例
        • Bottom-Up Demos(HigherHRNet)试水

开始使用

  • 准备数据集
  • 推导预训练模型
  • 训练模型
  • Benchmark
  • 教程

这一趴的内容,我都是根据官方文档里面的操作进行的,下面包括一些中英混杂的教程和范例,以及最主要的,我的 HigherHRNet 试水结果!可以挑自己喜欢的方法来做,不要成为复制粘贴的工具人!手敲代码yyds!

1 准备数据集

data preparation

先来简单搞一个 COCO。

  1. 从 COCO download 上面下载:
  • 2017 Train/Val -> COCO keypoints training and validation.
  • 2014 Train -> human mesh estimation training.
  • HRNet 提供 COCO val2017 的 person detection result -> 复现多人姿态估计结果。

  1. 然后按照这样的结构放置到 mmpose 仓库里。

我是事先在 win 上下载,然后 Xftp 到服务器,之后解压缩到指定文件夹,

unzip train2014.zip -d /home/yiming/mmpose/data/coco
unzip train2017.zip -d /home/yiming/mmpose/data/coco
unzip val2014.zip -d /home/yiming/mmpose/data/coco# 查看文件树检查
tree -L

解压后自动创建 train2014 文件夹,不用提前创造,不然就套娃了。


2 推导预训练模型

  • 测试数据集
  • 运行 demos

2.1 测试数据集

  • single GPU (单GPU)
  • single node multiple GPUs (单机多卡)
# single-gpu testing
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--out ${RESULT_FILE}] [--eval ${EVAL_METRIC}] \[--proc_per_gpu ${NUM_PROC_PER_GPU}] [--gpu_collect] [--tmpdir ${TMPDIR}] [--average_clips ${AVG_TYPE}] \[--launcher ${JOB_LAUNCHER}] [--local_rank ${LOCAL_RANK}]python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM} [--out ${RESULT_FILE}] [--eval ${EVAL_METRIC}] \[--proc_per_gpu ${NUM_PROC_PER_GPU}] [--gpu_collect] [--tmpdir ${TMPDIR}] [--average_clips ${AVG_TYPE}] \[--launcher ${JOB_LAUNCHER}] [--local_rank ${LOCAL_RANK}]

选项解释:(有的我就懒得翻了,用上再说)

  • RESULT_FILE: 输出结果文件。如果不指定,不保存。
  • EVAL_METRIC: 评价指标,根据数据集而定。
  • NUM_PROC_PER_GPU: 每个 GPU 的进程数。不指定,单 GPU 单进程。
  • --gpu_collect: If specified, recognition results will be collected using gpu communication. Otherwise, it will save the results on different gpus to TMPDIR and collect them by the rank 0 worker.
  • TMPDIR: Temporary directory used for collecting results from multiple workers, available when --gpu_collect is not specified.
  • AVG_TYPE: Items to average the test clips. If set to prob, it will apply softmax before averaging the clip scores. Otherwise, it will directly average the clip scores.
  • JOB_LAUNCHER: Items for distributed job initialization launcher. Allowed choices are none, pytorch, slurm, mpi. Especially, if set to none, it will test in a non-distributed mode.
  • LOCAL_RANK: ID for local rank. If not specified, it will be set to 0.

官网举例

确保已经下载 checkpoints 到这个文件夹checkpoints/.

  1. Test ResNet50 on COCO (without saving the test results) and evaluate the mAP.

    ./tools/dist_test.sh configs/top_down/resnet/coco/res50_coco_256x192.py \checkpoints/SOME_CHECKPOINT.pth 1 \--eval mAP
    
  2. Test ResNet50 on COCO with 8 GPUS, and evaluate the mAP.

    ./tools/dist_test.sh configs/top_down/resnet/coco/res50_coco_256x192.py \checkpoints/SOME_CHECKPOINT.pth 8 \--eval mAP
    
  3. Test ResNet50 on COCO in slurm environment and evaluate the mAP.

    ./tools/slurm_test.sh slurm_partition test_job \configs/top_down/resnet/coco/res50_coco_256x192.py \checkpoints/SOME_CHECKPOINT.pth \--eval mAP
    

用 HigherHRNet 试水

  1. 进入 mmpose 里的 HigherHRNet - results and models 。下载一个 ckpt ,放到mmpose/checkpoints 文件夹下。

    这里我选了 HigherHRNet-w32 (512x512) 。
  1. 测试 COCO 数据集。(4块 GPU,不保存结果)
./tools/dist_test.sh configs/bottom_up/higherhrnet/coco/higher_hrnet32_coco_512x512.py checkpoints/higher_hrnet32_coco_512x512-8ae85183_20200713.pth 4 --eval mAP

851s≈14min,精度稍微有差,大致相同。

2.2 运行 demos

  • 图片
  • 视频

官网举例

使用 GT bounding boxes 运行 top-down 姿态估计 demos。

python demo/top_down_img_demo.py \${MMPOSE_CONFIG_FILE} ${MMPOSE_CHECKPOINT_FILE} \--img-root ${IMG_ROOT} --json-file ${JSON_FILE} \--out-img-root ${OUTPUT_DIR} \[--show --device ${GPU_ID}] \[--kpt-thr ${KPT_SCORE_THR}]

例如 HRNet:

python demo/top_down_img_demo.py \configs/top_down/hrnet/coco/hrnet_w48_coco_256x192.py \https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth \--img-root tests/data/coco/ --json-file tests/data/coco/test_coco.json \--out-img-root vis_results

More examples and details can be found in the demo folder and the demo docs.

Bottom-Up Demos(HigherHRNet)试水

  • image
  • video
  1. 测试单张图片,仓库内置测试图片。
python demo/bottom_up_img_demo.py \${MMPOSE_CONFIG_FILE} ${MMPOSE_CHECKPOINT_FILE} \--img-root ${IMG_ROOT} --json-file ${JSON_FILE} \--out-img-root ${OUTPUT_DIR} \[--show --device ${GPU_ID or CPU}] \[--kpt-thr ${KPT_SCORE_THR}]

HigherHRNet:

python demo/bottom_up_img_demo.py configs/bottom_up/higherhrnet/coco/higher_hrnet32_coco_512x512.py checkpoints/higher_hrnet32_coco_512x512-8ae85183_20200713.pth --img-root tests/data/coco/ --json-file tests/data/coco/test_coco.json --out-img-root vis_results

  1. 测试视频,仓库里没有给 demo 视频,可以自己下载,我随手扒了一个 solo 直拍,起名为``demo_video1.mp4` 。
python demo/bottom_up_video_demo.py \${MMPOSE_CONFIG_FILE} ${MMPOSE_CHECKPOINT_FILE} \--video-path ${VIDEO_FILE} \--output-video-root ${OUTPUT_VIDEO_ROOT} \[--show --device ${GPU_ID or CPU}] \[--bbox-thr ${BBOX_SCORE_THR} --kpt-thr ${KPT_SCORE_THR}]

HigherHRNet:

python demo/bottom_up_video_demo.py configs/bottom_up/higherhrnet/coco/higher_hrnet32_coco_512x512.py checkpoints/higher_hrnet32_coco_512x512-8ae85183_20200713.pth --video-path demo/demo_video1.mp4 --out-video-root vis_results

结果:solo ,我懒得传上来了。


好!今天就先讲到这!配完数据集和运行完 demo,我们基本就算成功使用HigherHRNet了!下篇我们来一起训练网络!

姿态估计mmpose一手体验 Ⅱ - 使用它!相关推荐

  1. 万物生姿——MMPose 姿态估计创意 Demo 大赛

    号外号外!OpenMMLab 姿态估计创意 Demo 大赛震撼来袭!不设任务,不限主题,完全自由发挥!是不是有亿点点心动?快来解锁活动详情吧- 世间万物,千姿百态,异彩纷呈. 令人眼花缭乱的外表下,则 ...

  2. MMPose姿态估计+人体关键点识别效果演示

    MMPose--开源姿态估计算法库(附人体关键点识别效果演示) 一.简介 1.1 背景 首先姿态估计属于计算机视觉领域的一个基础研究方向.MMPose是基于Pytorch的姿态估计开源算法库,功能全, ...

  3. Openpose+Tensorflow 这样实现人体姿态估计 | 代码干货

    作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 人体姿态估计指从单个 RGB 图像中精确地估计出人体的位置以及检测骨骼关键点的位置.人体姿态估计是计算机视觉领域的研究热点,是诸 ...

  4. 无限想象空间,用Python玩转3D人体姿态估计

    前言 姿态估计,一直是近几年的研究热点. 它就是根据画面,捕捉人体的运动姿态,比如 2D 姿态估计: 再比如 3D 姿态估计: 看着好玩,那这玩应有啥用呢? 自动驾驶,大家应该都不陌生,很多公司研究这 ...

  5. 3D 人体姿态估计简述

    0 前言 3D Human Pose Estimation(以下简称 3D HPE )的目标是在三维空间中估计人体关键点的位置.3D HPE 的应用非常广泛,包括人机交互.运动分析.康复训练等,它也可 ...

  6. 40个姿态估计优秀开源项目汇总

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨AIRX社区 编辑丨极市平台 1.AlphaPose 实时全身多人姿势估计与跟踪系统.它是第一个 ...

  7. 经典论文复现 | PyraNet:基于特征金字塔网络的人体姿态估计

    过去几年发表于各大 AI 顶会论文提出的 400 多种算法中,公开算法代码的仅占 6%,其中三分之一的论文作者分享了测试数据,约 54% 的分享包含"伪代码".这是今年 AAAI ...

  8. Python安装FrankMocap实现3D人体姿态估计

    FrankMocap 是港中文联合 Facebook AI 研究院提出的3D 人体姿态和形状估计算法. 不仅仅是估计人体的运动姿态,甚至连身体的形状,手部的动作都可以一起计算出来. 算法很强大,能够从 ...

  9. 3D 人体姿态估计简述【转】

    0 前言 3D Human Pose Estimation(以下简称 3D HPE )的目标是在三维空间中估计人体关键点的位置.3D HPE 的应用非常广泛,包括人机交互.运动分析.康复训练等,它也可 ...

  10. MPII姿态估计性能评价标准-PCK

    Overview PCK是mpii使用的人体关键点估计评价标准,在coco之前,PCK一直是比较主流的metric,包括deepfashion,fashionAI等,都是使用的此标准. PCK PCK ...

最新文章

  1. 强烈推荐几个我常置顶阅读清华、哈工大的平台公众号!
  2. MassTransitamp;amp;Sagas分布式服务开发ppt分享
  3. 关于easyui的一些小知识点(1)
  4. 前端学习(1260):promise中的常见api对象方法
  5. python_day3
  6. 记一次内存无法回收导致频繁fullgc机器假死的思路
  7. 严蔚敏数据结构课后参考答案
  8. 怎么压缩jpg图片到100k?jpg图片怎么压缩?
  9. 一张动图,让你明白时域和频域的关系
  10. java华氏度xhuan_华氏摄氏转换
  11. 【已解决】【Selenium】请教大神,知乎的注册页面如何切换到登录页面?
  12. 有一种星光叫记忆:张国荣主演的九部经典影片
  13. html js 做一个钟表,html,css,js实现的一个钟表
  14. 基于ESP32环境监测控制和预警(微信小程序)
  15. 王者服务器维护12.3,王者荣耀3月12日更新维护公告 3.12全部更新内容改动汇总
  16. Thinkphp5结合layer导入excel
  17. 虚拟机没关电脑直接关机了,重启后crt、xshell都连不上虚拟机
  18. dau计算-预测日活
  19. javaweb技术及应用QST
  20. 一篇文章总结mysql(复习篇)

热门文章

  1. IDLE和java超级基础基本标准
  2. monthcalendar_Python日历模块| 带有示例的monthcalendar()方法
  3. Html5之canvas清除特定矩形、getContext、fillStyle、fillRect、clearRect、strokeRect
  4. ribbon整合eureka时报错Request URI does not contain a valid hostname: xxxx
  5. c语言16进制转2进制代码
  6. MHL接口是一种废品接口
  7. 公务员考试辅导:申论写作套路万能模板
  8. 利用XMLHTTP实现ASP.NET无刷新提交 (老梁)
  9. linux的tomcat日志,linux下查看tomcat的日志
  10. 小米手机不能发短信的一种解决方法--重新设置短信中心号码