#1
|
|||
|
|||
skeleton height from FAAST?
Hi there,
We're having a bit of difficulty figuring out exactly how the Kinect measures the y coordinates (in real world units) of the tracked points on the skeleton it is streaming via FAAST. For example, we want the height of the head in the real world to be the height of the head in vizard, so we figure we just need: Code:
HEAD = 0 myHead = vrpn.addTracker( 'Tracker0@localhost', HEAD) height = myHead.getPosition(ABS_GLOBAL)[1] + SENSOR_HEIGHT But we're probably doing something wrong because the following odd behavior occurs when using this technique: 1) If we change the pitch of the Kinect (through FAAST, prior to running the vizard script), we obtain different values for "height" for different pitches, even though we're using the same person for the skeleton 2) When SENSOR_HEIGHT is set to its actual, measured value (in our case .71m), "height" is incorrect relative to measurements made in the real world. 3) If we arbitrarily change SENSOR_HEIGHT to get "height" to the correct value (which we know cannot be correct!), it works for some skeletons but not others (i.e., SENSOR_HEIGHT has to be changed arbitrarily for each new skeleton). It's crucial for us that the height of the virtual head is the same as the height of the actual head because our application depends on taking a particular perspective on the scene. We thought this would do the trick (we're using an Oculus): Code:
hmd = oculus.Rift(window=viz.MainWindow) head6DoFTracker = viz.mergeLinkable(myHead, hmd.getSensor()) headLink = viz.link(head6DoFTracker, viz.MainView, srcFlag=viz.ABS_GLOBAL) height = viz.MainView.getPosition(viz.ABS_GLOBAL)[1] Any ideas? Thanks! |
#2
|
|||
|
|||
If you don't modify the pitch, how much error is there in the height value when you run the following?
Code:
import viz import vizact viz.go() SENSOR_HEIGHT = 0.71 HEAD = 0 myHead = vrpn.addTracker( 'Tracker0@localhost', HEAD) def printHeight(): print myHead.getPosition()[1] + SENSOR_HEIGHT vizact.ontimer(1,printHeight) |
#3
|
|||
|
|||
Thanks so much for getting back to us.
I had to tweak the code you sent a bit by adding: Code:
vrpn = viz.add('vrpn7.dle') Also, I did get the following warning on startup of the script: check_vrpn_cookie(): VRPN Note: minor version number doesn't match: (prefer 'vrpn: ver. 07.30', got 'vrpn: ver. 07.31 0'). This is not normally a problem. (Again, not sure if this makes a difference). OK, so when I run the script: - the error varies as a function of how far the person is from the kinect - when standing close (~1.9m), the error is approximately .80 (varies within a cm second-to-second) - when standing far (~2.9m), the error is approximately .89 (also varies +/- 1 cm) ...? Thanks again! |
#4
|
|||
|
|||
What is the version number of FAAST that you are using?
I'm wondering if all the other tracked objects are off by the same amount. If so, you could do an initial calibration where the user's highest tracked object (head) and the lowest tracked object (foot) are visible to FAAST, and then figure out the difference. That should provide a loose approximation of the user's height. I'm not sure whether or not this would be accurate enough for your application. |
#5
|
|||
|
|||
Thanks again, Jeff.
We're currently using v1.2 but I've tried all of the above with v1.0 and get the same problem. I'm not sure whether your method will work but we will try it out. Stupid question: your suggestion implies that both the head and foot needs to be visible to (tracked by) FAAST -- am I reading that correctly? We were assuming it didn't matter which points were visible to FAAST because the error was present whether or not the feet were being tracked. Also, if this is the way it works, would it help to set FAAST to track only the upper body? |
#6
|
|||
|
|||
Quote:
If you set FAAST to track just the upper body are you getting different readings for the head height? |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
cal3d skeleton exporter error | pwsnow | Vizard | 0 | 07-23-2013 10:15 AM |
Kinect auto selection of skeleton | victorqx | Vizard | 0 | 05-29-2012 09:30 AM |
Head Height | Plymouth | Vizard | 5 | 02-12-2007 11:38 AM |
female skeleton CSF file needed to export to CAF format | vmonkey | Vizard | 1 | 10-04-2005 11:15 AM |
Constraining Height | nickyee | Vizard | 7 | 01-18-2005 02:46 PM |