Fast movement problem

May 16, 2010 at 8:28 AM
Using goblinXNA (with ALVAR lib) I found one problem. If I move a marker along XY plane rather quickly then my application won't see this marker until it's speed becomes low. I suppose that this is caused by low quality of my web-camera (1.3 megapixel), because during such fast movement even my eyes can notice black squares on my markers blurred. On the contrary, when I move the marker along Z axis then it's recognized practically all the time, obviously because in this way web-cam sees that marker becomes bigger/lesser :-) I have three thoughts how can I solve this problem: 1. Use bigger markers. That will help my web-cam to see all squares. (I used floor multimarker from the GoblinXNA tutorial, its markers are small enough) 2. Use bigger markers with big squares in the middle. All markers in tutorials have very small squares in the middle, they become blurred even when I make rather slow movement. Maybe if I create my own marker with big squares it will help. 3. Third variant requires some coding. Maybe I can create some interpolation, I mean, I can ask my application to remember the marker's movement direction and speed each frame and when the marker is not visible I can do some calculations taking into account marker's old position and speed. What should I do? P.S. Also, how should I use MarkerLayout tool to create my own markers. For example, I want to create config file for SampleMultiMarker image from ALVAR docs, what should I do? And how can I define marker size (I mean, how should I tell to the GoblinXNA that my marker is 10x10 cm?) P.P.S. Sorry for bad English.
May 16, 2010 at 11:49 AM

Motion blur is always a problem for vision-based tracking, and there are several papers that describe how to solve it. It's not included with Goblin XNA, so you will need to perform image analysis and solve it in your application. Using bigger marker won't solve it since it depends on the camera shutter duration (you can lower 'exposure' value to lessen motion blur, but it's inevitable, and you can only control exposure using the software that comes with your camera).

In case you implement prediction code when the marker tracker loses tracking, the best way is to implement your own IPredictor and assign it to MarkerNode.

For MarkerLayout, please see the sample code. For marker size. the pixelPerInch value defines it.


May 17, 2010 at 11:03 AM
Thank you