Home

Awesome

This is a fork of Can Zhang's PyTorch implementation for the paper:

" ECO: Efficient Convolutional Network for Online Video Understanding, European Conference on Computer Vision (ECCV), 2018." By Mohammadreza Zolfaghari, Kamaljeet Singh, Thomas Brox

Update

NOTE

Environment:

Clone this repo

git clone https://github.com/mzolfaghari/ECO-pytorch

Generate dataset lists

python gen_dataset_lists.py <ucf101/something> <dataset_frames_root_path>

e.g. python gen_dataset_lists.py something ~/dataset/20bn-something-something-v1/

The dataset should be organized as:<br> <dataset_frames_root_path>/<video_name>/<frame_images>

Training

  1. Download the initialization and trained models:
      ECO-Lite pretrained model on Kinetics: https://drive.google.com/open?id=1XNIq7byciKgrn011jLBggd2g79jKX4uD
      ECO-Full pretrained model on Kinetics: https://drive.google.com/open?id=1ATuN_KctsbFAbcNgWDlETZVsy2vhxZay

Othe models:

      sh models/download_models.sh
  1. Command for training ECO Lite model:
    ./scripts/run_ECOLite_kinetics.sh local
  1. For training C3D network use the following command:
    ./scripts/run_c3dres_kinetics.sh local
  1. For finetuning on UCF101 use the following command:
    sh run_demo_ECO_Lite.sh local 
    or 
    sh run_demo_ECO_Full.sh local

NOTE

    --pretrained_parts scratch

TODO

  1. Trained models on other datasets

Citation

If you use this code or ideas from the paper for your research, please cite our paper:

@inproceedings{ECO_eccv18,
author={Mohammadreza Zolfaghari and
               Kamaljeet Singh and
               Thomas Brox},
title={{ECO:} Efficient Convolutional Network for Online Video Understanding},	       
booktitle={ECCV},
year={2018}
}

Contact

Mohammadreza Zolfaghari, Can Zhang

Questions can also be left as issues in the repository. We will be happy to answer them.