Real-time 3D Reconstruction and Localization

Similar documents
Real-Time 3D Reconstruction Using a Kinect Sensor

3D Face Modeling. Vuong Le. IFP group, Beckman Institute University of Illinois ECE417 Spring 2013

Removing Moving Objects from Point Cloud Scenes

A. OPENING POINT CLOUDS. (Notepad++ Text editor) (Cloud Compare Point cloud and mesh editor) (MeshLab Point cloud and mesh editor)

REALTIME 3D MAPPING, OPTIMIZATION, AND RENDERING BASED ON A DEPTH SENSOR CRAIG MOUSER. Bachelor of Science in Computer Engineering

A 3D OBJECT SCANNER An approach using Microsoft Kinect.

Automatic Labeling of Lane Markings for Autonomous Vehicles

KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera*

MVTec Software GmbH.

3D Vision An enabling Technology for Advanced Driver Assistance and Autonomous Offroad Driving

C# Implementation of SLAM Using the Microsoft Kinect

RGB-D Mapping: Using Kinect-Style Depth Cameras for Dense 3D Modeling of Indoor Environments

Volume visualization I Elvins

Topographic Change Detection Using CloudCompare Version 1.0

Image Analysis for Volumetric Industrial Inspection and Interaction

Point Cloud Simulation & Applications Maurice Fallon

animation animation shape specification as a function of time

A unified representation for interactive 3D modeling

Mobile Robot FastSLAM with Xbox Kinect

Part-Based Recognition

Spatio-Temporally Coherent 3D Animation Reconstruction from Multi-view RGB-D Images using Landmark Sampling

Introduction. C 2009 John Wiley & Sons, Ltd

Overset Grids Technology in STAR-CCM+: Methodology and Applications

ASSESSMENT OF VISUALIZATION SOFTWARE FOR SUPPORT OF CONSTRUCTION SITE INSPECTION TASKS USING DATA COLLECTED FROM REALITY CAPTURE TECHNOLOGIES

Modelling 3D Avatar for Virtual Try on

High speed 3D capture for Configuration Management DOE SBIR Phase II Paul Banks

PCL - SURFACE RECONSTRUCTION

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Computer Graphics AACHEN AACHEN AACHEN AACHEN. Public Perception of CG. Computer Graphics Research. Methodological Approaches

Introduction to Computer Graphics

3D Scanner using Line Laser. 1. Introduction. 2. Theory

animation shape specification as a function of time

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

Interactive Level-Set Deformation On the GPU

Color Segmentation Based Depth Image Filtering

Epipolar Geometry. Readings: See Sections 10.1 and 15.6 of Forsyth and Ponce. Right Image. Left Image. e(p ) Epipolar Lines. e(q ) q R.

Super-Resolution Keyframe Fusion for 3D Modeling with High-Quality Textures

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

Self-Calibrated Structured Light 3D Scanner Using Color Edge Pattern

Application Report. Propeller Blade Inspection Station

Taking Inverse Graphics Seriously

Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite

Solution Guide III-C. 3D Vision. Building Vision for Business. MVTec Software GmbH

Model Repair. Leif Kobbelt RWTH Aachen University )NPUT $ATA 2EMOVAL OF TOPOLOGICAL AND GEOMETRICAL ERRORS !NALYSIS OF SURFACE QUALITY

INTRODUCTION TO RENDERING TECHNIQUES

3D Vision An enabling Technology for Advanced Driver Assistance and Autonomous Offroad Driving

ACCURACY ASSESSMENT OF BUILDING POINT CLOUDS AUTOMATICALLY GENERATED FROM IPHONE IMAGES

A Short Introduction to Computer Graphics

Robot Perception Continued

Feature Tracking and Optical Flow

3D/4D acquisition. 3D acquisition taxonomy Computer Vision. Computer Vision. 3D acquisition methods. passive. active.

Optical Digitizing by ATOS for Press Parts and Tools

