UCF101数据的相关准备。主要包括UCF101的video文件下载,video文件提取frames,以及生成文件的路径list。
UCF101数据的详细信息可以参考网站UCF101。 为了方便使用,PaddleVideo提供了UCF101数据的annotations文件和videos文件的下载脚本。
首先,请确保在data/ucf101/ 目录下,输入如下UCF101数据集的标注文件的命令。
bash download_annotations.sh
同样需要确保在data/ucf101/ 目录下,输入下述命令下载视频文件
bash download_videos.sh
-
运行该命令需要安装unrar解压工具,可使用pip方式安装。
-
下载完成后视频文件会存储在data/ucf101/videos/ 文件夹下,视频文件大小为6.8G。
为了加速网络的训练过程,我们首先对视频文件(ucf101视频文件为avi格式)提取帧 (frames)。相对于直接通过视频文件进行网络训练的方式,frames的方式能够加快网络训练的速度。
直接输入如下命令,即可提取ucf101视频文件的frames
python extract_rawframes.py ./videos/ ./rawframes/ --level 2 --ext avi
视频文件frames提取完成后,会存储在./rawframes
文件夹下,大小为56G。
生成视频文件的路径list,输入如下命令
python build_ucf101_file_list.py videos/ --level 2 --format videos --out_list_path ./
生成frames文件的路径list,输入如下命令:
python build_ucf101_file_list.py rawframes/ --level 2 --format rawframes --out_list_path ./
参数说明
videos/
或者 rawframes/
: 表示视频或者frames文件的存储路径
--level 2
: 表示文件的存储结构
--format
: 表示是针对视频还是frames生成路径list
--out_list_path
: 表示生成的路径list文件存储位置
├── data
| ├── dataset
| │ ├── ucf101
| │ │ ├── ucf101_{train,val}_split_{1,2,3}_rawframes.txt
| │ │ ├── ucf101_{train,val}_split_{1,2,3}_videos.txt
| │ │ ├── annotations
| │ │ ├── videos
| │ │ │ ├── ApplyEyeMakeup
| │ │ │ │ ├── v_ApplyEyeMakeup_g01_c01.avi
| │ │ │ │ └── ...
| │ │ │ ├── YoYo
| │ │ │ │ ├── v_YoYo_g25_c05.avi
| │ │ │ │ └── ...
| │ │ │ └── ...
| │ │ ├── rawframes
| │ │ │ ├── ApplyEyeMakeup
| │ │ │ │ ├── v_ApplyEyeMakeup_g01_c01
| │ │ │ │ │ ├── img_00001.jpg
| │ │ │ │ │ ├── img_00002.jpg
| │ │ │ │ │ ├── ...
| │ │ │ │ │ ├── flow_x_00001.jpg
| │ │ │ │ │ ├── flow_x_00002.jpg
| │ │ │ │ │ ├── ...
| │ │ │ │ │ ├── flow_y_00001.jpg
| │ │ │ │ │ ├── flow_y_00002.jpg
| │ │ │ ├── ...
| │ │ │ ├── YoYo
| │ │ │ │ ├── v_YoYo_g01_c01
| │ │ │ │ ├── ...
| │ │ │ │ ├── v_YoYo_g25_c05