Log in or register to post comments

Pose estimation errors

April 4, 2012 - 1:34am #1

I have addressed this topic before, but it was kind of ignored. This time I made a video about this topic.

http://www.youtube.com/watch?v=W6Tuvlm9Oqs

Any chance of fixing this?

Re: Pose estimation errors

April 4, 2012 - 3:51pm #4

Thanks for the great video! I've passed it on.

- Kim

Re: Pose estimation errors

April 4, 2012 - 10:16am #3

There are three problems discussed in the video.

0:25 - fast camera movements
If the camera is moved fast, the tracking is lost, most likely due to motion blur. If the marker is lost, it should be marked as lost right away. Vuforia only marks it as lost after a short delay. This is not how it should be handled. I fixed it by detecting when the current frame has the same pose as the previous frame, But this is a hack. I want to have control over the delay you guys build in. I will set it to 0.0 sec where it should be. Vuforia probably added the delay so the flickering of the AR content is reduced in low light conditions or when using a bad quality camera. However, I use a high quality camera and my light conditions are just fine. So I don't need the delay. In the video you can see the cube flickering sometimes, when I switch the pose filter on. But this is caused by the screen recorder which eats up processing time. Without the screen recorder, it flickers rarely. If you want to reduce flickering, you have to improve the image recognition algorithm, not hack-fix it by introducing a delay before removing the marker from view.

2:10 - marker occluded by camera field of view
This is the worst "feature" or "bug" (not sure which) of Vuforia when using UCS. The whole purpose of UCS is so that you can pan the camera around a large play field. But if Vuforia gives an incorrect pose momentarily when the marker moves out of view, the whole AR scene will violently move around. Even worse, when this happens during recording, the data used for the mathematics will be incorrect.
The reason why the pose is frozen momentarily when moving the marker out of view, is most likely the same as above. When Vuforia looses the marker, it waits a short while before marking the marker as lost. The effect it has when moving the camera out of view seems different then above, but it is caused by the same "feature". Introducing a delay before removing the marker from view.

There you have it. To fix the flickering of the AR content when using a badly lit scene or bad quality camera, you introduce two major other problems. So yes, I would like to have control over this feature.

2:56 - jittering
This is a slightly different problem as the two above as it is caused by a different problem. A simple low pass filter fixes it but in my opinion it should be build in Vuforia.

Again, I fixed all these problems with my pose filter in UCS, but for the first two items above, it is a waste of precious resources. Vuforia adds a delay, which requires some CPU cycles. Then I have to keep a buffer of all the previous marker poses and compare it to the current pose. This eats up some CPU cycles and memory as well. All unnecessary.

I understand that including this feature is well meant, and perhaps Qualcomm never realized that it actually causes undesired side effects. But it would be very nice if you can give us an option to disable it.

Re: Pose estimation errors

April 4, 2012 - 5:47am #2

There is work being done on more sophisticated methods for accommodating the sort of motion that you're addressing.

So you would like to be able to control the degree of stabilization to prevent the tracker from over-correcting for errant motion?

Log in or register to post comments