MMAction2学习笔记 使用C3D训练测试自己的数据集

新手上路,记录一下自己的学习过程,希望也能对你有所帮助。

1.数据集准备


参考官网给出的数据集准备教程 

https://github.com/open-mmlab/mmaction2/blob/master/docs/data_preparation.md

参考ucf101准备数据集

mmaction2/toos/data/ucf101


1.1 准备视频数据

cd mmaction2/data

mkdir sketch(自己数据集的名称,我的是sketch)

cd sketch

视频数据目录结构:

data/
--sketch/
----videos/
------class1/
--------class1_1.mp4
--------class1_2.mp4
--------class1_3.mp4
....................


1.2 准备 annotations文件

(1)classInd.txt

改为自己的动作类别

1 backward
2 circle
3 draw
4 jump
5 rectangle
6 run
7 triangle
8 turnleft
9 turnright

(2)trainlist.txt和testlist.txt

自己编写代码划分训练集数据集

文件内容格式如下:类别名文件夹/视频

backward/backward_1.mp4
backward/backward_2.mp4
backward/backward_3.mp4
backward/backward_4.mp4
backward/backward_5.mp4
backward/backward_6.mp4
backward/backward_7.mp4
backward/backward_8.mp4
backward/backward_9.mp4
backward/backward_10.mp4
…………………………………………………………

我的数据集划分比较简单(难的也不会写),1-105是训练集,106-150是测试集

file = open('trainlist.txt', mode='w')
for i in range(1,106):
  x = str(i)
  file.write('backward/backward_' + x + '.mp4\n')

1.3 提取视频帧

cd mmaction2/tools/data/ucf101

选用opencv裁剪视频帧

复制extract_rgb_frames_opencv.sh文件,粘贴改名为自己的myextract_rgb_frames_opencv.sh(随意,直接在原文件里修改也可以)

再修改其中的相关路径

因为opencv是按视频原尺寸裁剪,训练测试需要统一尺寸,所以添加参数--new-width 320 --new-height 240,否则后续训练测试可能会出现尺寸问题。我使用ucf101数据集训练就遇到这个问题。

python build_rawframes.py ../../data/sketch/videos/ ../../data/sketch/rawframes/ --task rgb --level 2 --ext mp4 --new-width 320 --new-height 240 --use-opencv

 执行文件bash myextract_rgb_frames_opencv.sh


1.4 生成list文件

同上,复制generate_rawframes_filelist.sh文件,改名mygenerate_rawframes_filelist.sh,修改路径。

1.4.1 修改build_file_list.py文件

tools/data/build_file_list.py,这里有些需要修改的地方。

(1)添加自己数据集的内容parse_sketch_splits,

from tools.data.parse_file_list import (parse_directory, parse_diving48_splits,parse_sketch_splits,
                                        parse_hmdb51_split,
                                        parse_jester_splits,
                                        parse_kinetics_splits,
                                        parse_mit_splits, parse_mmit_splits,
                                        parse_sthv1_splits, parse_sthv2_splits,
                                        parse_ucf101_splits)

(2)choices添加数据集名sketch

    
  • 12
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 29
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值