Fitting a transformation: feature-based alignment
description
Transcript of Fitting a transformation: feature-based alignment
![Page 1: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/1.jpg)
Fitting a transformation:feature-based alignment
Thursday, September 26th 2013Devi Parikh
Virginia Tech
1Slide credit: Kristen Grauman
Disclaimer: Many slides have been borrowed from Kristen Grauman, who may have borrowed some of them from others. Any time a slide did not already have a credit on it, I have credited it to Kristen. So there is a chance some of these credits are inaccurate.
![Page 2: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/2.jpg)
Given: initial contour (model) near desired object
a.k.a. active contours, snakes
Figure credit: Yuri Boykov
Goal: evolve the contour to fit exact object boundary
[Snakes: Active contour models, Kass, Witkin, & Terzopoulos, ICCV1987]
Main idea: elastic band is iteratively adjusted so as to• be near image positions with
high gradients, and• satisfy shape “preferences” or
contour priors
Last time: Deformable contours
2
Slide credit: Kristen Grauman
![Page 3: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/3.jpg)
Last time: Deformable contours
Image from http://www.healthline.com/blogs/exercise_fitness/uploaded_images/HandBand2-795868.JPG Kristen Grauman
3
![Page 4: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/4.jpg)
Pros:• Useful to track and fit non-rigid shapes• Contour remains connected• Possible to fill in “subjective” contours• Flexibility in how energy function is defined, weighted.Cons:• Must have decent initialization near true boundary, may
get stuck in local minimum• Parameters of energy function must be set well based on
prior information
Last time: Deformable contours
Kristen Grauman
4
![Page 5: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/5.jpg)
5
Today
• Interactive segmentation• Feature-based alignment
– 2D transformations– Affine fit– RANSAC
Slide credit: Kristen Grauman
![Page 6: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/6.jpg)
Interactive forces
How can we implement such an interactive force with deformable contours?
Kristen Grauman
6
![Page 7: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/7.jpg)
Interactive forces• An energy function can be altered online based
on user input – use the cursor to push or pull the initial snake away from a point.
• Modify external energy term to include a term such that
1
02
2
||
n
i ipush p
rE
Nearby points get pushed hardest
Adapted by Devi Parikh from Kristen Grauman
7
![Page 8: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/8.jpg)
Intelligent scissors
[Mortensen & Barrett, SIGGRAPH 1995, CVPR 1999]
Another form of interactive segmentation:
Compute optimal paths from every point to the seed based on edge-related costs.
8
Adapted by Devi Parikh from Kristen Grauman Demo: http://www.luberth.com/java/scissors/
![Page 9: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/9.jpg)
http://rivit.cs.byu.edu/Eric/Eric.html
Intelligent scissors
9
Slide credit: Kristen Grauman
![Page 10: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/10.jpg)
http://rivit.cs.byu.edu/Eric/Eric.html
Intelligent scissors
10
Slide credit: Kristen Grauman
![Page 11: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/11.jpg)
Beyond boundary snapping…
• Another form of interactive guidance: specify regions• Usually taken to suggest foreground/background color
distributions
Boykov and Jolly (2001)
User Input Result
How to use this information?Kristen Grauman
11
![Page 12: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/12.jpg)
q
Recall: Images as graphs
Fully-connected graph• node for every pixel• link between every pair of pixels, p,q• similarity wpq for each link
» similarity is inversely proportional to difference in color and position
p
wpqw
Steve Seitz
12
![Page 13: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/13.jpg)
Recall: Segmentation by Graph Cuts
Break graph into segments• Delete links that cross between segments
• Easiest to break links that have low similarity– similar pixels should be in the same segments– dissimilar pixels should be in different segments
w
A B C
Steve Seitz
13
![Page 14: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/14.jpg)
Adding hard constraints:
Add two additional nodes, object and background “terminals”
Link each pixel• To both terminals• To its neighboring pixels
Graph cuts for interactive segmentation
Yuri Boykov15
![Page 15: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/15.jpg)
Graph cuts for interactive segmentation
Adding hard constraints:
Let the edge weight to object or background terminal reflect similarity to the respective seed pixels.
Yuri Boykov16
![Page 16: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/16.jpg)
Yuri Boykov
Graph cuts for interactive segmentation
Boykov and Jolly (2001)17
![Page 17: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/17.jpg)
Intelligent Scissors Mortensen and Barrett (1995)
GrabCutRother et al. (2004)
Graph Cuts Boykov and Jolly (2001)
Graph cuts for interactive segmentation
Another interaction modality: specify bounding box
18
Slide credit: Kristen Grauman
![Page 18: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/18.jpg)
“Grab Cut”• Loosely specify foreground region• Iterated graph cut
Rother et al (2004)
User Initialisation
K-means for learning
colour distributions
Graph cuts to infer the
segmentation
? User initialization
19
![Page 19: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/19.jpg)
“Grab Cut”• Loosely specify foreground region• Iterated graph cut
Rother et al (2004)Gaussian Mixture Model (typically 5-8 components)
Foreground &Background
Background
Foreground
BackgroundG
R
G
RIterated graph cut
20
![Page 20: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/20.jpg)
“Grab Cut”
Rother et al (2004)21
![Page 21: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/21.jpg)
Today
• Interactive segmentation• Feature-based alignment
– 2D transformations– Affine fit– RANSAC
22
Slide credit: Kristen Grauman
![Page 22: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/22.jpg)
Motivation: Recognition
Figures from David Lowe23
Slide credit: Kristen Grauman
![Page 23: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/23.jpg)
Motivation: medical image registration
24
Slide credit: Kristen Grauman
![Page 24: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/24.jpg)
Motivation: mosaics
Image from http://graphics.cs.cmu.edu/courses/15-463/2010_fall/
(In detail next week)
25
Slide credit: Kristen Grauman
![Page 25: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/25.jpg)
Alignment problem• We have previously considered how to fit a model to
image evidence– e.g., a line to edge points, or a snake to a deforming contour
• In alignment, we will fit the parameters of some transformation according to a set of matching feature pairs (“correspondences”).
T
xixi
'
26
Slide credit: Kristen Grauman
![Page 26: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/26.jpg)
Parametric (global) warpingExamples of parametric warps:
translation rotation aspect
affineperspective
Source: Alyosha Efros
27
![Page 27: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/27.jpg)
Parametric (global) warping
Transformation T is a coordinate-changing machine:p’ = T(p)
What does it mean that T is global?• Is the same for any point p• can be described by just a few numbers (parameters)
Let’s represent T as a matrix: p’ = Mp
T
p = (x,y) p’ = (x’,y’)
yx
yx
M''
Source: Alyosha Efros
28
![Page 28: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/28.jpg)
ScalingScaling a coordinate means multiplying each of its components by
a scalarUniform scaling means this scalar is the same for all components:
2
Source: Alyosha Efros
29
![Page 29: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/29.jpg)
Non-uniform scaling: different scalars per component:
Scaling
X 2,Y 0.5
Source: Alyosha Efros
30
![Page 30: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/30.jpg)
Scaling
Scaling operation:
Or, in matrix form:
byyaxx
''
yx
ba
yx
00
''
scaling matrix S
Source: Alyosha Efros
31
![Page 31: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/31.jpg)
What transformations can be represented with a 2x2 matrix?
2D Rotate around (0,0)?
yxyyxx
*cos*sin'*sin*cos'
yx
yx
cossinsincos
''
2D Shear?
yxshyyshxx
y
x
*'*'
yx
shsh
yx
y
x
11
''
Source: Alyosha Efros
2D Scaling?
ysy
xsx
y
x
*'
*'
yx
ss
yx
y
x
00
''
32
![Page 32: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/32.jpg)
What transformations can be represented with a 2x2 matrix?
Source: Alyosha Efros
2D Mirror about Y axis?
yyxx
''
yx
yx
1001
''
2D Mirror over (0,0)?
yyxx
''
yx
yx
1001
''
2D Translation?
y
x
tyytxx
''
NO!33
![Page 33: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/33.jpg)
2D Linear Transformations
Only linear 2D transformations can be represented with a 2x2 matrix.
Linear transformations are combinations of …• Scale,• Rotation,• Shear, and• Mirror
yx
dcba
yx
''
Source: Alyosha Efros
34
![Page 34: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/34.jpg)
Homogeneous coordinates
Converting from homogeneous coordinates
homogeneous image coordinates
To convert to homogeneous coordinates:
35
Slide credit: Kristen Grauman
![Page 35: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/35.jpg)
Homogeneous CoordinatesQ: How can we represent 2d translation as a 3x3 matrix
using homogeneous coordinates?
A: Using the rightmost column:
100
1001
y
x
tt
ranslationT
y
x
tyytxx
''
Source: Alyosha Efros36
![Page 36: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/36.jpg)
Translation
111001001
1''
y
x
y
x
tytx
yx
tt
yx
tx = 2ty = 1
Homogeneous Coordinates
Source: Alyosha Efros
37
![Page 37: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/37.jpg)
Basic 2D TransformationsBasic 2D transformations as 3x3 matrices
11000cossin0sincos
1''
yx
yx
11001001
1''
yx
tt
yx
y
x
11000101
1''
yx
shsh
yx
y
x
Translate
Rotate Shear
11000000
1''
yx
ss
yx
y
x
Scale
Source: Alyosha Efros38
![Page 38: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/38.jpg)
2D Affine Transformations
Affine transformations are combinations of …• Linear transformations, and• Translations
Parallel lines remain parallel
wyx
fedcba
wyx
100'''
39
Slide credit: Kristen Grauman
![Page 39: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/39.jpg)
Today
• Interactive segmentation• Feature-based alignment
– 2D transformations– Affine fit– RANSAC
40
Slide credit: Kristen Grauman
![Page 40: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/40.jpg)
Alignment problem• We have previously considered how to fit a model to
image evidence– e.g., a line to edge points, or a snake to a deforming contour
• In alignment, we will fit the parameters of some transformation according to a set of matching feature pairs (“correspondences”).
T
xixi
'
Kristen Grauman
41
![Page 41: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/41.jpg)
Image alignment
• Two broad approaches:– Direct (pixel-based) alignment
• Search for alignment where most pixels agree– Feature-based alignment
• Search for alignment where extracted features agree• Can be verified using pixel-based alignment 42
Slide credit: Kristen Grauman
![Page 42: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/42.jpg)
Fitting an affine transformation• Assuming we know the correspondences, how do we
get the transformation?
),( ii yx ),( ii yx
2
1
43
21
tt
yx
mmmm
yx
i
i
i
i
43
Slide credit: Kristen Grauman
![Page 43: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/43.jpg)
An aside: Least Squares ExampleSay we have a set of data points (X1,X1’), (X2,X2’),
(X3,X3’), etc. (e.g. person’s height vs. weight)We want a nice compact formula (a line) to predict X’s
from Xs: Xa + b = X’We want to find a and bHow many (X,X’) pairs do we need?
What if the data is noisy?
'22
'11
XbaXXbaX
'2
'1
2
1
11
XX
ba
XX
Ax=B
.........111
'3
'2
'1
3
2
1
XXX
ba
XXX
overconstrained
2min BAx
Source: Alyosha Efros
44
![Page 44: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/44.jpg)
Fitting an affine transformation• Assuming we know the correspondences, how do we
get the transformation?
),( ii yx ),( ii yx
2
1
43
21
tt
yx
mmmm
yx
i
i
i
i
i
i
ii
ii
yx
ttmmmm
yxyx
2
1
4
3
2
1
10000100
45
Slide credit: Kristen Grauman
![Page 45: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/45.jpg)
Fitting an affine transformation
• How many matches (correspondence pairs) do we need to solve for the transformation parameters?
• Once we have solved for the parameters, how do we compute the coordinates of the corresponding point for ?
• Where do the matches come from?
i
i
ii
ii
yx
ttmmmm
yxyx
2
1
4
3
2
1
10000100
),( newnew yx
Kristen Grauman
46
![Page 46: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/46.jpg)
What are the correspondences?
?
• Compare content in local patches, find best matches.e.g., simplest approach: scan with template, and compute SSD or correlation between list of pixel intensities in the patch
• Later in the course: how to select regions according to the geometric changes, and more robust descriptors.
Kristen Grauman
47
![Page 47: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/47.jpg)
Fitting an affine transformation
Figures from David Lowe, ICCV 1999
Affine model approximates perspective projection of planar objects.
48
Slide credit: Kristen Grauman
![Page 48: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/48.jpg)
Today
• Interactive segmentation• Feature-based alignment
– 2D transformations– Affine fit– RANSAC
49
Slide credit: Kristen Grauman
![Page 49: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/49.jpg)
Outliers• Outliers can hurt the quality of our parameter
estimates, e.g., – an erroneous pair of matching points from two images– an edge point that is noise, or doesn’t belong to the
line we are fitting.
Kristen Grauman
50
![Page 50: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/50.jpg)
Outliers affect least squares fit
51
Slide credit: Kristen Grauman
![Page 51: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/51.jpg)
Outliers affect least squares fit
52
Slide credit: Kristen Grauman
![Page 52: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/52.jpg)
RANSAC
• RANdom Sample Consensus
• Approach: we want to avoid the impact of outliers, so let’s look for “inliers”, and use those only.
• Intuition: if an outlier is chosen to compute the current fit, then the resulting line won’t have much support from rest of the points.
53
Slide credit: Kristen Grauman
![Page 53: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/53.jpg)
RANSAC: General form• RANSAC loop:
1. Randomly select a seed group of points on which to base transformation estimate (e.g., a group of matches)
2. Compute transformation from seed group
3. Find inliers to this transformation
4. If the number of inliers is sufficiently large, re-compute estimate of transformation on all of the inliers
• Keep the transformation with the largest number of inliers
54
Slide credit: Kristen Grauman
![Page 54: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/54.jpg)
RANSAC for line fitting example
Source: R. Raguram Lana Lazebnik
55
![Page 55: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/55.jpg)
RANSAC for line fitting example
Least-squares fit
Source: R. Raguram Lana Lazebnik
56
![Page 56: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/56.jpg)
RANSAC for line fitting example
1. Randomly select minimal subset of points
Source: R. Raguram Lana Lazebnik
57
![Page 57: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/57.jpg)
RANSAC for line fitting example
1. Randomly select minimal subset of points
2. Hypothesize a model
Source: R. Raguram Lana Lazebnik
58
![Page 58: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/58.jpg)
RANSAC for line fitting example
1. Randomly select minimal subset of points
2. Hypothesize a model
3. Compute error function
Source: R. Raguram Lana Lazebnik
59
![Page 59: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/59.jpg)
RANSAC for line fitting example
1. Randomly select minimal subset of points
2. Hypothesize a model
3. Compute error function
4. Select points consistent with model
Source: R. Raguram Lana Lazebnik
60
![Page 60: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/60.jpg)
RANSAC for line fitting example
1. Randomly select minimal subset of points
2. Hypothesize a model
3. Compute error function
4. Select points consistent with model
5. Repeat hypothesize-and-verify loop
Source: R. Raguram Lana Lazebnik
61
![Page 61: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/61.jpg)
62
RANSAC for line fitting example
1. Randomly select minimal subset of points
2. Hypothesize a model
3. Compute error function
4. Select points consistent with model
5. Repeat hypothesize-and-verify loop
Source: R. Raguram Lana Lazebnik
![Page 62: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/62.jpg)
63
RANSAC for line fitting example
1. Randomly select minimal subset of points
2. Hypothesize a model
3. Compute error function
4. Select points consistent with model
5. Repeat hypothesize-and-verify loop
Uncontaminated sample
Source: R. Raguram Lana Lazebnik
![Page 63: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/63.jpg)
RANSAC for line fitting example
1. Randomly select minimal subset of points
2. Hypothesize a model
3. Compute error function
4. Select points consistent with model
5. Repeat hypothesize-and-verify loop
Source: R. Raguram Lana Lazebnik
64
![Page 64: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/64.jpg)
RANSAC for line fittingRepeat 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
Lana Lazebnik
65
![Page 65: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/65.jpg)
RANSAC pros and cons• Pros
• Simple and general• Applicable to many different problems• Often works well in practice
• Cons• Lots of parameters to tune• Doesn’t work well for low inlier ratios (too many iterations,
or can fail completely)• Can’t always get a good initialization
of the model based on the minimum number of samples
Lana Lazebnik
66
![Page 66: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/66.jpg)
Today
• Interactive segmentation• Feature-based alignment
– 2D transformations– Affine fit– RANSAC
67
Slide credit: Kristen Grauman
![Page 67: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/67.jpg)
Coming up: alignment and image stitching
68Slide credit: Kristen Grauman
![Page 68: Fitting a transformation: feature-based alignment](https://reader035.fdocuments.in/reader035/viewer/2022062813/568165d2550346895dd8df4a/html5/thumbnails/68.jpg)
Questions?
See you Tuesday!
69Slide credit: Devi Parikh