All Projects → kevin-ssy → Optical Flow Guided Feature

kevin-ssy / Optical Flow Guided Feature

Licence: mit
Implementation Code of the paper Optical Flow Guided Feature, CVPR 2018

Projects that are alternatives of or similar to Optical Flow Guided Feature

Epic Kitchens 55 Annotations
🍴 Annotations for the EPIC KITCHENS-55 Dataset.
Stars: ✭ 120 (-35.48%)
Mutual labels:  action-recognition
Awesome Activity Prediction
Paper list of activity prediction and related area
Stars: ✭ 147 (-20.97%)
Mutual labels:  action-recognition
Video Caffe
Video-friendly caffe -- comes with the most recent version of Caffe (as of Jan 2019), a video reader, 3D(ND) pooling layer, and an example training script for C3D network and UCF-101 data
Stars: ✭ 172 (-7.53%)
Mutual labels:  action-recognition
I3d finetune
TensorFlow code for finetuning I3D model on UCF101.
Stars: ✭ 128 (-31.18%)
Mutual labels:  action-recognition
Actionrecognition
Explore Action Recognition
Stars: ✭ 139 (-25.27%)
Mutual labels:  action-recognition
Timeception
Timeception for Complex Action Recognition, CVPR 2019 (Oral Presentation)
Stars: ✭ 153 (-17.74%)
Mutual labels:  action-recognition
Modelfeast
Pytorch model zoo for human, include all kinds of 2D CNN, 3D CNN, and CRNN
Stars: ✭ 116 (-37.63%)
Mutual labels:  action-recognition
Hidden Two Stream
Caffe implementation for "Hidden Two-Stream Convolutional Networks for Action Recognition"
Stars: ✭ 179 (-3.76%)
Mutual labels:  action-recognition
Hoi Learning List
A list of the Human-Object Interaction Learning studies.
Stars: ✭ 145 (-22.04%)
Mutual labels:  action-recognition
C3d Keras
C3D for Keras + TensorFlow
Stars: ✭ 171 (-8.06%)
Mutual labels:  action-recognition
Mmaction
An open-source toolbox for action understanding based on PyTorch
Stars: ✭ 1,711 (+819.89%)
Mutual labels:  action-recognition
Hake
HAKE: Human Activity Knowledge Engine (CVPR'18/19/20, NeurIPS'20)
Stars: ✭ 132 (-29.03%)
Mutual labels:  action-recognition
Dd Net
A lightweight network for body/hand action recognition
Stars: ✭ 161 (-13.44%)
Mutual labels:  action-recognition
Skeleton Based Action Recognition Papers And Notes
Skeleton-based Action Recognition Papers and Small Notes and Top 2 Leaderboard for NTU-RGBD
Stars: ✭ 126 (-32.26%)
Mutual labels:  action-recognition
Hand pose action
Dataset and code for the paper "First-Person Hand Action Benchmark with RGB-D Videos and 3D Hand Pose Annotations", CVPR 2018.
Stars: ✭ 173 (-6.99%)
Mutual labels:  action-recognition
Keras Kinetics I3d
keras implementation of inflated 3d from Quo Vardis paper + weights
Stars: ✭ 116 (-37.63%)
Mutual labels:  action-recognition
Untrimmednet
Weakly Supervised Action Recognition and Detection
Stars: ✭ 152 (-18.28%)
Mutual labels:  action-recognition
Amass
Data preparation and loader for AMASS
Stars: ✭ 180 (-3.23%)
Mutual labels:  action-recognition
Vip
Video Platform for Action Recognition and Object Detection in Pytorch
Stars: ✭ 175 (-5.91%)
Mutual labels:  action-recognition
Dynamic Image Nets
Dynamic Image Networks for Action Recognition
Stars: ✭ 163 (-12.37%)
Mutual labels:  action-recognition

Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recognition

This repo holds the implementation code of the paper:

Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recognition, Shuyang Sun, Zhanghui Kuang, Lu Sheng, Wanli Ouyang, Wei Zhang, CVPR 2018.

Prerequisites

  • OpenCV 2.4.12
  • OpenMPI 1.8.5 (enable-thread-multiple when install)
  • CUDA 7.5
  • CUDNN 5
  • Caffe Dependencies

Data Preparation

You may refer to the document of the project TSN to have the data of UCF-101 and HMDB-51 prepared.

How to Build

For training use, first modify the file make_train.sh with your own lib path filled in. Simply run sh make_train.sh, the script will automatically build the caffe for you.

For testing, you can simply run make pycaffe to make all stuff well prepared.

Training

You need to make two folders before you launch your training. The one is logs under the root of this project, and the other is the model under the folder models/DATASET/METHOD/SPLIT/. For instance, if you want to train RGB_OFF on the dataset UCF101 split 1, then your model directory should be made under the path models/ucf101/RGB_OFF/1/.

The network structure for training is defined in train.prototxt, and the hyperparameters are defined in solver.prototxt. For detailed training strategies and observations not included in the paper, please refer to our training recipes.

Testing

You need to create another directory proto_splits under the same folder of model. Our test code use pycaffe to call the functions defined in C++, therefore, we need to write some temporary files for synchronization. Remember to clean the temporary files everytime you launch a new test. Run the script test.sh with your METHOD, MODEL_NAME, SPLIT and NUM_GPU specified.

The deploy_tpl.prototxt defines the network for reference. To transfer your network defined in train.prototxt into deploy_tpl.prototxt, you may need to copy all the layers except the data layer and layers after each fully connected layer. As there are dynamic parameters defined in the deploy_tpl.prototxt, e.g. $SOURCE $OVERSAMPLE_ID_PATH, the format of the deploy_tpl.prototxt is a little bit different to the normal prototxt file.

After testing, an aggregation operation is needed to fuse the scores from different sources. The script ensemble_test.sh may help you to aggregate results with manually searched weights (though inelegant:(......). You can find those weights settings among the comments of the script ensemble_test.sh.

Results

Due to the unexpected server migration, our original models trained on all 3 splits of UCF101 and HMDB51 were all lost. Therefore, we re-train the models on the first split of UCF101:

RGB OFF(RGB) RGB DIFF OFF(RGB DIFF) FLOW OFF(FLOW) Acc. (Acc. in Paper)
  • [x]
  • [x]
  • [ ]
  • [ ]
  • [ ]
  • [ ]
90.5% (90.0%)
  • [x]
  • [x]
  • [x]
  • [x]
  • [ ]
  • [ ]
93.2% (93.0%)
  • [x]
  • [x]
  • [ ]
  • [ ]
  • [x]
  • [x]
95.3% (95.5%)

Models

Model Name Init Model Reference Model
OFF(RGB) Baidu Pan
Google Drive
Baidu Pan
Google Drive
OFF(RGB DIFF) Baidu Pan
Google Drive
Baidu Pan
Google Drive
OFF(Flow) Baidu Pan
Google Drive
Baidu Pan
Google Drive

Citation

If you find our research useful, please cite the paper:

@InProceedings{Sun_2018_CVPR,
author = {Sun, Shuyang and Kuang, Zhanghui and Sheng, Lu and Ouyang, Wanli and Zhang, Wei},
title = {Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recognition},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2018}
}

License

The codes in this repo are published under the MIT License.

Related Project

Temporal Segment Networks

Contact

You can contact Mr.Shuyang Sun (Please do NOT call me with the title Prof., Dr., or any other kinds of weird prefixes. I'm still a master student....) by sending email to [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].