TensorFlow Implementation of "Learnable Pooling Methods for Video Classification".
The repository is based on the starter code provided by Google AI. It contains a code for training and evaluating models for YouTube-8M dataset. The detailed table of contents and descriptions can be found at original repository.
The repository contains models from team "Deep Topology". Our approach was accepted in ECCV - The 2nd Workshop on YouTube-8M Large-Scale Video Understanding. The presentation is accessible in ECCV Workshop page.
Presentation: TBA
Paper: Link, Arxiv
In frame_level_models.py, prototype 1, 2 and 3 refer to sections 3.1, 3.2 and 3.2 in the paper. The detailed instructions instructions to train and evaluate the model can be found at YT8M repository. The following is the example training command to reproduce the result.
python train.py --train_data_pattern="<path to train .tfrecord>" --model=NetVladV1 --train_dir="<path for model checkpoints>" --frame_features=True --feature_names="rgb,audio" --feature_sizes="1024,128" --batch_size=80 --base_learning_rate=0.0002 --netvlad_cluster_size=256 --netvlad_hidden_size=512 --iterations=256 --learning_rate_decay=0.85
python train.py --train_data_pattern="<path to train .tfrecord>" --model=NetVladV2 --train_dir="<path for model checkpoints>" --frame_features=True --feature_names="rgb,audio" --feature_sizes="1024,128" --batch_size=80 --base_learning_rate=0.0002 --netvlad_cluster_size=256 --netvlad_hidden_size=512 --iterations=256 --learning_rate_decay=0.85
TBD
If you find our apporaches useful, please cite our paper.
@article{kmiec2018learnable,
title={Learnable Pooling Methods for Video Classification},
author={Kmiec, Sebastian and Bae, Juhan and An, Ruijian},
journal={arXiv preprint arXiv:1810.00530},
year={2018}
}