BMN: Boundary-Matching Network
A pytorch-version implementation codes of paper: "BMN: Boundary-Matching Network for Temporal Action Proposal Generation", which is accepted in ICCV 2019.
Result
Update(2020-06-19): improved the pefermance. The new model can be download here. 提取码:nk3h
Update(2019-10-17): I update the pytorch BMN codebase according to PaddlePaddle code provided by Baidu officially. Now my codebase get very close results to the paper. Actually my results are slightly higher than the original paper. The model can be download here.
AN | Recall |
---|---|
AR@1 | 33.6% |
AR@5 | 49.9% |
AR@10 | 57.1% |
AR@100 | 75.5% |
AUC | 67.7 |
Prerequisites
These code is implemented in Pytorch 0.4.1 + Python3 .
Download Datasets
The author rescaled the feature length of all videos to same length 100, and he provided the rescaled feature at here .
Training and Testing of BMN
All configurations of BMN are saved in opts.py, where you can modify training and model parameter.
- To train the BMN:
python main.py --mode train
- To get the inference proposal of the validation videos and evaluate the proposals with recall and AUC:
python main.py --mode inference
Of course, you can complete all the process above in one line:
sh bmn.sh
Reference
This implementation largely borrows from BSN by Tianwei Lin.
code:BSN
paper:BMN: Boundary-Matching Network for Temporal Action Proposal Generation