2019.11.08: Our ensemble DBG ranks No.1 on ActivityNet
Introduction
In this repo, we propose a novel and unified action detection framework, named DBG, with superior performance over the state-of-the-art action detectors BSN and BMN. You can use the code to evaluate our DBG for action proposal generation or action detection. For more details, please refer to our paper Fast Learning of Temporal Action Proposal via Dense Boundary Generator!
This paper introduces a novel and unified temporal action proposal generator named Dense Boundary Generator (DBG). In this work, we propose dual stream BaseNet to generate two different level and more discriminative features. We then adopt a temporal boundary classification module to predict precise temporal boundaries, and an action-aware completeness regression module to provide reliable action completeness confidence.
ActivityNet1.3 Results
THUMOS14 Results
Qualitative Results
Prerequisites
Tensorflow == 1.9.0 or PyTorch == 1.1
Python == 3.6
NVIDIA GPU == Tesla P40
Linux CUDA 9.0 CuDNN
gcc 5
Getting Started
Installation
Clone the github repository. We will call the cloned directory as $DBG_ROOT.
cd $DBG_ROOT
Firstly, you should compile our proposal feature generation layers.
Please compile according to the framework you need.
Prepare ActivityNet 1.3 dataset. You can use official ActivityNet downloader to download videos from the YouTube. Some videos have been deleted from YouTube,and you can also ask for the whole dataset by email.
Extract visual feature, we adopt TSN model pretrained on the training set of ActivityNet, Please refer this repo TSN-yjxiong to extract frames and optical flow and refer this repo anet2016-cuhk to find pretrained TSN model.
For convenience of training and testing, we rescale the feature length of all videos to same length 100, and we provide the 19993 rescaled feature at here Google Cloud or 微云.
Then put the features to data/tsn_anet200 directory.
For generating the video features, scripts in ./tools will help you to start from scrach.
Testing of DBG
If you don’t want to train the model, you can run the testing code directly using the pretrained model.
Pretrained model is included in output/pretrained_model and set parameters on config/config_pretrained.yaml.
Please check the feat_dir in config/config_pretrained.yaml and use scripts to run DBG.
# TensorFlow version (AUC result = 68.37%):
python tensorflow/test.py config/config_pretrained.yaml
python post_processing.py output/result/ results/result_proposals.json
python eval.py results/result_proposals.json
# PyTorch version (AUC result = 68.26%):
python pytorch/test.py config/config_pretrained.yaml
python post_processing.py output/result/ results/result_proposals.json
python eval.py results/result_proposals.json
Training of DBG
We also provide training code of tensorflow and pytorch version. Please check the feat_dir in config/config.yaml and follow these steps to train your model:
Update
Introduction
In this repo, we propose a novel and unified action detection framework, named DBG, with superior performance over the state-of-the-art action detectors BSN and BMN. You can use the code to evaluate our DBG for action proposal generation or action detection. For more details, please refer to our paper Fast Learning of Temporal Action Proposal via Dense Boundary Generator!
Contents
Paper Introduction
This paper introduces a novel and unified temporal action proposal generator named Dense Boundary Generator (DBG). In this work, we propose dual stream BaseNet to generate two different level and more discriminative features. We then adopt a temporal boundary classification module to predict precise temporal boundaries, and an action-aware completeness regression module to provide reliable action completeness confidence.
ActivityNet1.3 Results
THUMOS14 Results
Qualitative Results
Prerequisites
Getting Started
Installation
Clone the github repository. We will call the cloned directory as
$DBG_ROOT.Firstly, you should compile our proposal feature generation layers.
Please compile according to the framework you need.
Compile tensorflow-version proposal feature generation layers:
Compile pytorch-version proposal feature generation layers:
Download Datasets
Prepare ActivityNet 1.3 dataset. You can use official ActivityNet downloader to download videos from the YouTube. Some videos have been deleted from YouTube,and you can also ask for the whole dataset by email.
Extract visual feature, we adopt TSN model pretrained on the training set of ActivityNet, Please refer this repo TSN-yjxiong to extract frames and optical flow and refer this repo anet2016-cuhk to find pretrained TSN model.
For convenience of training and testing, we rescale the feature length of all videos to same length 100, and we provide the 19993 rescaled feature at here Google Cloud or 微云. Then put the features to
data/tsn_anet200directory.For generating the video features, scripts in
./toolswill help you to start from scrach.Testing of DBG
If you don’t want to train the model, you can run the testing code directly using the pretrained model.
Pretrained model is included in
output/pretrained_modeland set parameters onconfig/config_pretrained.yaml. Please check thefeat_dirinconfig/config_pretrained.yamland use scripts to run DBG.Training of DBG
We also provide training code of tensorflow and pytorch version. Please check the
feat_dirinconfig/config.yamland follow these steps to train your model:1. Training
2. Testing
3. Postprocessing
4. Evaluation
Citation
If you find DBG useful in your research, please consider citing:
Contact
For any question, please file an issue or contact