SlideShare a Scribd company logo
Fitting
Fitting: Motivation
• We’ve learned how to
detect edges, corners,
blobs. Now what?
• We would like to form a
higher-level, more
compact representation of
the features in the image
by grouping multiple
features according to a
simple model
9300 Harris Corners Pkwy, Charlotte, NC
Source: K. Grauman
Fitting
• Choose a parametric model to represent a
set of features
simple model: lines simple model: circles
complicated model: car
Fitting
• Choose a parametric model to represent a
set of features
• Membership criterion is not local
• Can’t tell whether a point belongs to a given model just by
looking at that point
• Three main questions:
• What model represents this set of features best?
• Which of several model instances gets which feature?
• How many model instances are there?
• Computational complexity is important
• It is infeasible to examine every possible set of parameters
and every possible combination of features
Fitting: Issues
• Noise in the measured feature locations
• Extraneous data: clutter (outliers), multiple lines
• Missing data: occlusions
Case study: Line detection
Fitting: Issues
• If we know which points belong to the line,
how do we find the “optimal” line parameters?
• Least squares
• What if there are outliers?
• Robust fitting, RANSAC
• What if there are many lines?
• Voting methods: RANSAC, Hough transform
• What if we’re not even sure it’s a line?
• Model selection
Least squares line fitting
Data: (x1, y1), …, (xn, yn)
Line equation: yi = m xi + b
Find (m, b) to minimize
∑=
−
−
=
n
i i
i b
x
m
y
E 1
2
)
(
(xi, yi)
y=mx+b
Least squares line fitting
Data: (x1, y1), …, (xn, yn)
Line equation: yi = m xi + b
Find (m, b) to minimize
0
2
2 =
−
= Y
X
XB
X
dB
dE T
T
[ ]
)
(
)
(
)
(
2
)
(
)
(
1
1
1
2
2
1
1
1
2
XB
XB
Y
XB
Y
Y
XB
Y
XB
Y
XB
Y
b
m
x
x
y
y
b
m
x
y
E
T
T
T
T
n
n
n
i i
i
+
−
=
−
−
=
−
=
⎥
⎦
⎤
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
⎥
⎦
⎤
⎢
⎣
⎡
−
= ∑=
M
M
M
Normal equations: least squares solution to
XB=Y
∑=
−
−
=
n
i i
i b
x
m
y
E 1
2
)
(
(xi, yi)
y=mx+b
Y
X
XB
X T
T
=
Problem with “vertical” least squares
• Not rotation-invariant
• Fails completely for vertical lines
Total least squares
Distance between point (xn, yn) and
line ax+by=d (a2+b2=1): |ax + by – d|
Find (a, b, d) to minimize the sum of
squared perpendicular distances ∑=
−
+
=
n
i i
i d
y
b
x
a
E 1
2
)
( (xi, yi)
ax+by=d
∑=
−
+
=
n
i i
i d
y
b
x
a
E 1
2
)
(
Unit normal:
N=(a, b)
Total least squares
Distance between point (xn, yn) and
line ax+by=d (a2+b2=1): |ax + by – d|
Find (a, b, d) to minimize the sum of
squared perpendicular distances ∑=
−
+
=
n
i i
i d
y
b
x
a
E 1
2
)
( (xi, yi)
ax+by=d
∑=
−
+
=
n
i i
i d
y
b
x
a
E 1
2
)
(
Unit normal:
N=(a, b)
0
)
(
2
1
=
−
+
−
=
∂
∂
∑=
n
i i
i d
y
b
x
a
d
E
y
b
x
a
x
n
b
x
n
a
d
n
i i
n
i i +
=
+
= ∑
∑ =
= 1
1
)
(
)
(
))
(
)
(
(
2
1
1
1
2
UN
UN
b
a
y
y
x
x
y
y
x
x
y
y
b
x
x
a
E T
n
n
n
i i
i =
⎥
⎦
⎤
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−
−
−
−
=
−
+
−
= ∑=
M
M
0
)
(
2 =
= N
U
U
dN
dE T
Solution to (UTU)N = 0, subject to ||N||2 = 1: eigenvector of UTU
associated with the smallest eigenvalue (least squares solution
to homogeneous linear system UN = 0)
Total least squares
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−
−
−
−
=
y
y
x
x
y
y
x
x
U
n
n
M
M
1
1
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−
−
−
−
−
−
=
∑
∑
∑
∑
=
=
=
=
n
i
i
n
i
i
i
n
i
i
i
n
i
i
T
y
y
y
y
x
x
y
y
x
x
x
x
U
U
1
2
1
1
1
2
)
(
)
)(
(
)
)(
(
)
(
second moment matrix
Total least squares
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−
−
−
−
=
y
y
x
x
y
y
x
x
U
n
n
M
M
1
1
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−
−
−
−
−
−
=
∑
∑
∑
∑
=
=
=
=
n
i
i
n
i
i
i
n
i
i
i
n
i
i
T
y
y
y
y
x
x
y
y
x
x
x
x
U
U
1
2
1
1
1
2
)
(
)
)(
(
)
)(
(
)
(
)
,
( y
x
N = (a, b)
second moment matrix
)
,
( y
y
x
x i
i −
−
Least squares as likelihood maximization
• Generative model: line
points are corrupted by
Gaussian noise in the
direction perpendicular to
the line
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
+
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
=
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
b
a
v
u
y
x
ε
(x, y)
ax+by=d
(u, v)
ε
point
on the
line
noise:
zero-mean
Gaussian with
std. dev. σ
normal
direction
Least squares as likelihood maximization
• Generative model: line
points are corrupted by
Gaussian noise in the
direction perpendicular to
the line
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
+
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
=
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
b
a
v
u
y
x
ε
(x, y)
(u, v)
ε
∏
∏ =
=
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛ −
+
−
∝
=
n
i
i
i
n
i
i
n
d
by
ax
d
b
a
x
P
d
b
a
x
x
P
1
2
2
1
1
2
)
(
exp
)
,
,
|
(
)
,
,
|
,
,
(
σ
K
Likelihood of points given line parameters (a, b, d):
∑
=
−
+
−
=
n
i
i
i
n d
by
ax
d
b
a
x
x
L
1
2
2
1 )
(
2
1
)
,
,
|
,
,
(
σ
K
Log-likelihood:
ax+by=d
Least squares for general curves
• We would like to minimize the sum of squared
geometric distances between the data points
and the curve
(xi, yi)
d((xi, yi), C)
curve C
Least squares for conics
• Equation of a general conic:
C(a, x) = a · x = ax2 + bxy + cy2 + dx + ey + f = 0,
a = [a, b, c, d, e, f],
x = [x2, xy, y2, x, y, 1]
• Minimizing the geometric distance is non-linear even for
a conic
• Algebraic distance: C(a, x)
• Algebraic distance minimization by linear least squares:
0
1
1
1
2
2
2
2
2
2
2
2
2
2
1
1
2
1
1
1
2
1
=
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎣
⎡
f
e
d
c
b
a
y
x
y
y
x
x
y
x
y
y
x
x
y
x
y
y
x
x
n
n
n
n
n
n
M
O
M
Least squares for conics
• Least squares system: Da = 0
• Need constraint on a to prevent trivial solution
• Discriminant: b2 – 4ac
• Negative: ellipse
• Zero: parabola
• Positive: hyperbola
• Minimizing squared algebraic distance subject to
constraints leads to a generalized eigenvalue
problem
• Many variations possible
• For more information:
• A. Fitzgibbon, M. Pilu, and R. Fisher, Direct least-squares fitting
of ellipses, IEEE Transactions on Pattern Analysis and Machine
Intelligence, 21(5), 476--480, May 1999
Least squares: Robustness to noise
Least squares fit to the red points:
Least squares: Robustness to noise
Least squares fit with an outlier:
Problem: squared error heavily penalizes outliers
Robust estimators
• General approach: minimize
ri (xi, θ) – residual of ith point w.r.t. model parameters θ
ρ – robust function with scale parameter σ
( )
( )
σ
θ
ρ ;
,
i
i
i
x
r
∑
The robust function
ρ behaves like
squared distance for
small values of the
residual u but
saturates for larger
values of u
Choosing the scale: Just right
The effect of the outlier is eliminated
The error value is almost the same for every
point and the fit is very poor
Choosing the scale: Too small
Choosing the scale: Too large
Behaves much the same as least squares
Robust estimation: Notes
• Robust fitting is a nonlinear optimization
problem that must be solved iteratively
• Least squares solution can be used for
initialization
• Adaptive choice of scale:
“magic number” times median residual
RANSAC
• Robust fitting can deal with a few outliers –
what if we have very many?
• Random sample consensus (RANSAC):
Very general framework for model fitting in
the presence of outliers
• Outline
• Choose a small subset uniformly at random
• Fit a model to that subset
• Find all remaining points that are “close” to the model and
reject the rest as outliers
• Do this many times and choose the best model
M. A. Fischler, R. C. Bolles. Random Sample Consensus: A Paradigm for Model
Fitting with Applications to Image Analysis and Automated Cartography. Comm. of
the ACM, Vol 24, pp 381-395, 1981.
RANSAC for line fitting
Repeat N times:
• Draw s points uniformly at random
• Fit line to these s points
• Find inliers to this line among the remaining
points (i.e., points whose distance from the
line is less than t)
• If there are d or more inliers, accept the line
and refit using all inliers
Choosing the parameters
• Initial number of points s
• Typically minimum number needed to fit the model
• Distance threshold t
• Choose t so probability for inlier is p (e.g. 0.95)
• Zero-mean Gaussian noise with std. dev. σ: t2=3.84σ2
• Number of samples N
• Choose N so that, with probability p, at least one random
sample is free from outliers (e.g. p=0.99) (outlier ratio: e)
Source: M. Pollefeys
Choosing the parameters
• Initial number of points s
• Typically minimum number needed to fit the model
• Distance threshold t
• Choose t so probability for inlier is p (e.g. 0.95)
• Zero-mean Gaussian noise with std. dev. σ: t2=3.84σ2
• Number of samples N
• Choose N so that, with probability p, at least one random
sample is free from outliers (e.g. p=0.99) (outlier ratio: e)
( ) ( )
( )
s
e
p
N −
−
−
= 1
1
log
/
1
log
( )
( ) p
e
N
s
−
=
−
− 1
1
1
proportion of outliers e
s 5% 10% 20% 25% 30% 40% 50%
2 2 3 5 6 7 11 17
3 3 4 7 9 11 19 35
4 3 5 9 13 17 34 72
5 4 6 12 17 26 57 146
6 4 7 16 24 37 97 293
7 4 8 20 33 54 163 588
8 5 9 26 44 78 272 1177
Source: M. Pollefeys
Choosing the parameters
• Initial number of points s
• Typically minimum number needed to fit the model
• Distance threshold t
• Choose t so probability for inlier is p (e.g. 0.95)
• Zero-mean Gaussian noise with std. dev. σ: t2=3.84σ2
• Number of samples N
• Choose N so that, with probability p, at least one random
sample is free from outliers (e.g. p=0.99) (outlier ratio: e)
( )
( ) p
e
N
s
−
=
−
− 1
1
1
Source: M. Pollefeys
( ) ( )
( )
s
e
p
N −
−
−
= 1
1
log
/
1
log
Choosing the parameters
• Initial number of points s
• Typically minimum number needed to fit the model
• Distance threshold t
• Choose t so probability for inlier is p (e.g. 0.95)
• Zero-mean Gaussian noise with std. dev. σ: t2=3.84σ2
• Number of samples N
• Choose N so that, with probability p, at least one random
sample is free from outliers (e.g. p=0.99) (outlier ratio: e)
• Consensus set size d
• Should match expected inlier ratio
Source: M. Pollefeys
Adaptively determining the number of samples
• Inlier ratio e is often unknown a priori, so pick
worst case, e.g. 50%, and adapt if more
inliers are found, e.g. 80% would yield e=0.2
• Adaptive procedure:
• N=∞, sample_count =0
• While N >sample_count
– Choose a sample and count the number of inliers
– Set e = 1 – (number of inliers)/(total number of points)
– Recompute N from e:
– Increment the sample_count by 1
( ) ( )
( )
s
e
p
N −
−
−
= 1
1
log
/
1
log
Source: M. Pollefeys
RANSAC pros and cons
• Pros
• Simple and general
• Applicable to many different problems
• Often works well in practice
• Cons
• Lots of parameters to tune
• Can’t always get a good initialization of the model based on
the minimum number of samples
• Sometimes too many iterations are required
• Can fail for extremely low inlier ratios
• We can often do better than brute-force sampling

More Related Content

PDF
Lec12 epipolar
PDF
Lec15 sfm
PDF
Lec09 hough
PDF
Lec05 filter
PPTX
Lec13 stereo converted
PDF
Lec10 alignment
PDF
Lec06 edge
PPTX
Image segmentation in Digital Image Processing
Lec12 epipolar
Lec15 sfm
Lec09 hough
Lec05 filter
Lec13 stereo converted
Lec10 alignment
Lec06 edge
Image segmentation in Digital Image Processing

What's hot (19)

PDF
Lec07 corner blob
PDF
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
PPTX
2. filtering basics
PDF
04 image enhancement edge detection
PDF
Edge detection
PPT
Lighting and shading
PDF
Point Cloud Segmentation for 3D Reconstruction
PPT
Use of Specularities and Motion in the Extraction of Surface Shape
PPT
Edges and lines
PDF
testpang
PPTX
Snakes in Images (Active contour tutorial)
PPT
Chapter10 image segmentation
PPT
Shading
PPT
Shading in OpenGL
PDF
Hidden Surface Removal using Z-buffer
Lec07 corner blob
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
2. filtering basics
04 image enhancement edge detection
Edge detection
Lighting and shading
Point Cloud Segmentation for 3D Reconstruction
Use of Specularities and Motion in the Extraction of Surface Shape
Edges and lines
testpang
Snakes in Images (Active contour tutorial)
Chapter10 image segmentation
Shading
Shading in OpenGL
Hidden Surface Removal using Z-buffer
Ad

Similar to Lec08 fitting (20)

PDF
Fitting and Matching in the Computer Vision
PPTX
feature matching and model fitting .pptx
PPTX
Undecidable Problems and Approximation Algorithms
PPTX
Counting trees.pptx
PPTX
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
PDF
Extended Isolation Forest
PPTX
Random number generation
PPTX
Clipping & Rasterization
PPTX
Mvs adas
PDF
Unit-7 Representation and Description.pdf
PPTX
Representation image
PPTX
Introduction to matlab
PDF
Algorithmic Techniques for Parametric Model Recovery
PDF
Mit6 094 iap10_lec03
PDF
GIS-DELAUNAY-GIS-DELAUNAY-GIS-DELAUNAY-GIS-DELAUNAY
PDF
Bayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
PPT
CS 354 More Graphics Pipeline
PDF
Sparsenet
PPTX
Lecture 8 about data mining and how to use it.pptx
PDF
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Fitting and Matching in the Computer Vision
feature matching and model fitting .pptx
Undecidable Problems and Approximation Algorithms
Counting trees.pptx
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Extended Isolation Forest
Random number generation
Clipping & Rasterization
Mvs adas
Unit-7 Representation and Description.pdf
Representation image
Introduction to matlab
Algorithmic Techniques for Parametric Model Recovery
Mit6 094 iap10_lec03
GIS-DELAUNAY-GIS-DELAUNAY-GIS-DELAUNAY-GIS-DELAUNAY
Bayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
CS 354 More Graphics Pipeline
Sparsenet
Lecture 8 about data mining and how to use it.pptx
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Ad

More from BaliThorat1 (20)

PDF
Lec14 multiview stereo
PPTX
Lec11 single view-converted
PDF
8 operating system concept
PDF
7 processor
PDF
6 input output devices
PDF
2 windows operating system
PDF
5 computer memory
PDF
4 computer languages
PDF
1 fundamentals of computer
PDF
1 fundamentals of computer system
PDF
Computer generation and classification
PDF
Algorithm and flowchart
PDF
6 cpu scheduling
PDF
5 process synchronization
PDF
4 threads
PDF
3 processes
PDF
2 os structure
PDF
1 intro and overview
PDF
Lec04 color
PDF
Lec03 light
Lec14 multiview stereo
Lec11 single view-converted
8 operating system concept
7 processor
6 input output devices
2 windows operating system
5 computer memory
4 computer languages
1 fundamentals of computer
1 fundamentals of computer system
Computer generation and classification
Algorithm and flowchart
6 cpu scheduling
5 process synchronization
4 threads
3 processes
2 os structure
1 intro and overview
Lec04 color
Lec03 light

Recently uploaded (20)

PDF
My India Quiz Book_20210205121199924.pdf
PPTX
Virtual and Augmented Reality in Current Scenario
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
IGGE1 Understanding the Self1234567891011
PPTX
Computer Architecture Input Output Memory.pptx
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PDF
What if we spent less time fighting change, and more time building what’s rig...
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
20th Century Theater, Methods, History.pptx
PDF
advance database management system book.pdf
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
My India Quiz Book_20210205121199924.pdf
Virtual and Augmented Reality in Current Scenario
FORM 1 BIOLOGY MIND MAPS and their schemes
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
IGGE1 Understanding the Self1234567891011
Computer Architecture Input Output Memory.pptx
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Paper A Mock Exam 9_ Attempt review.pdf.
A powerpoint presentation on the Revised K-10 Science Shaping Paper
AI-driven educational solutions for real-life interventions in the Philippine...
What if we spent less time fighting change, and more time building what’s rig...
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
20th Century Theater, Methods, History.pptx
advance database management system book.pdf
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
Weekly quiz Compilation Jan -July 25.pdf
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf

Lec08 fitting

  • 2. Fitting: Motivation • We’ve learned how to detect edges, corners, blobs. Now what? • We would like to form a higher-level, more compact representation of the features in the image by grouping multiple features according to a simple model 9300 Harris Corners Pkwy, Charlotte, NC
  • 3. Source: K. Grauman Fitting • Choose a parametric model to represent a set of features simple model: lines simple model: circles complicated model: car
  • 4. Fitting • Choose a parametric model to represent a set of features • Membership criterion is not local • Can’t tell whether a point belongs to a given model just by looking at that point • Three main questions: • What model represents this set of features best? • Which of several model instances gets which feature? • How many model instances are there? • Computational complexity is important • It is infeasible to examine every possible set of parameters and every possible combination of features
  • 5. Fitting: Issues • Noise in the measured feature locations • Extraneous data: clutter (outliers), multiple lines • Missing data: occlusions Case study: Line detection
  • 6. Fitting: Issues • If we know which points belong to the line, how do we find the “optimal” line parameters? • Least squares • What if there are outliers? • Robust fitting, RANSAC • What if there are many lines? • Voting methods: RANSAC, Hough transform • What if we’re not even sure it’s a line? • Model selection
  • 7. Least squares line fitting Data: (x1, y1), …, (xn, yn) Line equation: yi = m xi + b Find (m, b) to minimize ∑= − − = n i i i b x m y E 1 2 ) ( (xi, yi) y=mx+b
  • 8. Least squares line fitting Data: (x1, y1), …, (xn, yn) Line equation: yi = m xi + b Find (m, b) to minimize 0 2 2 = − = Y X XB X dB dE T T [ ] ) ( ) ( ) ( 2 ) ( ) ( 1 1 1 2 2 1 1 1 2 XB XB Y XB Y Y XB Y XB Y XB Y b m x x y y b m x y E T T T T n n n i i i + − = − − = − = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − = ∑= M M M Normal equations: least squares solution to XB=Y ∑= − − = n i i i b x m y E 1 2 ) ( (xi, yi) y=mx+b Y X XB X T T =
  • 9. Problem with “vertical” least squares • Not rotation-invariant • Fails completely for vertical lines
  • 10. Total least squares Distance between point (xn, yn) and line ax+by=d (a2+b2=1): |ax + by – d| Find (a, b, d) to minimize the sum of squared perpendicular distances ∑= − + = n i i i d y b x a E 1 2 ) ( (xi, yi) ax+by=d ∑= − + = n i i i d y b x a E 1 2 ) ( Unit normal: N=(a, b)
  • 11. Total least squares Distance between point (xn, yn) and line ax+by=d (a2+b2=1): |ax + by – d| Find (a, b, d) to minimize the sum of squared perpendicular distances ∑= − + = n i i i d y b x a E 1 2 ) ( (xi, yi) ax+by=d ∑= − + = n i i i d y b x a E 1 2 ) ( Unit normal: N=(a, b) 0 ) ( 2 1 = − + − = ∂ ∂ ∑= n i i i d y b x a d E y b x a x n b x n a d n i i n i i + = + = ∑ ∑ = = 1 1 ) ( ) ( )) ( ) ( ( 2 1 1 1 2 UN UN b a y y x x y y x x y y b x x a E T n n n i i i = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − = − + − = ∑= M M 0 ) ( 2 = = N U U dN dE T Solution to (UTU)N = 0, subject to ||N||2 = 1: eigenvector of UTU associated with the smallest eigenvalue (least squares solution to homogeneous linear system UN = 0)
  • 14. Least squares as likelihood maximization • Generative model: line points are corrupted by Gaussian noise in the direction perpendicular to the line ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ + ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ b a v u y x ε (x, y) ax+by=d (u, v) ε point on the line noise: zero-mean Gaussian with std. dev. σ normal direction
  • 15. Least squares as likelihood maximization • Generative model: line points are corrupted by Gaussian noise in the direction perpendicular to the line ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ + ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ b a v u y x ε (x, y) (u, v) ε ∏ ∏ = = ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − + − ∝ = n i i i n i i n d by ax d b a x P d b a x x P 1 2 2 1 1 2 ) ( exp ) , , | ( ) , , | , , ( σ K Likelihood of points given line parameters (a, b, d): ∑ = − + − = n i i i n d by ax d b a x x L 1 2 2 1 ) ( 2 1 ) , , | , , ( σ K Log-likelihood: ax+by=d
  • 16. Least squares for general curves • We would like to minimize the sum of squared geometric distances between the data points and the curve (xi, yi) d((xi, yi), C) curve C
  • 17. Least squares for conics • Equation of a general conic: C(a, x) = a · x = ax2 + bxy + cy2 + dx + ey + f = 0, a = [a, b, c, d, e, f], x = [x2, xy, y2, x, y, 1] • Minimizing the geometric distance is non-linear even for a conic • Algebraic distance: C(a, x) • Algebraic distance minimization by linear least squares: 0 1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 1 = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ f e d c b a y x y y x x y x y y x x y x y y x x n n n n n n M O M
  • 18. Least squares for conics • Least squares system: Da = 0 • Need constraint on a to prevent trivial solution • Discriminant: b2 – 4ac • Negative: ellipse • Zero: parabola • Positive: hyperbola • Minimizing squared algebraic distance subject to constraints leads to a generalized eigenvalue problem • Many variations possible • For more information: • A. Fitzgibbon, M. Pilu, and R. Fisher, Direct least-squares fitting of ellipses, IEEE Transactions on Pattern Analysis and Machine Intelligence, 21(5), 476--480, May 1999
  • 19. Least squares: Robustness to noise Least squares fit to the red points:
  • 20. Least squares: Robustness to noise Least squares fit with an outlier: Problem: squared error heavily penalizes outliers
  • 21. Robust estimators • General approach: minimize ri (xi, θ) – residual of ith point w.r.t. model parameters θ ρ – robust function with scale parameter σ ( ) ( ) σ θ ρ ; , i i i x r ∑ The robust function ρ behaves like squared distance for small values of the residual u but saturates for larger values of u
  • 22. Choosing the scale: Just right The effect of the outlier is eliminated
  • 23. The error value is almost the same for every point and the fit is very poor Choosing the scale: Too small
  • 24. Choosing the scale: Too large Behaves much the same as least squares
  • 25. Robust estimation: Notes • Robust fitting is a nonlinear optimization problem that must be solved iteratively • Least squares solution can be used for initialization • Adaptive choice of scale: “magic number” times median residual
  • 26. RANSAC • Robust fitting can deal with a few outliers – what if we have very many? • Random sample consensus (RANSAC): Very general framework for model fitting in the presence of outliers • Outline • Choose a small subset uniformly at random • Fit a model to that subset • Find all remaining points that are “close” to the model and reject the rest as outliers • Do this many times and choose the best model M. A. Fischler, R. C. Bolles. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Comm. of the ACM, Vol 24, pp 381-395, 1981.
  • 27. RANSAC for line fitting Repeat N times: • Draw s points uniformly at random • Fit line to these s points • Find inliers to this line among the remaining points (i.e., points whose distance from the line is less than t) • If there are d or more inliers, accept the line and refit using all inliers
  • 28. Choosing the parameters • Initial number of points s • Typically minimum number needed to fit the model • Distance threshold t • Choose t so probability for inlier is p (e.g. 0.95) • Zero-mean Gaussian noise with std. dev. σ: t2=3.84σ2 • Number of samples N • Choose N so that, with probability p, at least one random sample is free from outliers (e.g. p=0.99) (outlier ratio: e) Source: M. Pollefeys
  • 29. Choosing the parameters • Initial number of points s • Typically minimum number needed to fit the model • Distance threshold t • Choose t so probability for inlier is p (e.g. 0.95) • Zero-mean Gaussian noise with std. dev. σ: t2=3.84σ2 • Number of samples N • Choose N so that, with probability p, at least one random sample is free from outliers (e.g. p=0.99) (outlier ratio: e) ( ) ( ) ( ) s e p N − − − = 1 1 log / 1 log ( ) ( ) p e N s − = − − 1 1 1 proportion of outliers e s 5% 10% 20% 25% 30% 40% 50% 2 2 3 5 6 7 11 17 3 3 4 7 9 11 19 35 4 3 5 9 13 17 34 72 5 4 6 12 17 26 57 146 6 4 7 16 24 37 97 293 7 4 8 20 33 54 163 588 8 5 9 26 44 78 272 1177 Source: M. Pollefeys
  • 30. Choosing the parameters • Initial number of points s • Typically minimum number needed to fit the model • Distance threshold t • Choose t so probability for inlier is p (e.g. 0.95) • Zero-mean Gaussian noise with std. dev. σ: t2=3.84σ2 • Number of samples N • Choose N so that, with probability p, at least one random sample is free from outliers (e.g. p=0.99) (outlier ratio: e) ( ) ( ) p e N s − = − − 1 1 1 Source: M. Pollefeys ( ) ( ) ( ) s e p N − − − = 1 1 log / 1 log
  • 31. Choosing the parameters • Initial number of points s • Typically minimum number needed to fit the model • Distance threshold t • Choose t so probability for inlier is p (e.g. 0.95) • Zero-mean Gaussian noise with std. dev. σ: t2=3.84σ2 • Number of samples N • Choose N so that, with probability p, at least one random sample is free from outliers (e.g. p=0.99) (outlier ratio: e) • Consensus set size d • Should match expected inlier ratio Source: M. Pollefeys
  • 32. Adaptively determining the number of samples • Inlier ratio e is often unknown a priori, so pick worst case, e.g. 50%, and adapt if more inliers are found, e.g. 80% would yield e=0.2 • Adaptive procedure: • N=∞, sample_count =0 • While N >sample_count – Choose a sample and count the number of inliers – Set e = 1 – (number of inliers)/(total number of points) – Recompute N from e: – Increment the sample_count by 1 ( ) ( ) ( ) s e p N − − − = 1 1 log / 1 log Source: M. Pollefeys
  • 33. RANSAC pros and cons • Pros • Simple and general • Applicable to many different problems • Often works well in practice • Cons • Lots of parameters to tune • Can’t always get a good initialization of the model based on the minimum number of samples • Sometimes too many iterations are required • Can fail for extremely low inlier ratios • We can often do better than brute-force sampling