Fitting - PowerPoint PPT Presentation

About This Presentation
Title:

Fitting

Description:

Fitting Marc Pollefeys COMP 256 Some s and illustrations from D. Forsyth, T. Darrel, A. Zisserman, ... Tentative class schedule Final project presentation ... – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 55
Provided by: uncEdu
Learn more at: http://www.cs.unc.edu
Category:
Tags: example | fitting | lead

less

Transcript and Presenter's Notes

Title: Fitting


1
Fitting
  • Marc Pollefeys
  • COMP 256

Some slides and illustrations from D. Forsyth, T.
Darrel, A. Zisserman, ...
2
Tentative class schedule
Aug 26/28 - Introduction
Sep 2/4 Cameras Radiometry
Sep 9/11 Sources Shadows Color
Sep 16/18 Linear filters edges (hurricane Isabel)
Sep 23/25 Pyramids Texture Multi-View Geometry
Sep30/Oct2 Stereo Project proposals
Oct 7/9 Tracking (Welch) Optical flow
Oct 14/16 - -
Oct 21/23 Silhouettes/carving (Fall break)
Oct 28/30 - Structure from motion
Nov 4/6 Project update Proj. SfM
Nov 11/13 Camera calibration Segmentation
Nov 18/20 Fitting Prob. segm.fit.
Nov 25/27 Matching templates (Thanksgiving)
Dec 2/4 Matching relations Range data
Dec 8 or 9? Final project
3
Final project presentation
  • Presentation and/or Demo
  • (your choice, but let me know)
  • Short paper (Due Dec.5)
  • Final presentation/demo
  • Monday 8, 2-5pm?

4
Last week Segmentation
  • Group tokens into clusters that fit together
  • foreground-background
  • cluster on intensity, color, texture, location,
  • K-means
  • graph-based

5
Fitting
  • Choose a parametric object/some objects to
    represent a set of tokens
  • Most interesting case is when criterion is not
    local
  • cant tell whether a set of points lies on a line
    by looking only at each point and the next.
  • Three main questions
  • what object represents this set of tokens best?
  • which of several objects gets which token?
  • how many objects are there?
  • (you could read line for object here, or circle,
    or ellipse or...)

6
Fitting and the Hough Transform
  • Purports to answer all three questions
  • in practice, answer isnt usually all that much
    help
  • We do for lines only
  • A line is the set of points (x, y) such that
  • Different choices of q, dgt0 give different lines
  • For any (x, y) there is a one parameter family of
    lines through this point, given by
  • Each point gets to vote for each line in the
    family if there is a line that has lots of
    votes, that should be the line passing through
    the points

7
tokens
votes
8
Mechanics of the Hough transform
  • Construct an array representing q, d
  • For each point, render the curve (q, d) into this
    array, adding one at each cell
  • Difficulties
  • how big should the cells be? (too big, and we
    cannot distinguish between quite different lines
    too small, and noise causes lines to be missed)
  • How many lines?
  • count the peaks in the Hough array
  • Who belongs to which line?
  • tag the votes
  • Hardly ever satisfactory in practice, because
    problems with noise and cell size defeat it

9
tokens
votes
10
(No Transcript)
11
(No Transcript)
12
(No Transcript)
13
Cascaded hough transform
Tuytelaars and Van Gool ICCV98
14
Line fitting can be max. likelihood - but choice
of model is important
15
Who came from which line?
  • Assume we know how many lines there are - but
    which lines are they?
  • easy, if we know who came from which line
  • Three strategies
  • Incremental line fitting
  • K-means
  • Probabilistic (later!)

16
(No Transcript)
17
(No Transcript)
18
(No Transcript)
19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
(No Transcript)
23
(No Transcript)
24
(No Transcript)
25
(No Transcript)
26
(No Transcript)
27
(No Transcript)
28
(No Transcript)
29
(No Transcript)
30
Robustness
  • As we have seen, squared error can be a source of
    bias in the presence of noise points
  • One fix is EM - well do this shortly
  • Another is an M-estimator
  • Square nearby, threshold far away
  • A third is RANSAC
  • Search for good points

31
(No Transcript)
32
(No Transcript)
33
(No Transcript)
34
(No Transcript)
35
M-estimators
  • Generally, minimize
  • where is the residual

