mmaction2实现slowfast DEMO的流程V1.0

前言

mmaction2是比较方便的开源框架,底下集成了非常多的模型。为实现视频行为识别,常见的模型是slowfast,而mmaction2正好涵盖这个模型。本文将介绍如何一步步实现mmaction2环境的搭建,并且用slowfast模型运行Demo。
主机运行环境:
Ubuntu22
RTX3060 1张
i5 处理器

本文将展开以下内容:
1、mmaction2环境配置
2、mmdetection环境配置
3、slowfast模型运行Demo
4、MMCV的问题

1.mmaction2环境配置

conda create -n open-mmlab202308 python=3.9 
conda activate open-mmlab202308
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip3 install openmim -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
cd mmaction2
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install -v -e .  

以上采用与显卡驱动CUDA相匹配的pytorch版本,我安装了CUDA 11.8。

测试案例:

import torch
from mmaction.apis import init_recognizer, inference_recognizer
config_file = '/home/jack/mmaction2/configs/recognition/tsn/tsn_r50_video_inference_1x1x3_100e_kinetics400_rgb.py'
device = 'cuda:0' # 或 'cpu'
device = torch.device(device)
model = init_recognizer(config_file, device=device)
#进行演示视频的推理
inference_recognizer(model, 'demo/demo.mp4')

测试成功则出来以下内容:
在这里插入图片描述

2.mmdetection环境配置

要运行时空动作检测模型slowfast,需要安装mmdet。

pip install -U openmim
mim install mmengine
cd /home/jack/mmdetection-v2.28.2
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
python setup.py develop

(如果上一步报关于mmtrack的错误,是网络原因,pip install git+https://github.com/open-mmlab/mmtracking#egg=mmtrack) @https://gitee.com/JackCai3000/mmtracking.git 码云替代
(如果上一步报关于error: Microsoft Visual C++ 14.0 or greater is required,默认安装VisualCppBuildToolsFull.exe)

3.slowfast模型运行Demo

python demo/demo_spatiotemporal_det.py --video demo/demo.mp4 --config configs/detection/ava/slowfast_temporal_max_focal_alpha3_gamma1_kinetics_pretrained_r50_8x8x1_cosine_10e_ava22_rgb.py --checkpoint checkpoints/slowfast_temporal_max_focal_alpha3_gamma1_kinetics_pretrained_r50_8x8x1_cosine_10e_ava22_rgb-345618cd.pth --det-config demo/faster_rcnn_r50_fpn_2x_coco.py --det-score-thr 0.9 --action-score-thr 0.5 --label-map tools/data/ava/label_map.txt --predict-stepsize 8 --output-stepsize 4 --output-fps 6 --out-filename demo/1.mp4

以上个别参数不输入,则会采用默认值,具体要参看demo_spatiotemporal_det.py的源文件。
运行结果

4.MMCV的问题

MMCV是非常令人头疼的问题、MMaction2复现过程经常出现相关错误代码。出现这个问题的主要原因为MMaction2、MMdetection、MMtraking版本问题,需要基于最新MMaction所支持的MMCV版本,去下载MMdetection、MMtraking。
下图为查询MMaction MMCV版本的方法。类似的MMdetection、mmtraking都可以从__init__.py中查询到所支持的MMCV的版本。MMCV不是越新越好,目前的MMaction2最多也才支持到MMCV1.8.0。而最新版本MMdetection要求MMCV>2.0.0,即需要下载点击左上角进行版本选择老版本,例如mmdetection-v2.28.2进行下载到本地,到本地再进行环境安装。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
mmcv安装过程,出现Building wheel for mmcv后,这个状态需要等待非常长时间,大约20min,需要点耐心,别以为电脑坏了。

总结

这些环境搭建过程对于小白来说比较困难。需要提前掌握python的语言基础、了解终端的conda命令、GitHub网络无响应的处理方式、版本匹配性问题等。不过,按我的教程一步步操作应该就无问题了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值