Computer Vision and Robotics Group

Slides:



Advertisements
Similar presentations
QR Code Recognition Based On Image Processing
Advertisements

Road-Sign Detection and Recognition Based on Support Vector Machines Saturnino, Sergio et al. Yunjia Man ECG 782 Dr. Brendan.
High-Resolution Three- Dimensional Sensing of Fast Deforming Objects Philip Fong Florian Buron Stanford University This work supported by:
Kawada Industries Inc. has introduced the HRP-2P for Robodex 2002
Structured Light principles Figure from M. Levoy, Stanford Computer Graphics Lab.
www-video.eecs.berkeley.edu/research
--- some recent progress Bo Fu University of Kentucky.
(thanks: slides Prof. S. Narasimhan, CMU, Marc Pollefeys, UNC)
Structured light and active ranging techniques Class 11.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm Lecture #17.
Vision Sensing. Multi-View Stereo for Community Photo Collections Michael Goesele, et al, ICCV 2007 Venus de Milo.
Gratuitous Picture US Naval Artillery Rangefinder from World War I (1918)!!
Stereo Many slides adapted from Steve Seitz. Binocular stereo Given a calibrated binocular stereo pair, fuse it to produce a depth image Where does the.
Structured Light + Range Imaging Lecture #17 (Thanks to Content from Levoy, Rusinkiewicz, Bouguet, Perona, Hendrik Lensch)
Computer Vision Lecture 16: Region Representation
Structured Lighting Guido Gerig CS 6320, 3D Computer Vision Spring 2012 (thanks: some slides S. Narasimhan CMU, Marc Pollefeys UNC)
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
Active Calibration of Cameras: Theory and Implementation Anup Basu Sung Huh CPSC 643 Individual Presentation II March 4 th,
A Study of Approaches for Object Recognition
Multiple View Geometry : Computational Photography Alexei Efros, CMU, Fall 2005 © Martin Quinn …with a lot of slides stolen from Steve Seitz and.
Contents Description of the big picture Theoretical background on this work The Algorithm Examples.
Structured light and active ranging techniques Class 8.
Stereoscopic Light Stripe Scanning: Interference Rejection, Error Minimization and Calibration By: Geoffrey Taylor Lindsay Kleeman Presented by: Ali Agha.
Detecting Image Region Duplication Using SIFT Features March 16, ICASSP 2010 Dallas, TX Xunyu Pan and Siwei Lyu Computer Science Department University.
Multiple Human Objects Tracking in Crowded Scenes Yao-Te Tsai, Huang-Chia Shih, and Chung-Lin Huang Dept. of EE, NTHU International Conference on Pattern.
Introduction to Computer Vision 3D Vision Topic 9 Stereo Vision (I) CMPSCI 591A/691A CMPSCI 570/670.
Presented by: Ali Agha March 02, Outline Sterevision overview Motivation & Contribution Structured light & method overview Related work Disparity.
CSE473/573 – Stereo Correspondence
3-D Computer Vision Using Structured Light Prepared by Burak Borhan.
Announcements PS3 Due Thursday PS4 Available today, due 4/17. Quiz 2 4/24.
Multiple View Geometry : Computational Photography Alexei Efros, CMU, Fall 2006 © Martin Quinn …with a lot of slides stolen from Steve Seitz and.
55:148 Digital Image Processing Chapter 11 3D Vision, Geometry Topics: Basics of projective geometry Points and hyperplanes in projective space Homography.
Stereo vision A brief introduction Máté István MSc Informatics.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
1 Intelligent Robotics Research Centre (IRRC) Department of Electrical and Computer Systems Engineering Monash University, Australia Visual Perception.
Image Formation. Input - Digital Images Intensity Images – encoding of light intensity Range Images – encoding of shape and distance They are both a 2-D.
Lecture 12 Stereo Reconstruction II Lecture 12 Stereo Reconstruction II Mata kuliah: T Computer Vision Tahun: 2010.
A Local Adaptive Approach for Dense Stereo Matching in Architectural Scene Reconstruction C. Stentoumis 1, L. Grammatikopoulos 2, I. Kalisperakis 2, E.
Visual Perception PhD Program in Information Technologies Description: Obtention of 3D Information. Study of the problem of triangulation, camera calibration.
S EGMENTATION FOR H ANDWRITTEN D OCUMENTS Omar Alaql Fab. 20, 2014.
Integral University EC-024 Digital Image Processing.
December 4, 2014Computer Vision Lecture 22: Depth 1 Stereo Vision Comparing the similar triangles PMC l and p l LC l, we get: Similarly, for PNC r and.
September 23, 2014Computer Vision Lecture 5: Binary Image Processing 1 Binary Images Binary images are grayscale images with only two possible levels of.
September 5, 2013Computer Vision Lecture 2: Digital Images 1 Computer Vision A simple two-stage model of computer vision: Image processing Scene analysis.
1 Finding depth. 2 Overview Depth from stereo Depth from structured light Depth from focus / defocus Laser rangefinders.
Pattern Projection Techniques Computer Vision and Robotics University of G iro na.
Stereo Many slides adapted from Steve Seitz.
Stereo Many slides adapted from Steve Seitz. Binocular stereo Given a calibrated binocular stereo pair, fuse it to produce a depth image image 1image.
Lec 22: Stereo CS4670 / 5670: Computer Vision Kavita Bala.
: Chapter 11: Three Dimensional Image Processing 1 Montri Karnjanadecha ac.th/~montri Image.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Computer Vision Lecture #10 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department, Ain Shams University, Cairo, Egypt 2 Electerical.
Autonomous Robots Vision © Manfred Huber 2014.
1 Machine Vision. 2 VISION the most powerful sense.
Robust and Accurate Surface Measurement Using Structured Light IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 57, NO. 6, JUNE 2008 Rongqian.
Triangulation Scanner Design Options
Lecture 9 Feature Extraction and Motion Estimation Slides by: Michael Black Clark F. Olson Jean Ponce.
Project 2 due today Project 3 out today Announcements TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA.
1 Computational Vision CSCI 363, Fall 2012 Lecture 16 Stereopsis.
Instructor: Mircea Nicolescu Lecture 10 CS 485 / 685 Computer Vision.
Computational Vision CSCI 363, Fall 2012 Lecture 17 Stereopsis II
Coded Structured Light Coded Structured Light
제 5 장 스테레오.
José Manuel Iñesta José Martínez Sotoca Mateo Buendía
CS4670 / 5670: Computer Vision Kavita Bala Lec 27: Stereo.
Common Classification Tasks
Range Imaging Through Triangulation
By: Mohammad Qudeisat Supervisor: Dr. Francis Lilley
Course 6 Stereo.
Presentation transcript:

