ST-GCN可视化(python mmskl.py pose_demo)

本文介绍使用MMSkeleton库进行人体姿态估计的过程,包括运行命令、常见错误及解决方案,如权重文件路径错误和模型权重不完全匹配等问题,并最终成功获取包含检测框和关键点的人体动作视频。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

运行该命令获取的视频结果与运行HRNet中的demo/inference.py效果相同。

一、遵循官网程序运行命令

python mmskl.py pose_demo [--gpus $GPUS]
# or "python mmskl.py pose_demo_HD [--gpus $GPUS]" for a higher accuracy

运行过程:
mmskl.py——>./configs/pose_estimation/pose_demo.yaml——>(pose_demo.py)mmskeleton.processor.pose_demo.inference——>(pose_demo.py)mmskeleton.apis.estimation.init_pose_estimator(姿态估计hrnet)——>(estimation.py)mmdet.apis.inference.init_detector(目标检测cascade_rcnn)——>(estimation.py)mmskeleton.processor.apis.init_twodimestimator——>(apis.py)mmskeleton.utils.load_checkpoint(加载人体姿态估计模型权重文件)

~注:此过程只加载目标检测模型和人体姿态估计模型,无需加载动作识别模型。

二、
报错:权重文件不存在

OSError: F:/Action Recognition/st-gcn/checkpoints/cascade_rcnn_r50_fpn_20e_20181123-db483a09.pth is not a checkpoint file
(open) F:\Action_Recognition\st-gcn>python mmskl.py pose_demo --video resource/data_example/50.mp4
Load configuration information from ./configs/pose_estimation/pose_demo.yaml

Pose estimation:
Traceback (most recent call last):
  File "mmskl.py", line 147, in <module>
    main()
  File "mmskl.py", line 126, in main
    call_obj(**cfg.processor_cfg)
  File "F:\Action_Recognition\st-gcn\mmskeleton\utils\importer.py", line 34, in call_obj
    return import_obj(type)(**kwargs)
  File "F:\Action_Recognition\st-gcn\mmskeleton\processor\pose_demo.py", line 80, in inference
    model = init_pose_estimator(detection_cfg, estimation_cfg, device=0)
  File "F:\Action_Recognition\st-gcn\mmskeleton\apis\estimation.py", line 23, in init_pose_estimator
    device='cuda:0')
  File "H:\Anaconda3\envs\open\lib\site-packages\mmdet-1.0+unknown-py3.6-win-amd64.egg\mmdet\apis\inference.py", line 36, in init_detector
    checkpoint = load_checkpoint(model, checkpoint)
  File "H:\Anaconda3\envs\open\lib\site-packages\mmcv\runner\checkpoint.py", line 184, in load_checkpoint
    checkpoint = _load_checkpoint(filename, map_location)
  File "H:\Anaconda3\envs\open\lib\site-packages\mmcv\runner\checkpoint.py", line 161, in _load_checkpoint
    raise IOError('{} is not a checkpoint file'.format(filename))
OSError: F:/Action Recognition/st-gcn/checkpoints/cascade_rcnn_r50_fpn_20e_20181123-db483a09.pth is not a checkpoint file

原因:文件路径名错误
解决:将Action Recognition改为Action_Recognition即可成功运行。
前提:将mmskeleton.apis.estimation.py中的权重加载路径改为绝对路径。
在这里插入图片描述

三、
报错:加载到的模型权重不完全匹配。

The model and loaded state dict do not match exactly

在这里插入图片描述
原因:pose_demo.py只输出二维目标检测框和人体姿态,所以无需加载ST-GCN模型。
解决:修改权重加载文件mmskeleton.utils.checkpoint.py中的路径为原程序中的路径即可。

def load_checkpoint(model, filename, *args, **kwargs):
    try:
#         filename = "F:/Action_Recognition/st-gcn/checkpoints/st_gcn.kinetics-6fa43f73.pth"################################
#         filename = "F:/Action_Recognition/st-gcn/work_dir/recognition/ST_GCN_18/kinetics-skeleton/epoch_50.pth"################################
#         filename = "F:/Action_Recognition/st-gcn/work_dir/recognition/ST_GCN_18/kinetics-skeleton_all/epoch_50.pth"################################                
        filename = get_mmskeleton_url(filename)

在这里插入图片描述
四、运行成功
获取到包含检测框和关键点的人体动作视频。
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

基于MMSkeleton工具包中的ST-GCN模型实现一种基于动态拓扑图的人体骨架动作识别算法python源码+使用说明.zip 改进ST-GCN模型的骨架拓扑图构建部分,使用持续学习思想动态构建人体骨架拓扑图. 将具有多关系特性的人体骨架序列数据重新编码为关系三元组, 并基于长短期记忆网络, 通过解耦合的方式学习特征嵌入. 当处理新骨架关系三元组时, 使用部分更新机制 动态构建人体骨架拓扑图, 将拓扑图送入ST-GCN进行动作识别。 运行MMSKeleton工具包参考[GETTING_STARTED.md](./doc/GETTING_STARTED.md) - 单独使用ST-GCN模型进行人体动作识别参考[START_RECOGNITION.md](./doc/START_RECOGNITION.md) - 训练基于动态拓扑图的人体骨架动作识别算法 ``` shell cd DTG-SHR python ./mmskeleton/fewrel/test_lifelong_model.py ``` - 测试基于动态拓扑图的人体骨架动作识别算法 ``` shell cd DTG-SHR python ./mmskeleton/fewrel/train_lifelong_model.py ``` - 可视化算法运行结果 基于web server搭建前端 [[参考]](https://blog.csdn.net/gzq0723/article/details/113488110) 1、前端模块:包含 'static与'templates'文件夹为界面展示相关的代码。 templates里面包含了两个html的结构文档,用来定义浏览器的显示界面。 static里面的css和img用来修饰界面。 2、服务模块: servel.py里面是web服务的一个业务逻辑。 运行算法性能可视化web服务 ``` shell cd DTG-SHR python ./server.py ``` 【备注】 1、该资源内项目代码百分百可运行,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值