Stereovision Image Noise John Morris Department of Computer Science, Tamaki Campus The University of Auckland Iolanthe at 14 knots on Cockburn Sound, Perth.

Slides:



Advertisements
Similar presentations
Improved Census Transforms for Resource-Optimized Stereo Vision
Advertisements

Instruction Set Design
Stereo Vision Reading: Chapter 11
Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923.
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.
Real-Time Accurate Stereo Matching using Modified Two-Pass Aggregation and Winner- Take-All Guided Dynamic Programming Xuefeng Chang, Zhong Zhou, Yingjie.
Stereo Matching Segment-based Belief Propagation Iolanthe II racing in Waitemata Harbour.
Last Time Pinhole camera model, projection
Computer Vision : CISC 4/689 Adaptation from: Prof. James M. Rehg, G.Tech.
Stereo & Iterative Graph-Cuts Alex Rav-Acha Vision Course Hebrew University.
Multiview stereo. Volumetric stereo Scene Volume V Input Images (Calibrated) Goal: Determine occupancy, “color” of points in V.
Stereopsis Mark Twain at Pool Table", no date, UCR Museum of Photography.
The plan for today Camera matrix
CS 223b 1 More on stereo and correspondence. CS 223b 2 =?f g Mostpopular For each window, match to closest window on epipolar line in other image. (slides.
Optical flow and Tracking CISC 649/849 Spring 2009 University of Delaware.
Stereo Computation using Iterative Graph-Cuts
Lecture 11: Stereo and optical flow CS6670: Computer Vision Noah Snavely.
Announcements PS3 Due Thursday PS4 Available today, due 4/17. Quiz 2 4/24.
Stereo matching “Stereo matching” is the correspondence problem –For a point in Image #1, where is the corresponding point in Image #2? C1C1 C2C2 ? ? C1C1.
Stereo matching Class 10 Read Chapter 7 Tsukuba dataset.
3-D Scene u u’u’ Study the mathematical relations between corresponding image points. “Corresponding” means originated from the same 3D point. Objective.
Octavo: An FPGA-Centric Processor Architecture Charles Eric LaForest J. Gregory Steffan ECE, University of Toronto FPGA 2012, February 24.
Stereovision Image Noise John Morris Department of Computer Science, Tamaki Campus The University of Auckland Iolanthe at 14 knots on Cockburn Sound, Perth.
Michael Bleyer LVA Stereo Vision
Real-Time High Resolution Photogrammetry John Morris, Georgy Gimel’farb and Patrice Delmas CITR, Tamaki Campus, University of Auckland.
Image Noise John Morris Department of Computer Science, Tamaki Campus The University of Auckland.
A Local Adaptive Approach for Dense Stereo Matching in Architectural Scene Reconstruction C. Stentoumis 1, L. Grammatikopoulos 2, I. Kalisperakis 2, E.
Image Noise John Morris Department of Computer Science, Tamaki Campus The University of Auckland.
Object Stereo- Joint Stereo Matching and Object Segmentation Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on Michael Bleyer Vienna.
Stereo Vision Reading: Chapter 11 Stereo matching computes depth from two or more images Subproblems: –Calibrating camera positions. –Finding all corresponding.
Scientific Writing Abstract Writing. Why ? Most important part of the paper Number of Readers ! Make people read your work. Sell your work. Make your.
Geometry 3: Stereo Reconstruction Introduction to Computer Vision Ronen Basri Weizmann Institute of Science.
Reconfigurable Computing - Type conversions and the standard libraries John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots.
Stereo Many slides adapted from Steve Seitz.
CS 4487/6587 Algorithms for Image Analysis
Feature-Based Stereo Matching Using Graph Cuts Gorkem Saygili, Laurens van der Maaten, Emile A. Hendriks ASCI Conference 2011.
Stereo Many slides adapted from Steve Seitz. Binocular stereo Given a calibrated binocular stereo pair, fuse it to produce a depth image image 1image.
Computer Vision, Robert Pless
December 9, 2014Computer Vision Lecture 23: Motion Analysis 1 Now we will talk about… Motion Analysis.
An Optoelectronic Neural Network Packet Switch Scheduler K. J. Symington, A. J. Waddie, T. Yasue, M. R. Taghizadeh and J. F. Snowdon.
Investigating Adaptive Compilation using the MIPSpro Compiler Keith D. Cooper Todd Waterman Department of Computer Science Rice University Houston, TX.
CSE 185 Introduction to Computer Vision Stereo. Taken at the same time or sequential in time stereo vision structure from motion optical flow Multiple.
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
Algorithm and Programming Considerations for Embedded Reconfigurable Computers Russell Duren, Associate Professor Engineering And Computer Science Baylor.
Lecture 16: Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
Spatiotemporal Saliency Map of a Video Sequence in FPGA hardware David Boland Acknowledgements: Professor Peter Cheung Mr Yang Liu.
Segmentation- Based Stereo Michael Bleyer LVA Stereo Vision.
Solving for Stereo Correspondence Many slides drawn from Lana Lazebnik, UIUC.
Jeong Kanghun CRV (Computer & Robot Vision) Lab..
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
Project 2 due today Project 3 out today Announcements TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA.
John Morris Stereo Vision (continued) Iolanthe returns to the Waitemata Harbour.
Photoconsistency constraint C2 q C1 p l = 2 l = 3 Depth labels If this 3D point is visible in both cameras, pixels p and q should have similar intensities.
CSE 185 Introduction to Computer Vision Stereo 2.
Reconfigurable Computing - Performance Issues John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound, Western.
Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
Hiba Tariq School of Engineering
An Implementation Method of the Box Filter on FPGA
Semi-Global Matching with self-adjusting penalties
Semi-Global Stereo Matching with Surface Orientation Priors
Geometry 3: Stereo Reconstruction
EECS 274 Computer Vision Stereopsis.
Range Imaging Through Triangulation
Computer Vision Stereo Vision.
Image and Video Processing
CSSE463: Image Recognition Day 30
CSSE463: Image Recognition Day 30
Occlusion and smoothness probabilities in 3D cluttered scenes
Stereo vision Many slides adapted from Steve Seitz.
Presentation transcript:

Stereovision Image Noise John Morris Department of Computer Science, Tamaki Campus The University of Auckland Iolanthe at 14 knots on Cockburn Sound, Perth

2 Correlation methods - summary  Simplest code  Poorest performance  Adaptive windows don’t help much!  Medium speed  Window size is an important factor  Simple hardware realization but  Expensive in resource use  Handle random noise only  Window is just treated as vector of pixels  No spatial information used  Occlusions ignored

3 Dynamic Programming Stereo  Attempts to find the ‘best path’ (sequence of disparity values)  Can recognize occlusions!  Averages noise over a scanline  Essentially local  Always moves ‘forward’ in a scanline  Solution generated by backtracking through predecessor array Doesn’t adjust values in backtrack  Uses the ordering constraint  Readily adapted to  allow for gain and offset changes  Perspective distortion  ‘Stubborn’  Incorporates a penalty for occlusions  Tends to make ‘streaks’ in disparity images..\resources\DP_Gonzalez.pdf..\resources\DP_Gonzalez.pdf  Can be improved by using neighbouring scan lines  Requires fewer scan line buffers than correlation window

4 Dynamic Programming Result Note the horizontal streaks! It’s like a bureaucrat: once a DP algorithm ‘decides’ to adopt a disparity value – it doesn’t want to change its mind! Adding inter-scanline constraints (using a neighbouring scanline) generally improves this!

5 Dynamic Programming Performance  Better matching than correlation methods  ‘Global’ along scan lines  Recognizes occlusions  Uses ordering constraint  Uses spatial information  Time complexity O (n 2 d)  Faster than correlation methods in software  Uses memory (typical of DP algorithms)  For n=10 3, d=10 2, t = c 10 8  c = ~ 30 cycles / pixel on 3GHz machine  Not enough for real time in software!

Dynamic Programming  Basic idea  Given a very large problem  Solve small problems first,  Save solutions to the small problems,  Use them to solve larger problem  Continue until large problem is solved  Dynamic programming uses storage space (for solutions to the small problems) to gain speed 6

Dynamic programming stereo  Small problems are the costs of a ‘path’ to a certain pixel  Costs are based on  Difference between pixel intensities  Cost for an occlusion  Sometimes - Discontinuity cost  Assume that disparity changes (depth changes) are relatively rare  Alternatively – assume most surfaces are smooth 7

Dynamic programming stereo 8 8 Monocular Right Pixels Left scan line Monocular Left pixels Right scan line Start End Optimum path marks matching pixels Diagonal path – smooth surface – no change in disparity Jumps – changes in disparity This path would indicate all matches at zero disparity

Dynamic programming stereo - Costs 9 9 Monocular Left Pixels Left scan line Monocular Right pixels Right scan line Start End DP algorithm calculates cumulative costs for all possible paths – using costs for previous pixel to estimate costs for the current pixel Maximum disparity Compute costs for paths in this region Cost stored in this location represents cost of best path to this point The minimum cost here is the end of the best path COSTS ARRAY

Dynamic programming stereo - Predecessors 10 Monocular Left Pixels Left scan line Monocular Right pixels Right scan line Start End Keep a second array of predecessors Maximum disparity Store here best predecessor for a path ending here The minimum cost here is the end of the best path PREDECESSORS ARRAY

Dynamic Programming 11 Two arrays used: Costs and Predecessors As best cost C dx to reach (d,x) is computed, the best predecessor is stored in  d,x

Dynamic Programming - general 12 When the end of the scanline is reached, the minimum cost is selected and its predecessor used to build the optimum profile (red arrows)

Dynamic programming stereo 13 Monocular Left Pixels Left scan line Monocular Right pixels Right scan line Start End As cost for each pixel at each disparity is determined, save the predecessor Use the predecessors to back track Need w  predecessors – Biggest resource cost! Predecessor array stores disparity of best previous point Maximum disparity Compute costs for matches in this region

14

Symmetric Dynamic Programming Stereo 15 Compute costs for the Cyclopean image centred between O L and O R Use visibility constraints - If disparity changes by n pixels, must be n MR or ML points between the two B points Only need to save state in predecessor array.. not disparity!

Symmetric Dynamic Programming Stereo  Conventional Stereo  Match pixel in L image with pixels to R of it in R image  SDPS  For pixel position, x, in Cyclopaean image, match pixels at x L +d/2 with x R -d/2  Even x positions have even disparity, odd x position have odd disparity  Calculate in two phases: odd and even  Resultant image is 2w pixels wide  Backtrack fills in extra pixels in B regions 16

SDPS  Cost equations  Binocular points  C(x,d,B) = dI(x,d) + min(C(x-1,d-1,ML), C(x-2,d,B), C(x-2,d,MR) ) (1)  Costs to reach monocularly visible states are:  C(x,d,ML) = occ_term + min(C(x-1,d-1,ML), C(x-2,d,B), C(x-2,d,MR) ) (2)  C(x,d,MR) = occ term + min(C(x-1,d+1,MR),C(x-1,d+1,B) ) (3)  Pixel mismatch is absolute difference  dI(x,d) = |g L -g R |  Any other dissimilarity measure could be used 17

SDPS  Occlusion cost is fixed constant  Results are not very sensitive to the actual value  Choose about three times pixel intensity variance. ie signal noise  Predecessor array only stores previous state  ML, B or MR – 2 bits only 18

SDPS transitions 19 This pixel, at disparity d 0, can only have 3 states – ML, B, MR Arrows indicate costs used to evaluate cost to reach each state. Visibility constraints allow only these transitions. MR ML Note half integral x positions – SDPS generates 2w points/line

20 System Architecture Interface LVDS/ CameraLink Corrected Images Depth Map Line Buffers Distortion Removal Image Alignment Host Higher order Interpretation L Camera R Camera Control Signals FPGA PC Stereo Matching Disparity  Depth

SDPS hardware – Gidel FPGA card 21

SDPS hardware – Disparity calculator block 22 Small and compact – easily replicated to provide large disparity range

SDPS hardware – proposed system 23

FPGA hardware  Field Programmable Gate Arrays  Soft hardware  ‘Programmed’ in a high level language – VHDL  ‘Compiled’ programs soft loaded onto FPGA  No cost to change the circuit!  Tradeoffs Flexible  Pipeline or inherent parallelism easily achieved Compare GPU  Slower than state of the art CPUs – n00 MHz vs n GHz  Memory may be a problem 24

25 FPGA Hardware  FPGA = Field Programmable Gate Array  ‘Circuit’ is stored in static RAM cells  Changed as easily as reloading a new program

26 FPGA Hardware  Why is programmability important? or  Why not design a custom ASIC?  Optical systems don’t have the flexibility of a human eye  Lenses fabricated from rigid materials  Not possible to make a ‘one system fits all’ system  Optical configurations must be designed for each application  Field of view  Resolution required  Physical constraints  …  Processing hardware has to be adapted to the optical configuration  If we design an ASIC, it will only work for one application!!

Other correspondence algorithms  Belief propagation  DP Stereo extended in all directions  Labels each pixel with a state – its disparity  Minimizes an energy function  Two terms  Data term – pixel difference  Smoothness term – penalizes changes (in disparity)  Iterates until convergence (or cutoff)  Exchanging messages with neighbouring pixels 27

SDPS Results 28 Corrected Left ImageCorrected Right Image Disparity MapOcclusion Map

Belief propagation  Best general performance  Simple BP being overtaken by segmentation-based algorithms  Memory intensive  Needs to store costs for each label for each pixel in a region  Compare last two pixels in scan line for SDPS  Iterates – so slow 29

30 Algorithm Comparison Symmetric DP stereo Graph cut Symmetric BP SCSM CSM Ground Truth

31 Middlebury Benchmark (MB) Algorithms TsukubaSawtooth alluntexdiscalluntexdisc MB-SBPO CSM SCSM * MB-SBPO – symmetric belief propagation algorithm ( best-performing Middlebury benchmark) Algorithms VenusMap alluntexdiscalldisc MB-SBPO CSM SCSM rank among 40 algorithms