Computer Vision Lecture 8 Structure from Motion Read

  • Slides: 42
Download presentation
Computer Vision Lecture 8: Structure from Motion Read: Forsyth & Ponce Chapter: 12 -

Computer Vision Lecture 8: Structure from Motion Read: Forsyth & Ponce Chapter: 12 - 13 • RANSAC • Structure from motion problem • Structure estimation • Motion estimation • Structure and motion estimation Goal: To understand the general ideas and Some of the methods. Niels Chr Overgaard 2010

Datorseende vt-10 Föreläsning 8 RANSAC Random sampling concensus RANSAC - is a general probabilistic

Datorseende vt-10 Föreläsning 8 RANSAC Random sampling concensus RANSAC - is a general probabilistic method for model estimation given noisy and contaminated data. Example: Line fitting (15 noisy + 5 outliers) Theory Practice

Datorseende vt-10 Föreläsning 8 RANSAC – algorithm (outline) 1. Input: • S = data

Datorseende vt-10 Föreläsning 8 RANSAC – algorithm (outline) 1. Input: • S = data points • n = sample size • k = number of iterations • t = threshold for godness of fit • ( d = sufficient number of inliers (optional) ) 2. Loop: repeat k times • Pick n-sample at random from S • Fit model to sample • Count #inliers (i. e. points in S fitting the model within threshold t) • Store sample and inliers if better than the previous one. • ( Stop if #inliers > d (optional) ) 3. Finalization: • Fit model to the inliers of the best sample obtained.

Datorseende vt-10 Föreläsning 8 Example: line fitting (again) Recall our situation: 20 points given,

Datorseende vt-10 Föreläsning 8 Example: line fitting (again) Recall our situation: 20 points given, 5 outliers: Sample size: n = 2. Number of iterations: k>6 (we use k=7) Threshold for goodness of fit: d=0. 5 (wrt. scale in figure)

Datorseende vt-10 Föreläsning 8 The first iteration:

Datorseende vt-10 Föreläsning 8 The first iteration:

Datorseende vt-10 Föreläsning 8 The following 6 iterations:

Datorseende vt-10 Föreläsning 8 The following 6 iterations:

Datorseende vt-10 Föreläsning 8 The final line estimation: Notice: Exhaustive search for the line

Datorseende vt-10 Föreläsning 8 The final line estimation: Notice: Exhaustive search for the line with most inliers requires 190 iterations!

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

RANSAC: How many iterations? Let w denote (#inliers)/(#data points). n = the sample size

RANSAC: How many iterations? Let w denote (#inliers)/(#data points). n = the sample size (n=2 for lines, n=4 for plane homographies) k iterations. The probability that a random n-sample is correct: The probability that k random n-sample contains at least one outlier each: Choose k so large that the fraction of failures is smaller than a given tolerance z.

RANSAC: k for p=1 -z=0. 99 Sampel storlek Andelen outliers N 5% 10% 25%

RANSAC: k for p=1 -z=0. 99 Sampel storlek Andelen outliers N 5% 10% 25% 30% 40% 50% 2 3 4 5 6 7 8 2 3 3 4 4 4 5 3 4 5 6 7 8 9 5 7 9 12 16 20 26 6 9 13 17 24 33 44 7 11 17 26 37 54 78 11 19 34 57 97 163 272 17 35 72 146 293 588 1177 från Hartley & Zisserman

Datorseende vt-10 Föreläsning 8 x Kameracentrum Bildplan X

Datorseende vt-10 Föreläsning 8 x Kameracentrum Bildplan X

Datorseende vt-10 The Structure from Motion Problem • Many cameras (images) • Many scene

Datorseende vt-10 The Structure from Motion Problem • Many cameras (images) • Many scene points • Estimate all of them! Let us see how this is done in principle Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8 Exempel: Punkter Följda punkter Bilder 3 D-modell

Datorseende vt-10 Föreläsning 8 Exempel: Punkter Följda punkter Bilder 3 D-modell

Datorseende vt-10 Föreläsning 8 Exempel: Linjer och kägelsnitt 3 D-modell Bilder

Datorseende vt-10 Föreläsning 8 Exempel: Linjer och kägelsnitt 3 D-modell Bilder

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8 X

Datorseende vt-10 Föreläsning 8 X

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8

Datorseende vt-10 Föreläsning 8