3D Mesh Reconstruction from Smartphone Videos

Final Project Proposal

Project Information

Project Description

Goals and Deliverables

  1. What we plan to deliver (base goal):
    • We plan to deliver 3D renderings in an interactive environment (similar to those of projects 2, 3, and 4) based on sample 360-degree mp4 files we take on our smartphones.
  2. What we hope to deliver (stretch goal):
    • We hope to package the code as an easy to use smart-phone app.
  3. How to measure the quality / performance of our system:
    • We checked sites like this for how to quantify accuracy of 3D models, but there isn't a well-defined procedure, so we will subjectively determine visual similarity to reality.
    • Compare rendering times for simple and complex scenes/geometries
    • If possible, low GPU usage and fast rendering times
  4. Define the kind of images you will create:
    Mesh Reproduction
    Texture Mapped
  5. If you are working on an interactive system, describe what demo you will create:
    • We will take a 360 degree video of an object and then use that as input in the command line. After running the executable, the program will post-process the video and render a 3D mesh object.
    • If there is extra time, we can show the object being used in a scene rendered by Unity.
  6. Schedule
    • Week 1 (4/9-4/16):
      • Standardize input video file - define specifications for the video.
        • Does the object need to be on a white background?
        • How many fps/keyframes?
        • How to identify point cloud?
      • Depth map estimation
        • Label depth value to each point in point cloud from key frames
    • Week 2 (4/17-4/23):
      • Depth fusion
        • Linear interpolation between near-by points
        • Combine/fuse collection of depth maps into a resolved 3D point cloud
    • Week 3 (4/14-4/30):
      • Mesh reconstruction
        • Explore different mesh representation options
    • Week 4 (5/1-5/7):
      • Texture mapping
      • Build out mobile app (iOS)

Resources

  1. Computing platform: MacOS, potentially iOS if we can get to the app
  2. https://blog.kitware.com/3d-reconstruction-from-smartphone-videos/
  3. http://openaccess.thecvf.com/content_cvpr_2016_workshops/w14/papers/Muratov_3DCapture_3D_Reconstruction_CVPR_2016_paper.pdf
  4. https://github.com/Kitware/maptk
    • We will use this github repo for getting starter code to scan videos for keyframes.