High-accuracy ultrasound target localization for hand-eye calibration between optical tracking systems and three-dimensional ultrasound

Blender 3D Animation

VOLUMNECT - Measuring Volumes with Kinect T M

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

GOM Optical Measuring Techniques. Deformation Systems and Applications

A System for Capturing High Resolution Images

Incremental Surface Extraction from Sparse Structure-from-Motion Point Clouds

Manufacturing Process and Cost Estimation through Process Detection by Applying Image Processing Technique

Intelligent Flexible Automation

Master Thesis. Sebastian Blumenthal

3D SCANNING: A NEW APPROACH TOWARDS MODEL DEVELOPMENT IN ADVANCED MANUFACTURING SYSTEM

Handbook of Robotics. Chapter 22 - Range Sensors

GUIDE TO POST-PROCESSING OF THE POINT CLOUD

Leeds the Automation Degree in the Processing of Laser Scan Data to Better Final Products?

Visual and Inertial Data Fusion for Globally Consistent Point Cloud Registration

Computer Graphics and Image Processing Introduction

CS 534: Computer Vision 3D Model-based recognition

DAMAGED ROAD TUNNEL LASER SCANNER SURVEY

Static Environment Recognition Using Omni-camera from a Moving Vehicle

Announcements. Active stereo with structured light. Project structured light patterns onto the object

DESIGN & DEVELOPMENT OF AUTONOMOUS SYSTEM TO BUILD 3D MODEL FOR UNDERWATER OBJECTS USING STEREO VISION TECHNIQUE

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

HistoPyramid stream compaction and expansion

3D Drawing. Single Point Perspective with Diminishing Spaces

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Correcting the Lateral Response Artifact in Radiochromic Film Images from Flatbed Scanners

VIRTUAL TRIAL ROOM USING AUGMENTED REALITY

3D Drawing. Single Point Perspective with Diminishing Spaces

MeshLab and Arc3D: Photo-Reconstruction and Processing of 3D meshes

Architectural Photogrammetry Lab., College of Architecture, University of Valladolid - jgarciaf@mtu.edu b

Direct Volume Rendering Elvins

3D Visualization of particle system with extracted data from sensor

BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality

Efficient Storage, Compression and Transmission

Single Depth Image Super Resolution and Denoising Using Coupled Dictionary Learning with Local Constraints and Shock Filtering

3D Modeling, Animation, and Special Effects ITP 215x (2 Units)

Application Example: Reverse Engineering

How does the Kinect work? John MacCormick

1. INTRODUCTION Graphics 2

Transcription:

Real-time 3D Reconstruction and Localization Hauptseminar Computer Vision & Visual Tracking for Robotic Applications SS2012 Robert Maier Technische Universität München Department of Informatics Robotics and Embedded Systems 12.06.2012 Robert Maier: Real-time 3D Reconstruction and Localization 1 / 31

Overview 1 Motivation 2 Existing related work 3 Real-time 3D Reconstruction and Localization Basic approach 3D data aquisition Reconstruction: Volume representation & ray casting Localization Volumetric integration Visualization 4 Examples 5 Conclusion Robert Maier: Real-time 3D Reconstruction and Localization 2 / 31

Outline 1 Motivation 2 Existing related work 3 Real-time 3D Reconstruction and Localization Basic approach 3D data aquisition Reconstruction: Volume representation & ray casting Localization Volumetric integration Visualization 4 Examples 5 Conclusion Robert Maier: Real-time 3D Reconstruction and Localization 3 / 31

Motivation Reverse Engineering: How to get a CAD model of a work piece? (e.g. for measuring purposes) Elaborate manual creation! Environment reconstruction for robots Robert Maier: Real-time 3D Reconstruction and Localization 4 / 31

