1 / 21

3D Scanner

3D Scanner. Julian Timpner | Axel Schön | Matthias Meine | Meik Gowin | Sergey Kovalev Team Project. Computer Graphics Lab, TU Braunschweig. Tasks. Camera Calibration Create 3D Object Mesh Simplification. Workflow. Image Acquisition. 60 – 80 pictures Scenery background

bayley
Télécharger la présentation

3D Scanner

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3D Scanner Julian Timpner | Axel Schön | Matthias Meine | MeikGowin | Sergey Kovalev Team Project • Computer Graphics Lab, TU Braunschweig

  2. Tasks • Camera Calibration • Create 3D Object • Mesh Simplification

  3. Workflow

  4. Image Acquisition • 60 – 80 pictures • Scenery background • Provide enough keypoints • 360° view

  5. Pictures/Silhouettes • Create the silhouette manually

  6. Camera Calibration • Bundler • State-of-the-art software for camera calibration • Used in Photo Tourism • Input: Set of unordered images and feature detector • Structure-from-motion • Output: Camera Calibration Data, Point clouds (PLY files)

  7. Bundler Output • Cameras/Points <num_cameras> <num_points> [two integers] <camera1> ... <cameraN> <point1> ... <pointM> • <camera> <f> <k1> <k2> [the focal length, followed by two radial distortion coeffs] <R> [a 3x3 matrix representing the camera rotation] <t> [a 3-vector describing the camera translation]

  8. Matrix Conversion Output from Bundler Convert projection matrices Input for hull reconstruction

  9. Matrix Conversion Get projection matrix B. (R00 R01 R02 t0) B = (R10 R11 R12 t1) (R20 R21 R22 t2) ( 0 0 0 1 ) Create intrinsic matrix C. For some reason, the x-component has to be flipped in image space (by negating the focal length). (-f*scale 0 w/2 0 ) C = (0 f*scale h/2 0 ) (0 0 1 0 ) (0 0 0 -0.001) Projection matrix A for undistorted images. A = C * B Create final 3x4 projection matrix P from A's entries aij. (a00/a33 a01/a33 a02/a33 a03/a33) P = (a10/a33 a11/a33 a12/a33 a13/a33) (a20/a33 a21/a33 a22/a33 a23/a33)

  10. 3D Reconstruction • Visual Hull Approach • Use camera positions and mask contours to generate viewing cones • Intersect those cones • Intersection points define visual hull

  11. 3D Reconstruction • Our choice: Exact Polyhedral Visual Hulls • Better approximation • Decreased complexity • Output: mesh in .off file format

  12. Off2Obj Converter • Interface to the “Virtual Navigation” team .off mesh from EPVH Convert .off into .obj .obj mesh

  13. Object • Example output

  14. Advantages • Only one camera needed • No manual camera calibration • Fully automatic, only silhouette images needed

  15. Problems • Silhouette Carving • Used algorithm crashed while working with our input: our matrices seemed to be incompatible with it • Results worse than EPVH • Marching Cubes • The voxels extracted from the Silhouette Carving example could not be connected properly for creating a mesh

  16. SC/MC Results

  17. Problems • Bundler Point Cloud • Too much noise, mostly too few object points

  18. Open issue: Textures • Texture Mapping • Projective Textures

  19. Textures Texture Mapping • Put 3D object on 2D texture • Texture Mapping algorithm maps 3D to 2D coordinates

  20. Textures Projective Textures • Put 2D texture on 3D object

  21. Thank you for your attention! Any questions?

More Related