ITADN
kenshohara/video-classification-3d-cnn-pytorch
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

基于 3D ResNet 的视频分类

这是一段用于视频(动作)分类的 PyTorch 代码,它借助 此代码] 训练了 3D ResNet 模型。 该 3D ResNet 是在包含 400 个动作类别的 Kinetics 数据集上训练的。 此代码以视频作为输入,在评分模式下为每 16 帧输出类别名称及预测的类别得分;在特征模式下,则为每 16 帧输出经过全局平均池化处理后的 512 维特征。

该代码的 Torch(Lua)版本可 在此处] 获取。

需求条件

conda install pytorch torchvision cuda80 -c soumith
  • FFmpeg、FFprobe
wget http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz
tar xvf ffmpeg-release-64bit-static.tar.xz
cd ./ffmpeg-3.3.3-64bit-static/; sudo cp ffmpeg ffprobe /usr/local/bin;
  • Python 3

准备工作

  • 下载此代码。
  • 下载 预训练模型]。
    • 在我们的实验中,ResNeXt-101 的性能最佳。(详情请参阅 相关论文]。)

使用方法

假设输入视频文件位于 ./videos 中。 若要为每 16 帧计算类别得分,请使用 --mode score

python main.py --input ./input --video_root ./videos --output ./output.json --model ./resnet-34-kinetics.pth --mode score

若要可视化分类结果,请使用 generate_result_video/generate_result_video.py

若要为每 16 帧计算视频特征,请使用 --mode feature

python main.py --input ./input --video_root ./videos --output ./output.json --model ./resnet-34-kinetics.pth --mode feature

引用说明

如需使用此代码,请引用以下内容:

@article{hara3dcnns,
  author={Kensho Hara and Hirokatsu Kataoka and Yutaka Satoh},
  title={Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet?},
  journal={arXiv preprint},
  volume={arXiv:1711.09577},
  year={2017},
}