SlideShare a Scribd company logo
1 of 21
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

Viewers also liked

ratios analysis formula
ratios analysis formularatios analysis formula
ratios analysis formulaSahabul Hasan
 
Career event presentation
Career event presentationCareer event presentation
Career event presentationWalter Alba
 
As evaluation q1
As evaluation q1As evaluation q1
As evaluation q1rossnagy
 
Henan Jianhui stainless steel profile
Henan Jianhui stainless steel  profileHenan Jianhui stainless steel  profile
Henan Jianhui stainless steel profileYing Xiang
 
Church presentation
Church presentationChurch presentation
Church presentationsimply_abeer
 
Gan hang cau_hoi_trac_nghiem_6024
Gan hang cau_hoi_trac_nghiem_6024Gan hang cau_hoi_trac_nghiem_6024
Gan hang cau_hoi_trac_nghiem_6024Hongxuan Nguyen
 

Viewers also liked (7)

ratios analysis formula
ratios analysis formularatios analysis formula
ratios analysis formula
 
Career event presentation
Career event presentationCareer event presentation
Career event presentation
 
As evaluation q1
As evaluation q1As evaluation q1
As evaluation q1
 
03 report
03 report03 report
03 report
 
Henan Jianhui stainless steel profile
Henan Jianhui stainless steel  profileHenan Jianhui stainless steel  profile
Henan Jianhui stainless steel profile
 
Church presentation
Church presentationChurch presentation
Church presentation
 
Gan hang cau_hoi_trac_nghiem_6024
Gan hang cau_hoi_trac_nghiem_6024Gan hang cau_hoi_trac_nghiem_6024
Gan hang cau_hoi_trac_nghiem_6024
 

Similar to CAMERA

Visual odometry & slam utilizing indoor structured environments
Visual odometry & slam utilizing indoor structured environmentsVisual odometry & slam utilizing indoor structured environments
Visual odometry & slam utilizing indoor structured environmentsNAVER Engineering
 
Contours Planning and Visual Servo Control of XXY Positioning System Using NU...
Contours Planning and Visual Servo Control of XXY Positioning System Using NU...Contours Planning and Visual Servo Control of XXY Positioning System Using NU...
Contours Planning and Visual Servo Control of XXY Positioning System Using NU...journal ijrtem
 
PHD Thesis Presentation
PHD Thesis PresentationPHD Thesis Presentation
PHD Thesis PresentationMohamed Sobh
 
Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...
Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...
Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...Connor Goddard
 
SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...
SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...
SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...Kitsukawa Yuki
 
Leveling basic surveying third year engineering
Leveling basic surveying third year engineeringLeveling basic surveying third year engineering
Leveling basic surveying third year engineeringKetan Mahajan
 
ShawnQuinnCSS565FinalResearchProject
ShawnQuinnCSS565FinalResearchProjectShawnQuinnCSS565FinalResearchProject
ShawnQuinnCSS565FinalResearchProjectShawn Quinn
 

Similar to CAMERA (10)

11 humanoid
11 humanoid11 humanoid
11 humanoid
 
Visual odometry & slam utilizing indoor structured environments
Visual odometry & slam utilizing indoor structured environmentsVisual odometry & slam utilizing indoor structured environments
Visual odometry & slam utilizing indoor structured environments
 
Contours Planning and Visual Servo Control of XXY Positioning System Using NU...
Contours Planning and Visual Servo Control of XXY Positioning System Using NU...Contours Planning and Visual Servo Control of XXY Positioning System Using NU...
Contours Planning and Visual Servo Control of XXY Positioning System Using NU...
 
PHD Thesis Presentation
PHD Thesis PresentationPHD Thesis Presentation
PHD Thesis Presentation
 
Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...
Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...
Estimation of Terrain Gradient Conditions & Obstacle Detection Using a Monocu...
 
SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...
SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...
SkyStitch: a Cooperative Multi-UAV-based Real-time Video Surveillance System ...
 
Leveling basic surveying third year engineering
Leveling basic surveying third year engineeringLeveling basic surveying third year engineering
Leveling basic surveying third year engineering
 
