All Projects → noureldien → Timeception

noureldien / Timeception

Licence: gpl-3.0
Timeception for Complex Action Recognition, CVPR 2019 (Oral Presentation)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Timeception

Step
STEP: Spatio-Temporal Progressive Learning for Video Action Detection. CVPR'19 (Oral)
Stars: ✭ 196 (+28.1%)
Mutual labels:  action-recognition, activity-recognition
Robust-Deep-Learning-Pipeline
Deep Convolutional Bidirectional LSTM for Complex Activity Recognition with Missing Data. Human Activity Recognition Challenge. Springer SIST (2020)
Stars: ✭ 20 (-86.93%)
Mutual labels:  activity-recognition, action-recognition
Motion Sense
MotionSense Dataset for Human Activity and Attribute Recognition ( time-series data generated by smartphone's sensors: accelerometer and gyroscope)
Stars: ✭ 159 (+3.92%)
Mutual labels:  convolutional-neural-networks, activity-recognition
Dynamic Image Nets
Dynamic Image Networks for Action Recognition
Stars: ✭ 163 (+6.54%)
Mutual labels:  convolutional-neural-networks, action-recognition
Hake Action Torch
HAKE-Action in PyTorch
Stars: ✭ 74 (-51.63%)
Mutual labels:  action-recognition, activity-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 (+12.42%)
Mutual labels:  action-recognition, activity-recognition
Squeeze-and-Recursion-Temporal-Gates
Code for : [Pattern Recognit. Lett. 2021] "Learn to cycle: Time-consistent feature discovery for action recognition" and [IJCNN 2021] "Multi-Temporal Convolutions for Human Action Recognition in Videos".
Stars: ✭ 62 (-59.48%)
Mutual labels:  activity-recognition, action-recognition
C3d Keras
C3D for Keras + TensorFlow
Stars: ✭ 171 (+11.76%)
Mutual labels:  action-recognition, activity-recognition
Hake Action
As a part of the HAKE project, includes the reproduced SOTA models and the corresponding HAKE-enhanced versions (CVPR2020).
Stars: ✭ 72 (-52.94%)
Mutual labels:  action-recognition, activity-recognition
Activity Recognition With Cnn And Rnn
Temporal Segments LSTM and Temporal-Inception for Activity Recognition
Stars: ✭ 415 (+171.24%)
Mutual labels:  convolutional-neural-networks, activity-recognition
Awesome Action Recognition
A curated list of action recognition and related area resources
Stars: ✭ 3,202 (+1992.81%)
Mutual labels:  action-recognition, activity-recognition
Hake
HAKE: Human Activity Knowledge Engine (CVPR'18/19/20, NeurIPS'20)
Stars: ✭ 132 (-13.73%)
Mutual labels:  action-recognition, activity-recognition
M Pact
A one stop shop for all of your activity recognition needs.
Stars: ✭ 85 (-44.44%)
Mutual labels:  action-recognition, activity-recognition
Awesome Activity Prediction
Paper list of activity prediction and related area
Stars: ✭ 147 (-3.92%)
Mutual labels:  action-recognition, activity-recognition
Livianet
This repository contains the code of LiviaNET, a 3D fully convolutional neural network that was employed in our work: "3D fully convolutional networks for subcortical segmentation in MRI: A large-scale study"
Stars: ✭ 143 (-6.54%)
Mutual labels:  convolutional-neural-networks
Models Comparison.pytorch
Code for the paper Benchmark Analysis of Representative Deep Neural Network Architectures
Stars: ✭ 148 (-3.27%)
Mutual labels:  convolutional-neural-networks
Shainet
SHAInet - a pure Crystal machine learning library
Stars: ✭ 143 (-6.54%)
Mutual labels:  convolutional-neural-networks
Attribute Aware Attention
[ACM MM 2018] Attribute-Aware Attention Model for Fine-grained Representation Learning
Stars: ✭ 143 (-6.54%)
Mutual labels:  convolutional-neural-networks
Deepvideodeblurring
S. Su, M. Delbracio, J. Wang, G. Sapiro, W. Heidrich, O. Wang. Deep Video Deblurring. CVPR 2017, Spotlight
Stars: ✭ 151 (-1.31%)
Mutual labels:  convolutional-neural-networks
Turkce Yapay Zeka Kaynaklari
Türkiye'de yapılan derin öğrenme (deep learning) ve makine öğrenmesi (machine learning) çalışmalarının derlendiği sayfa.
Stars: ✭ 1,900 (+1141.83%)
Mutual labels:  convolutional-neural-networks

Timeception for Complex Action Recognition

Keras Keras Keras

This code repository is the implementation for the paper Timeception for Complex Action Recognition. We provide the implementation for 3 different libraries: keras, tensorflow and pytorch.

Timeception for Complex Action Recognition

Citation

Please consider citing this work using this BibTeX entry

@inproceedings{hussein2018timeception,
  title     = {Timeception for Complex Action Recognition},
  author    = {Hussein, Noureldien and Gavves, Efstratios and Smeulders, Arnold WM},
  booktitle = {CVPR},
  year      = {2019}
}

How to Use?

Keras

Using keras, we can define timeception as a sub-model. Then we use it along with another model definition. For example, here we define 4 timeception layers followed by a dense layer for classification.

from keras import Model
from keras.layers import Input, Dense
from nets.layers_keras import MaxLayer
from nets.timeception import Timeception

# define the timeception layers
timeception = Timeception(1024, n_layers=4)

# define network for classification
input = Input(shape=(128, 7, 7, 1024))
tensor = timeception(input)
tensor = MaxLayer(axis=(1, 2, 3))(tensor)
output = Dense(100, activation='softmax')(tensor)
model = Model(inputs=input, outputs=output)
model.summary()

This results in the model defined as:

Layer (type)  Output Shape              Param #   
================================================
(InputLayer)  (None, 128, 7, 7, 1024)   0         
(Timeception) (None, 8, 7, 7, 2480)     1494304   
(MaxLayer)    (None, 2480)              0         
(Dense)       (None, 100)               248100    
================================================
Total params: 1,742,404
Tensorflow

Using tensorflow, we can define timeception as a list of nodes in the computational graph. Then we use it along with another model definition. For example, here a functions defines 4 timeception layers. It takes the input tensor, feedforward it to the timeception layers and return the output tensor output.

import tensorflow as tf
from nets import timeception

# define input tensor
input = tf.placeholder(tf.float32, shape=(None, 128, 7, 7, 1024))

# feedforward the input to the timeception layers
tensor = timeception.timeception_layers(input, n_layers=4)

# the output is (?, 8, 7, 7, 2480)
print (tensor.get_shape())
PyTorch

Using pytorch, we can define timeception as a module. Then we use it along with another model definition. For example, here we define 4 timeception layers followed by a dense layer for classification..

import numpy as np
import torch as T
from nets import timeception_pytorch

# define input tensor
input = T.tensor(np.zeros((32, 1024, 128, 7, 7)), dtype=T.float32)

# define 4 layers of timeception
module = timeception_pytorch.Timeception(input.size(), n_layers=4)

# feedforward the input to the timeception layers 
tensor = module(input)

# the output is (32, 2480, 8, 7, 7)
print (tensor.size())

Installation

We use python 2.7.15, provided by Anaconda 4.6.2, and we depend on the following python packages.

  • Keras 2.2.4
  • Tensorflow 1.10.1
  • PyTorch 1.0.1

Training

Testing

Fine-tuning

Pretrained Models

Charades

We will add all pretrained models for Charades by the end of April. For testing, start with the script ./scripts/test_charades_timeception.sh. In order to change which baseline is uses for testing, set the -- config-file using on of the following options.

2D-ResNet-152

Timeception on top of 2D-ResNet-152 as backnone.

Config File Backbone TC Layers Frames mAP (%) Model
charades_r2d_tc3_f32.yaml R2D 3 32 30.37 Link
charades_r2d_tc3_f64.yaml R2D 3 64 31.25 Link
charades_r2d_tc4_f128.yaml R2D 4 128 31.82 Link
I3D

Timeception on top of ResNet-152 as backnone.

Config File Backbone TC Layers Frames mAP (%) Model
charades_i3d_tc3_f256.yaml I3D 3 256 33.89 Link
charades_i3d_tc3_f512.yaml I3D 3 512 35.46 Link
charades_i3d_tc4_f1024.yaml I3D 4 1024 37.20 Link
3D-ResNet-100

Timeception on top of 3D-ResNet-100 as backnone.

Config File Backbone TC Layers Frames mAP (%) Model
charades_r3d_tc4_f1024.yaml R3D 4 1024 41.1 Link

Kinetics 400

We will add all pretrained models for Kinetics 400 by the end of June.

License

The code and the models in this repo are released under the GNU 3.0 LICENSE.

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].