this project implements action recognition algorithm proposed in C3D: Generic Features for Video Analysis with esimator of Tensorflow
c3d is a convolutional neural network classifying sports video clips. it is widely used as an infrastructure of latter action recognition neural networks.
a trained model is provided on baidu cloud at
if you want to train yourself, you need UCF101 dataset. download it and extract the directory. set the root directory in create_dataset.py. then create a tfrecord format dataset with command
python3 create_dataset.py
the program will generate a trainset and a testset tfrecord file.
start the training by exeucting
python3 train_c3d.py
moniter the training process by tensorboard and stop the training when the accuracy reaches 82% which is the best accuracy c3d can reach.
test on single video clip by modifying the video path in ActionRecognition.py and run with
python3 ActionRecognition.py
a readable label will be printed on the video.
run following command to get serving model
python3 convert_model.py