AlphaPose复现配置教程

简介: 本文是AlphaPose姿态估计系统的复现配置教程,包括在Ubuntu22.04系统下的环境配置、依赖安装、AlphaPose代码获取与安装、权重文件替换、预训练模型下载以及测试运行的详细步骤。

AlphaPose复现配置教程

AlphaPose介绍

AlphaPose是一种准确的多人姿态估计器,这是第一个在COCO数据集上达到70+ mAP (75 mAP)和在MPII数据集上达到80+ mAP (82.1 mAP)的开源系统。为了匹配跨帧的同一人的姿态,我们还提供了一种高效的在线姿态跟踪器,称为Pose Flow。这是第一个在PoseTrack挑战数据集上达到60+ mAP (66.5 mAP)和50+ MOTA (58.3 MOTA)的开源在线姿态跟踪器。
AlphaPose支持Linux和Windows操作系统!

指路👉Github AlphaPose

测试环境

该配置测试的环境为:Ubuntu22.04Conda python==3.7
测试日期:2023-7-18
以下内容在该环境及时间点下测试可行。

1.配置alphapose

AlphaPose官方给的配置教程有问题,经过debug,以下可行,我在实测的时候顺便也给repo提了issue和pr。

1.配置依赖环境及安装AlphaPose

# 1. Create a conda virtual environment.
conda create -n alphapose python=3.7 -y
conda activate alphapose

# 2. Install specific pytorch version
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

# 3. Get AlphaPose
git clone https://github.com/MVIG-SJTU/AlphaPose.git
cd AlphaPose

# 4. install dependencies
export PATH=/usr/local/cuda/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:$LD_LIBRARY_PATH
sudo apt-get install libyaml-dev
pip install cython==0.27.3 ninja easydict halpecocotools munkres natsort opencv-python pyyaml scipy tensorboardx  terminaltables timm==0.1.20 tqdm visdom jinja2 typeguard pycocotools
################Only For Ubuntu 18.04#################
locale-gen C.UTF-8
# if locale-gen not found
sudo apt-get install locales
export LANG=C.UTF-8
######################################################

# 5. install AlphaPose 
python setup.py build develop

# 6. Install PyTorch3D (Optional, only for visualization)
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -c bottler nvidiacub
pip install pytorch3d

2.替换权重文件

从github的项目页下载yolov3-spp.weightsAlphaPose/detector/yolo/data ,如果没有这个文件夹就创建一个。
在这里插入图片描述

3.下载预训练模型

下载FastPose预训练模型到AlphaPose/pretrained_models
在这里插入图片描述

2.测试alphapose

python scripts/demo_inference.py --cfg configs/halpe_26/resnet/256x192_res50_lr1e-3_1x.yaml --checkpoint pretrained_models/halpe26_fast_res50_256x192.pth --indir examples/demo/ --save_img

AlphaPose/examples/demo文件夹下的图片将被用作处理,AlphaPose/examples/res文件夹下将出现处理后的结果
在这里插入图片描述
在这里插入图片描述

3.将视频导入模型进行姿态估计

python scripts/demo_inference.py --cfg configs/halpe_26/resnet/256x192_res50_lr1e-3_1x.yaml --checkpoint pretrained_models/halpe26_fast_res50_256x192.pth --video examples/demo/test_video.mp4 --save_video

在这里插入图片描述

目录
相关文章
|
10月前
|
机器学习/深度学习 Shell 算法框架/工具
【姿态估计】实操记录:使用Dlib与mediapipe进行人脸姿态估计
【姿态估计】实操记录:使用Dlib与mediapipe进行人脸姿态估计
959 0
|
7月前
|
机器学习/深度学习 传感器 计算机视觉
MotionBert论文解读及详细复现教程
MotionBert提出了一个统一视角来学习人体运动表示,并使用双流时空Transformer(DSTformer)网络作为运动编码器,能够全面、自适应地捕获骨骼关节之间的远程时空关系,实现在多个下游任务上的性能提升。
193 1
|
并行计算 Ubuntu 机器人
计算机视觉教程7-3:Openpose配置与实践
计算机视觉教程7-3:Openpose配置与实践
2559 0
计算机视觉教程7-3:Openpose配置与实践
|
10月前
|
人工智能 数据挖掘 机器人
【python】python智能停车场数据分析(代码+数据集)【独一无二】
【python】python智能停车场数据分析(代码+数据集)【独一无二】
286 0
|
4月前
|
机器学习/深度学习 编解码 Java
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
《YOLO11目标检测创新改进与实战案例》专栏已更新100+篇文章,涵盖注意力机制、卷积优化、检测头创新、损失与IOU优化、轻量级网络设计等多方面内容。每周更新3-10篇,提供详细代码和实战案例,帮助您掌握最新研究和实用技巧。[专栏链接](https://blog.csdn.net/shangyanaf/category_12810477.html)
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
|
5月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
971 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
7月前
|
机器学习/深度学习 机器人 数据库
FoundationPose复现及Realsense应用
文章概述了FoundationPose项目,一个由Nvidia开发的用于新对象6D姿态估计和跟踪的统一模型,支持模型基础和无模型设置,通过合成数据和大型语言模型实现强泛化能力,并提供了复现和应用的详细步骤。
425 0
FoundationPose复现及Realsense应用
|
5月前
|
机器学习/深度学习 JSON 数据可视化
YOLO11-pose关键点检测:训练实战篇 | 自己数据集从labelme标注到生成yolo格式的关键点数据以及训练教程
本文介绍了如何将个人数据集转换为YOLO11-pose所需的数据格式,并详细讲解了手部关键点检测的训练过程。内容涵盖数据集标注、格式转换、配置文件修改及训练参数设置,最终展示了训练结果和预测效果。适用于需要进行关键点检测的研究人员和开发者。
900 0
|
7月前
|
机器人
ROS2教程 04 话题Topic
本文是关于ROS2(机器人操作系统2)中话题(Topic)机制的教程,详细介绍了ROS2中话题的命令使用,包括列出、回显、发布、信息查询、类型查询等功能,并通过示例代码展示了如何创建发布者(Publisher)和订阅者(Subscriber)节点,以及如何测试发布-话题-订阅通信。
487 1