Computing Optical Flow Across Multiple Scales: an Adaptive Coarse-to-Fine Strategy