Motion Models
Suppose we know that our motion followed a certain pattern, or that certain objects in the scene moved in a certain way. This would allow us to further constrain our motion beyond the simple constraints that we imposed earlier (smoothness, brightness constancy, etc.). For example, we know that objects closer to the camera move more on the camera image plane than objects further away from the camera, for the same amount of motion. Thus, if we know the depth of a region of points, we can enforce another constraint on their motion and get better flow fields.
1. Full motion model
A point rotating about some origin with a rotational velocity that also has a translational velocity has a total velocity of:
2. General Motion
In order to figure out how the point is moving in the image, we need to convert from these values in world space to image space Velocity is the derivative of the positions:
To make it look nicer: where T is the translation vector, is rotation The beauty of this arrangement is that A and B are functions of things we know, and they relate our world-space vectors to image space. This is the general motion model. We can see that the depth in world space, only impacts the translational term.