Motion Planning forCamera Movements in Virtual EnvironmentsBy Dennis Nieuwenhuisen and Mark H. Overmars          In Proc. ...
Overview   Motivation   Related work   Camera configurations   Good cinematography   Approach   Handling the constra...
Motivation   Camera navigation in virtual    environments       Computer games       Architectural walkthrough       U...
Related work   Support motion generated by user       Virtual sidewalk       Speed of motion adapted automatically Com...
Camera configurations Camera position - point in 3D Viewing direction - point in 3D Amount of roll - 1 parameter       ...
Good cinematography Camera not too close to obstacles Horizon should be straight Lower speed when making sharp turns S...
Approach1.   Create probabilistic roadmap2.   For each query, connect start and goal nodes3.   Compute shortest path4.   S...
Handling the constraints   Camera should not pass to close to obstacles       Model camera as sphere   Horizon should b...
Creating a roadmap Consider camera as  sphere Generate collision  free camera positions Connect position c, c’  by chec...
Finding shortest path Wide turns may be preferred over sharp turns Use a penalty function, p(e,e’), which depends  on an...
Smoothing the path (I) Path consist of straight line segments Smooth path must be first order continuous Replace vertic...
Smoothing the path (II)               NUS CS5247   12
Computing camera speed   Smooth path is not sufficient for    smooth motion   Speed should also change in a    continuou...
Shortening the path   As roadmap is coarse, shortest path in graph may be    shortened   Pick two random configurations ...
Computing viewing direction (I) Viewing direction should also be first order  continuous Should indicate future motion ...
Computing viewing direction (II)                NUS CS5247         16
Applications and experiments   Implemented in CAVE C++ library   Figure on the left is scene of Rotterdam        Prepro...
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   F...
Summary   Contributions       Novel application of PRM approach for planning camera motions       Formulated constraint...
Upcoming SlideShare
Loading in …5
×

CAMERA

203 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
203
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CAMERA

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. Camera configurations Camera position - point in 3D Viewing direction - point in 3D Amount of roll - 1 parameter NUS CS5247 5
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. Smoothing the path (II) NUS CS5247 12
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. Computing viewing direction (II) NUS CS5247 16
  17. 17. 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
  18. 18. Demo video 1 NUS CS5247 18
  19. 19. Demo video 2 NUS CS5247 19
  20. 20. 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
  21. 21. 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

×