Department of Computer Science University of Otago Dunedin, New Zealand |
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 |
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].
References
[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.