Overview of coded light projection techniques for automatic 3D profiling Computer Vision and Robotics Group Institut d’Informàtica i Aplicacions Jordi Pagès Joaquim Salvi

Presentation outline Introduction Coded pattern classification Conclusions Sub-pixel matching Experiments Classification Introduction Formació Introduction Coded pattern classification Time-multiplexing Spatial codification Direct codification Experimental results Sub-pixel matching Conclusions & guidelines 1/36

Introduction: shape acquisition Shape acquisition techniques Introduction Shape acquisition Stereovision Encoding/ decoding Non-contact Contact Reflective Transmissive Non-destructive Destructive Non-optical Industrial CT Classification Slicing CMM Jointed arms Microwave radar Sonar Optical Active Experiments Passive Imaging radar Stereo Sub-pixel matching Shape from X Triangulation (Coded) Structured light Motion Stereo Shading Silhouettes Texture Interferometry Conclusions Moire Holography Source: Brian Curless 2/36

Introduction: passive stereovision Shape acquisition Stereovision Encoding/ decoding Correspondence problem geometric constraints  search along epipolar lines 3D reconstruction of matched pairs by triangulation Classification Experiments Sub-pixel matching Conclusions 3/36

Introduction: active stereo (coded structured light) Shape acquisition Stereovision Encoding/ decoding One of the cameras is replaced by a light emitter Correspondence problem is solved by searching the pattern in the camera image (pattern decoding) Classification Experiments Sub-pixel matching Conclusions 4/36

Introduction: pattern encoding/decoding (I) Shape acquisition Stereovision Encoding/ decoding A pattern is encoded when after projecting it onto a surface, a set of regions of the observed projection can be easily matched with the original pattern. Example: pattern with two-encoded-columns The process of matching an image region with its corresponding pattern region is known as pattern decoding  similar to searching correspondences Decoding a projected pattern allows a large set of correspondences to be easily found thanks to the a priori knowledge of the light pattern Object scene Pixels in red and yellow are directly matched with the pattern columns Classification Codification using colors Experiments Sub-pixel matching Conclusions 5/36

