Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

3D Human Motion Tracking

Status
Not open for further replies.

kwon

New Member
I'm trying to do a simple 3D human motion tracking project. It suppose to capture the movement of a person and determine what action he/she is doin (walkin, running, kicking, jumping, etc). It will then determine the speed and acceleration of the person.

The software that i will be using is either LabView or Matlab. I have never use LabView before and only have basic knowledge of Matlab. For Matlab i have done some 2D images stuff. but i have no idea how to start with 3D.

Anyone did a similar project before? Can anyone give me some advise on how to start/what i need to start, which software is easier to use for this case? advise on the objective of my project is also welcome!!!
 
good lord - This can get incredibly hard!

let's see what the others think about it...
 
You shoudl be worried about the tracking method used rather than software at this point. YOu can use doppler radar and such to track speed and extrapolate acceleration (but only in the directions parallel to the beam). The most "straight-forward" thing I can see is a radar or laser imaging system, but then you have to be able to pick out what is actually the "thing" from all the distance readings you get. Might as well drop this method right now since it costs thousands of dollars...at least. You probably will have to make some kind of concessions.

To ascertain velocities/accelerations from viewing from the side, you must get distance info and visual methods will not work since the farther away something is, the slower it will seem to move at (though it may be moving at a much MUCH faster speed than anything nearby). This pretty much only leaves a distance imaging system- $$$$$$$$$$$$$$$$$$$$$$$$$$$$$

You got one hell of a doozy there. There is NOTHING simple about this project, so if that's why you chose this project, perhaps you should find another project.

Make no mistake, what you are asking for is some kind of radar/laser mapping in a 3D environment with object locking and tracking- that's just one step under object recognition in machine vision.
 
Last edited:
if you are doing these on a controlled environment (aka lab) , reflective balls are placed along the key points/joints of the subject which reflect IR , and high speed ir camera detect the motion . later a s/w can analyze the pattern and motion to detect the action.
 
you can do this with MATLAB, a webcam that is easily recognized by MATLAB and a motor to move the camera. im not sure about LabVIEW.

search on google for research papers related to the Kanade-Lucas-Tomasi (KLT) method of tracking objects. you have to have a firm grip on DSP algorithms to understand the KLT method.

you can do this in Visual C++ and in that case you will just use the libraries from different people and you dont need to know the algorithms.

i hope that helps
 
Formulae

I dont know if this helps or makes things worse but one thing comes to mind from a device ive seen for vehicles that measures the distance between the device and some other fixed object.

also the formulae
s=ut+1/2 at squared would come into effect for the non physics buffs.

acceleration = initial speed + 1/2 new speed squared.

Hope this helps
 
i have a question about this title, as i am just a beginner so i want to know how can i get 3d object in my visual C++ project and start to track its motion.

if you can help me with complete code example, it would be greatly helpful.

thank you in advance
 
My friend's master's thesis in computer vision is only slightly more complicated than this project. For a 'fun' project in your spare time, this is far from what you want. If you aren't already familiar with Matlab, which you would have to use initially, I estimate this project would take you at least 6 months if you are extraordinarily motivated.

If you are serious about it, here are some design considerations:
- Will you use fiducials (pink dots or ping-pong balls on joints and limbs)?
- Does this need to run in real-time or is it a program that processes prerecorded video?
- Can you set up the background scenery or does it need to run on real-world scenes?
- How many people will be in the frame at a time?
- Is the camera's position in relation to the ground, background scenery and person known?

Then get a camera, record yourself and all your friends doing everything you want to recognize about a hundred times (preferably all wearing black suits and facemasks with pink ping-pong balls stuck on key body parts in an all-white room otherwise it's going to be really damn hard), load it into Matlab, find yourself some good journal articles and get to coding.
 
do you simply want to track the movement of the whole body, or do you want to track individual parts such as the right arm?

in any case, you can place an array of accelerometers all over your subject and relay them to a PC.

i don't know how much you're willing to spend, but these things can get expensive, especially if you're tracking each and every part of the body.
if you're simply tracking the whole body, i think that this is your best bet

good luck
 
Status
Not open for further replies.

Latest threads

Back
Top