03-06-2012 08:31 PM
For a round pattern, there is no reason to use rotational invariant. It is slower and will actually increase your error.
When your pattern is rotated, it rotates around the center of the pattern. Unless your spot is perfectly centered in the middle of the pattern, it is not rotating around the center of the spot. This introduces an error between the center of the pattern (reported by pattern matching) and center of the spot (desired information). This can be corrected, but it is difficult.
If you use shift invariant, the offset will always be the same and cancels out.
I agree using larger spots will help, also. Round stickers might be easier than trying to draw a spot.
Bruce
03-08-2012 03:41 AM
Hello!
The example I had illustrated is just an example to show this problem where the 3d reconstructed object should be stationary (since it's a flat wall). This markers will be attached to a moving object and the distortion there is something to take into consideration. I like the idea of using seperate template for each marker.
True, using bigger dots and providing good contrast to the template helps. I think that rotation invariant method is more stable when the shape is distorted?
Thinking now and doing some short experiments, I think I found the problem. The pattern matching is accurate enough, since the deviation is in subpixel range and the correlation is high.
The problem in my opinion is in the surface of the markers. The depth image is acquired by projecting the laser pattern to the measured object. Since the markers are too reflective the depth information of the spots where the markers are is thus inaccurate. Since I am performing transformation on my 3d object with respect to the depth information of the spots where markers are placed, the error (the low-amplitude, high frequency motion) is larger.
This is just a guess so far. Hope I can fix this.
Thanks for all your help.
Regards,
K