mmaction2——tools文件夹下
build_rawframes.py
- 用法示例
python tools/data/build_rawframes.py data/videos data/frames --task rgb --level 2 --ext mp4 --use-opencv --num-worker 8
总结:
-
只需要 RGB 帧,推荐 --use-opencv,简单高效,无需额外依赖。
-
需要光流(flow)或同时提取 RGB+光流,需安装 denseflow,不用 --use-opencv。
注意: -
–use-opencv 只支持 RGB 帧提取,不支持光流。
-
denseflow 支持光流和 RGB,但需额外安装和配置。
命令行参数表
参数名 | 类型 | 默认值 | 说明 |
---|---|---|---|
src_dir | str | 必填 | 源视频目录 |
out_dir | str | 必填 | 输出帧目录 |
–task | str | flow | 提取类型:rgb / flow / both |
–level | int | 2 | 数据目录层级(1或2) |
–num-worker | int | 8 | 并行进程数 |
–flow-type | str | None | 光流类型:tvl1、warp_tvl1、farn、brox |
–out-format | str | jpg | 输出图片格式:jpg、h5、png |
–ext str | avi | 视频文件扩展名: | avi、mp4、webm |
–mixed-ext | flag | False | 是否处理混合扩展名的视频 |
–new-width | int | 0 | 输出图片宽度 |
–new-height | int | 0 | 输出图片高度(0为不变) |
–new-short | int | 0 | 输出图片短边长度(保持比例,0为不变) |
–num-gpu | int | 8 | GPU数量(仅光流提取时用到) |
–resume | flag | False | 是否断点续提取 |
–use-opencv | flag | False | 是否用 OpenCV 提取 RGB 帧 |
–input-frames | flag | False | 是否基于已提取的 RGB 帧再提取光流 |
–report-file | str | build_report.txt | 记录已处理文件的报告文件名 |
build_file_list.py
python build_file_list.py ucf101 /path/to/videos \--rgb-prefix img_ \--level 2 \--format rawframes \--output-format json
命令行参数表
参数名 | 类型 | 默认值 | 可选值 | 说明 |
---|---|---|---|---|
dataset | str | 必需参数 | ucf101, kinetics400/600/700, thumos14, sthv1, sthv2, mit, mmit, activitynet, hmdb51, jester, diving48 | 要处理的数据集名称 |
src_folder | str | 必需参数 | - | 帧或视频的根目录路径 |
–rgb-prefix | str | img_ | - | RGB帧的前缀 |
–flow-x-prefix | str | flow_x_ | - | 光流x方向的前缀 |
–flow-y-prefix | str | flow_y_ | - | 光流y方向的前缀 |
–num-split | int | 3 | - | 文件列表的划分数量 |
–subset | str | train | train, val, test | 生成哪个子集的文件列表 |
–level | int | 2 | 1, 2 | 数据目录的层级 |
–format | str | rawframes | rawframes, videos | 数据格式 |
–out-root-path | str | data/ | - | 输出的根路径 |
–output-format | str | txt | txt, json | 输出文件格式 |
–seed | int | None | - | 随机种子 |
–shuffle | bool | False | - | 是否打乱文件列表 |