【使用OpenGait 复现步态识别经典算法 GaitSet ——CASIA-B数据集】

最近在使用AutoDL云服务器跑步态识别的代码,用的是开放步态识别框架OpenGait,记录一下自己跑代码的步骤和遇到的问题以及解决方式。

这篇文章主要记录使用OpenGait 复现步态识别经典算法 GaitSet 的步骤和遇到的问题以及解决方式,用到的数据集是CASIA-B。


一、下载好主要工具包

OpenGait官方文档要求我们下载以下工具包:
pytorch >= 1.10
torchvision
pyyaml
tensorboard
opencv-python
tqdm
py7zr
kornia
einops

# 下面是我安装的工具包和版本号
pip install torch==1.13.1  # torch不要安装2.0以上的
pip install torchvision==0.8.1+cu110

pip install pyyaml==6.0
pip install tensorboard==2.6.0
pip install opencv-python==4.7.0.72
pip install tqdm==4.61.2
pip install py7zr==0.20.4
pip install kornia==0.6.12  #下载这个的时候,可能会自动卸载掉原有的torch,安装上torch2.0,要改回1.13.1
   pip uninstall torch
   pip install torch==1.13.1
pip install einops ==0.7.0

# 重点,typing-extensions虽然官方文档没提到,但是很重要。如果不指定版本号会下载一个3.X版本的,运行代码时会报错。
pip install typing-extensions==4.3.0

二、CASIA-B数据预处理

上传CASIA-B数据集到AutoDL的数据盘autodl-tmp下(放在系统盘root下当然也没问题,只是数据盘处理数据更快,空间也大),之后进行解压,然后进行数据预处理,数据预处理命令如下:

# 数据盘autodl-tmp下原本只有解压后的CASIA-B文件,经过预处理,生成了CASIA-B-pkl文件,后面进行训练用的就是CASIA-B-pkl文件
python datasets/pretreatment.py --input_path /root/autodl-tmp/CASIA-B --output_path /root/autodl-tmp/CASIA-B-pkl

三、OpenGait项目的结构

运行代码之前有必要讲一下OpenGait项目的结构。
OpenGait项目的结构
1、assets:对跑代码来说没用,里面是一些官方文档用的的图片,跳过。
在这里插入图片描述
2、configs:超级有用,里面是各个步态识别方法的参数配置。
在这里插入图片描述
比如我们要跑GaitSet,那就查看GaitSet的配置:
在这里插入图片描述
打开针对CASIA-B数据集的配置:
在这里插入图片描述
3、datasets:数据处理相关,主要学习pretreatment.py文件。
在这里插入图片描述
4、docs:官方文档,可以说是OpenGait的使用教程,跑代码一定要看这些文档。
在这里插入图片描述
5、misc:只有两个文件,上面那个是清理进程的,下面那个是从官网下载预训练模型的。
在这里插入图片描述
6、opengait:OpenGait的主程序,代码内容过多,后面再解释。
在这里插入图片描述
7、output:包括测试的检查点(比如第10000次、第20000次等等),TensorBoard可视化所需的event文件,以及日志文件(此处还未生成)
在这里插入图片描述
8、pretreatment.log:运行pretreatment.py进行数据预处理后保存的日志文件。
9、README.md:OpenGait总的说明文档
10、test.sh和train.sh文件:功能和在linux终端输入执行命令一样,.sh文件只是你提前把要运行的命令写进去再运行.sh文件就行。
在这里插入图片描述

①比如我要运行GaitSet,我可以在linux终端输入:

# 必须进入到OpenGait项目下
cd OpenGait
# 使用0、1、2、3号共4块GPU进行训练,选择的cfgs配置文件的路径为./configs/gaitset/gaitset.yaml,运行train命令,记录到日志
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./configs/gaitset/gaitset.yaml --phase train  --log_to_file

由于我在gaitset.yaml配置文件中,开启了测试伴随训练with_test: true,所以每隔10000次会自动测试,如果不开启测试伴随训练with_test: false,那么还需要你在完成训练后,在终端输入以下命令进行测试:

# 注意phase后面改为了test
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./configs/gaitset/gaitset.yaml --phase test 

②上面是在linux终端直接输入一长串命令的方式,那.sh文件有什么作用呢?我们还可以通过直接运行.sh文件从而运行GaitSet,前提是在train.sh文件把CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./configs/gaitset/gaitset.yaml --phase train --log_to_file命令写进去(不要注释掉),然后在linux终端输入:

sh train.sh

接下来也会开始运行GaitSet的训练。

四、运行结果

NMBGCL备注
95.087.270.4原文
96.1590.4474.56复现

在这里插入图片描述

五、问题及解决

1、ImportError: cannot import name ‘TypeGuard’ from ‘typing_extensions’
原因分析:typing_extensions版本过低,我出现这个问题的时候typing-extensions的版本号是3.7.4.3
解决办法:卸载低版本,安装高版本

pip uninstall typing-extensions
pip install typing-extensions==4.3.0

2、ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
tensorflow 2.4.0 requires typing-extensions~=3.7.4, but you have typing-extensions 4.3.0 which is incompatible.、
原因分析:我安装的tensorflow是2.4.0的,它需要typing-extensions是3.7.4的
解决办法:卸载掉tensorflow(不影响后续跑代码),因为我的Cuda版本是11.0,与之对应的tensorflow版本只能是2.4.0,又因为typing-extensions必须得是高版本,只能卸载掉2.4.0的tensorflow了。

pip uninstall tensorflow 

然后就成功运行起来啦:
在这里插入图片描述


总结

欢迎使用OpenGait研究步态识别的伙伴进行交流

opengait是一个开源的人体姿势识别工具,可以帮助用户实现对人体行走姿势的分析和识别。使用opengait的教程如下: 1. 下载和安装opengait软件。用户可以在官方网站上找到opengait的最新版本,并按照指引进行下载和安装。安装完成后,用户可以通过命令行或者图形界面来启动软件。 2. 收集训练数据。在开始使用opengait之前,用户需要准备一些人体行走动作的训练数据,可以是视频或者图片序列。这些数据将用于opengait的模型训练。 3. 运行模型训练。用户可以使用opengait提供的训练工具,将准备好的训练数据输入到模型中进行训练。训练的过程可能会花费一定的时间,取决于训练数据的大小和复杂程度。 4. 检测和识别人体姿势。训练完成后,用户可以使用opengait提供的API或者命令行工具,对新的人体行走动作进行检测和识别。用户可以将视频或者图片输入到opengait中,软件将自动识别出人体的姿势信息,并进行相应的分析和展示。 5. 调整和优化模型。在实际应用中,用户可能需要对模型进行调整和优化,以适应不同的环境和应用场景。opengait提供了丰富的调参工具和示例代码,帮助用户进行模型的优化和改进。 总体来说,opengait是一个功能强大的人体姿势识别工具,用户可以根据自己的需要和实际情况,灵活使用其提供的功能和工具进行人体姿势的分析和识别。
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小菜包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值