欢迎关注我的公众号 [极智视界],获取我的更多经验分享
大家好,我是极智视界,本文来介绍 实战人体姿态识别之AlphaPose。
本文介绍的 实战人体姿态识别之AlphaPose,提供完整的可以一键执行的项目工程源码,获取方式有两个:
(1) 本文工程项目资源下载,链接:download.csdn.net/download/we…
(2) 【推荐】加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:t.zsxq.com/0aiNxERDq
人体姿态识别是通过深度学习技术来识别和理解图像或视频中的人体姿态和行为,人体姿态识别可以应用于智能监控、人机交互、运动分析等多个领域,帮助更好地监测、分析和理解人体的动作和行为。在实现上,人体姿态识别通常采用卷积神经网络等深度学习算法来处理输入的图像或视频,以检测人体关键点并构建人体骨架图,从而实现人体姿态的识别。人体姿态识别的应用十分之广泛,在智能监控领域中,人体姿态识别技术可以帮助监控系统自动检测到异常行为,提高安全性和预警能力;在人机交互领域中,人体姿态识别技术可以用于手势识别、身体姿态识别等,实现更加自然和直观的人机交互方式;在运动分析领域中,人体姿态识别技术可以用于运动员的动作分析、运动状态监测等,帮助教练员更好地评估运动员的表现和训练效果。此外,人体姿态识别技术还可以应用于虚拟现实和游戏领域中,例如虚拟人物的动作捕捉、游戏角色的姿态调整等。
这里来实战人体姿态识别之 AlphaPose,提供完整的项目推理、训练的一键执行脚本、整理好的训练数据集、整理好的模型权重等,可以方便直接开箱上手。
在拿到项目代码后,进行开发环境的配置,用 Anaconda3 管理 py 环境,如下,
# 安装Anaconda3的过程略过
# 采用conda来进行py环境的管理
conda create -n alphapose_py37 python=3.7
# 激活py环境
conda activate alphapose_py37
# 使用conda安装pytorch环境
# 这里安装的是pytorch_11.0版本,要是安装10.x可能后续会有问题,需要注意一下
conda install pytorch==1.11.0
torchvision==0.12.0
torchaudio==0.11.0
cudatoolkit=11.3 -c pytorch
pip install cython opencv-python matplotlib scipy cython_bbox easydict
apt update
apt install libyaml-dev
# cd到项目目录
python setup.py build develop --user
# 安装pytorch3D(这个库只是为了显示用,是可选的)
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -c bottler nvidiacub
pip install git+ssh://git@github.com/facebookresearch/pytorch3d.git@stable
这样开发环境就安装好了。
接着可以执行推理进行人体姿态估计,项目中提供了两个推理的脚本,分别是 run_infer_yolo.sh
、run_infer_yolox.sh
,两者的区别是用的检测器模型不一样。在 examples/demo
目录下放测试图片,然后就可以一键执行,脚本会自动读取 example/demo
目录中的所有图片,执行推理的命令为 bash run_infer_yolo.sh
,完了会在 examples/res
下生成结果 json 文件 results.json
以及 姿态估计效果图。
如 run_infer_yolo.sh
脚本的内容如下,
#!/bin/bash
cp pretrained_models/resnet50-0676ba61.pth /root/.cache/torch/hub/checkpoints
python scripts/demo_inference.py --cfg configs/coco/resnet/256x192_res50_lr1e-3_1x.yaml
--checkpoint pretrained_models/MSCOCO/fast_res50_256x192.pth
--indir examples/demo/
下面展示了一些效果图,
而 result.json
是具体的每张图对应的检测出的关节点信息,部分截图如下,
当然,上面是提供了直接一键推理的脚步,效果是不错的,这已经可以适用于你直接拿来使用的目的。考虑到你还可能想自己训练训练,或者迁移到自己的训练集上,所以在提供的项目里我也整理了一键训练的脚本,数据集用的是 COCO_2017 的,也整理好了放在项目里的 data/coco
目录下,这跟一键训练脚步是关联好的。
执行训练的命令为 bash run_train_coco.sh
,下面截图了训练阶段的终端日志,会默认采用分布式训练,可以看到我这边四张 RTX 2080 卡上都是占满的。训练过程中,会在项目目录里面生成训练相关模型、日志等,若想要训练自己的数据集,可以按 COCO 的格式去把自己的数据集进行制作,然后替换掉项目里的 COCO 数据集就行了。
好了,以上分享了 实战人体姿态识别之AlphaPose,并提供完整的项目源码。希望我的分享能对你的学习有一点帮助。
【公众号传送】
畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球, 星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。一定会对你学习有所帮助,也一定非常好玩,并持续更新更加有趣的项目。 t.zsxq.com/0aiNxERDq