Introduction: pattern encoding/decoding (II) Shape acquisition Stereovision Encoding/ decoding Two ways of encoding the correspondences: single and double axis codification  it determines how the triangulation is calculated Decoding the pattern means locating points in the camera image whose corresponding point in the projector pattern is a priori known Single-axis encoding Double-axis encoding Classification Triangulation by line-to-plane intersection Triangulation by line-to-line intersection Experiments Sub-pixel matching Conclusions 6/36

Coded structured light patterns: a classification proposal Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 7/36

Time-multiplexing Experiments Pattern 3 Pattern 2 Sub-pixel matching Introduction The time-multiplexing paradigm consists of projecting a series of light patterns so that every encoded point is identified with the sequence of intensities that receives The most common structure of the patterns is a sequence of stripes increasing its length by the time  single-axis encoding Advantages: high resolution  a lot of 3D points High accuracy (order of m) Robustness against colorful objects since binary patterns can be used Drawbacks: Static objects only Large number of patterns Example: 3 binary-encoded patterns which allows the measuring surface to be divided in 8 sub-regions Classification Time-multiplexing Spatial codification Direct codification Projected over time Experiments Pattern 3 Pattern 2 Sub-pixel matching Pattern 1 Conclusions 8/36

Time-multiplexing: binary codes (I) Introduction Formació Coding redundancy: every edge between adjacent stripes can be decoded by the sequence at its left or at its right Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 9/36

Time-multiplexing: Binary codes (II) Introduction Every encoded point is identified by the sequence of intensities that receives n patterns must be projected in order to encode 2n stripes Example: 7 binary patterns proposed by Posdamer & Altschuler Classification Time-multiplexing Spatial codification Direct codification Projected over time … Experiments Pattern 3 Pattern 2 Sub-pixel matching Pattern 1 Conclusions Codeword of this píxel: 1010010  identifies the corresponding pattern stripe 10/36

Time-multiplexing: n-ary codes (I) Introduction n-ary codes reduce the number of patterns by increasing the number of projected intensities (grey levels/colours)  increases the basis of the code The number of patterns, the number of grey levels or colours and the number of encoded stripes are strongly related  fixing two of these parameters the reamaining one is obtained Classification Time-multiplexing Spatial codification Direct codification Using a binary code, 6 patterns are necessary necessary to encode 64 stripes Experiments Sub-pixel matching Conclusions 3 patterns based on a n-ary code of 4 grey levels (Horn & Kiryati)  64 encoded stripes 11/36

Time-multiplexing: n-ary codes (II) Introduction n-ary codes reduce the number of patterns by increasing the number of projected intensities (grey levels/colours) Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 12/36

Time-multiplexing: Gray code + Phase shifting (I) Introduction A sequence of binary patterns (Gray encoded) are projected in order to divide the object in regions Example: three binary patterns divide the object in 8 regions Classification Time-multiplexing Spatial codification Direct codification Without the binary patterns we would not be able to distinguish among all the projected slits An additional periodical pattern is projected Experiments The periodical pattern is projected several times by shifting it in one direction in order to increase the resolution of the system  similar to a laser scanner Sub-pixel matching Every slit always falls in the same region Gühring’s line-shift technique Conclusions 13/36

Time-multiplexing: Gray code + Phase shifting (II) A periodical pattern is shifted and projected several times in order to increase the resolution of the measurements The Gray encoded patterns permit to differentiate among all the periods of the shifted pattern Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 14/36

Time-multiplexing: hybrid methods (I) In order to decode an illuminated point it is necessary to observe not only the sequence of intensities received by such a point but also the intensities of few (normally 2) adjacent points The number of projected patterns reduces thanks to the spatial information that is taken into account The redundancy on the binary codification is eliminated Introduction Formació Classification Time-multiplexing Spatial codification Direct codification 1 Pattern 1 Hall-Holt and Rusinkiewicz technique: 4 patterns with 111 binary stripes Edges encoding: 4x2 bits (every adjacent stripe is a bit) 1 1 Pattern 2 Experiments 1 Pattern 3 Sub-pixel matching 1 Pattern 4 Conclusions Edge codeword: 10110101 15/36

