We first review the classic brightness change constraint equation and its application to motion estimation under perspective camera projection. We then introduce and develop a second, analogous constraint that operates directly on depth information. Next, we show how to combine these constraints across image pixels into a single linear system which may be solved efficiently for 3-D motion parameters. Finally, we discuss a spatial coordinate shift that greatly improves the motion estimation results.
In all of the following derivations, we will denote the coordinate of a point in 3-D space as , and the 3-D velocity of this point as . When we project this point onto the camera image plane via some camera projection model, it will be located at the 2-D image coordinate . The 3-D motion of the point in space will induce a corresponding 2-D motion of the projected point in the image plane, and we will express these 2-D velocities as .
The brightness change constraint equation (BCCE) for image velocity estimation arises from the assumption that intensities undergo only local translations from one frame to the next in an image sequence. This assumption is only approximately true in practice, in that it ignores phenomena such as occlusions, disocclusions, and changes in intensity due to changes in lighting. The assumption may be expressed for frames at times t and t+1 as follows:
I(x,y,t) = I(x + vx(x,y,t), y + vy(x,y,t), t+1) | (1) |
I(x,y,t) is the image intensity, and vx(x,y,t) and vy(x,y,t) are the x- and y-components of the 2-D velocity field of object motion after projection onto the image plane. If we further assume that the time-varying image intensity is well approximated by a first-order Taylor series expansion, we can expand the right side of the above equation to obtain
(2) |
This equation constrains image plane velocities, but we are
interested in solving for 3-D world velocities. For a perspective camera
with focal length f, the relationship between the two sets of velocities
may be derived from the perspective camera projection equations:
, and .Taking the derivatives of these equations with respect to time yields
(3) |
We wish to further constrain the 3-D velocities according to rigid body motion. Any rigid body motion can be expressed in terms of the instantaneous object translation and the instantaneous rotation of the object about an axis . describes the orientation of the axis of rotation, and is the magnitude of rotation per unit time. For small rotations,
(4) |
(5) |
Substitution of the right side of (8) for in (6) produces a single linear equation relating image intensity derivatives to rigid body motion parameters under perspective projection at a single pixel:
(6) |
Much of the previous work on motion and pose estimation from intensity data has used this constraint and variations on it. However, in most of that work, the depth values which appear in the equation are not known, and one must use non-linear estimation techniques to solve for the motion (see [10] for examples). Alternatively, the estimation can be reduced to a linear system through the use of a generic shape model of the object being tracked [2,3]. By using depth measurements directly in our linear constraint equation, we are able to avoid the non-linear computations required by the former class of approaches, as well as reduce the object shape errors inherent in the latter class of approaches.
Assuming that video-rate depth information is available to us, we can relate changes in the depth image over time to rigid body motion in a manner similar to that shown for intensity information above. For rigid objects, an object point which appears at a particular image location (x, y) at time t will appear at location (x + vx, y + vy) at time t+1. The depth values at these corresponding locations in image space and time should therefore be the same, except for any depth translation that the object point undergoes between the two frames. This can be expressed in a form similar to (1):
Z(x,y,t) + Vz(x,y,t) = Z(x + vx(x,y,t), y + vy(x,y,t), t+1) | (7) |
(8) |
Use of perspective camera projection to relate image velocities to 3-D
world velocities yields
Finally, we again constrain 3-D world velocities to rigid body motion by introducing the matrix
(9) |
In many applications, we can approximate the camera projection model as orthographic instead of perspective without introducing significant error in 3-D world coordinate estimation. For the pose tracking algorithms discussed in this paper, use of orthographic projection greatly simplifies the constraint equations derived in the previous sections, thereby making the solution of linear systems of these equations much less computationally intensive.
Derivation of the orthographic analogs of equations (9) and (13) is straightforward. We replace the perspective projection relationship with the orthographic projection equations x = X and y = Y, which in turn imply that vx = Vx and vy = Vy. Hence, equation (5) is replaced by the much simpler equation
(10) |
(11) |
(12) |
We can write intensity and depth constraint equations of the form of equations (9) and (13) for each pixel location that pertains to the object of interest. Because the intensity constraint equations (9) are linear, we can combine them across N pixels by stacking the equations in matrix form: . , where each row is the vector obtained by multiplying out the right side of equation (9) at a single pixel i. , where the ith element is -It at pixel i. The I subscripts on and indicate that they only use the intensity constraints. We can collect the depth constraint equations (13) into an analogous linear system: . Provided that N > 6, the least-squares method may be used to solve either of these systems independently for the motion parameters .
The intensity and depth linear systems and may also be combined into a single linear system for constraining the motion parameters:
(13) |
The scaling factor, , controls the weighting of the depth constraints relative to the intensity constraints. When one expects depth to be more reliable than intensity, such as under fast changing lighting conditions, one might want to set to a value higher than 1, but under other conditions, such as when depth information is much noisier than intensity, one might prefer to use lower values. The least-squares solution to the above equation is
(14) |
The image pixel data used to build the above linear system are taken only from a restricted region of image support. This support region is the set of pixel locations which we believe correspond to the object, and for which intensity, depth, and their derivatives are well-defined.
The motions estimated between pairs of consecutive frames are simply added together to form an estimate of cumulative object motion over time. It is beneficial to supplement this tracking algorithm with a parallel scheme for deciding when the accumulated error has become substantial, and to reinitialize the object pose estimate at these times.
We improve the numerical stability of the least-squares solution by translating all of the 3-D spatial coordinates to the centroid of the supported samples. This transformation affects only the matrix , and the motion parameter vector will compensate for this change. That is, we can rewrite equation (9) as
(15) |
Equation (13) can be modified similarly. We combine these shifted intensity and depth equations into a single linear system and solve for the motion parameters by least squares, as described above. These motion parameters are in the coordinate system of the object centroid; we would like to transform them back to motion parameters in the camera coordinate system. The 3-D velocities in the shifted coordinate system are described by . Since these velocities must also equal the velocities in the camera coordinate system, given by equation (7), it is straightforward to show that
(16) |