Advances in 3D data processing and 3D cameras

Similar documents
A consumer level 3D object scanning device using Kinect for web-based C2C business

GPGPU Implementation of Growing Neural Gas: Application to 3D Scene Reconstruction

A Robust and Fast Method for 6DoF Motion Estimation from Generalized 3D Data

Processing 3D Surface Data

MERGING POINT CLOUDS FROM MULTIPLE KINECTS. Nishant Rai 13th July, 2016 CARIS Lab University of British Columbia

Processing 3D Surface Data

3D Model Reconstruction using Neural Gas Accelerated on GPU

Combining Visual Features and Growing Neural Gas Networks for Robotic 3D SLAM

Accurate 3D Face and Body Modeling from a Single Fixed Kinect

Real-time 3D semi-local surface patch extraction using GPGPU: Application to 3D object recognition

HSM3D: Feature-Less Global 6DOF Scan-Matching in the Hough/Radon Domain

Structured light 3D reconstruction

3D Environment Reconstruction

Robotics Programming Laboratory

Robot localization method based on visual features and their geometric relationship

3D Computer Vision. Depth Cameras. Prof. Didier Stricker. Oliver Wasenmüller

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

Aircraft Tracking Based on KLT Feature Tracker and Image Modeling

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58

High-speed Three-dimensional Mapping by Direct Estimation of a Small Motion Using Range Images

A Three-Dimensional Representation method for Noisy Point Clouds based on Growing Self-Organizing Maps accelerated on GPUs

Real-time 3D semi-local surface patch extraction using GPGPU

BUILDING POINT GROUPING USING VIEW-GEOMETRY RELATIONS INTRODUCTION

Unconstrained 3D-Mesh Generation Applied to Map Building

3D Hand Pose Estimation with Neural Networks

Stereo and Epipolar geometry

3D Perception. CS 4495 Computer Vision K. Hawkins. CS 4495 Computer Vision. 3D Perception. Kelsey Hawkins Robotics

A NEW AUTOMATIC SYSTEM CALIBRATION OF MULTI-CAMERAS AND LIDAR SENSORS

3D-2D Laser Range Finder calibration using a conic based geometry shape

ABSTRACT. KinectFusion is a surface reconstruction method to allow a user to rapidly

Stereo Vision. MAN-522 Computer Vision

Pose Registration Model Improvement: Crease Detection. Diego Viejo Miguel Cazorla

REFINEMENT OF COLORED MOBILE MAPPING DATA USING INTENSITY IMAGES

Epipolar Geometry CSE P576. Dr. Matthew Brown

From Structure-from-Motion Point Clouds to Fast Location Recognition

3D Modeling of Objects Using Laser Scanning

Hand-eye calibration with a depth camera: 2D or 3D?

Reconstruction of complete 3D object model from multi-view range images.

arxiv: v1 [cs.cv] 28 Sep 2018

3D Object Representations. COS 526, Fall 2016 Princeton University

3D Modeling from Range Images

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

WestminsterResearch

CS4495/6495 Introduction to Computer Vision

Exploiting Depth Camera for 3D Spatial Relationship Interpretation

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253

LOAM: LiDAR Odometry and Mapping in Real Time

Processing 3D Surface Data

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO

Mobile Point Fusion. Real-time 3d surface reconstruction out of depth images on a mobile platform

Miniature faking. In close-up photo, the depth of field is limited.

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

Dense 3D Reconstruction. Christiano Gava

Efficient SLAM Scheme Based ICP Matching Algorithm Using Image and Laser Scan Information

Static Scene Reconstruction

Facial Expression Recognition using Principal Component Analysis with Singular Value Decomposition

Using Augmented Measurements to Improve the Convergence of ICP. Jacopo Serafin and Giorgio Grisetti

Real-Time Scene Reconstruction. Remington Gong Benjamin Harris Iuri Prilepov

Grafica 3D per i beni culturali: Multiview stereo matching, making the model. Lezione 16: 5 maggio 2013

Personal Navigation and Indoor Mapping: Performance Characterization of Kinect Sensor-based Trajectory Recovery

Incremental Structured ICP Algorithm

Dense 3D Reconstruction. Christiano Gava

Camera Registration in a 3D City Model. Min Ding CS294-6 Final Presentation Dec 13, 2006

Structure from Motion. Introduction to Computer Vision CSE 152 Lecture 10

Outline. 1 Why we re interested in Real-Time tracking and mapping. 3 Kinect Fusion System Overview. 4 Real-time Surface Mapping

