Project Tango - Master Thesis

"Optimization of augmented reality applications considering the depth information with Googles Project Tango"

Steffen Tröster
Cologne, Germany, 19.06.2016
Cologne University of Applied Sciences

Augmented Reality

Problem & Motivation

Solution: Using a Depthmap with the
Z-Buffer Method described by Wloka u. Anderson (1995)

Estimation of Depthinformation

  • Model Based Estimation
  • Edge Based Estimation
  • Structured Light Depthmap Usage
  • Structured Light Reconstruction

Depthmap from Pointcloud Projection

Simple Approach

  • detailed depth estimation per Tango depth frame
  • limited depth
  • visible noise
  • Can be used in constrained environment
  • small distance

Demo


Plane Reconstruction

own combination of different approaches

  • RANSAC plane detection by Yang u.a. Förstner (2010)
  • 3 planes in spartial octree cluster
  • plane reconstruction like Trevor u.a. (2012)
  • using the convex hull of supporting points

Prototype implementation

  • augmenting reconstruction
  • approximation of surfaces (reduces noise)
  • keeps false positives
  • gaps between planes
  • too inaccurate for detailed reconstruction
  • Can be used in rough environments

Demo


TSDF Reconstruction

Chisel - Klingensmith u.a. (2015)

  • optimized for mobile environments
  • uses TSDF data structure
  • saves memory because of spartial hashing
  • Marching Cubes rendering
  • corrects itself by Space Carving

Prototype implementation: OpenChisel

  • augmenting reconstruction
  • surface approximation (reduces noise)
  • Space Carving is erasing false-positives
  • No gaps
  • too inaccurate for detailed reconstruction
  • can be used in wide areas

Demo


Guided Filter

surface approximations and noise is producing errors

Idea: filter on depth image frame buffer

  • reducing noise
  • closes gaps of plane reconstrcution
  • isn't performant because of OpenCV
  • OpenCV filter is limited to 8 Bit

demo

Prototyp

on GitHub

Demo

Open Questions and Optimizations

Optimizing Plane Reconstruction

introducitn features of Chisel

  • Spatial Hashing
  • Space Carving
  • limiting the depth sensing (noise reduction)

How can planes be merged?

Optimizing Chisel

GPU Implementierung

  • small voxel is increasing the level of detail
  • Marching Cubes could be replaced by Raycasting

Microsoft Kinect Fusion (2015)

Questions for Guided Filter

  • Some errors can be erased - some couldn't not, why?
  • How to reduce depth artifacts? (8Bit - 16Bit?)

Optimization of Guided Filter

Implementation as OpenGL Fragmentshader?

Optimization of Depthinformation

Applying the filter before the integration into the reconstruction

Newcombe u.a. (2011)

alternative: Using more sophisticated Depth-Upsampling techniques

Shadow Vertex Shader Demo

Thanks!

Q&A

Vielen Dank!

Contact

Steffen Tröster
inovex Lab


@stetro
stroester@inovex.de

inovex GmbH
Schanzenstraße 6 - 20
51063 Cologne
Germany
inovex.de