Upload
marilyn-reynolds
View
212
Download
0
Tags:
Embed Size (px)
Citation preview
Image NoiseImage Noise
John Morris
Department of Computer Science, Tamaki CampusThe University of Auckland
2
Stereo Image Noise Sources Stereo Image Noise Sources • Signal noise
• Electromagnetic interference eg cross-talk • Quantum behaviour of electronic devices
eg resistor shot-noise• Quantization: digitization of real-valued signals
• Geometric sources• Discrete pixel sensors with finite area• Occlusions• Perspective distortion
• Opto-Electronic sources• Sensitivity variations between cameras• Different ‘dark noise’ levels• Real lenses• Depth-of-focus
• Optical Surface properties
Single camera sources Stereo (2-camera) sources
Note that we use the term ‘noise’ for all problem sources!
3
Stereo Image Noise SourcesStereo Image Noise Sources
Optical Surface Properties Lambertian scatterers
A “perfect” scatterer scatters light uniformly in all directions
Most correspondence algorithms assume perfect (Lambertian) scatterers This means that surface patches will appear with the same intensity –
independent of viewing angle .. Simple matching
• Intensities should be the same (perturbed by random noise!)
Reflectors
4
Stereo Image Noise SourcesStereo Image Noise Sources
Ordering Constraint Often used to simplify matching algorithms
Particularly dynamic programming
Imaged points appear in the same order in both images Violated by ‘poles’ – narrow objects in front of planes
5
Electronic NoiseElectronic Noise
Antennae (Receivers) Wires act as antennae for EM waves ‘Wire’ includes discrete wires
but also Tracks on circuit boards Interconnects on chips
Transmitters Any wire with a changing current emits EM waves
6
Electronic NoiseElectronic Noise
Digital circuits very rapid transitions (switching events) High frequency signals
Crosstalk One wire is influenced by neighbouring wires
Ideal digital signal
‘Instaneous’ rise or fall≡ infinite frequency perfect radiator
Real digital signal
‘Fast’ rise or fall high frequency very good radiator
Signal driven into purple wire
Signal picked up on green wire
EM coupling
7
Electronic noiseElectronic noise
Quantum effects Resistor ‘shot’ noise
Resistive element is composed of discrete atoms Always in motion for all T > 0oK (absolute zero) Noise as effective resistance changes Moving atoms ‘collide’ with electrons moving to form the
current Random fluctuations in current
or
Noise as effective resistance changes Similar effects in all current carrying or producing devices
• Transistors• Capacitors• Inductors, etc
e-
e-
8
Electronic noiseElectronic noise
Digitization noise Analogue signal
Taking all possible values• At least at a macroscopic level!
Digital signal Represented by a range of integers
• 0 .. 255 (8 bit signal)• 0 .. 4095 (12 bit signal)• -2048 .. 2047 (12 bit signed signal)
A to D converter Decides to which integer value to map a real value
Discretization Values which differed (in real domain) become the same (in integer domain)
9
Opto-electronic noiseOpto-electronic noise
Cameras have different gain settings Amplifiers are not ‘matched’ perfectly
Sensors have different ‘dark current’ characteristics All sensors produce some electrons (current) with no light Quantum ‘tunneling’ out of the sensor device
Stereo Problem
Light Intensity
Cu
rren
t Different slopesGains differ
Different offsetsDark currents differ
11
Geometric noiseGeometric noise
‘Pixelisation’ of images Sensor is divided into discrete regions – pixels ‘Edges’ in images don’t conveniently fall onto pixel
boundaries
Red object
Blue object Real image
has blurrededges
12
Geometric noiseGeometric noise
Occlusions Points visible from one camera onlyPoints which it is impossible to match
Perspective distortion Field of view in one camera differs from
other Left and right images contain different
numbers of pixels Impossible to match all pixels correctly
Stereo Problem
B
ML
B
MR
13
Perspective problemPerspective problem
Case 1 – ‘Fronto-planar’ object
Object with face • to image planes• to optic axes
• extent, aIn image plane,
AL = AR = az / f
Case 2 – Angled object
AL > AR
Effect exacerbated by• Increased baseline• Increased angle of object•Verged axes,
14
Optical effectsOptical effects
Real lenses Finite depth of field
Image is ‘in focus’ over finite region only• Due to deviations of real (thick) lens from
ideal shape Depth of field increased by decreasing
aperture• Always work with a small aperture!• f-stop
• Ratio of focal length to aperture• ‘f-stop’ = f / a• ‘f’ = 1.4 – aperture wide open
• f’ = 22 – aperture closed down
a
f
Mechanicalaperture
Imageplane
Real lens
For accurate work (objects in focus over a wide range)Use more light to permit narrower aperture
15
Optical effectsOptical effects
Depth of focus Finite depth of field
Image is ‘in focus’ over finite region only• Due to deviations of real (thick) lens from
ideal shape Depth of field increased by decreasing
aperture• Always work with a small aperture!• f-stop
• Ratio of focal length to aperture• ‘f-stop’ = f / a• ‘f’ = 1.4 – aperture wide open
• f’ = 22 – aperture closed down
a
f=22
Mechanicalaperture
Imageplane
Real lens
For accurate work (objects in focus over a wide range)Use more light to permit narrower aperture
f=1.4
Depth of field
16
Lambertian ScatterersLambertian Scatterers
‘Perfect scattering’ Intensity of scattered light is the
same in all directionsObservers at all angles see the
same intensity
Characteristics of a scattering surface Optically ‘rough’ Surface roughness ≈ = wavelength of incident light 700-400 nm for visible light
17
ReflectorsReflectors
Perfect reflector 100% of incident intensity reflected Angle of incidence = angle of
reflection i = r
All reflected intensity seen at one angle
Properties of a reflecting surface Optically smooth Surface roughness
irir
18
Smooth surface
Real SurfacesReal Surfaces
Reflector Most of incident intensity reflected Bright ‘spot’ seen over a small angle
Properties of a reflecting surface Optically smooth Surface roughness
Specular reflections are the result of partly reflecting surfaces Water surfaces Polished glass, plastic, …
ir
19
Real SurfacesReal Surfaces
Scattering surface Reasonably uniform distribution of intensity
with angle Intensity of the same patch varies with angle Intensity mis-match between L and R images Systematic mis-match between views of the
same patch One is always less intense than the other
Shape of reflectance curve varies with surfaces
Random mis-match between different patches
Reflectance curves can be dependent also Different views of the same patch appear to
have different colours
20
Real SurfacesReal Surfaces
Grating effects In extreme cases
Regular surface variations with dimensions
Grating effects Spectrum generation Small variations in view angle
large colour variations
Systematic mis-match between different patches
21
Ordering constraintOrdering constraint
If M appears to the left of N in the left image,it should appear to the left of N in the right image Violated by ‘poles’
22
Stereo Correspondence is an ill-posed problem!Stereo Correspondence is an ill-posed problem!
There are always multiple solutions!There are always multiple solutions!
oror
23
right - scanline signal
left
scan
-line
sig
nal
signal-basedcorrespondingareas
Corresponding signals and possible surface profilesCorresponding signals and possible surface profiles
•Single surface reconstruction•Extreme disjoint variant
24
Effect of NoiseEffect of Noise
but …
What happens if we use ‘noise-free’ images?
L Image - ‘corridor’ setSynthetic (ray traced)
Precise ‘ground truth’is available
25
Noise-free Image MatchingNoise-free Image Matching
MismatchIL(x)-IR(x-dx)
Intensity
Disparity(from ground truth)
Examine one scan line – line 152Mismatch is the matching error
R image pixels shifted by known d(from ground truth)Zero difference with L pixel?Even ‘noise-free’ images have matching errors!
26
Real Image MatchingReal Image Matching
MismatchIL(x)-IR(x-dx)
Intensity
Disparity(from ground truth)
Tsukuba – line 173
Occlusion
?
27
Noise-free Image MatchingNoise-free Image Matching
MismatchIL(x)-IR(x-dx)
Intensity
Disparity(from ground truth)
Examine one scan line – line 152
Edge effects
No change in d, no occlusion!
28
Distribution of signal differences
Pixel-wise correspondences – ‘Tsukuba’ pair (line 173)Pixel-wise correspondences – ‘Tsukuba’ pair (line 173)
Grey-codedsignal differences
29
Matching in the presence of noiseMatching in the presence of noise
Correlation algorithms Match over a window Correlation functions: SSD (sum squared differences), SAD (sum absolute differences)
Average matching errors Handles random intensity fluctuations
• Electronic, quantization, … noise Doesn’t handle
• Occlusions• Pixelisation
• Intensity anomalies in one window compared to the other• Gain and dark noise variations• Perspective
• Tries to assign all pixels in a window to the same disparity• Non-Lambertian surfaces & specular effects
Normalised correlation functions Normalize pixel intensities to mean within a window
Some tolerance for gain and dark noise changes• Often not worth the additional computational effort!• Better: Correct the images at source!
• Align amplifiers, calibrate electronics, …
30
Correlation algorithmsCorrelation algorithms
Generally poor matching Mismatches (small windows) or Blurred edges due to large windows
Simple (almost trivial!) codeAdaptive windows improve performance
31
Correlation-Based MethodsCorrelation-Based Methods Matching Performance
The success of correlation-based methods depends on whether the image window in one image exhibits a distinctive structure that occurs infrequently in the search region of the other image.
How to choose the size of the window, wh? Too small a window
• may not capture enough image structure and • may be too noise sensitive many false matches
Too large a window • makes matching less sensitive to noise (desired) but also• decreases precision
(blurs disparity map)
An adaptive searching window has been proposed
32
Correlation MethodsCorrelation Methods
Input – Ground truth
3x3 windowToo noisy!
7x7 windowSharp edges are blurred!
Adaptive windowSharp edges and less noise
34
Correlation algorithmsCorrelation algorithms
Generally poor matching Mismatches (small windows) or Blurred edges due to large windows
Simple (almost trivial!) codefor each pixel position,w
for each disparity, d
Cwd = (ILw+j-IR
w+j-d)2
Choose min(Cwd) over d d for position w
Fast enough?
35
Correlation algorithmsCorrelation algorithms
Not fast enough for small images For nn image, d disparity values and hw window – O (n2dhw) For small (300x300) images and low depth accuracy (5% d = 20 ) If n = 3x102, d = 20, h=w=9, then t(n) = c 81 2 x 10 9 x 104 ≈
1.5 x 107 For a 3GHz processor, cycles / pixel ≈ 3 109 / 1.5 x 107 ≈ 200 ??? Enough to
Compute indices, Fetch two pixels, Subtract Square or absolute difference Find minimum from d costs Repeat for adaptive window?
but ……
36
Correlation algorithmsCorrelation algorithms
Moderate resolution images For moderate (1Mpixel) images and reasonable depth accuracy (1% d
= 100 ) If n = 103, d = 100, h=w=9, then t(n) = c 81 102 106 ≈ 1010 For a 3GHz processor, cycles / pixel ≈ 3 109 / 1010 ≈ 0.3 Inherently parallel Cwd(IL
w+j-IRw+j-d)2
Hardware acceleration needed!! MMX (Intel Graphics Processing Extensions) helps
Optimized for simple arithmetic on pixelsbut MMX pipeline needs to be filled efficiently Max 16 operations in parallel Excellent for 4 4 windows Usually 9 9 needed!
37
Correlation algorithmsCorrelation algorithms
Easy to implement in hardware Match for each disparity at the same time Add minimum circuit Simple circuit ..
But O (hw) computations for each disparityRelatively large
38
SAD SAD Algorithm Algorithm
Block Block DiagramDiagramNote:Note:High ‘fan-in’ for High ‘fan-in’ for SAD calculator SAD calculator blockblockStrains FPGA Strains FPGA routing resourcesrouting resourcesLarge buffers Large buffers needed for needed for scanlinesscanlinesConsequence of Consequence of window sizewindow size
39
Correlation methodsCorrelation methods
Simplest code Poorest performance
Adaptive windows don’t help much!
Medium speed Window size is an important factor
Simple hardware realizationbut Expensive in resource use
Handle random noise only Window is just treated as vector of pixels No spatial information used Occlusions ignored
40
Dynamic Programming StereoDynamic 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
Can be improved by using neighbouring scan lines Requires fewer scan line buffers than correlation window
41
Dynamic Programming ResultDynamic 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!
42
Dynamic Programming PerformanceDynamic Programming Performance
Better matching than correlation methods ‘Global’ along scan lines Recognizes occlusions Uses ordering constraint
Uses spatial information
Time complexity O(n2d) Faster than correlation methods in software Uses memory (typical of DP algorithms) For n=103, d=102, t = c 108
c = ~30 cycles / pixel on 3GHz machine Not enough for real time in software!
43
Real time stereoReal time stereo
Real time stereo vision Implemented Gimel’farb’s Symmetric
Dynamic Programming Stereo in FPGA hardware
Real time precise stereo vision Faster, smaller hardware circuit Real time 3D maps
1% depth accuracy with 2 scan line latency at 25 frames/sec
System block diagram: lens distortion removal,misalignment correction and depth calculator
Output is stream of depth values: a 3D movie!
44
Real time 3D data acquisitionReal time 3D data acquisition
Possible Applications Collision avoidance for robots Recognition via 3D models
Fast model acquisition• Imaging technology not scanning!
Recognition of humans without markers
Tracking objects• Recognizing orientation, alignment
Process monitoringeg Resin flow in flexible (‘bag’) moulds
Motion capture – robot training System block diagram: lens distortion removal,misalignment correction and depth calculator
Output is stream of depth values: a 3D movie!
45
System System Block Block DiagramDiagram
Cameras
Distortion & Alignment
DP Stereo –Forward Pass
DP Stereo –Backward Pass
46
Symmetric Dynamic Programming StereoSymmetric Dynamic Programming Stereo
Don’t try to reconstruct an ‘image’ corresponding to the left (or right) image
Turn yourself into Cyclops
.. and reconstruct a Cyclopaean view Optical centre half-way along
baseline Key advantage: Label visibility
states: MR, B, ML Disparity changes are associated
with visibility state changes
47
SDPSSDPS• Disparity Calculator Block• Small • 2 x min3• 1 x min2• 1 x abs difference• 3 x adders• Mostly 8-14 bits
• Since it’s small, it can be replicated many times
Large disparity range High depth resolution
48
FPGA Stereo SystemFPGA Stereo System
FirewireCables
FirewirePhysical
Layer ASIC
FirewireLink
Layer ASIC
FPGAAlteraStratix
Parallel Host Interface
FPGAProgCable
50
Artificial System RequirementsArtificial System Requirements
Highly Parallel Computation Calculations are not complex
but There are a lot of them in megapixel+ ( >106 ) images!
High Resolution Images Depth is calculated from the disparity
If it’s only a few pixels, then depth accuracy is low Basic equation (canonical configuration only!)
Depth, z = b f d p
Baseline Focal Length
DisparityPixel size
51
Artificial System RequirementsArtificial System Requirements
Depth resolution is critical! A cricket* player can catch a 100mm ball travelling at
100km/h
High Resolution Images NeededDisparities are large numbers of pixelsSmall depth variations can be measured
but High resolution images increase the demand for processing
power!
*Strange game played in former British coloniesin which a batsmen defends 3 small sticksin the centre of a large field against a bowler whotries to knock them down!
52
Artificial System RequirementsArtificial System Requirements
Conventional processors do not have sufficient processing power
but Moore’s Law says Wait 18 months and the power will have doubledbut The changes that give you twice the power
also give your twice as many pixels in a rowand four times as many in an image!
Specialized highly parallel hardwareis the only solution!
54
FPGA HardwareFPGA Hardware
FPGA = Field Programmable Gate Array ‘Soft’ hardware Connections and logic functions are ‘programmed’ in much
the same way as a conventional von Neuman processor Creating a new circuit is about as difficult as writing a
programme! High order parallelism is easy
Replicate the circuit n times• As easy as writing a for loop!
55
FPGA HardwareFPGA Hardware
FPGA = Field Programmable Gate Array ‘Circuit’ is stored in static RAM
cells Changed as easily as reloading
a new program
56
FPGA HardwareFPGA 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!!
58
Stereo CorrespondenceStereo Correspondence
Can you find all the matching points in these two images?
“Of course! It’s easy!”
The best computer matching algorithms get 5% or more of the points completely wrong!…and take a long time to do it!They’re not candidates for real time systems!!
59
Stereo CorrespondenceStereo Correspondence
High performance matching algorithms are global in nature Optimize over large image regions using energy
minimization schemes Global algorithms are inherently slow
Iterate many times over small regions to find optimal solutions
60
Correspondence AlgorithmsCorrespondence Algorithms
Good matching performance, global, low speed Graph-cut, belief-propagation, …
High speed, simple, local, high parallelism, lowest performance Correlation
High speed, moderate complexity, parallel, medium performance
Dynamic programming algorithms
62
Stereo ConfigurationStereo Configuration Canonical configuration – Two
cameras with parallel optical axes
Rays are drawn through each pixel in the image
Ray intersections represent points imaged onto the centre of each pixel
Points along these lineshave the same disparity
but• To obtain depth information, a point
must be seen by both cameras, ie it must be in the Common Field of View
Depthresolution
63
a
Stereo Camera ConfigurationStereo Camera Configuration Now, consider an object of extent, a To be completely measured, it must lie in the Common Field of View but place it as close to the camera as you can so that you can obtain the
best accuracy, say at D? Now increase b to increase the accuracy at D ! But you must increase D so that the object stays within the CFoV! Detailed analysis leads to an optimum value of b a
bD
a
64
Increasing the baselineIncreasing the baseline%
good
matc
hes
Baseline, b
Images: ‘corridor’ set (ray-traced)Matching algorithms: P2P, SAD
Increasing the baselinedecreases performance!!
65
Increasing the baselineIncreasing the baselineS
tand
ard
Devia
tion
Examine the distribution of errors
Images: ‘corridor’ set (ray-traced)Matching algorithms: P2P, SAD
Increasing the baselinedecreases performance!!
Baseline, b
66
Increased Baseline Increased Baseline Decreased Performance Decreased Performance Statistical
Higher disparity range increased probability of matching incorrectly -
you’ve simply got more choices!
Perspective Scene objects are not fronto-planar Angled to camera axes
subtend different numbers of pixels in L and R images
Scattering Perfect scattering (Lambertian) surface assumption OK at small angular differences
increasing failure at higher angles
Occlusions Number of hidden regions increases as angular difference increases
increasing number of ‘monocular’ points for which there is no 3D information!
67
EvolutionEvolutionHuman eyes ‘verge’ on an object to estimate its
distance, ie the eyes fix on the object in the field of view
Configuration commonlyused in stereo systems
Configuration discoveredby evolution millions of years
ago
Note immediately that the CFoV is much larger!
68
Look at the optical configuration!Look at the optical configuration!
If we increase f, then Dmin returns to the critical value!
Original f Increase f
69
Depth Accuracy - Verging axes, increased Depth Accuracy - Verging axes, increased ff
Now the depth accuracyhas increased dramatically!
Note that at large f,the CFoV does not
extendvery far!
71
Summary: Real time stereoSummary: Real time stereo
General data acquisition is: Non contact
Adaptable to many environments Passive
Not susceptible to interference from other sensors Rapid
Acquires complete scenes in each shot Imaging technology is well established
Cost effective, robust, reliable 3D data enhances recognition
Full capabilities of 2D imaging system+ Depth data
With hardware acceleration 3D scene views available for
ControlMonitoring
in real time Rapid response
rapid throughput
Host computer is free to process complex control algorithms
Intelligent Vision ProcessingSystems which can mimic human vision system capabilities!
73
System ArchitectureSystem Architecture
InterfaceLVDS/
CameraLink
CorrectedImages
DepthMap
Line BuffersDistortion RemovalImage Alignment
HostHigher orderInterpretation
L Camera
RCamera
ControlSignals
FPGA
PC
Stereo Matching
DisparityDepth
74
Distortion removalDistortion removal
Image of a rectangular grid from camera with simple zoom lens
Lines should be straight! Store displacements of
actual image from ideal points in LUT
Removal algorithm For each ideal pixel position
Get displacement to real image
Calculate intensity of ideal pixel (bilinear interpolation)
75
Distortion RemovalDistortion Removal
Fundamental Idea Calculation of undistorted pixel position
Simple but slowNot suitable for real timebut It’s the same for every image! So, calculate once!
Create a look up table containing ideal actual displacements for each pixel
ud = uud(1+1 r2 +2r
4+..)r2 = (uud+vud)2
76
Distortion RemovalDistortion Removal
Creating the LUT One entry (dx,dy) per pixel For a 1 Mpixel image needs 8 Mpixels!
Each entry is a float – (dx,dy) requires 8 bytes However, distortion is a smooth curve Store one entry per n pixels
Trials show that n=64 is OK for severely distorted image LUT row contains 210 / 2 6 = 24 = 16 entries Total LUT is 256 entries
Displacement for pixel j,k
dujk = (j mod 64) * uj/64,k/64
uj/64,k/64 is stored in LUT
Simple, fast circuit
Since the algorithm runs along scan lines,this multiplication is done by repeated addition
77
Alignment correctionAlignment correction
In general, cameras will not be perfectly aligned in canonical configuration
Also, may be using verging axes to improve depth resolution Calculate locations of epipolar lines once! Add displacements to LUT for distortion!
78
Real time 3D data acquisitionReal time 3D data acquisition
Real time stereo vision Implemented Gimel’farb’s Symmetric
Dynamic Programming Stereo in FPGA hardware
Real time precise stereo vision Faster, smaller hardware circuit Real time 3D maps
1% depth accuracy with 2 scan line latency at 25 frames/se
System block diagram: lens distortion removal,misalignment correction and depth calculator
Output is stream of depth values: a 3D movie!
79
Previous work: pros & consPrevious work: pros & consConventional approach: energy minimisation combining image
dissimilarity, surface curvature and occlusions• Exact minimisation with dynamic programming:
global 1D optimum matching under ordering constraints; can account for local photometric (offset or contrast) deviations and occlusions; fast processing;
no inter-scan-line constraints; random deviations on textureless regions; error propagation along scan-lines
• Approximate minimisation with Min-Cut techniques: 2D surface curvature constraints (MRF);
a provably close approximate solution of an NP-hard problem; can account for local occlusions;
cannot account for local or global photometric deviations; high computational complexity
• Heuristic approximate minimisation with Belief Propagation 2D surface curvature constraints (MRF);
can account for local occlusions; cannot account for local or global photometric deviations;
high computational complexity
80
Conventional approaches: Conventional approaches: basic problems basic problems
No account for intrinsic ill-posed nature of stereo problemsSearch for a single surface giving the best correspondence
between stereo imagesbut the single surface assumption is too restrictive in practice
Heuristic or empirical weights of energy terms dramatically affect matching accuracy
Large images and large disparity ranges lead to high computational cost of min-cut or belief propagation algorithms
81
Distribution of signal differences
Pixel-wise correspondences for a “Tsukuba” stereo pair (scan-line Pixel-wise correspondences for a “Tsukuba” stereo pair (scan-line y y = 173)= 173)
Grey-codedsignaldifferences
82
Concurrent Stereo Matching: Main ideasConcurrent Stereo Matching: Main ideas
Human ‘stroke-wise’ analysis of a 3D scene • Eyes browse from low to high frequency regions, from
sharp points to smooth areas rather than scan line-by-line (Torralba, 2003)
Appropriate (likely) correspondence rather than best matching
Separation of noise estimation and signal matching from selection of surfaces and occlusion handling
Stereo matching should avoid the ‘best match’ or signal difference minimisation almost universally
used nowin favour of a
likely match based on a local signal noise model
83
Modular structure of CSMModular structure of CSM
Step 1:Estimate the image noise model
(allow it to be spatially variant)
Segment based on noise
Select candidate 3D volumes
Step 2:Fit constrained surfaces to the
candidate volumes
Could use K-Mean, SUSAN, etc
Could be surface optimisation
84
Noise MapNoise Map
Scaled (Amplitudex6) Noise Map
White regions have higher noise - almost always
appears in occluded regions
Technique A: use a fast, efficient stereo matching technique (SDPS) to produce a disparity map – use mismatches as noise estimates
85
Noise-Driven SegmentationNoise-Driven Segmentation
Colour Mean Shift Segmentation
Colour-position clustering in a 5D feature space: 3D-colour model L*u*v and 2D-lattice coordinates
The noise map is considered to be the extra, sixth dimension
• Convert an image into data tokens• Choose initial search window
locations• Compute the ‘mean shift’ window
location for each initial position• Merge windows that end up on the
same ‘peak’ or mode• Cluster data over the merged
windows
After noise-driven segmentation: occluded regions are segmented into small isolated blocks
86
CSM: candidate 3D volumes and surface fittingCSM: candidate 3D volumes and surface fitting
Black regions contain likely matching points in the ‘slice’ for each disparity, d Surface fitting shrinks or expands each segmented region from slice to slice (based on counts of candidate points)
d= 5
d=8
d= 6
d=10d=9
d=12d=11 d=14d=13
d= 4
d= 7
d= 3
87
CSM: candidate 3D volumes and surface fittingCSM: candidate 3D volumes and surface fitting
Ideal disparity slices
CSM surface fitting
d=5 d=8d=6 d=10d=9
d=12d=11 d=14d=13 Disparity map
d=5 d=8d=6 d=10d=9
d=12d=11 d=14d=13 CSM Disparity map
88
Symmetric CSM: Symmetric CSM: candidate 3D volumes and surface fittingcandidate 3D volumes and surface fitting
d=5
d=8
d=6
d=10d=9
d=12d=11 d=14d=13
d=7
d=3 d=4
89
Symmetric CSM: Symmetric CSM: candidate 3D volumes and surface fittingcandidate 3D volumes and surface fitting
Ideal disparity slices
SCSM surface fitting
d=5 d=8d=6 d=10d=9
d=12d=11 d=14d=13 Disparity map
d=5 d=8d=6 d=10d=9
d=12d=11 d=14d=13 SCSM Disparity map
90
Algorithm ComparisonAlgorithm Comparison
Symmetric DP stereo Graph cut Symmetric BP
SCSM CSM Ground Truth
91
Middlebury Benchmark (MB)Middlebury Benchmark (MB)
Algorithms
Tsukuba Sawtooth
all untex disc all untex disc
MB-SBPO 0.97 1 0.28 3 5.45 3 0.19 1 0.00 1 2.09 3
CSM 1.15 3 0.80 12 1.86 2 0.98 13 0.62 25 1.69 2
SCSM 0.97 1 0.74 11 1.80 1 0.96 12 0.60 24 1.57 1
* MB-SBPO – symmetric belief propagation algorithm (best-performing Middlebury benchmark)
Algorithms
Venus Map
all untex disc all disc
MB-SBPO 0.16 3 0.02 3 2.77 1 0.16 1 2.20 1
CSM 1.18 12 1.04 10 1.48 3 3.08 34 7.34 18
SCSM 1.15 11 0.91 9 1.38 2 3.05 33 7.03 17
rank among 40
algorithms
92
ConclusionsConclusions
Stereo matching is an ill-posed problem, reconstruction of actual 3D optical surfaces is impracticalMore reasonable goal: mimic human binocular stereo vision
Conventional constrained best matching does not explicitly account for a multiplicity of equivalent matches, for noise in both images of a stereo pair and for local contrast or offset image distortions
Concurrent stereo matching gives promising results because it separates the problem into • search for all the candidate volumes with equivalent good matches
(allowing for the estimated noise) and • search for surfaces fitting to the volumes
Even the simplest implementation of the new approach competes with the best-performing conventional algorithms
Sloping surfaces challenge our CSM algorithm – watch this space!
93
IVCNZ’2006IVCNZ’2006
For a conference with a different style, consider IVCNZ’2006(Image and Vision Computing, New Zealand)
Great Barrier Island, New Zealand• Gateway to the Hauraki Gulf
and Auckland• 40 mins by light plane from
Auckland,3 hours by ferry
• Full range of accommodation options:
• Hotel style, cabins, … , even tents!
Book early and
you can sail there