Time-multiplexing: hybrid methods (II) Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 16/36

Spatial Codification Drawbacks: Introduction Spatial codification paradigm encodes a set of points with the information contained in a neighborhood (called window) around them The codification is condensed in a unique pattern instead of multiplexing it along time The size of the neighborhood (window size) is proportional to the number of encoded points and inversely proportional to the number of used colors The aim of these techniques is to obtain a one-shot measurement system  moving objects can be measured Classification Time-multiplexing Spatial codification Direct codification Drawbacks: Discontinuities on the object surface can produce erroneous window decoding (occlusions problem) The higher the number of used colours, the more difficult to correctly identify them when measuring non-neutral surfaces Maximum resolution cannot be reached Experiments Advantages: Moving objects supported Possibility to condense the codification to a unique pattern Sub-pixel matching Conclusions 17/36

Spatial codification: non-formal codification (I) The first group of techniques that appeared used codification schemes with no mathematical basis Drawbacks: the codification is not optimal and often produces ambiguities since different regions of the pattern are identical the structure of the pattern is too complex for a good image processing Introduction Classification Time-multiplexing Spatial codification Direct codification Durdle et al.  periodic pattern Experiments Sub-pixel matching Maruyama and Abe  complex structure based on slits containing randomly placed cuts Conclusions 18/36

Spatial codification: non-formal codification (II) Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 19/36

Spatial codification: De Bruijn sequences (I) A De Bruijn sequence (or pseudorrandom sequence) of order m over an alphabet of n symbols is a circular string of length nm that contains every substring of length m exactly once (in this case the windows are unidimensional). 1000010111101001 The De Bruijn sequences are used to define coloured slit patterns (single axis codification) or grid patterns (double axis codification) In order to decode a certain slit it is only necessary to identify one of the windows in which it belongs to Introduction m=4 (window size) n=2 (alphabet symbols) Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Zhang et al.: 125 slits encoded with a De Bruijn sequence of 8 colors and window size of 3 slits Salvi et al.: grid of 2929 where a De Bruijn sequence of 3 colors and window size of 3 slits is used to encode the vertical and horizontal slits Conclusions 20/36

Spatial codification: De Bruijn sequences (II) Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 21/36

Spatial codification: M-arrays (I) An m-array is the bidimensional extension of a De Bruijn sequence. Every window of wh units appears only once. The window size is related with the size of the m-array and the number of symbols used 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 Introduction Classification Time-multiplexing Spatial codification Direct codification Example: binary m-array of size 46 and window size of 22 Experiments Shape primitives used to represent every symbol of the alphabet Sub-pixel matching M-array proposed by Vuylsteke et al. Represented with shape primitives Morano et al. M-arry represented with an array of coloured dots Conclusions 22/36

Spatial codification: M-arrays (II) Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 23/36

Direct Codification Ambient lighting (black pattern) Every encoded pixel is identified by its own intensity/colour Since the codification is usually condensed in a unique pattern, the spectrum of intensities/colours used is very large Additional reference patterns must be projected in order to differentiate among all the projected intensities/colours: Ambient lighting (black pattern) Full illuminated (white pattern) … Advantages: Reduced number of patterns High resolution can be teorically achieved Drawbacks: Very noisy in front of reflective properties of the objects, non-linearities in the camera spectral response and projector spectrum  non-standard light emitters are required in order to project single wave-lengths Low accuracy (order of 1 mm) Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 24/36

Direct codification: grey levels (I) Every encoded point of the pattern is identified by its intensity level Introduction Classification Time-multiplexing Spatial codification Direct codification Every slit is identified by its own intensity Experiments Carrihill and Hummel Intensity Ratio Sensor: fade from balck to white Sub-pixel matching Every slit must be projected using a single wave-length Cameras with large depth-per-pixel (about 11 bits) must be used in order to differentiate all the projected intensities Requirements to obtain high resolution Conclusions 25/36

Direct codification: grey levels (II) Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 26/36

Direct codification: Colour (I) Introduction Every encoded point of the pattern is identified by its colour Classification Time-multiplexing Spatial codification Direct codification Experiments Tajima and Iwakawa rainbow pattern (the rainbow is generated with a source of white light passing through a crystal prism) T. Sato patterns capable of cancelling the object colour by projecting three shifted patterns (it can be implemented with an LCD projector if few colours are projected  drawback: the pattern becomes periodic in order to maintain a good resolution) Sub-pixel matching Conclusions 27/36

