I'm working in an application where I'm tracking an object 2d displacement on a given plane and the camera is already calibrated (intrinsic) and the lens distortion has been corrected.

In order to get the object displacement measurements I'm thinking to calculate/find the homography between the two planes (world and image).

I'm assuming that as long the object movement remains within the calculated plane everything will be fine, but now turns out that the plane might move/vibrate slightly (~ +-5mm), would I still getting good results? or is there another better way to do this (calibration) on a moving/vibrating plane?

A quick setup sketch:

enter image description here

  • $\begingroup$ Do you think you could post a small sketch of your configuration? What is the focal length of the lens and the spatial resolution of the camera? $\endgroup$ – A_A Jan 15 '19 at 9:17
  • $\begingroup$ And also some images coming from the camera $\endgroup$ – Tolga Birdal Jan 15 '19 at 10:07
  • $\begingroup$ @A_A I added a quick sketch of the setup I hope it helps $\endgroup$ – joe Jan 15 '19 at 17:35

...turns out that the plane might move/vibrate slightly (~ +-5mm), would I still getting good results?

I do not see why not. And this is making reasonable assumptions about the equipment.

You have a monocular camera, tracking motion from a viewpoint that is vertical to the direction of motion.

Now, if the plane moves purely in the Z direction (that is, on an axis that is vertical to the lens), then the only thing that will change is the size of the object.

The problem this might create is in the Signal To Noise ratio of the tracking. In other words, if you are tracking a marker against a background and the marker's size "pulsates", then the tracking estimate of the frames where the target is relatively larger will be better (within reason).

By how much will your marker / object size change, depends on the focal length of your lens.

If the plane does not move purely in the Z direction but sort of oscillates back and forth as if it was a pendulum, then it introduces an additional perspective error to the measurement that is proportional to $\sin(\theta)$ where $\theta$ is the angle of oscillation.

In other words, a monocular camera imaging a vertical line segment cannot know if the imaged size is true or the projection of a much larger vertical line segment that stands at some angle $\theta$ towards the lens.

In general however, the "magnification error" (first case) grows smaller with the length of the lens (lower in long lenses) and vice versa. There of course, you have to balance the field of view too so that it includes the variation you are trying to measure.

If the equipment you are using has specific characteristics regarding focus and image formation, you are going to have to take those into account of course.

Hope this helps.

| improve this answer | |
  • $\begingroup$ Definitely it helps. Is more clear now that both situations (Z movement and oscillation) will have a measurement error. Do you think that the errors will be small (for small movements)? Would a 3d homography calibration solve this problem and provide better results? $\endgroup$ – joe Jan 16 '19 at 12:00
  • $\begingroup$ @joe Glad to hear this was useful. You can upvote or accept the answer from the controls on the left which will stop it from being circulated in the board as "unanswered". To your question: I don't think a 10mm swing will have an effect on the measurements, assuming a common normal lens with the subject focused a few meters away from the lens. $\endgroup$ – A_A Jan 16 '19 at 17:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.