方法出自论文 ECCV2018 " Efficient Convolutional Network for Online Video Understanding"
接口出自https://github.com/mzolfaghari/ECO-pytorch
环境要求
作者:
Python 3.5.2
PyTorch 0.4.1
TorchVison: 0.2.1
我的:
centos系统
Python 3.6.7 Anaconda
PyTorch 1.0.0
TorchVison: 0.2.1
通过命令可以直接安装PyTorch TorchVison,这个需要看不同人的系统和环境配置,可以在pytorch官网找到相应的命令
conda install pytorch torchvision cuda100 -c pytorch
下载源码
git clone https://github.com/mzolfaghari/ECO-pytorch
下载ucf数据集
地址:http://crcv.ucf.edu/data/UCF101/UCF101.rar
将数据集解压后放在ECO-pytorch/dataset/目录下
制作数据集
因为下载下来的数据集是视频avi格式,因此我们需要将每个视频转成图像帧集。作者并没有提供对应的代码,可以自己写一个,或者找到TSN项目中tools目录下的build_of.py,并在此基础上删除生成光流的部分。
利用build_of.py得到新的图像帧的数据集,具体目录如下:
每一个文件夹对应一个视频,文件夹里存放视频的图像帧
然后利用命令生成训练的训练文件
python gen_dataset_lists.py ucf101 ./dataset/ucf101/
在data目录下得到文件
下载预训练模型
作者提供了预训练模型,可以在百度云上下载,下载后无需解压,放在models目录下
训练
通过脚本文件进行训练,需要注意的是,训练前修改相应的文件名和路径
./scripts/run_ECOLite_finetune_UCF101.sh local