C3D复现配置环境+处理数据集+训练

1.配置环境

由于不想租服务器,于是自己配了pytorch,但是在切帧的时候发现总是报错参数错误,于是去租了服务器,发现Linux环境下运行切帧命令不报错

(1)服务器配置如下

(2) 接着安装一些库,这些库都是来自于这个c3d代码里面的installa说明

 首先此时环境是

 通过ls进去一个文件夹

 在这个文件夹下安装这些库

pip install -U openmim
mim install mmengine
mim install mmcv
mim install mmdet
mim install mmpose

 下载源代码

git clone https://github.com/open-mmlab/mmaction2.git
cd mmaction2
pip install -v -e .
# "-v" means verbose, or more output
# "-e" means installing a project in editable mode,
# thus any local modifications made to the code will take effect without re-installation.

2.下载数据集

 (1)下载ucf101数据集,通过FileZilla软件将其传入autodl-tmp下新建的user-data文件夹下

 (2)然后在/user-data下创建ucf101文件夹,将UCF-101移入ucf101文件夹中, 将UCF-101改名为videos文件夹。

(3)在/user-data/ucf101/ 文件夹下 创建 annotations 文件夹,然后进入annotations

wget https://www.crcv.ucf.edu/wp-content/uploads/2019/03/UCF101TrainTestSplits-RecognitionTask.zip --no-check-certificate

 然后解压

unzip UCF101TrainTestSplits-RecognitionTask.zip

 接着把解压后的annotations/ucfTrainTestlist文件夹里面的所有文件

 放到annotations下

3.抽取视频帧

(1)首先在进入/autodl-tmp/mmaction2/tools/data下运行这个,可生成视频帧,最后会在/user-data/ucf101/rawframes/下生成视频帧

python build_rawframes.py ../../../user-data/ucf101/videos/ ../../../user-data/ucf101/rawframes/ --task rgb --level 2 --ext avi --use-opencv --new-short 0 --new-width 320 --new-height 240

 (2)生成文件列表

A.首先需要修改路径/autodl-tmp/mmaction2/tools/data下generate_rawframes_filelist.sh和generate_videos_filelist.sh这两个文件,改成如下图格式(因为原代码使用的是软链接,但是我建立软链接之后一直有报错,于是换成了实际路径)

再将 autodl-tmp/mmaction2/tools/data下的parse_file_list.py文件的94到96这三行的data/ucf101/annotations/classInd.txt路径中的data都改为user-data

最后将autodl-tmp/mmaction2/tools/data下的文件下的build_file_list.py文件的71行的data也改为user-data即可

B.进入/autodl-tmp/mmaction2/tools/data/ucf101下

输入 

bash generate_rawframes_filelist.sh
bash generate_videos_filelist.sh

最后可生成文件列表

 4.训练

1. 将软链接的路径进行修改,改为实际路径

将mmaction2/configs/recognition/c3d/c3d_sports1m-pretrained_8xb30-16x1x1-45e_ucf101-rgb.py里面的data换成../user-data即可

dataset_type = 'VideoDataset'
data_root = '../user-data/ucf101/videos'
data_root_val = '../user-data/ucf101/videos'
split = 1  # official train/test splits. valid numbers: 1, 2, 3
ann_file_train = f'../user-data/ucf101/ucf101_train_split_{split}_videos.txt'
ann_file_val = f'../user-data/ucf101/ucf101_val_split_{split}_videos.txt'
ann_file_test = f'../user-data/ucf101/ucf101_val_split_{split}_videos.txt'

2. 在autodl-tmp/mmaction2下使用此命令即可

python tools/train.py configs/recognition/c3d/c3d_sports1m-pretrained_8xb30-16x1x1-45e_ucf101-rgb.py

主要参考第一个博客,中间因为软链接的路径问题,于是修改了一些代码中的路径,加上01【C3D 行为识别】项目下载 环境配置 数据集转化视频帧 UCF101数据集处理_ucf101数据集下载_CV-杨帆的博客-CSDN博客Installation — MMAction2 1.1.0 documentation

open-mmlab/mmaction2: OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark (github.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值