Exploration of open source photogrammetry

About me

CTO & Co-Founder of Obrary

 

Focused on Product Visualization and Manufacturing automation

 

Out product is  a sales experience SDK for brands, retailers and manufacturers of personalized & customized products

Our interest in VR

VR provides new opportunities to create interactive/engaging  sales experiences for products

 

Extreme interest in Reality Capture & WebVR

Research Objective(s)

Q: can we develop a cost effective workflow for capturing products.

  • Textures quality is critical

  • Wide range of object:
    • Shapes
    • Sizes
    • Reflectance

Questions:

  • Are there open source solutions that we can use commercially?
  • Are open source solutions mature enough to use?
  • Can a fixed time investment to capture session ensure success?  
  • What Type of Capture rigs might we have to design/build?
  • How much compute (time) is required to process 
  • What operator skills are required

Next:  What Technologies?

OPTIONS for Reality Capture - RGB-D (IR)

  • ($$) Kinect
  • ($$) Structure (Occipital)
  • ($$$$$$) ArcTec EVA 
  • ($$) Tango (tablet/phone) *

*If you have a tango device, i would like to chat with you.

OPTIONS FOR REALITY CAPTURE - SL/Laser

  • ($$$$-$$$$$) David Laser
  • ($$) Eora-3d
  • ($) DIY Laser

OPTIONS FOR REALITY CAPTURE - Photogrammetry

Commercial*

  • AutoDesk ReCap/Memento/ReMake
  • Agisoft PhotoScan
  • Capturing Reality(.com)
  • Pix4D

Open Source*

  • VisualSFM /CMMS + MeshLab
  • VisualSFM/OpenMVS

The focus of this talk

Why Photogrammetry?

  • Easy to "overcapture"

  • Reality textures

  • Quality textures

  • Software solution

  • Many vendors (Free/Paid)

  • Not everything has CAD file(s)

  • Realistic Aesthetic

The chief objective of a photogrammetric process is to determine the distance between points in 3d space.

Simple Right?

Basics

  • Point - simple a point in 3D space (x:0, y:0, z:0)
  • Point Cloud - a collection of point in space, generally representing a multitude of points on a physical object.

Basics

Point clouds can have color, but they can't represent textures

Basics

In order to have textures, a point cloud but be converted to a mesh.  

  • There are many  algorithms to convert clouds to meshes.
  • It is difficult for a single algorithm to perfectly reconstruct any arbitrarily shaped point cloud.
  • This a practical sense, this is the hardest (experimental) part of the process.

Basics

Structure from motion (SfM)

A range imaging technique; it refers to the process of estimating three-dimensional structures from two-dimensional image sequences which may be coupled with local motion signals.

tl;dr

Alogrithms + many pictures = form

A (simplified)  Workflow

  1. Capture (The Object)
  2. Feature Detection/Matching
  3. Sparse Reconstruction
  4. Dense Reconstruction
  5. Mesh Reconstruction
  6. Texturization
  7. Export

Wait

Wait Longer

Cleanup

More Cleanup

2.

3.

4.

visualsfm + cmvs

meshlab

Experiment 1

Business Card Box

Experiment 2

Bicycle

Comparisons

Canon SX 230 HS (circa 2011 - 12MP)

Bicycle - 52 Image Capture

Autodesk Memento vs VisualSFM + Meshlab vs Agisoft PhotoScan

Takeaway:  Commerical Not always better

Walthrough

Business Card Box - 43 image capture

  • Smoother Mesh
  • Close to Manfold
  • Rounded corner with highlight depressed.
  • Flat Surface Missing points; causing rough mesh
  • Open Mesh
  • Handled rounded corner with highlight better.

Walthrough

Made with Slides.com