Official implementation of ACTION-Net: Multipath Excitation for Action Recognition (CVPR'21).

Overview

ACTION-Net

Official implementation of ACTION-Net: Multipath Excitation for Action Recognition (CVPR'21).

Getting Started

  • EgoGesture data folder structure
|-frames
|---Subject01
|------Scene1
|---------Color1
|------------rgb1
|---------------000001.jpg
......
|-labels
|---Subject01
|------Scene1
|---------Group1.csv
......
  • Something-Something V2
|-frames
|---1
|------000001.jpg
|------000002.jpg
|------000003.jpg
......
  • Jester
|-frames
|---1
|------000001.jpg
|------000002.jpg
|------000003.jpg
......

Requirements

Provided in the action.Dockerfile

Annotation files

Annotation files are at this link. Please follow the annotation files to construct the frame path.

Usage

sh train_ego_8f.sh 0,1,2,3 if you use four gpus

Acknowledgment

Our codes are built based on previous repos TSN, TSM and TEA

Pretrained models

Currently, we do not provide the pretrained models since we reconstruct the structure and rename our modules of ACTION for public release. It should be able to get the similar performance indicated in the paper using the codes provided above.

Comments
  • About online inference mode

    About online inference mode

    Can Action-Net run as an online inference version(frame by frame input) like TSM(https://github.com/mit-han-lab/temporal-shift-module/tree/master/online_demo)?

    opened by gd2016229035 4
  • Problems with PKL file generation

    Problems with PKL file generation

    Hi, I'm a newbie. I would like to ask what is the code on the Jester dataset, something-something V2 dataset and generating the training, testing, and validating PKL files?

    opened by kkk241-q 4
  • test accuracy

    test accuracy

    Hi, I have downloaded your jester-resnet pretrained model and jester annotations. I find the lables in test.pkl are all 0. When I run the test_jester_8f.sh, I get top1 =0, top5 = 100 witch mode in test.py is 'test' and use the jester_annotation test.pkl. image

    image

    opened by ZooHam 3
  • How to set the learning rate ?

    How to set the learning rate ?

    Hello, I would like to know what is the basis for your fine-tuning of the learning rate ? The experiment ? Each adjustment of a parameter, an experiment is performed ?

    return [
                {'params': first_conv_weight, 'lr_mult': 1, 'decay_mult': 1, 'name': "first_conv_weight"},
                {'params': first_conv_bias, 'lr_mult': 2, 'decay_mult': 0, 'name': "first_conv_bias"},
                {'params': normal_weight, 'lr_mult': 1, 'decay_mult': 1, 'name': "normal_weight"},
                {'params': normal_bias, 'lr_mult': 2, 'decay_mult': 0, 'name': "normal_bias"},
                {'params': bn, 'lr_mult': 1, 'decay_mult': 0, 'name': "BN scale/shift"},
                {'params': custom_weight, 'lr_mult': 1, 'decay_mult': 1, 'name': "custom_weight"},
                {'params': custom_bn, 'lr_mult': 1, 'decay_mult': 0, 'name': "custom_bn"},
                # for fc
                {'params': lr5_weight, 'lr_mult': 5, 'decay_mult': 1, 'name': "lr5_weight"},
                {'params': lr10_bias, 'lr_mult': 10, 'decay_mult': 0, 'name': "lr10_bias"},
            ]
    

    `

    `

    opened by HuangZuShu 2
  • Question of the paper

    Question of the paper

    Hello! I want to ask a question about the paper.

    捕获

    Do you directly use the result of C3D:Resnext101 in their paper or train the model by yourself?

    Thanks!

    opened by kinfeparty 2
  • hyperparameters of 16 frames training.

    hyperparameters of 16 frames training.

    Hello, I follow your suggestion and this is my hyperparameters of 16 frames training.

    python3 train.py --is_train --is_shift \ --dataset EgoGesture --clip_len 16 \ --shift_div 8 --wd 1e-5 --dropout 0 \ --cuda_id $cuda_id --batch_size 16 --lr_steps 10 15 20 \ --lr 25e-4 --base_model resnet50 --epochs 25

    The val accuracy is quiet lower than 8 frames result,which is 91.7 and 8 frames is 94.4. I really want to reproduce the result of 16 frames in Egogesture. Is there any hyperparameter I need to change?

    opened by kinfeparty 1
  • Question about TSM result

    Question about TSM result

    In Jester dataset, TSM result in Table 1 of your paper is 94.4 (ResNet50 8frame 3crop 10clip), But TSM result in origin paper(Table 1) is 97.0 (ResNet50 8frame full-resolution 2clips ). I test the TSM by myself from the TSM official public code and it can also reach 97.0. How cause this Gap between 94.4 and 97.0?

    opened by gd2016229035 1
  • Can you provide the code for generating pkl-file?

    Can you provide the code for generating pkl-file?

    Thank you very much for providing the source code of this project, I want to use this project to experiment on the Something-Something V1, but the annotation file of the Something-Something V1 is in csv format, I am having difficulty with how to generate the pkl-file. Can you provide the code to generate the pkl-file or the pkl-file about the Something-Something V1. Thanks.

    opened by Maojianzeng 0
  • How to resume training from checkpoint?

    How to resume training from checkpoint?

    Hi, thank you for your great work. I tried to reproduce your work, but the machine was shut down. So, I tried to resume the training process, but the epoch started at 0. Is there any way to resume my training process from the checkpoint? (the epoch should start at the previous state)

    opened by mm840511m 0
  • I want to ask some questions about the code. I hope you can help me solve them, thx

    I want to ask some questions about the code. I hope you can help me solve them, thx

    code path is models/action.py, line63-72. line 63 I could konw x.size is nt, c, h, w. After x forward from line 63 to line 72, could get x_shift and thex_shift.size is nt, c,h,w. The x_shift.size is euqal to x.size. why don't make x_shift = x? I want to konw what function of these code.

    opened by eoozbq 0
  • About Visualization

    About Visualization

    Hello, after reading your code and paper, I am very interested in the visualization part of your model(Figure 1.). Your input is five-dimensional data which include time dimension. How do you call the CAM module? Or could open source the code about CAM you have adjusted, thanks a lot.

    opened by WuJIanghao79 12
  • About the use of TSM in your work.

    About the use of TSM in your work.

    Thank you for your work. After I checked the source code, I have some questions. In model.py, I see that you use the shift operation of TSM model, but it is not explained in the paper. Is the test result obtained by adding the ACTION module you proposed to the TSM model? Thanks for your reply.

    opened by ChenzhongJi 1
Owner
V-Sense
V-Sense
The official TensorFlow implementation of the paper Action Transformer: A Self-Attention Model for Short-Time Pose-Based Human Action Recognition

Action Transformer A Self-Attention Model for Short-Time Human Action Recognition This repository contains the official TensorFlow implementation of t

PIC4SeRCentre 20 Jan 3, 2023
Code for HLA-Face: Joint High-Low Adaptation for Low Light Face Detection (CVPR21)

HLA-Face: Joint High-Low Adaptation for Low Light Face Detection The official PyTorch implementation for HLA-Face: Joint High-Low Adaptation for Low L

Wenjing Wang 77 Dec 8, 2022
[CVPR21] LightTrack: Finding Lightweight Neural Network for Object Tracking via One-Shot Architecture Search

LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Architecture Search The official implementation of the paper LightTra

Multimedia Research 290 Dec 24, 2022
Repository relating to the CVPR21 paper TimeLens: Event-based Video Frame Interpolation

TimeLens: Event-based Video Frame Interpolation This repository is about the High Speed Event and RGB (HS-ERGB) dataset, used in the 2021 CVPR paper T

Robotics and Perception Group 544 Dec 19, 2022
Released code for Objects are Different: Flexible Monocular 3D Object Detection, CVPR21

MonoFlex Released code for Objects are Different: Flexible Monocular 3D Object Detection, CVPR21. Work in progress. Installation This repo is tested w

Yunpeng 169 Dec 6, 2022
RGBD-Net - This repository contains a pytorch lightning implementation for the 3DV 2021 RGBD-Net paper.

[3DV 2021] We propose a new cascaded architecture for novel view synthesis, called RGBD-Net, which consists of two core components: a hierarchical depth regression network and a depth-aware generator network.

Phong Nguyen Ha 4 May 26, 2022
Official Pytorch Implementation of 'Learning Action Completeness from Points for Weakly-supervised Temporal Action Localization' (ICCV-21 Oral)

Learning-Action-Completeness-from-Points Official Pytorch Implementation of 'Learning Action Completeness from Points for Weakly-supervised Temporal A

Pilhyeon Lee 67 Jan 3, 2023
U^2-Net - Portrait matting This repository explores possibilities of using the original u^2-net model for portrait matting.

U^2-Net - Portrait matting This repository explores possibilities of using the original u^2-net model for portrait matting.

Dennis Bappert 104 Nov 25, 2022
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

MIC-DKFZ 1.2k Jan 4, 2023
Neural networks applied in recognizing guitar chords using python, AutoML.NET with C# and .NET Core

Chord Recognition Demo application The demo application is written in C# with .NETCore. As of July 9, 2020, the only version available is for windows

Andres Mauricio Rondon Patiño 24 Oct 22, 2022
U-2-Net: U Square Net - Modified for paired image training of style transfer

U2-Net: U Square Net Modified for paired image training of style transfer This is an unofficial repo making use of the code which was made available b

Doron Adler 43 Oct 3, 2022
Official PyTorch implementation of "IntegralAction: Pose-driven Feature Integration for Robust Human Action Recognition in Videos", CVPRW 2021

IntegralAction: Pose-driven Feature Integration for Robust Human Action Recognition in Videos Introduction This repo is official PyTorch implementatio

Gyeongsik Moon 29 Sep 24, 2022
Official PyTorch implementation of "Contrastive Learning from Extremely Augmented Skeleton Sequences for Self-supervised Action Recognition" in AAAI2022.

AimCLR This is an official PyTorch implementation of "Contrastive Learning from Extremely Augmented Skeleton Sequences for Self-supervised Action Reco

Gty 44 Dec 17, 2022
[ICCV2021] Official code for "Channel-wise Topology Refinement Graph Convolution for Skeleton-Based Action Recognition"

CTR-GCN This repo is the official implementation for Channel-wise Topology Refinement Graph Convolution for Skeleton-Based Action Recognition. The pap

Yuxin Chen 148 Dec 16, 2022
This is the official implement of paper "ActionCLIP: A New Paradigm for Action Recognition"

This is an official pytorch implementation of ActionCLIP: A New Paradigm for Video Action Recognition [arXiv] Overview Content Prerequisites Data Prep

null 268 Jan 9, 2023
This is the official implement of paper "ActionCLIP: A New Paradigm for Action Recognition"

This is an official pytorch implementation of ActionCLIP: A New Paradigm for Video Action Recognition [arXiv] Overview Content Prerequisites Data Prep

null 32 Sep 25, 2021
Official implementation of particle-based models (GNS and DPI-Net) on the Physion dataset.

Physion: Evaluating Physical Prediction from Vision in Humans and Machines [paper] Daniel M. Bear, Elias Wang, Damian Mrowca, Felix J. Binder, Hsiao-Y

Hsiao-Yu Fish Tung 18 Dec 19, 2022
Official and maintained implementation of the paper "OSS-Net: Memory Efficient High Resolution Semantic Segmentation of 3D Medical Data" [BMVC 2021].

OSS-Net: Memory Efficient High Resolution Semantic Segmentation of 3D Medical Data Christoph Reich, Tim Prangemeier, Özdemir Cetin & Heinz Koeppl | Pr

Christoph Reich 23 Sep 21, 2022
Allows including an action inside another action (by preprocessing the Yaml file). This is how composite actions should have worked.

actions-includes Allows including an action inside another action (by preprocessing the Yaml file). Instead of using uses or run in your action step,

Tim Ansell 70 Nov 4, 2022