【C3D 行为识别】总目录 实战 复现+代码解析+自定义数据集
B站视频:
https://www.bilibili.com/video/BV1cT4y1f73S?spm_id_from=333.999.0.0
一,创建实例
平台:极链AI云平台
创建实例,选一个最便宜的GPU
选择镜像版本
看看详情,再点击创建实例(这里的数据集可以不做选择)
点击Jupyter Lab
Jupyter Lab界面如下:
二,环境的快速搭建
由于我是采用平台的镜像,所以不需要安装pytorch和cuda,如果不是采用平台的,可以参考下面两个链接里的内容
https://blog.csdn.net/weixin_43013761/article/details/113357328
https://gitee.com/YFwinston/mmaction2/blob/master/docs_zh_CN/install.md
进入home文件夹
cd home/
配置环境
![](/qrcode.jpg)
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
pip install mmpycocotools
pip install moviepy opencv-python terminaltables seaborn decord -i https://pypi.douban.com/simple
其中,命令里 url 的 cu111 和 torch1.8.0 变量需由用户进行指定。
下载项目
git clone https://github.com/open-mmlab/mmaction2.git
cd mmaction2
python setup.py develop
三,UCF101数据集处理
3.1 准备视频文件
这里建议通过迅雷进行下载,直接下载速度太慢
下载链接:https://www.crcv.ucf.edu/datasets/human-actions/ucf101/UCF101.rar
下载好了之后,将数据上传到平台的/user-data中,上传通过命令传输
上传成功后:
下一步解压文件夹
unrar x UCF101.rar
如果没有安装unrar,参考这个:linux rar,unrar命令安装
解压后,会生成UCF-101文件,其中部分视频文件如下
然后在/user-data下创建ucf101文件夹,将UCF-101移入ucf101文件夹中,再在ucf101夹中创建videos文件夹。
在/user-data/ucf101/下运行:
mv ./UCF-101 ./videos
3.2 下载标注文件
在/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
3.3 抽取视频帧
首先创建软链接(/user-data下有我们在3.1和3.2创建的ucf101数据集)
进入到目录:/home/mmaction2/
ln -s /user-data data
进入/home/mmaction2/tools/data下
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
3.4 生成文件列表
进入:/home/mmaction2/tools/data/ucf101
输入:
bash generate_rawframes_filelist.sh
bash generate_videos_filelist.sh
最后结构
最后的/user-data/ucf101文件夹应有这些东西
最后的结构
│ ├── 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
四,参考
https://blog.csdn.net/weixin_43013761/article/details/107765771
https://blog.csdn.net/qq_39862223/article/details/108461526
https://gitee.com/YFwinston/mmaction2/tree/master/tools/data/ucf101