Giter Site home page Giter Site logo

svito-zar / nn-for-missing-marker-reconstruction Goto Github PK

View Code? Open in Web Editor NEW
37.0 5.0 8.0 70.76 MB

This is the official implementation of the paper "A Neural Network Approach to Missing Marker Reconstruction in Human Motion Capture"

License: Apache License 2.0

Python 100.00%
missing-markers missing-data neural-networks deep-learning autoencoder tensorflow motion-capture motion-capture-processing

nn-for-missing-marker-reconstruction's Introduction

A Neural Network Approach to Missing Marker Reconstruction

example of the reconstruction
Example of missing marker reconstruction

This is an implementation for the paper A Neural Network Approach to Missing Marker Reconstruction in Human Motion Capture. Youtube video of the experimental results is here.

Requirements

  • Python 3
  • Tensorflow >= 1.0
  • Additional Python libraries:
    • numpy
    • matplotlib (if you want to visualize the results)
    • btk (if you want to preprocess test sequences by yourself)

Data preparation

In my experiments I have been using CMU Mocap dataset. There are 2 options on how to get it:

  1. Download already preprocessed dataset:

    Take the test sequences, I used in the paper here

  2. Preprocess dataset by yourself

    (** Note: the results depends a lot on amount and type of the data you use **)

    • Install btk library
    • Download CMU Mocap dataset in BVH format
    • Create folders "train" and "eval" (if flag "evaluate" is true) or "dev" (if flag "evaluate" is false)
    • Move the files you want to use for training into the "train" folder (they should be in the folder themself)
    • Move the files you want to use for testig into the "eval" or "dev" folder (they should be in the folder themself)
    • Set the address to this data in the code/ae/utils/flag.py as data_dir
    • Preprocess it by running the script code/ae/utils/data.py

    Afterwards you need to put all test sequences you want to test on into the folder "test_seq", which should be in the same directory as the main folder with the data. Then you preprocess those sequence by function "write_test_seq_in_binary" from the file ae/utils/data.py, which will write the test sequences in the binary format for the faster and easier access.

So final configuration should look like this:

''' .../adress_to_the_data/...

/folder_with_the_data

  • eval.binary
  • maximums.binary
  • mean.binary
  • train.binary
  • variance.binary

/test_seq

  • basketball.binary
  • boxing.binary
  • salto.binary ... '''

Run

To run the default example execute the following command.

$ python code/ae/train.py

Customizing

You can play around with the run options, including the neural net size and shape, input corruption, learning rates, etc. in the file flags.py. Otherwise - you can find the Best Flags in the folder BestFlags

Contact

If you encounter any problems/bugs/issues please create an issue on github or email me at [email protected] for any bug reports/questions/suggestions. I prefer questions and bug reports on github as that provides visibility to others who might be encountering same issues or who have the same questions.

Citation

Here is the citation in bib format:

@article{kucherenko2018neural,
  title={A Neural Network Approach to Missing Marker Reconstruction in Human Motion Capture},
  author={Kucherenko, Taras and Beskow, Jonas and Kjellstr{\"o}m, Hedvig},
  journal={https://arxiv.org/abs/1803.02665v4},
  year={2018}
}

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.