SlideShare a Scribd company logo
Motion Planning for
Camera Movements in
 Virtual Environments
By 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
Approach
1.   Create probabilistic roadmap
2.   For each query, connect start and goal nodes
3.   Compute shortest path
4.   Smooth path
5.   Compute trajectory
6.   Shorten path
7.   Reduce number of segments
8.   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

More Related Content

PPT
DCS-IGARSS11_v2-aguilera.ppt
PDF
mid_presentation
PPTX
Mission Planning and Execution for the Unmanned Rotorcraft ARTIS
PDF
Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...
PDF
eric-yilin cv presentation
PDF
EVALUATION OF THE VISUAL ODOMETRY METHODS FOR SEMI-DENSE REAL-TIME
PDF
Interferogram Filtering Using Gaussians Scale Mixtures in Steerable Wavelet D...
PDF
Mpc final report
DCS-IGARSS11_v2-aguilera.ppt
mid_presentation
Mission Planning and Execution for the Unmanned Rotorcraft ARTIS
Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...
eric-yilin cv presentation
EVALUATION OF THE VISUAL ODOMETRY METHODS FOR SEMI-DENSE REAL-TIME
Interferogram Filtering Using Gaussians Scale Mixtures in Steerable Wavelet D...
Mpc final report

Viewers also liked (7)

DOCX
ratios analysis formula
PPTX
Career event presentation
PPTX
As evaluation q1
PPT
03 report
PDF
Henan Jianhui stainless steel profile
PPTX
Church presentation
DOC
Gan hang cau_hoi_trac_nghiem_6024
ratios analysis formula
Career event presentation
As evaluation q1
03 report
Henan Jianhui stainless steel profile
Church presentation
Gan hang cau_hoi_trac_nghiem_6024
Ad

Similar to CAMERA (11)

PPT
11 humanoid
PDF
Visual odometry & slam utilizing indoor structured environments
PDF
Contours Planning and Visual Servo Control of XXY Positioning System Using NU...
PDF
PHD Thesis Presentation
PDF
Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...
PDF
SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...
PPTX
Leveling basic surveying third year engineering
PDF
PPT
Rail Deflection
PDF
ShawnQuinnCSS565FinalResearchProject
PPTX
Chapter-4 Aerotriangulation.pptx............................
11 humanoid
Visual odometry & slam utilizing indoor structured environments
Contours Planning and Visual Servo Control of XXY Positioning System Using NU...
PHD Thesis Presentation
Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...
SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...
Leveling basic surveying third year engineering
Rail Deflection
ShawnQuinnCSS565FinalResearchProject
Chapter-4 Aerotriangulation.pptx............................
Ad

Recently uploaded (20)

PPTX
2025 Product Deck V1.0.pptxCATALOGTCLCIA
PPTX
Project Management_ SMART Projects Class.pptx
PDF
1911 Gold Corporate Presentation Aug 2025.pdf
PPTX
TRAINNING, DEVELOPMENT AND APPRAISAL.pptx
PDF
THE COMPLETE GUIDE TO BUILDING PASSIVE INCOME ONLINE
PDF
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
DOCX
80 DE ÔN VÀO 10 NĂM 2023vhkkkjjhhhhjjjj
PDF
Solaris Resources Presentation - Corporate August 2025.pdf
PDF
Charisse Litchman: A Maverick Making Neurological Care More Accessible
PPTX
operations management : demand supply ch
PDF
Tata consultancy services case study shri Sharda college, basrur
PPTX
Negotiation and Persuasion Skills: A Shrewd Person's Perspective
PDF
NewBase 12 August 2025 Energy News issue - 1812 by Khaled Al Awadi_compresse...
PPTX
Slide gioi thieu VietinBank Quy 2 - 2025
PDF
TyAnn Osborn: A Visionary Leader Shaping Corporate Workforce Dynamics
PDF
Blood Collected straight from the donor into a blood bag and mixed with an an...
PDF
Tortilla Mexican Grill 发射点犯得上发射点发生发射点犯得上发生
PDF
Robin Fischer: A Visionary Leader Making a Difference in Healthcare, One Day ...
PDF
Cours de Système d'information about ERP.pdf
PPTX
Slide gioi thieu VietinBank Quy 2 - 2025
2025 Product Deck V1.0.pptxCATALOGTCLCIA
Project Management_ SMART Projects Class.pptx
1911 Gold Corporate Presentation Aug 2025.pdf
TRAINNING, DEVELOPMENT AND APPRAISAL.pptx
THE COMPLETE GUIDE TO BUILDING PASSIVE INCOME ONLINE
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
80 DE ÔN VÀO 10 NĂM 2023vhkkkjjhhhhjjjj
Solaris Resources Presentation - Corporate August 2025.pdf
Charisse Litchman: A Maverick Making Neurological Care More Accessible
operations management : demand supply ch
Tata consultancy services case study shri Sharda college, basrur
Negotiation and Persuasion Skills: A Shrewd Person's Perspective
NewBase 12 August 2025 Energy News issue - 1812 by Khaled Al Awadi_compresse...
Slide gioi thieu VietinBank Quy 2 - 2025
TyAnn Osborn: A Visionary Leader Shaping Corporate Workforce Dynamics
Blood Collected straight from the donor into a blood bag and mixed with an an...
Tortilla Mexican Grill 发射点犯得上发射点发生发射点犯得上发生
Robin Fischer: A Visionary Leader Making a Difference in Healthcare, One Day ...
Cours de Système d'information about ERP.pdf
Slide gioi thieu VietinBank Quy 2 - 2025

CAMERA

  • 1. Motion Planning for Camera Movements in Virtual Environments By Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics and Automation 2004 Presented by Melvin Zhang NUS CS5247
  • 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. 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. 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. Camera configurations  Camera position - point in 3D  Viewing direction - point in 3D  Amount of roll - 1 parameter NUS CS5247 5
  • 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. Approach 1. Create probabilistic roadmap 2. For each query, connect start and goal nodes 3. Compute shortest path 4. Smooth path 5. Compute trajectory 6. Shorten path 7. Reduce number of segments 8. Compute viewing direction NUS CS5247 7
  • 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. 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. 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. 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. Smoothing the path (II) NUS CS5247 12
  • 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. 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. 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. Computing viewing direction (II) NUS CS5247 16
  • 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. Demo video 1 NUS CS5247 18
  • 19. Demo video 2 NUS CS5247 19
  • 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. 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