Git Product home page Git Product logo

dd-net's Introduction

DDNet

A Double-feature πŸš€ Double-motion πŸš€ Network

This is an unofficial Tensorflow implementation of the DDNet – Double-feature Double-motion Network

The authors of this repository believe, that this implementation is more readable and easier to understand than the original one.


Architecture


Results

Results on SHREC dataset (using 3D skeletons)

Methods Parameters 14 Gestures 28 Gestures Speed on GPU
Dynamic hand [19] (CVPRW16) - 88.2% 81.9% -
Key-frame CNN [4] (3DOR17) 7.92 M 82.9% 71.9% -
3 Cent [21] (STAG17) - 77.9% - -
CNN+LSTM [38] (PR18) 8-9 M 89.8% 86.3% 238 FPS
Parallel CNN [5] (RFIAP18) 13.83 M 91.3% 84.4% -
STA-Res-TCN [6] (Gesture18) 5-6 M 93.6% 90.7% 303 FPS
MFA-Net [23] (Sensor19) - 91.3% 86.6% 361 FPS
DD-Net (filters=64, w/o global fast&slow motion) 1.70 M 55.2% 41.6% -
DD-Net (filters=64, w/o global slow motion) 1.76 M 92.7% 90.2% -
DD-Net (filters=64, w/o global fast motion) 1.76 M 93.3% 90.5% -
DD-Net (filters=64) 1.82 M 94.6% 91.9% 2,200 FPS
DD-Net (filters=32) 0.50 M 93.5% 90.4% 3,100 FPS
DD-Net (filters=16) 0.15 M 91.8% 90.0% 3,500 FPS

Data

JHMDB Open In Colab SHREC-14 Open In Colab

JHMDB raw data download link:   http://jhmdb.is.tue.mpg.de/challenge/JHMDB/datasets
SHREC raw data download link:   https://shapenet.cs.stanford.edu/shrec17/

Usage

This repository contains sources directory with implementation.

sources/DDNet.py - contains the actual model class

sources/create_dataset.py - script for creating a binary files with skeletons and labels (with pickle) from a dataset that has a structure like SHREC. Note that you may need to modify it if the structure of your dataset is different.

+---gesture_1 
|   +---finger_1 
|  |   +---subject_1 
|  |  |   +---essai_1 
|  |  |   |   
|  |  |   |   depth_0.png 
|  |  |   |   depth_1.png 
|  |  |   |   ... 
|  |  |   |   depth_N-1.png 
|  |  |   |   general_informations.txt 
|  |  |   |   skeletons_image.txt 
|  |  |   |   skeletons_world.txt 
|  |  |   | 
|  |  |   \---essai_2 
|  |  |   ... 
|  |  |   \---essai_5 
|  |   \---subject_2 
|  |   ... 
|  |   \---subject_20 
|   \---finger_2 
... 
\---gesture_14 

train_gestures.txt
test_gestures.txt

souces/utils.py - contains an important Config class with configurations for model training. There are also all utilisation functions for the model training.

sources/train.py - script for training a model on a preprocessed dataset like SHREC. Note that can modify this script to work with your own dataset.

Citation

Please cite the original paper.

@inproceedings{yang2019ddnet,
  title={Make Skeleton-based Action Recognition Model Smaller, Faster and Better},
  author={Fan Yang, Sakriani Sakti, Yang Wu, and Satoshi Nakamura},
  booktitle={ACM International Conference on Multimedia in Asia},
  year={2019}
}

dd-net's People

Contributors

naturalstupidlty avatar

Stargazers

Yaroslav Kishchuk avatar Slava Horbanov avatar Qianqian Zhan avatar

Watchers

Kostas Georgiou avatar  avatar

dd-net's Issues

SHREC17 dataset

Hello, the official website "http://www-rech.telecom-lille.fr/shrec2017-hand/" for downloading the SHREC17 dataset is no longer accessible.
Can you provide me with the following files from the SHREC17 dataset? If you can provide them, it would be a great help to my research.
Specifically, include:
The "general folder" that contains the folders "gesture_1" to "gesture_14".
This "general folder" contains the following files:
+---gesture_1
| +---finger_1
| | +---subject_1
| | | +---essai_1
| | | | | |   
| | | | depth_0.png
| | | | depth_1.png
| | | | | | | | ...
| | | | depth_N-1.png
| | | | general_informations.txt
| | | skeletons_image.txt
| | | skeletons_world.txt
| | | | | |
| | | ---essai_2
| | | ...
| | ---essai_5
| ---subject_2
| ...
| ---subject_20
| ---finger_2
...
---gesture_14

Python environment

Hello, this is what you wrote in sources/utils.py:

import pickle
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import scipy.ndimage.interpolation as inter

from tqdm import tqdm
from tensorflow import Tensor
from scipy.signal import medfilt
from scipy.spatial.distance import cdist
from sklearn.metrics import confusion_matrix
from keras.src.layers import Lambda, Reshape
from keras.src.callbacks import History

But when I run it I get the following error:
ModuleNotFoundError: No module named 'keras.src'
Which version of keras are you using?
If it's easier, can you tell me the version of each library in your python environment?

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.