alexanderrichard / NeuralNetwork-Viterbi

MIT License
53 stars 19 forks source link

NeuralNetwork-Viterbi: A Framework for Weakly Supervised Video Learning

Code for the paper NeuralNetwork-Viterbi: A Framework for Weakly Supervised Video Learning

Prepraration:

Requirements: Python3.x with the libraries numpy and pytorch (version > 0.4.1)

Training:

Run python3 train.py

Inference:

Run python3 infernece.py Note: adjust the variable n_threads in inference.py to your needs.

Evaluation:

In the inference step, recognition files are written to the results directory. The frame-level ground truth is available in data/groundTruth. Run python eval.py --recog_dir=results --ground_truth_dir=data/groundTruth to evaluate the frame accuracy of the trained model.

Remarks:

We provide a python/pytorch implementation for easy usage. In the paper, we used a faster in-house C++ implementation, so results can be slightly different. Running the provided setup on split1 of Breakfast should lead to roughly 42% frame accuracy.

If you use the code, please cite

A. Richard, H. Kuehne, A. Iqbal, J. Gall:
NeuralNetwork-Viterbi: A Framework for Weakly Supervised Video Learning
in IEEE Int. Conf. on Computer Vision and Pattern Recognition, 2018