Vector Tracking

Post Reply
dschluchter
Posts: 3
Joined: Mon May 30, 2005 5:00 am

Vector Tracking

Post by dschluchter »

Hello

I recently bought an OptiTrack System together with the vector expansion unit.

The SDK is a joy, I was able to have a test application up and running in no time. Also from the first look the tracker has real potential. That's why I have several questions regarding 6DOF tracking:

1. Can you tell me a bit more about the smoothing algorithm implemented in the NPSmoothing class? It seems to drift an awful lot when the a tracked point (or Vector extension) is not moving. For my purposes, working with the raw values is much better and actually beats magnetic trackers! With some more information on the topic i could shortcut my own research for a more suitable algorithm.

2. Orientation isn't very reliable. So my question is how can this be enhanced. Technically I see no reason why one Optitrack shouldn't be able to track full 360 degree roll of a vector extension with no flips whatsoever. My guess is that since the markers have no orientation tracking gets lost. Have you guys any thoughts on that?

3. Is it possible to retrieve the video image in a DirectShow? I guess this would be much faster than retrieving the data through the HWND interface.

All in all I am very excited about the technology. When orientation works better this really becomes the tracker killer!

Denis
Jim
Posts: 1395
Joined: Mon Oct 14, 2002 5:00 am
Location: Corvallis, Oregon
Contact:

Re: Vector Tracking

Post by Jim »

Hello:

Glad you are enjoying your OptiTrack unit! I can answer a few of these questions, but Eric will have to jump in for the software ones.

To increase the precision of the tracking I would recommend replacing the Vector clip with round markers, so they act as a point source when in various degrees of rotation. That is one of the leading causes of error in the current system. A simple IR LED can act as a nice point source. Remember, the location of the markers must be the same as on the clip.
ericd
Posts: 142
Joined: Thu Nov 04, 2004 5:00 am
Location: Portland, OR

Re: Vector Tracking

Post by ericd »

Glad you are enjoying your unit. I'll do my best to answer your questions...

1. The smoothing algorithm is based on a Kalman filter. We adjust the parameters based on the amount of smoothing specified by the API. It may drift slightly, it just depends on what kind of accuracy your application requires. The smoothing algorithm was provided as an example to help deal with some of the noise in the system.

2. You are correct here. The markers on the vector clip are not distinguishable from each other. This makes it pretty difficult to determine a full 360 degrees of orientation.

The system was designed to track the movement of a users head. Typically users sitting in front of a PC don't move their heads more than +- 90 degrees. We've made some assumptions to make the problem easier to solve.

3. We could probably display the image using DirectShow or DirectDraw. I'm curious what features might be useful here. Is this just to optimize the drawing to save CPU power? Or is it a way to capture the bitmaps so that you can do some post processing on your own? If it's the latter, we could possibly provide an API to return the bitmap...
dschluchter
Posts: 3
Joined: Mon May 30, 2005 5:00 am

Re: Vector Tracking

Post by dschluchter »

Thanks for your replies.

@jim
Of course! Round targets should help. I'm going to try that right away.

@eric
1. My application doesn't like drifting at all. I'll try out the solution with the round targets and see how the jitter improves. This might already be enough right now.

2. Is this is also true when using multiple cameras?

3. I am looking for a low-cost (cpu-wise) way to access the image data from the camera to do do my own vector calculations since the current orientation tracking algorithm is sub-optimal for my purposes. There are also some university projects on Video-tracking around that might be appliable to OptiTrack that work with standart cameras through DirectShow. But basically I was thinking DirectShow because it's the MS solution for handling streaming data. It ought to be faster than handing Bitmaps throught a function.
On the other hand, clearly identifable "dot's" should solve orientation problems and make rolls possible.
dschluchter
Posts: 3
Joined: Mon May 30, 2005 5:00 am

Re: Vector Tracking

Post by dschluchter »

Jim, Eric?

I haven't heard from you guys back!
I'm really interested be able to play around more with your amazing hardware but the current SDK seems to be a bit top-heavy. I would really like to explore the hardware more and hope to hear back from you guys soon!

Denis
Jim
Posts: 1395
Joined: Mon Oct 14, 2002 5:00 am
Location: Corvallis, Oregon
Contact:

Re: Vector Tracking

Post by Jim »

Hello:

Sorry for the delay.

I think the best thing to do might be to just track all the objects and then do your own vector caclulations. The SDK will give you the dot positions and then you can just plug those in. If you are using mulitple cameras it will give you the same data for each, the dot positions, it does not label them across cameras. Hope this helps!
Post Reply