Rigid ICP registration with Kinect

L2 Data Acquisition. Mechanical measurement (CMM) Structured light Range images Shape from shading Other methods

Lecture 19: Depth Cameras. Visual Computing Systems CMU , Fall 2013

Multiview Stereo COSC450. Lecture 8

IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 15, NO. 2, FEBRUARY

3D Computer Vision. Structure from Motion. Prof. Didier Stricker

ICP and 3D-Reconstruction

Point Cloud Processing

Uncertainties: Representation and Propagation & Line Extraction from Range data

Removing Moving Objects from Point Cloud Scenes

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

Registration of Dynamic Range Images

3D Models from Range Sensors. Gianpaolo Palma

LEARNING NAVIGATION MAPS BY LOOKING AT PEOPLE

Correspondence. CS 468 Geometry Processing Algorithms. Maks Ovsjanikov

A Systems View of Large- Scale 3D Reconstruction

3D Photography: Stereo

CITS 4402 Computer Vision

Interactive Collision Detection for Engineering Plants based on Large-Scale Point-Clouds

AAM Based Facial Feature Tracking with Kinect

3D Visualization through Planar Pattern Based Augmented Reality

Fast Sampling Plane Filtering, Polygon Construction and Merging from Depth Images

Manhattan-World Assumption for As-built Modeling Industrial Plant

StereoScan: Dense 3D Reconstruction in Real-time

Carmen Alonso Montes 23rd-27th November 2015

3D Computer Vision. Structured Light II. Prof. Didier Stricker. Kaiserlautern University.

Master Automática y Robótica. Técnicas Avanzadas de Vision: Visual Odometry. by Pascual Campoy Computer Vision Group

Grafica 3D per i beni culturali: Dense stereo matching, alternative e processing finale del modello (+ extra) Lezione 14: 9 maggio 2013

3D Point Cloud Processing

Digital Geometry Processing

Simultaneous Localization and Mapping (SLAM)

Index C, D, E, F I, J

Segmentation of point clouds

Multi-view Stereo. Ivo Boyadzhiev CS7670: September 13, 2011

SIMPLE ROOM SHAPE MODELING WITH SPARSE 3D POINT INFORMATION USING PHOTOGRAMMETRY AND APPLICATION SOFTWARE

Transcription:

Advances in 3D data processing and 3D cameras Miguel Cazorla Grupo de Robótica y Visión Tridimensional Universidad de Alicante

Contents Cameras and 3D images 3D data compression 3D registration 3D feature extraction Egomotion and reconstruction

Cameras and 3D images A sad story: Lot of work with stereo cameras. Stereo cameras are good enough for 3D, but they suffer from the lack of texture. Lot of work with 3D laser: long distance, but heavy and a bit slow and no color!. 2009: grant from Ministry for working with 3D data. 2010: search for a good 3D camera. SR4000 infrarred camera: 7.000 November of 2010: Kinect is launched. We are still crying.

Different 3D sensors

Comparison Name Indoor/outdoor Range Resolution Pixel inf. 3D sweeping unit Both 20m-50m100m 360 x 360 Stereo camera Both 5m-10m- 640 x 480 Color/Gray SR4000 Indoor (Caution!) 5m-10m 176 x 144 Infrared Kinect Indoor 7m 640 x 480 Color No

Data

3D data compression

3D data compression Kinect: resolution 640x480 ~ 300.000 3D points [X Y Z R G B] Kinect can provide 30fps HUGE AMOUNT OF DATA!!! Data compression is needed. There are several methods: Lossless/lossy methods (ussually using octrees) Progressive/non progressive methods

Proposed method Different from the ones in the literature Vicente Morell, Sergio Orts, Miguel Cazorla, Jose GarciaRodriguez Geometric 3D Point Cloud Compression. Pattern Recognition Letters (in review) Idea: if you know something about the environment, use it!!! Designed for man-made environments, mainly indoors It allows to define the level of compression

Compression step Parameter: compression level Plane extraction using Ransac For each plane extracted: Color segmentation: Transform points from 3D to 2D (using the plane) Use your favorite segmentation method (we used Kmeans) Provides some set of 3D points with similar color (and in a plane) For each 3D point set: Calculate the concavehull Apply a Delaunay triangulation Store the plane and triangles (3 vertex, statistics) Store the rest of points

Reconstruction Read the stored points For each plane P A is the area of P npoints is the points on P For each triangle t At is the area of t pointstogenerate=(at/a)*npoints Randomly generate points inside t Add color information to points

