[6d389a]: / configs / localization / ssn / README.md

Download this file

77 lines (52 with data), 5.2 kB

SSN

Abstract

Detecting actions in untrimmed videos is an important yet challenging task. In this paper, we present the structured segment network (SSN), a novel framework which models the temporal structure of each action instance via a structured temporal pyramid. On top of the pyramid, we further introduce a decomposed discriminative model comprising two classifiers, respectively for classifying actions and determining completeness. This allows the framework to effectively distinguish positive proposals from background or incomplete ones, thus leading to both accurate recognition and localization. These components are integrated into a unified network that can be efficiently trained in an end-to-end fashion. Additionally, a simple yet effective temporal action proposal scheme, dubbed temporal actionness grouping (TAG) is devised to generate high quality action proposals. On two challenging benchmarks, THUMOS14 and ActivityNet, our method remarkably outperforms previous state-of-the-art methods, demonstrating superior accuracy and strong adaptivity in handling actions with various temporal structures.

Citation

@InProceedings{Zhao_2017_ICCV,
author = {Zhao, Yue and Xiong, Yuanjun and Wang, Limin and Wu, Zhirong and Tang, Xiaoou and Lin, Dahua},
title = {Temporal Action Detection With Structured Segment Networks},
booktitle = {Proceedings of the IEEE International Conference on Computer Vision (ICCV)},
month = {Oct},
year = {2017}
}

Model Zoo

config gpus backbone pretrain mAP@0.3 mAP@0.4 mAP@0.5 reference mAP@0.3 reference mAP@0.4 reference mAP@0.5 gpu_mem(M) ckpt log json reference ckpt reference json
ssn_r50_450e_thumos14_rgb 8 ResNet50 ImageNet 29.37 22.15 15.69 27.61 21.28 14.57 6352 ckpt log json ckpt json

:::{note}

  1. The gpus indicates the number of gpu we used to get the checkpoint.
    According to the Linear Scaling Rule, you may set the learning rate proportional to the batch size if you use different GPUs or videos per GPU,
    e.g., lr=0.01 for 4 GPUs x 2 video/gpu and lr=0.08 for 16 GPUs x 4 video/gpu.
  2. Since SSN utilizes different structured temporal pyramid pooling methods at training and testing, please refer to ssn_r50_450e_thumos14_rgb_train at training and ssn_r50_450e_thumos14_rgb_test at testing.
  3. We evaluate the action detection performance of SSN, using action proposals of TAG. For more details on data preparation, you can refer to thumos14 TAG proposals in Data Preparation.
  4. The reference SSN in is evaluated with ResNet50 backbone in MMAction, which is the same backbone with ours. Note that the original setting of MMAction SSN uses the BNInception backbone.

:::

Train

You can use the following command to train a model.

python tools/train.py ${CONFIG_FILE} [optional arguments]

Example: train SSN model on thumos14 dataset.

python tools/train.py configs/localization/ssn/ssn_r50_450e_thumos14_rgb_train.py

For more details and optional arguments infos, you can refer to Training setting part in getting_started.

Test

You can use the following command to test a model.

python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [optional arguments]

Example: test BMN on ActivityNet feature dataset.

# Note: If evaluated, then please make sure the annotation file for test data contains groundtruth.
python tools/test.py configs/localization/ssn/ssn_r50_450e_thumos14_rgb_test.py checkpoints/SOME_CHECKPOINT.pth --eval mAP

For more details and optional arguments infos, you can refer to Test a dataset part in getting_started.