Computer Vision Research Group
Department of Computer Science
University of Otago
Dunedin, New Zealand
  Optical Flow Algorithm Evaluation

Optical flow is the velocity field which warps one image into another (usually very similar) image. This is illustrated by the images below. The sphere is rotating from left to right, generating the optical flow field shown in the center.

Image #1 Optical Flow Field Image #2

Almost 20 years ago Horn & Schunck [1] published the seminal paper on optical flow calculation.  This paper sparked a substantial research effort, producing an abundance of techniques for calculating optical flow. Unfortunately because of the difficulties involved in generating ground truth results for real image sequences, it has been almost impossible to evaluate our progress. Are the new algorithms really any better than Horn & Schunk's technique, published almost 20 years ago?

While there have been previous attempts at evaluating the performance of optical flow techniques, they have usually used simple sequences generated by applying a distortion to a base image, since the corresponding motion field is trivial to compute. Unfortunately, it is difficult to know how relevant these results are to real  3D imagery, with all its associated complexities (for example motion discontinuities, complex 3D surfaces, camera noise, specular highlights, shadows, atmospherics, transparency).

In our evaluation we have used two methods to generate more complex sequences with ground-truth data: a ray-tracer which generates optical flow, and a Tcl/Tk tool which allows us to generate ground truth optical flow from simple (ie polygonal) real sequences with a little help from the user.  The Tcl/Tk tool is included in the released package as are all the sequences. The following images show example frames from each of the sequences.

Rotating Sphere  Office - Cam Zooms in  Street - Cam Follows Car
Rotating Blocks Translating Grid C++ Box - Cam Zooms out
Low Complexity Medium Complexity High Complexity
Download all the sequences and tools here.

The top three synthetic sequences were used in an earlier study to compare the performance of 8 optical flow algorithms. The results were a little surprising - Horn and Schunck [1] was one of the best performers. The other stand-out performer was the algorithm by Proesmans et al. [2]. Our implementations of Proesmans's and Camus's [3] algorithms are also included in the project. We have extended the initial study [4], using some real sequences (including the ones above) and a few more synthetic sequences. If you use any of this data in your research, please cite our paper [4].


[1]    B.K.P. Horn and B.G. Schunck. Determining optical flow. AI Memo 572. Massachusetts Institue of Technology, 1980.

[2]    M. Proesmans, L. Van Gool, E. Pauwels and A. Oosterlinck. Determination of optical flow and its Discontinuities using non-linear diffusion. In 3rd Eurpoean Conference on Computer Vision, ECCV'94, Volume 2, pages 295-304, 1994.

[3]    T. Camus. Real-Time Quantized Optical Flow. Journal of Real-Time Imaging, Volume 3, pages 71-86, 1997.

[4]    McCane, B., Novins, K., Crannitch, D. and Galvin, B. (2001) On Benchmarking Optical Flow, Computer Vision and Image Understanding, 84(1), 126-143.

Maintained by Brendan McCane

Last Modified: