/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.

Primary LanguagePythonMIT LicenseMIT

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.

[Arxiv Preprint]

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.

  1. To train the BMN:
python main.py --mode train
  1. 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