Results Compression obtained: 0.5 Distance error: 0.0074 Color error: 59.7

Experimentation

Experimentation With K=1 Compression level: 0.2, 0.5 and 0.8

Experimentation

Results

3D feature extraction Extracting features directly from 3D data Application: egomotion and reconstruction

3D feature extraction Again, 3D data is huge. We need a method to extract/model data without losing information. We'll see two combined approaches: Method for reducing data, preserving their topology Method to extract features, like small planes Using the two approches combined will improve the whole process

3D registration Registration: process to find the transformation between two objects, mainly used in 3D matching With 3D point sets, you can follow two approaches Find the transformation using raw 3D data point Extract features and apply Ransac (or similar) Ransac is fast and eliminate outliers, but sometimes it does not provide best results Raw methods are slooooow and also suffers from outliers Some methods first apply Ransac then raw methods It is directly related with the egomotion of a robot

3D registration: Ransac Find features (2D, 3D or 2½D) Find correspondences between features at consecutive frames Some of those correspondences are incorrect

3D registration: ransac Ransac: Select a number of correspondences Find the transformation which best describe the selected correspondences Calculate the number of correspondences which are correct and their error Repeat a number of iterations and/or until an error is reached

3D registration: ICP Iterative Closest Point (ICP) 1982!! We have two point sets: model M and scene S An initial transformation T Apply T to M = Mt Find closest points between Mt and S (correspondences) Find newt from the correspondences Return to 1. Until a number of iterations or error are reached

Extracting planar patches from 3D data

Planar patches Our main goal is to process 3D data from any kind of 3D sensor Trying to reduce 3D points to chuncks of planar surfaces Using a seeding approach, several points are selected and checked if they belong to a plane

Planar patches extraction From one point, a certain neighbourhood is selected That neighbourhood will be different depending on The distance Z to points The error inside the plane Calculate the covarianze matrix M Robust estimator: Singular Value Decomposition of M SVD provides 3 singular values and 3 singular vectors If the minimum singular value is much less than the other two, the point set is a plane and the two singular vectors define the plane.

Planar patches extraction This process takes less than 1 second (it depends on the sensor)

Using planar patches to get registration Now we have normals instead of points!! We want to find the transformation: We apply an ICP-like method (find correspondences then find transformation) In order to find correspondences we have to define a distance planar patches

Distance between planar patches A normal is defined by a point and a vector. where da is an angular distance and ξ is a factor to convert euclidean distances to angular Now we are able to find the closest patch to one given. Applying an ICP algorithm was not satisfactory, so we decided to disconnect rotation and traslation

Registration using planar patches: rotation Finding the rotation to align both point sets. With the normals, find the cross covarianze where wi is the weight for a given correspondence. It is calculated using the angular distance This allows to reject outliers. Find the SVD decomposition of and from it, calculate R

Registration using planar patches: translation Apply R to the model Now, the correspondences between both set make a force system, with three main directions Each correspondence is changed by a vector Using again SVD we can obtain the main directions D1, D2, D3 ti are the translation components

Complete method

Planar patches registration in progress

Processing time

Comparison with ICP

Results

Results Data: Riegl VZ-400 and a Optris PI IR camera. 11 poses, separated 40 meters, more than 7 million points each Error obtained: 0.89ms, 1.27 degrees Processing time: 1.6s patch extraction, 54.8s registration

Results

Improving the results

Some errors With some data (mainly SR4000), our method was not good Remember: the greater the error the greater neighbourhood is

Improvement of the method using GNG The error can be smoothed using Bilateral filtering or similar But we decided to try a different approach: a Growing Neural Gas (GNG) GNG is a neural network forming a map (neurons and edges between them) which expands to map the complete input data and preserves the topology

Results applying GNG to 3D data

Improvement when applying the planar patches algorithm

Results using GNG ICP Planar patches Planar patches plus GNG

Speeding up

Processing time FAIL!!!! Slooooooow GNG depends of the number of neurons used From seconds (5-20 s.) to minuts. Idea: apply GPU programming (CUDA) to speed up CUDA architecture reflects a SIMT model: Single Instruction, Multiple Threads Not all the method could be parallelize

Parallel algorithm

Results Trade-off

Conclusions Working with 3D data is amazing Always process the information in order to reduce data Sometimes, merging different technologies provides better results Do not buy SR4000!

Advances in 3D data processing and 3D cameras Thanks for your attention!!! Miguel Cazorla Grupo de Robótica y Visión Tridimensional Universidad de Alicante