Il s'agit d'un code pytorch pour la classification vidéo (Action) à l'aide de Resnet 3D formé par ce code.
Le Resnet 3D est formé sur l'ensemble de données de cinétique, qui comprend 400 classes d'action.
Ce code utilise des vidéos comme entrées et sorties des noms de classe et des scores de classe prévus pour chaque 16 trames en mode score.
En mode fonctionnalité, ce code présente des fonctionnalités de 512 DIMS (après la mise en commun moyenne globale) pour chaque 16 images.
La version Torch (LUA) de ce code est disponible ici.
conda install pytorch torchvision cuda80 -c soumith
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;
Supposons que les fichiers vidéo d'entrée se trouvent dans ./videos .
Pour calculer les scores de classe pour chaque 16 images, utilisez --mode score .
python main.py --input ./input --video_root ./videos --output ./output.json --model ./resnet-34-kinetics.pth --mode score
Pour visualiser les résultats de la classification, utilisez generate_result_video/generate_result_video.py .
Pour calculer les fonctionnalités vidéo pour chaque 16 images, utilisez --mode feature .
python main.py --input ./input --video_root ./videos --output ./output.json --model ./resnet-34-kinetics.pth --mode feature
Si vous utilisez ce code, veuillez citer ce qui suit:
@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},
}