• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content







Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds


Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    CAMERA CAMERA Presentation Transcript

    • Motion Planning forCamera Movements in Virtual EnvironmentsBy Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics and Automation 2004 Presented by Melvin Zhang NUS CS5247
    • Overview Motivation Related work Camera configurations Good cinematography Approach Handling the constraints Motion planning for camera movements  Creating a roadmap  Finding shortest path  Computing camera speed  Computing viewing direction Applications and experiments Summary NUS CS5247 2
    • Motivation Camera navigation in virtual environments  Computer games  Architectural walkthrough  Urban planning  CAD model inspection Drawbacks of manual control  Difficult  Ugly motions  Requires attention of user Solution: Specify start and goal  Automatically generate smooth collision free motion NUS CS5247 3
    • Related work Support motion generated by user  Virtual sidewalk  Speed of motion adapted automatically Computation of fixed camera positions Following a target  Third person view  Trajectory may not be known beforehand  Similar to target tracking NUS CS5247 4
    • Camera configurations Camera position - point in 3D Viewing direction - point in 3D Amount of roll - 1 parameter NUS CS5247 5
    • Good cinematography Camera not too close to obstacles Horizon should be straight Lower speed when making sharp turns Speed as high as possible Visual cues to future movements NUS CS5247 6
    • Approach1. Create probabilistic roadmap2. For each query, connect start and goal nodes3. Compute shortest path4. Smooth path5. Compute trajectory6. Shorten path7. Reduce number of segments8. Compute viewing direction NUS CS5247 7
    • Handling the constraints Camera should not pass to close to obstacles  Model camera as sphere Horizon should be straight  Avoid rolling the camera Lower speed when making sharp turns  Compute speed base on radius of turn Speed as high as possible  Path should maximize speed of camera Visual cues to future movements  Viewing direction of time t set to position in time t+d NUS CS5247 8
    • Creating a roadmap Consider camera as sphere Generate collision free camera positions Connect position c, c’ by checking if cylinder is collision free NUS CS5247 9
    • Finding shortest path Wide turns may be preferred over sharp turns Use a penalty function, p(e,e’), which depends on angle between e and e’ Distance for e arriving from e’ is p(e,e’) + length(e) Compute shortest path using Dijkstra’s algorithm Complexity is O(|V|log|V|) NUS CS5247 10
    • Smoothing the path (I) Path consist of straight line segments Smooth path must be first order continuous Replace vertices along path with largest collision free circular arc using binary search NUS CS5247 11
    • Smoothing the path (II) NUS CS5247 12
    • Computing camera speed Smooth path is not sufficient for smooth motion Speed should also change in a continuous way Max speed determined by arc radius Use max acceleration and deceleration to find actual speed  Backtrack deceleration to guarantee bottom corner  Accelerate maximally up to threshold or new edge  Complexity is linear in number of segments and arcs on path NUS CS5247 13
    • Shortening the path As roadmap is coarse, shortest path in graph may be shortened Pick two random configurations  Check for collision free path between them  Compute camera speed  Accept if new time is lower Remove nearby nodes to reduce number of segments NUS CS5247 14
    • Computing viewing direction (I) Viewing direction should also be first order continuous Should indicate future motion At time t, look at position at time t+td  Proved to be first order continuous  Nearer in sharp turns and further in wide turns NUS CS5247 15
    • Computing viewing direction (II) NUS CS5247 16
    • Applications and experiments Implemented in CAVE C++ library Figure on the left is scene of Rotterdam  Preprocessing in 2D (fixed height) took 5s (Pentium 4, 2.4 Ghz)  Query any pair of positions in 0.5s Figure on the right is model of a building  Preprocessing in 3D took 8s  Query any pair of positions in 0.5s NUS CS5247 17
    • Demo video 1 NUS CS5247 18
    • Demo video 2 NUS CS5247 19
    • Future work Generating “human” path  Fixed height above ground  Possibility of climbing starts/ladders Following target with known trajectory  Account for obstacle occlusions of target NUS CS5247 20
    • Summary Contributions  Novel application of PRM approach for planning camera motions  Formulated constraints imposed by theory of cinematography  Developed various smoothing techniques to achieve a smooth trajectory Further improvements  Penalty function p(e,e’) not defined, shortest path does not take into account camera speed  Collision check for circular arcs is time consuming, currently approximate arcs using number of short line segments  Path shortening needs to repeat adding of arcs and computing speed diagram  Approach base on iteratively applying several heuristics to improve the path, difficult to judge amount of improvement  Formulate path improvement as an optimization problem? NUS CS5247 21