Log in or register to post comments

MultiTarget tracking performance

July 19, 2011 - 11:08am #1

I have a large plane that I need to track. Covering the whole thing with an ImageTarget would be impractical because the ImageTarget would need to be too big.

I've tried placing a smaller ImageTarget in the center of the plane and rendering out to the edges of the plane, but this causes a notable amount of jittering with the model.

Would placing an ImageTarget at each corner of the plane and joining them in a MultiTarget help with the jittering?

Rephrasing: Does a MultiTarget only track one of its ImageTarget children at a time, or does it look for multiple, and build a more stable pose matrix off of the maximum number it can discover?

Re: MultiTarget tracking performance

July 19, 2011 - 7:10pm #5
Quote:

You should get a more stable pose when multiple targets are in view

...

Just be careful with the relative placement of your printed targets, multi target stability depends on the physical object matching the tracker's expectations.

So is the tracker refining the pose calculation based on the known offsets of multiple targets?

Re: MultiTarget tracking performance

July 19, 2011 - 3:26pm #4

I think this is a good situation in which to use multi targets. You should get a more stable pose when multiple targets are in view, the transition between targets will be much faster (if the user pans across the plane), and you won't have to do any extra math to bring the targets into a unified coordinate system. Just be careful with the relative placement of your printed targets, multi target stability depends on the physical object matching the tracker's expectations.

You shouldn't need to play with those hints for tracking a single multi target object.

- Kim

Re: MultiTarget tracking performance

July 19, 2011 - 2:58pm #3

Ok, that was what I suspected, but didn't know if lines like:

QCAR::setHint(QCAR::HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS, 2);
QCAR::setHint(QCAR::HINT_IMAGE_TARGET_MULTI_FRAME_ENABLED, 1);

would change anything.

So I guess the best stability would come from drawing lines between ImageTargets like here: http://ar.qualcomm.at/node/2000410
?

Re: MultiTarget tracking performance

July 19, 2011 - 2:36pm #2
Quote:

Rephrasing: Does a MultiTarget only track one of its ImageTarget children at a time, or does it look for multiple, and build a more stable pose matrix off of the maximum number it can discover?

The implementations that I've seen (e.g. MultiTargets.cpp in the sample ) employ one target at a time.

e.g.

...

int numTrackables=state.getNumActiveTrackables();

        // Browse trackables searching for the MultiTarget
        for (int j=0;j<numTrackables;j++)
        {
            trackable = state.getActiveTrackable(j);
            if (trackable->getType() == QCAR::Trackable::MULTI_TARGET) break;
            trackable=NULL;
        }

        // If it was not found exit
        if (trackable==NULL)
        {
            // Clean up and leave
            glDisable(GL_BLEND);
            glDisable(GL_DEPTH_TEST);

            QCAR::Renderer::getInstance().end();
            return;
        }


        QCAR::Matrix44F modelViewMatrix =
            QCAR::Tool::convertPose2GLMatrix(trackable->getPose());
...
 

So the pose is derived from the first MULTI_TARGET trackable that's found.

Log in or register to post comments