Automatic Speed Graph Generation for Predefined Camera Paths

Goals

Predefined camera paths are a valuable tool for the exploration of complex virtual environments. The speed at which the virtual camera travels along different path segments is key for allowing users to perceive and understand the scene while maintaining their attention. Current tools for speed adjustment of camera motion along predefinedpaths, such as keyframing, interpolation types and speed curve editors provide the animators with a great deal of exibility but other little support for the animator to decide which speed is better for each point along the path. In this paper we address the problem of computing a suitable speed curve for a predefined camera path through an arbitrary scene. We strive at adapting speed along the path to provide non-fatiguing, informative, interestingness and concise animations. Key elements of our approach include a new metric based on optical flow for quantifying the amount of change between two consecutive frames, the use of perceptual metrics to disregard optical flow in areas with low image saliency, and the incorporation of habituation metrics to keep the user attention. We also present the results of a preliminary user-study comparing user response with alternative approaches for computing speed curves.

Movies

These movies show the different speed graphs computed for our tests models (oil tanker and office building).  (XviD codec required)

Speed graph computed using our approach

Size: 34,8 MB (36.560.938 bytes), duration: 00:01:53

Speed graph with constant speed

A constant-speed approach is not suitable for virtual environments with multiple levels of scale.
The camera takes about 1 min to approach the model. Note the also the fast camera turns (e.g. at 1' 30'')
Size: 35,2 MB (36.990.506 bytes), duration: 00:01:53

Speed graph based solely on optical flow

Note the camera slow-downs when getting very close to scene objects (e.g. at 1' 02'') 
Size: 34,5 MB (36.186.666 bytes), duration: 00:01:53

Speed graph based solely on image saliency

Note the fast camera turns (e.g. at 1' 30'') 
Size: 35,4 MB (37.183.018 bytes), duration: 00:01:53

Map based on optical flow (with no visual saliency modulation)

Size: 17,4 MB (18.287.146 bytes), duration: 00:01:53

Map based on optical flow modulated by image saliency and habituation (our approach)

Size: 22,6 MB (23.783.984 bytes), duration: 00:01:53

Speed graph computed using our approach

Size: 27,3 MB (28.717.098 bytes), duration: 00:03:00

Speed graph with constant speed

Size: 27,3 MB (28.708.394 bytes), duration: 00:03:00

Speed graph based solely on optical flow

Size: 27,3 MB (28.705.328 bytes), duration: 00:03:00

Speed graph based solely on image saliency

Size: 27,3 MB (28.680.746 bytes), duration: 00:03:00

Map based on optical flow (with no visual saliency modulation)

Size: 16,1 MB (16.932.394 bytes), duration: 00:03:00

Map based on optical flow modulated by image saliency and habituation (our approach)

Size: 20,9 MB (21.955.114 bytes), duration: 00:03:00

Source code

GLSL fragment shader used for combine the different maps (saliency, motion and habituation). (Download)

Ferran Argelaguet, Carlos Andujar, 2009.