Motivation: Task General task: reconstruct 3D models of real world scenes Solution: Real-time 3D Reconstruction and Localization 3D Reconstruction: build digital 3D model from physical object Localization: track camera to fuse different views Desired properties: Infrastructure- and marker-free (Single) handheld camera Real-time capability Accurate reconstruction Robert Maier: Real-time 3D Reconstruction and Localization 5 / 31

Outline 1 Motivation 2 Existing related work 3 Real-time 3D Reconstruction and Localization Basic approach 3D data aquisition Reconstruction: Volume representation & ray casting Localization Volumetric integration Visualization 4 Examples 5 Conclusion Robert Maier: Real-time 3D Reconstruction and Localization 6 / 31

Existing related work Approaches: SLAM: Simultaneous Localization And Mapping PTAM: Parallel Tracking And Mapping Limitations: Only use of sparse (feature-based) depth maps Reconstruction of only sparse models, used mostly for tracking Robert Maier: Real-time 3D Reconstruction and Localization 7 / 31

Outline 1 Motivation 2 Existing related work 3 Real-time 3D Reconstruction and Localization Basic approach 3D data aquisition Reconstruction: Volume representation & ray casting Localization Volumetric integration Visualization 4 Examples 5 Conclusion Robert Maier: Real-time 3D Reconstruction and Localization 8 / 31

Basic approach Scene Localization 6DOF Pose 3D data Volumetric Integration Ray casting Reconstruction (Global 3D model) Robert Maier: Real-time 3D Reconstruction and Localization 9 / 31

Basic approach: 3D data aquisition Scene Localization 6DOF Pose 3D data Volumetric Integration Ray casting Reconstruction (Global 3D model) Robert Maier: Real-time 3D Reconstruction and Localization 10 / 31

Aquisition of depth maps Dense depth map: 2D image with distances to next surface at each pixel Depth sensors: Microsoft Kinect Time-of-flight cameras 3D laser scanner Standard cameras: Stereo vision setup Single camera: depth from multiple views Robert Maier: Real-time 3D Reconstruction and Localization 11 / 31

Depth map conversion Initial data: depth map Remove noise using bilateral filter: filtered depth map Project into 3D camera space: vertex map (point cloud) Compute surface normals for each vertex: normal map Robert Maier: Real-time 3D Reconstruction and Localization 12 / 31

Basic approach: Volume representation Scene Localization 6DOF Pose 3D data Volumetric Integration Ray casting Reconstruction (Global 3D model) Robert Maier: Real-time 3D Reconstruction and Localization 13 / 31

Volumetric scene representation Goal: Find representation for reconstructed 3D model Store all point clouds from all frames too expensive Better: partition physical 3D space into discrete 3D voxel grid Fuse all depth maps from different views into this global model Implicit surfaces: Truncated Signed Distance Function (TSDF) Robert Maier: Real-time 3D Reconstruction and Localization 14 / 31

Truncated Signed Distance Function Object lies inside volume Assumption: Pose of camera w.r.t. to volume known Compute and store for each voxel of the volume: Truncated signed distance: relative distance of each voxel to the surface (between -1.0 and 1.0) Accumulated weight (for volumetric integration) Object surface defined by zero-crossings of TSDF Robert Maier: Real-time 3D Reconstruction and Localization 15 / 31

Truncated Signed Distance Function Robert Maier: Real-time 3D Reconstruction and Localization 16 / 31

Truncated Signed Distance Function Robert Maier: Real-time 3D Reconstruction and Localization 17 / 31

Basic approach: Ray casting Scene Localization 6DOF Pose 3D data Volumetric Integration Ray casting Reconstruction (Global 3D model) Robert Maier: Real-time 3D Reconstruction and Localization 18 / 31

Ray casting Given pose (virtual camera): Shoot rays through volume Zero-crossing of TSDF values surface Generate synthetic depth map Robert Maier: Real-time 3D Reconstruction and Localization 19 / 31