MTP paper
MTP paperMTP paper
MTP paper
 
Rail Deflection
Rail DeflectionRail Deflection
Rail Deflection
 
ShawnQuinnCSS565FinalResearchProject
ShawnQuinnCSS565FinalResearchProjectShawnQuinnCSS565FinalResearchProject
ShawnQuinnCSS565FinalResearchProject
 

Recently uploaded

Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03DallasHaselhorst
 
Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environmentelijahj01012
 
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...Hector Del Castillo, CPM, CPMM
 
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...ssuserf63bd7
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Anamaria Contreras
 
digital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingdigital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingrajputmeenakshi733
 
Send Files | Sendbig.comSend Files | Sendbig.com
Send Files | Sendbig.comSend Files | Sendbig.comSend Files | Sendbig.comSend Files | Sendbig.com
Send Files | Sendbig.comSend Files | Sendbig.comSendBig4
 
WSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfWSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfJamesConcepcion7
 
Excvation Safety for safety officers reference
Excvation Safety for safety officers referenceExcvation Safety for safety officers reference
Excvation Safety for safety officers referencessuser2c065e
 
business environment micro environment macro environment.pptx
business environment micro environment macro environment.pptxbusiness environment micro environment macro environment.pptx
business environment micro environment macro environment.pptxShruti Mittal
 
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxGo for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxRakhi Bazaar
 
BAILMENT & PLEDGE business law notes.pptx
BAILMENT & PLEDGE business law notes.pptxBAILMENT & PLEDGE business law notes.pptx
BAILMENT & PLEDGE business law notes.pptxran17april2001
 
Technical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamTechnical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamArik Fletcher
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdfShaun Heinrichs
 
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...Operational Excellence Consulting
 
TriStar Gold Corporate Presentation - April 2024
TriStar Gold Corporate Presentation - April 2024TriStar Gold Corporate Presentation - April 2024
TriStar Gold Corporate Presentation - April 2024Adnet Communications
 
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...ssuserf63bd7
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationAnamaria Contreras
 

Recently uploaded (20)

The Bizz Quiz-E-Summit-E-Cell-IITPatna.pptx
The Bizz Quiz-E-Summit-E-Cell-IITPatna.pptxThe Bizz Quiz-E-Summit-E-Cell-IITPatna.pptx
The Bizz Quiz-E-Summit-E-Cell-IITPatna.pptx
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03
 
Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environment
 
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
 
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.
 
digital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingdigital marketing , introduction of digital marketing
digital marketing , introduction of digital marketing
 
Send Files | Sendbig.comSend Files | Sendbig.com
Send Files | Sendbig.comSend Files | Sendbig.comSend Files | Sendbig.comSend Files | Sendbig.com
Send Files | Sendbig.comSend Files | Sendbig.com
 
WSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfWSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdf
 
Excvation Safety for safety officers reference
Excvation Safety for safety officers referenceExcvation Safety for safety officers reference
Excvation Safety for safety officers reference
 
business environment micro environment macro environment.pptx
business environment micro environment macro environment.pptxbusiness environment micro environment macro environment.pptx
business environment micro environment macro environment.pptx
 
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxGo for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
 
BAILMENT & PLEDGE business law notes.pptx
BAILMENT & PLEDGE business law notes.pptxBAILMENT & PLEDGE business law notes.pptx
BAILMENT & PLEDGE business law notes.pptx
 
Technical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamTechnical Leaders - Working with the Management Team
Technical Leaders - Working with the Management Team
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf
 
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
 
TriStar Gold Corporate Presentation - April 2024
TriStar Gold Corporate Presentation - April 2024TriStar Gold Corporate Presentation - April 2024
TriStar Gold Corporate Presentation - April 2024
 
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
 
WAM Corporate Presentation April 12 2024.pdf
WAM Corporate Presentation April 12 2024.pdfWAM Corporate Presentation April 12 2024.pdf
WAM Corporate Presentation April 12 2024.pdf
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement Presentation
 

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