The Horn–Schunck method of estimating optical flow is a global method which introduces a global constraint of smoothness to solve the aperture problem (see Lucas Kanade method for further description).
A global energy function is sought to be minimized, this function is given as:
where are the derivatives of the image intensity values along the x,y, and z dimensions, is the derivative in the t (time-) direction, is the optical flow vector with the components . The parameter is a regularization constant. Larger values of lead to a smoother flow. This function can be solved by calculating the Euler–Lagrange equations corresponding to the solution of the above equation. These are given as follows:
where denotes the Laplace operator so that .
Solving these equations with Gauss–Seidel for the flow components gives an iterative scheme:
where the superscript k+1 denotes the next iteration, which is to be calculated and k is the last calculated result.
One simple way to obtain is:
where N(p) are the four direct neighbors of the pixel p.
An alternative algorithmic implementation based upon the Jacobi method is given as:
where refers to the average of in the neighborhood of the current pixel position.
Advantages of the Horn–Schunck algorithm include that it yields a high density of flow vectors, i.e. the flow information missing in inner parts of homogeneous objects is filled in from the motion boundaries. On the negative side, it is more sensitive to noise than local methods.
References