Basic approach: Localization Scene Localization 6DOF Pose 3D data Volumetric Integration Ray casting Reconstruction (Global 3D model) Robert Maier: Real-time 3D Reconstruction and Localization 20 / 31

Localization: Approaches Estimate camera pose for each new depth image w.r.t. global model frame 6DOF Pose? Two different approaches: Scan Alignment (KinectFusion) Image Alignment (DTAM) Robert Maier: Real-time 3D Reconstruction and Localization 21 / 31

Scan alignment: Iterative Closest Points algorithm Align overlapping point clouds (roughly aligned) Compute 6DOF pose between these scans Use of dense depth maps: more accurate localization ICP algorithm: Minimize distances between two point clouds Find closest pairs of points in the two point clouds Minimize distances between all closest points (= align scans) Compute closest points again and minimize distances Repeat steps iteratively until convergence Robert Maier: Real-time 3D Reconstruction and Localization 22 / 31

Localization using Scan Alignment First frame: predefined camera pose w.r.t. global volume Then: Align vertex map of current frame to previous frame: Vertex map of previous frame: Raw depth map of camera significant drift Better: Ray casting of synthetic depth map of global model ICP computes transformation w.r.t. previous frame Camera pose w.r.t. global model: combine consecutive transformations Initial Pose Camera motion too far: lost tracking Re-localization Robert Maier: Real-time 3D Reconstruction and Localization 23 / 31

Localization using Image Alignment 2.5D image alignment Ray casting from the global model (starting from previous camera pose): synthetic color image (from keyframes) synthetic inverse depth image Compare synthetic image with current real image Adjust and find virtual camera pose which gives best match between synthetic and real image 6DOF camera pose Robert Maier: Real-time 3D Reconstruction and Localization 24 / 31

Basic approach: Volumetric integration Scene Localization 6DOF Pose 3D data Volumetric Integration Ray casting Reconstruction (Global 3D model) Robert Maier: Real-time 3D Reconstruction and Localization 25 / 31

Volumetric integration 6DOF pose (localization) project current vertex map into global volume Compute for each voxel using projected vertex map: TSDF values: relative distances Weight: angle between surface normal and viewing direction Update voxels of global model: Update only visible voxels Average TSDF values of voxels with new values Add new weight to weight of voxels Robert Maier: Real-time 3D Reconstruction and Localization 26 / 31

Visualization: Marching cubes algorithm Compute polygonal mesh of an isosurface from 3D voxel grid: Take eight neighbor voxels of voxel grid (cube) Scalar values of cube corners: polygons to represent isosurface going through this cube 8 bits: 1, if scalar value is lower than isosurface value (inside the surface), otherwise 0 Based on 8 bits: choose polygon representation (lookup table) Place polygon vertices on cube edges (linear interpolation) Robert Maier: Real-time 3D Reconstruction and Localization 27 / 31

Outline 1 Motivation 2 Existing related work 3 Real-time 3D Reconstruction and Localization Basic approach 3D data aquisition Reconstruction: Volume representation & ray casting Localization Volumetric integration Visualization 4 Examples 5 Conclusion Robert Maier: Real-time 3D Reconstruction and Localization 28 / 31

KinectFusion Play time! http://reconstructme.net Robert Maier: Real-time 3D Reconstruction and Localization 29 / 31

Outline 1 Motivation 2 Existing related work 3 Real-time 3D Reconstruction and Localization Basic approach 3D data aquisition Reconstruction: Volume representation & ray casting Localization Volumetric integration Visualization 4 Examples 5 Conclusion Robert Maier: Real-time 3D Reconstruction and Localization 30 / 31

Conclusion Achievements: Accurate Reconstruction of full workspaces Real-time capability (due to use of GPU) Limitations: Voxel model unflexible Limited support for large areas Only rigid scenes (no deformations) Kinect sensor (only indoor) Current field of research! Robert Maier: Real-time 3D Reconstruction and Localization 31 / 31