赞
踩
mmaction2是比较方便的开源框架,底下集成了非常多的模型。为实现视频行为识别,常见的模型是slowfast,而mmaction2正好涵盖这个模型。本文将介绍如何一步步实现mmaction2环境的搭建,并且用slowfast模型运行Demo。
主机运行环境:
Ubuntu22
RTX3060 1张
i5 处理器
本文将展开以下内容:
1、mmaction2环境配置
2、mmdetection环境配置
3、slowfast模型运行Demo
4、MMCV的问题
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')
测试成功则出来以下内容:
要运行时空动作检测模型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)
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的源文件。
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网络无响应的处理方式、版本匹配性问题等。不过,按我的教程一步步操作应该就无问题了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。