COS 429 PS2: Reconstructing a Simpler World Due October 16 th
Goal • Recover the 3D structure of the world
Problem 1: Making the World Simpler • Simple World Assumptions: – Flat surfaces that are either horizontal or vertical – Objects rest on a white horizontal ground plane • Task: – Print Figure 1 and create objects for the world – Take a picture of the world you created and add it to the report
Problem 2: Taking Orthographic Pictures • Goal: – Want pictures that preserve parallel lines from 3D to 2D • Willing to accept weak perspective effects
• How: – Use the zoom of the camera or crop the central part of a picture • Task: – Take two pictures of the same scene so one image exhibits perspective projection and the other orthographic project and add it to the report – Want both pictures to look as similar as possible
Problem 3: Orthographic Projection • Two coordinate systems (X, Y, Z) world and (x, y) image • X axis of world coordinate system aligns with x axis of camera plane • Y and Z axes of world coordinate system align with y axis of camera plane
• Task: – Prove the two projection equations below that relate the 3D world position (X, Y, Z) to the 2D projected camera position (x, y) x = α X + x 0 y = α (cos( θ )Y – sin( θ )Z) + y 0
Problem 4: Geometric Constraints • Find edges with corresponding strengths and orientations • End goal is to find X(x, y), Y(x, y), Z(x, y) – Given our coordinate system: X(x, y) = x – Harder to find Y and Z since one dimension was lost due to projection • Create linear system of equations of constraints
• Color threshold determines ground from objects – On the ground Y(x, y) = 0 • Assume parallel projection – All 2D vertical edges are 3D vertical edges • Fails occasionally
Constraints 𝜖𝑍 1 𝜖𝑧 = • Vertical Edges: cos 𝜄 1 – Equals cos 𝜄 using the projection equations proved earlier • The vector t = (-n y , n x ) is the direction tangent to an edge 𝜖𝑍 𝜖𝑍 𝜖𝑍 𝜖𝑢 = ∇𝑍 ∙ 𝑢 = −𝑜 𝑧 𝜖𝑦 + 𝑜 𝑦 𝜖𝑧 = 0 • Horizontal Edges: – Equals 0 since the Y coordinate does not change for horizontal edges • Task: – Write the derivative constraints for Z(x, y) in the report 𝜖 2 𝑎 𝜖 2 𝑎 𝜖 2 𝑎 𝜖𝑎 𝜖𝑎 𝜖𝑧 , 𝜖𝑢 , 𝜖𝑦 2 , 𝜖𝑧 2 , • 𝜖𝑧𝜖𝑦
A simple inference scheme Y b = Constraint weights A Y = b Y = (A T A) -1 A T b Matlab Y = A\b;
Problem 5: Approximation of Derivatives • Want to use constraints from Problem 4 to determine Y(x, y) and Z(x, y) – Two constraints missing from existing code • Task: – Write two lines of code (lines 171 and 187) – Copy these two lines and add them to the report
Problem 6: A Simple Inference Scheme • Write the constraints as a system of linear equations • Task: – Run simpleworldY.m to generate images for the report – Include some screen shots of the generated figures and include in report
Extra Credit 1: Violating Simple World Assumptions • What if we violate our assumptions? – Show examples where the reconstruction fails – Why does it fail?
Extra Credit 2: The Real World • Take pictures of the real world – How can we modify this assignment to getter better 3D reconstruction in the real world? • Try to handle a few more situations • Possible final project?
What to Submit: • One PDF file report • One ZIP file containing all the source code, and a “ simpleworldY.m ” file that takes no parameters as input and runs directly in Matlab to generate the results reported in your PDF file.
PDF Report • (1) Take a picture of the world you created • (2) Submit two pictures – one showing orthographic projection and the other perspective projection • (3) Prove the two projection equations • (4) Write the constraints for Z(x, y) • (5) Fill in missing kernels (lines 171 and 187) and copy code into report • (6) Show results and figures output by simpleworldY.m • [Optional] Extra credit
Recommend
More recommend