Direct codification: Colour (II) Introduction Classification Time-multiplexing Spatial codification Direct codification Experiments Sub-pixel matching Conclusions 28/36

Experiments: quantitative results Technique StDev(m) 3D Points Resolution (%)* Patterns Time-multiplexing Binary code Posdamer (128 stripes) 37.6 13013 11.18 9 n-ary code Horn (64 stripes) 9.6 12988 11.15 5 Phase Shift + Gray code Gühring (113 slits) 4.9 27214 23.38 14 Spatical codification De Bruijn sequence De Bruijn (64 slits) 13.1 13899 11.94 1 Salvi (2929 grid) 72.3 372 0.32 M-array Morano (4545 array) 23.6 926 0.80 Direct codification Colour Sato (64 stripes) 11.9 10204 8.77 3 Introduction Classification Experiments Quantitative results Qualitative results Sub-pixel matching Conclusions Results obtained by reconstructing 30 times two flat panels separated by 40mm. The distance between both panels obtained for each technique was calculated for every reconstruction. The Standard Deviation is indicated. (*) % of pixels inside a window of 515x226 of the camera image that have been triangulated 29/36

Experiments: qualitative results Gühring Time-multiplexing Posdamer (128 stripes) Horn (64 stripes) Gühring (113 slits) De Bruijn Introduction Classification Spatial codification De Bruijn (64 slits) Salvi (29x29 slits) Morano (45x45 dot array) Experiments Quantitative results Qualitative results Direct codification Sato (64 slits) Sub-pixel matching Conclusions 30/36

Sub-pixel matching: a key point A key point in the accuracy of the 3D measurements is to locate the correspondences between camera image and projector pattern with sub-pixel coordinates Qualitative example: Introduction Projected pattern The reflected rays of light fall between ajdacent pixels in the camera sensor This must be taken into account when triangulating the 3D points Classification Camera image Experiments Sub-pixel matching Stripe patterns Other patterns Horse reconstruction with pixel-accuracy triangulation (20000 points) Horse reconstruction with subpixel-accuracy triangulation (10000 points) Conclusions 31/36

Sub-pixel matching: stripe-patterns Only points belonging to the edges between adjacent stripes are decoded and reconstructed. Two possible strategies: - Intersecting the stripe intensity profile with and adaptative binarization threshold (calculated from two additional images: full illuminated and ambient lighting) - More accurate: Projecting positive and negative patterns and intersecting the stripe profiles Introduction Classification Experiments + Sub-pixel matching Stripe patterns Other patterns Conclusions 32/36

Sub-pixel matching: other patterns Introduction Classification Experiments Arry of dots: the subpixel position of the dots is often calculated with their mass centre  not very accurate since the circles are observed like deformed ellipses due to the change of perspective and the measuring surface Sub-pixel matching Stripe patterns Other patterns Slit patterns: every observed slit can be modelled with a gaussian profile and peak detectors can be applied (like Blais & Rioux detector)  very accurate Conclusions 33/36

  Conclusions Types of techniques Time-multiplexing Introduction Types of techniques   Time-multiplexing Highest resolution High accuracy Easy implementation Inapplicability to moving objects Large number of patterns Spatial codification Can measure moving objects A unique pattern is required Lower resolution than time-multiplexing More complex decoding stage Occlusions problem Direct codification High resolution Few patterns Very sensitive to image noise  cameras with large depth-per-pixel required Sensitive to limited bandwith of LCD projectors  special projector devices are usually required Classification Experiments Sub-pixel matching Conclusions Guidelines 34/36

Guidelines Requirements Best technique Sub-pixel matching Introduction High accuracy Highest resolution Static objects No matter the number of patterns Phase shift + Gray code  Gühring’s line-shift technique High resolution Minimum number of patterns N-ary pattern  Horn & Kiryati Caspi et al. Good resolution Moving objects De Bruijn pattern  Zhang et al. Introduction Classification Experiments Sub-pixel matching Conclusions Guidelines 35/36

END Computer Vision and Robotics Group Institut d’Informàtica i Aplicacions Jordi Pagès Joaquim Salvi