36
(No Transcript)
37
(No Transcript)
38
(No Transcript)
39
Too small
40
Too large
41
(No Transcript)
42
RANSAC
  • Choose a small subset uniformly at random
  • Fit to that
  • Anything that is close to result is signal all
    others are noise
  • Refit
  • Do this many times and choose the best
  • Issues
  • How many times?
  • Often enough that we are likely to have a good
    line
  • How big a subset?
  • Smallest possible
  • What does close mean?
  • Depends on the problem
  • What is a good line?
  • One where the number of nearby points is so big
    it is unlikely to be all outliers

43
(No Transcript)
44
Distance threshold
  • Choose t so probability for inlier is a (e.g.
    0.95)
  • Often empirically
  • Zero-mean Gaussian noise s then follows
  • distribution with mcodimension of model

(dimensioncodimensiondimension space)
Codimension Model t 2
1 line,F 3.84s2
2 H,P 5.99s2
3 T 7.81s2
45
How many samples?
  • Choose N so that, with probability p, at least
    one random sample is free from outliers. e.g.
    p0.99

proportion of outliers e proportion of outliers e proportion of outliers e proportion of outliers e proportion of outliers e proportion of outliers e 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
46
Acceptable consensus set?
  • Typically, terminate when inlier ratio reaches
    expected ratio of inliers

47
Adaptively determining the number of samples
  • 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 e0.2
  • N8, sample_count 0
  • While N gtsample_count repeat
  • Choose a sample and count the number of inliers
  • Set e1-(number of inliers)/(total number of
    points)
  • Recompute N from e
  • Increment the sample_count by 1
  • Terminate

48
RANSAC for Fundamental Matrix
  • Step 1. Extract features
  • Step 2. Compute a set of potential matches
  • Step 3. do
  • Step 3.1 select minimal sample (i.e. 7 matches)
  • Step 3.2 compute solution(s) for F
  • Step 3.3 determine inliers
  • until ?(inliers,samples)lt95

Step 4. Compute F based on all inliers Step 5.
Look for additional matches Step 6. Refine F
based on all correct matches
inliers 90 80 70 60 50
samples 5 13 35 106 382
49
Randomized RANSAC for Fundamental Matrix
  • Step 1. Extract features
  • Step 2. Compute a set of potential matches
  • Step 3. do
  • Step 3.1 select minimal sample (i.e. 7 matches)
  • Step 3.2 compute solution(s) for F
  • Step 3.3 Randomize verification
  • 3.3.1 verify if inlier
  • while hypothesis is still promising
  • while ?(inliers,samples)lt95

(generate hypothesis)
(verify hypothesis)
Step 4. Compute F based on all inliers Step 5.
Look for additional matches Step 6. Refine F
based on all correct matches
50
Example robust computation
from HZ
Interest points (500/image) (640x480)
in 1-e adapt. N
6 2 20M
10 3 2.5M
44 16 6,922
58 21 2,291
73 26 911
151 56 43
Putative correspondences (268) (Best
match,SSDlt20,320) Outliers (117) (t1.25 pixel
43 iterations)
Inliers (151) Final inliers (262) (2 MLE-inlier
cycles d?0.23?d?0.19 IterLev-Mar10)
51
More on robust estimation
  • LMedS, an alternative to RANSAC
  • (minimize Median residual in stead of
  • maximizing inlier count)
  • Enhancements to RANSAC
  • Randomized RANSAC
  • Sample good matches more frequently
  • RANSAC is also somewhat robust to bugs, sometimes
    it just takes a bit longer

52
Epipolar geometry from silhouettes
(Sinha et al. CVPR 2004? paper due tomorrow)
  • RANSAC is used to combine exploration of random
    epipole locations and robustness to outliers

more on Dec. 8
53
Fitting curves other than lines
  • In principle, an easy generalisation
  • The probability of obtaining a point, given a
    curve, is given by a negative exponential of
    distance squared
  • In practice, rather hard
  • It is generally difficult to compute the distance
    between a point and a curve

54
Next class Segmentation and Fitting using
Probabilistic Methods
Missing data EM algorithm
Model selection
Reading Chapter 16
Write a Comment
User Comments (0)
About PowerShow.com