1 another look at camera control karan singh †, cindy grimm, nisha sudarsanan media and machines...
TRANSCRIPT
1
Another Look at Camera Control
Karan Singh†, Cindy Grimm, Nisha Sudarsanan
Media and Machines LabDepartment of Computer Science and Engineering
Washington University in St. Louis
†University of Toronto
2Cameras
What is camera control?
Manipulation of camera parameters• Projection of 3D geometry into 2D plane
Applications• Interactively navigate around a scene (games)• Create a fixed camera path (movies)• Use different viewpoints to understand structure
(visualization)• Take pictures
3Cameras
Cameras in different fields
Computer graphics• From, at, up, field of view• View matrix
4Cameras
Cameras in different fields (cont.)
Film, photography• Camera is physical object• Describe movement of camera itself
• Dolly in/out, tilt, pan, roll• Zoom in/out
Graphics systems use same vocabulary• Through-the-lens• Exterior views
• Camera-centric• Reposition the camera
• Object-centric• Reposition the camera relative to an
object
5Cameras
Cameras in different fields (cont.)
Mathematics
• 4X4 matrix
• 11 degrees of freedom
• Straight lines to straight lines
Computer vision
• 3X4 matrix
• Don’t keep depth
Graphics maps 11 dof to “useful” parametersJ. C. Michener, I. B. Carlbom, Natural and efficient viewing parameters, SIGGRAPH 80
• Six extrinsic parameters (position, orientation)
• 5 intrinsic parameters (center-of-projection, focal length, skew, aspect ratio)
6Cameras
Cameras in different fields (cont.)
Artists have a qualitative vocabulary• Describe relationship of camera to object in the
scene• Perspective effects One point
Two point
Three point
Horizon line
Vanishing point
7Cameras
Goals
Visualization of camera parameters in the 2D image• E.g., feed back on perspective distortion
Manipulate current projection• New position indicates desired projection change• Changes appropriate camera parameters
• May change multiple parameters
Minimal mouse, keyboard use• Current approaches use entire right button• Click-through interface
8Cameras
Related work
Original camera paperJ. C. Michener, I. B. Carlbom, Natural and efficient viewing parameters, SIGGRAPH 80
Trackball manipulationMichael Chen, S. Joy Mountford, and
Abigail Sellen,A Study in Interactive 3D Rotation using 2D Input Devices , SIGGRAPH
K. Henriksen, J. Sporring, and K. Hornbaek
Virtual trackballs revisited, IEEE TVCG
9Cameras
Related work
Through-the-lens camera control
• Use image constraints to change camera parameters
• Not very stable
Jim Blinn, Where am I? What am I Looking at?, IEEE CG&A, 1988
Michael Gleicher and Andrew Witkin, Through-the-lens camera control, SIGGRAPH 92
10Cameras
The IBar
A cube centered along the look vector• Changing the rendering of the cube
changes the camera in a corresponding way
• Different segments move limbs simultaneously• Cyan = top and bottom left limbs• Red = left and right bottom limbs
• Rendering of cube reflects projection parameters
11Cameras
Demo (traditional)
Dolly in and out
Rotate left-right up-down spin
Pan (object-centric)
Zoom (object-centric)
Pan (camera-centric)
Zoom (camera-centric)
Allows framing
12Cameras
Demo (Perspective change)
Dolly + zoom
Dolly in and out
Center of projection (horizontal – vertical)
13Cameras
Demo (Just Weird)
Aspect ratio
Skew
14Cameras
Camera- versus object-centric
Camera-centric• Allows “framing” of objects• Position cube in relation to scene
Object-centric• Traditional camera-moves-with-mouse
Nice to have both• Map different limbs
• E.g., zoom using the left handle is camera-centric, the right handle is object-centric
15Cameras
Some implementation details
Camera parameters
T – Eye position
L – Look vector
V – Up vector
W,H – width, height
f – focal length
u0,v0 – center of projection
d – distance to object
V
LT
f
H
d
R
Wv0
u0
V
LTf H
16Cameras
Drawing the IBar
LssRssII
VssII
VsvRsuLdTI
fdHs
ccttl
cmt
m
00
/
Cube edge is centered on look vector•Adjust for center of projection•Size of cube adjusted so is always sc high on screen
17Cameras
Drawing the IBar (cont.)
Draw horizontal bar at horizon line
t
1-t
p1 p2
18Cameras
Drawing the IBar (cont.)
Feedback• IBar highlights when mouse is over active part• Indicate selected segment with circle
19Cameras
Manipulating the IBar
Relative, not absolute• Determine which limb, and which segment selected• Determine ratio/percentage moved• Change corresponding parameter(s) by ratio
E.g., • Multiply zoom by ratio of length change• Pan by mouse movement
VsvRsvTT
fdHs
yx
/
20Cameras
Manipulating the IBarLimb movement constrained to vertical (or horizontal)
• Shift key unconstrains
Left-right movement rotates up or downUp-down movement changes center of projection
Pan unconstrained• Shift key constrains
Stem• Shift chooses aspect ratio or skew
21Cameras
Changing parameters simultaneously
Dolly plus zoom• Calculate dolly in• Find zoom that keeps everything at a distance d
away the same size
Center of projection• Translate in reverse direction
22Cameras
Camera- versus object-centric
Camera-centric• Render cube with new camera, scene with
original camera
Object-centric• Render both cube and scene with new camera
Changing parameters• Invert operation (i.e., pan in the opposite
direction)
23Cameras
Centering the IBar on an object
Allows rotation around arbitrary point• User selects point p in scene
• Determines d• Render at p
Rotation• Translate p to origin (and camera)• Rotate• Translate back
VsvRsuLdpIm
00
24Cameras
In practice
In use in short animated film, Ryan• Used for dramatic perspective changes
25Cameras
Summary
Visualization of COP, horizon line, perspective distortion• Also at arbitrary points in the scene
One mouse button for all 11 parameters• Shift key chooses less-common action• Click through interface
• Toggle key for disabling
Usable perspective manipulation• Simultaneous editing of parameters
26Cameras
Drawbacks
Remembering which parameters go where
Visual clutter
User study comparing IBar to Maya camera• Primary conclusion: camera manipulation is hard
for both naïve and knowledgeable users • Unable to manipulate camera to match a target
scene• IBar helped people to “learn” camera manipulation
27Cameras
Future work
Reducing number of parameters on widget• Multiple widgets, quick swap between them• Similar handles
Pre-viewing of manipulation effects• What does this handle do?
Bookmarking and camera paths• Visualizing in scene
• May be out of scene