Modeling Torso Movements in a Virtual Environment using Neural Networks

MSc final project. Implemented in C in 2002.

This project tracked the upper body movements of users and trained a neural network on the movement of their upper arm (relative to their torso). After some exploration, the sensor mounted on the upper arm could be replaced with a trained neural network that could accurately estimate the movement of the arm. This approach is less computationally expensive and more accurate to the real motion of the user than traditional approaches. The final result was an avatar with a fully animated upper body using only 4 sensors attached to the user (on the head, chest and hands).

The project was implemented in C using the MAVERIK virtual reality library (developed by the Advanced Interfaces Group at Manchester University). The program used Jeff Shulfelt's NN library (he's from Carnegie Mellon Uni.). The libraries were extended to allow networks with 2 hidden layers (rather than 1) and wrapper functions were defined for convenience. I wrote an application to allow the construction, training and testing of a neural network, and another to provide the necessary data pre-processing. The remainder of the code (the majority of it) dealt with interfacing with the sensors to produce the correct upper body movement, interaction with the virtual environment, task definition and data gathering.

The user...
...and their avatar.
The user The avatar

Download

Get the code:

  • avatarNN.tar.gz - For Unix/Linux users, code gzipped and tarred.
  • avatarNN.zip - For Windows users, code zipped.

    Extract the archive. Read the readme file (included in the archive) for instructions on compilation, usage and re-use. For the main program, you will need to download and install the MAVERIK virtual reality libraries.

    The main program is defined in "avatarNN/src/sjd/main.c" and uses the functions defined in the avatar library "avatarNN/src/sjd/avatar/avatarlib.c".

Updates

  • Update 08/12/2011: Moved some files, removed some others and renamed another.

Last modified: 30/04/2006 (most likely earlier as a site migration in 2006 reset some dates) Tags: (none)

This website is a personal resource. Nothing here is guaranteed correct or complete, so use at your own risk and try not to delete the Internet. -Stephan

Site Info

Privacy policy

Go to top