Dies ist ein Pytorch -Code für Video (Action) -Klassifizierung mit 3D ResNet, der von diesem Code trainiert wurde.
Das 3D Resnet wird im Kinetik -Datensatz geschult, der 400 Aktionsklassen enthält.
Dieser Code verwendet Videos als Eingänge und Ausgänge Klassennamen und vorhergesagte Klassenbewertungen für jeden 16 Frames im Score -Modus.
Im Funktionsmodus gibt dieser Code Funktionen von 512 DIMs (nach globalem Durchschnittsbad) für jeweils 16 Frames aus.
Die Fackelversion dieses Codes ist hier verfügbar.
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;
Angenommen, die Eingabe -Videodateien befinden sich in ./videos .
--mode score Sie, um die Klassenbewertungen für jeden 16 Frames zu berechnen.
python main.py --input ./input --video_root ./videos --output ./output.json --model ./resnet-34-kinetics.pth --mode score
Um die Klassifizierungsergebnisse zu visualisieren, verwenden Sie generate_result_video/generate_result_video.py .
Verwenden Sie --mode feature Funktion für jeden 16 Frames für jeden 16 Frames.
python main.py --input ./input --video_root ./videos --output ./output.json --model ./resnet-34-kinetics.pth --mode feature
Wenn Sie diesen Code verwenden, geben Sie Folgendes an:
@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},
}