GithubHelp home page GithubHelp logo

raphaelmemmesheimer / sl-dml Goto Github PK

View Code? Open in Web Editor NEW
21.0 3.0 1.0 665 KB

Signal Level Deep Metric Learning for One-Shot Action Recognition

Python 100.00%
action-recognition few-shot-learning one-shot-learning skeleton-based-action-recognition sensor-data-fusion computer-vision sensor-fusion

sl-dml's Introduction

SL-DML: Signal Level Deep Metric Learning for Multimodal One-Shot Action Recognition

SL-DML Overview

This repository contains the code for SL-DML, a metric learning approach for one-shot action recognition supporting multiple modalities. A pre-print can be found on arxiv.

Video Abstract

SL-DML Video

Video

Citation

@inproceedings{memmesheimer2021sl,
  title={SL-DML: Signal Level Deep Metric Learning for Multimodal One-Shot Action Recognition},
  author={Memmesheimer, Raphael and Theisen, Nick and Paulus, Dietrich},
  booktitle={2020 25th International Conference on Pattern Recognition (ICPR)},
  pages={4573--4580},
  year={2021},
  organization={IEEE}
}

Requirements

Precalculated Representations

We provide precalculated representations for all conducted experiment splits:

Quick Start

git clone https://github.com/raphaelmemmesheimer/sl-dml
cd sl-dml
pip install -r requirements.txt
export DATASET_FOLDER="$(pwd)/data"
mkdir -p data/ntu/
wget https://agas.uni-koblenz.de/datasets/sl-dml/ntu_120_one_shot.zip
unzip ntu_120_one_shot.zip -d $DATASET_FOLDER/ntu/ntu_swap_axes_testswapaxes
python train.py dataset=ntu_swap_axis

when returning you have to set the dataset folder again:

export DATASET_FOLDER="$(pwd)/data"
python train.py dataset=ntu_swap_axis

Training

Note, the following commands require an environment variable $DATASET_FOLDER to be existing.

NTU 120 One-Shot

Training for the NTU 120 one-shot action recognition experiments can be executed like:

python train.py dataset=ntu_swap_axis

During development, we suggest using the classes A002, A008, A014, A020, A026, A032, A038, A044, A050, A056, A062, A068, A074, A080, A086, A092, A098, A104, A110, A116 as validation classes.

Simitate One-Shot

wget https://agas.uni-koblenz.de/datasets/sl-dml/simitate_one_shot.zip
mkdir -p data/simitate/
unzip simitate_one_shot.zip -d $DATASET_FOLDER/simitate/

to train then:

python train.py dataset=simitate_aux_010_val_004

You can run all experiments on the Simitate dataset as:

python train.py dataset=simitate_aux_010_val_004,simitate_aux_010_val_016,simitate_aux_014_val_004,simitate_aux_014_val_012,simitate_aux_018_val_004,simitate_aux_018_val_008,simitate_aux_022_val_004 -m

sl-dml's People

Contributors

raphaelmemmesheimer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

ccfbupt

sl-dml's Issues

IndexError: Target 83 is out of bounds.

Thanks for a great codebase!

I try to execute "python train.py dataset=ntu_swap_axis -m".
But I have encountered IndexError: Target 83 is out of bounds.

Do you know?

hydra-core and omegaconf version

Hi, thank you so much for your outstanding research work. would you please tell me about the specific version of hydra-core and omegaconf?

many thanks

ValueError: Input contains NaN

Hi, I can start to train. But after evaluating epoch 1.
I encountered error
image
image

I guess that it is caused by train loss=Nan.
Do you have any suggestions?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.