94
Lecture 9: Fitting, Contours Thursday, Sept 27

Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Lecture 9: Fitting, Contours

Thursday, Sept 27

Page 2: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Announcements

• Midterm review: next Wed Oct 4, 12-1 pm, ENS 31NQ

Page 3: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Last time

• Fitting shape patterns with the Hough transform and generalized Hough transform

Page 4: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Today

• Fitting lines (brief)– Least squares– Incremental fitting, k-means allocation

• RANSAC, robust fitting• Deformable contours

Page 5: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Line fitting: what is the line?• Assuming all the points that belong to a particular

line are known, solve for line parameters that yield minimal error.

Forsyth & Ponce 15.2.1

Page 6: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Line fitting: which point is on which line?

Two possible strategies:• Incremental line fitting• K-means

Page 7: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Incremental line fitting

• Take connected curves of edge points and fit lines to runs of points (use gradient directions)

Page 8: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Incremental line fitting

Page 9: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 10: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 11: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 12: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 13: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

If we have occluded edges, will often result in more than one fitted line

Page 14: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Allocating points with k-means

• Believe there are k lines, each of which generates some subset of the data points

• Best solution would minimize the sum of the squared distances from points to their assigned lines

• Use k-means algorithm• Convergence based on size of change in

lines, whether labels have been flipped.

Page 15: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Allocating points with k-means

Page 16: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 17: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 18: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 19: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 20: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 21: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 22: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Sensitivity to starting point

Page 23: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Outliers• Outliers can result from

– Data collection error– Overlooked case for the model chosen

• Squared error terms mean big penalty for large errors, can lead to significant bias

Page 24: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Forsyth & Ponce, Fig 15.7

Outliers affect least squares fit

Page 25: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Outliers affect least squares fit

Page 26: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Outliers affect least squares fit

Page 27: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Least squares and error

( )θ,iii

xr∑Best model minimizes residual error:

Outliers have large influence on the fit

model parametersdata point

Page 28: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Least squares and error

• If we are assuming Gaussian additive noise corrupts the data points– Probability of noisy point being within distance

d of corresponding true point decreases rapidly with d

– So, points that are way off are not really consistent with Gaussian noise hypothesis, model wants to fit to them…

Page 29: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Robustness• A couple possibilities to handle outliers:

– Give the noise heavier tails– Search for “inliers”

Page 30: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

M-estimators

• Estimate parameters by minimizing modified residual expression

• Reflects a noise distribution that does not vanish as quickly as Gaussian, i.e., consider outliers more likely to occur

• De-emphasizes contribution of distant points

( )( )σθρ ;,iii

xr∑residual error parameter determining

when function flattens out

Page 31: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Example M-estimator

original

Looks like distance for small values,Like a constant for large values

Non-linear optimization, must be solved iteratively

Impact of sigma on fitting quality?

Page 32: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Fit with good choice of

Applying the M-estimator

Page 33: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Applying the M-estimator

too small: error for all points similar

Page 34: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Applying the M-estimator

too large: error about same as least squares

Page 35: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Scale selection

• Popular choice: at iteration n during minimization

Page 36: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC

• RANdom Sample Consensus• Approach: we don’t like the impact of

outliers, so let’s look for “inliers”, and use those only.

Page 37: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

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

(best = lowest fitting error)

Page 38: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC Reference: 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.

Page 39: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC Line Fitting Example

Task:Estimate best line

Slide credit: Jinxiang Chai, CMU

Page 40: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC Line Fitting Example

Sample two points

Page 41: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC Line Fitting Example

Fit Line

Page 42: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC Line Fitting Example

Total number of points within a threshold of line.

Page 43: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC Line Fitting Example

Repeat, until get a good result

Page 44: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC Line Fitting Example

Repeat, until get a good result

Page 45: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC Line Fitting Example

Repeat, until get a good result

Page 46: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC application: robust computation

Interest points (Harris corners) in left and right imagesabout 500 pts / image640x480 resolution

Outliers (117)(t=1.25 pixel; 43 iterations)

Final inliers (262)

Hartley & Zisserman p. 126

Putative correspondences (268)(Best match,SSD<20)

Inliers (151)

Page 47: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

RANSAC parameters• Number of samples required (n)

– Absolute minimum will depending on model being fit (lines -> 2, circles -> 3, etc)

• Number of trials (k)– Need a guess at probability of a random point being “good”– Choose so that we have high probability of getting one

sample free from outliers

• Threshold on good fits (t)– Often trial and error: look at some data fits and estimate

average deviations

• Number of points that must agree (d)– Again, use guess of probability of being an outlier; choose

d so that unlikely to have one in the group

Page 48: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Grouping and fitting• Grouping, segmentation: make a compact

representation that merges similar features– Relevant algorithms: K-means, hierarchical clustering,

Mean Shift, Graph cuts

• Fitting: fit a model to your observed features– Relevant algorithms: Hough transform for lines,

circles (parameterized curves), generalized Hough transform for arbitrary boundaries; least squares; assigning points to lines incrementally or with k-means; robust fitting

Page 49: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm
Page 50: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Today

• Fitting lines (brief)– Least squares– Incremental fitting, k-means allocation

• RANSAC, robust fitting• Deformable contours

Page 51: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Towards object level grouping

Low-level segmentation cannot go this far…How do we get these kinds of boundaries?

One direction: semi-automatic methods• Give a good but rough initial boundary • Interactively guide boundary placement

Still use image analysis techniques in concert.

Page 52: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Deformable contours

Tracking Heart Ventricles (multiple frames)

Page 53: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Deformable contours

Given: initial contour (model) near desired object

a.k.a. active contours, snakes

(Single frame)

Page 54: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Deformable contours

[Kass, Witkin, Terzopoulos 1987]

Goal: evolve the contour to fit exact object boundary

a.k.a. active contours, snakes

Page 55: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Deformable contours

initial intermediate final

a.k.a. active contours, snakes

Page 56: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Deformable contours

• Elastic band of arbitrary shape, initially located near image contour of interest

• Attracted towards target contour depending on intensity gradient

• Iteratively refined

a.k.a. active contours, snakes

Page 57: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Comparison: shape-related methods

• Chamfer matching: given two shapes defined by points, measure average distance from one to the other

• (Generalized) Hough transform: given pattern/model shape, use oriented edge points to vote for likely position of that pattern in new image

• Deformable contours: given initial starting boundary and priors on preferred shape types, iteratively adjust boundary to also fit observed image

Page 58: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Snake Energy

The total energy of the current snake defined as

exintotal EEE +=

Internal energy encourages smoothness or any particular shape

Internal energy incorporates priorknowledge about object boundary, which allows a boundary to be extracted even if

some image data is missing

External energy encourages curve onto image structures (e.g. image edges)

We will want to iteratively minimize this energy for a good fit between the deformable contour and the target shape in the image

Many of the snakes slides are adapted from Yuri Boykov

Page 59: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Parametric curve representation• Coordinates given as functions of a parameter

that varies along the curve• For example, for a circle with center (0,0):

parametric form:x = r sin(s)y = r cos(s)

parameters: radius rangle 0 <= s < 2pi

(continuous case)

r(0,0)

Page 60: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

open curve closed curve

10))(),(()( ≤≤= ssysxsν

Parametric curve representation

(continuous case)

Curves parameterized by arc length, the length along the curve

Page 61: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Internal energy

• Bending energy of a continuous curve

The more the curve bends larger this energy value is.

Elasticity,Tension

Stiffness,Curvature

sdd

dsd

sssEin 2

2)()())((

22

ννβαν +=

∫=1

0

))(( dssEE inin νInternal energy for a curve:

Page 62: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

External energy

• Measures how well the curve matches the image data, locally

• Attracts the curve toward different image features– Edges, lines, etc.

Page 63: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

External energy: edge strength

• Image I(x,y)• Gradient images &• External energy at a point is

• External energy for the curve:

),( yxGx ),( yxGy

)|))((||))((|())(( 22 sGsGsE yxex ννν +−=(Negative so that minimizing it forces the curve toward strong edges)

∫=1

0

))(( dssEE exex ν

Page 64: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Snake Energy (continuous form)

e.g. bending energy

e.g. total edge strength under curve

exintotal EEE +=

∫=1

0

))(( dssEE inin ν

∫=1

0

))(( dssEE exex ν

Page 65: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Discrete approach

discrete image discrete snake representation

discrete optimization(dynamic programming)

Page 66: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Parametric curve representation(discrete case)

• Represent the curve with a set of n points

10),( −== niyx iii Kν …

Page 67: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Discrete representation

• If the curve is represented by n points

Elasticity,Tension

StiffnessCurvature

10),( −== niyx iii Kν

21 iiv

dsd νν −

≈ +11112

2

2)()( −+−+ +−=−−−≈ iiiiiiidsd νννννννν

∑−

=−++ +−+−=

1

0

211

21 |2|||

n

iiiiiiinE νννβννα

Page 68: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

68

Simple elastic curve

• For a curve represented as a set of points a simple elastic energy term is

This encourages the closed curve to shrink to a

point (like a very small elastic band)

∑−

=

⋅=1

0

2n

iiin LE α

21

1

0

21 )()( ii

n

iii yyxx −+−⋅= +

=+∑α

Page 69: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Encouraging point spacing

• To stop the curve from shrinking to a point

– encourages formation of equally spaced chains of points

∑−

=

−⋅=1

0

2)ˆ(n

iiiin LLE α Average distance

between pairs of points – updated at each iteration

Page 70: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

70

Optional: specify shape prior

• If object is some smooth variation on a known shape, use

• where give points of the basic shape

∑−

=

−⋅=1

0

2)ˆ(n

iiiinE ννα

}ˆ{ iν

Page 71: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Edge strength for external energy

• An external energy term for a (discrete) snake based on image edge

21

0

2 |),(||),(| iiy

n

iiixex yxGyxGE ∑

=

+−=

Page 72: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Summary: simple elastic snake

• A simple elastic snake is thus defined by– A set of n points,– An internal elastic energy term– An external edge based energy term

• To use this to locate the outline of an object– Initialize in the vicinity of the object– Modify the points to minimize the total energy

Page 73: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Energy minimization

• Many algorithms proposed to fit deformable contours– Greedy search– Gradient descent– Dynamic programming (for 2d snakes)

Page 74: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Greedy minimization• For each point, search window around it

and move to where energy function is minimal

• Stop when predefined number of points have not changed in last iteration

• Local minimum

Page 75: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

75

Synthetic example

(1) (2)

(3) (4)

Page 76: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Dealing with missing data• The smoothness constraint can deal with

missing data:

[Figure from Kass et al. 1987]

Page 77: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Relative weighting

α

large α small αmedium α

• weight controls internal elasticity

Page 78: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Dynamic programming (2d snakes)

∑−

=+− =

1

0110 ),(),,(

n

iiiintotal EE νννν K

• Often snake energy can be rewritten as a sum of pair-wise interaction potentials

• Or sum of triple-interaction potentials.

∑−

=+−− =

1

01110 ),,(),,(

n

iiiiintotal EE ννννν K

Page 79: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Snake energy: pair-wise interactions 2

1

0

21010 |),(||),(|),,,,,( iiy

n

iiixnntotal yxGyxGyyxxE ∑

=−− +−=KK

21

1

0

21 )()( ii

n

iii yyxx −+−⋅+ +

=+∑α

∑−

=− −=

1

0

210 ||)(||),,(

n

iintotal GE ννν K ∑

=+ −⋅+

1

0

21 ||||

n

iii ννα

∑−

=+− =

2

0110 ),(),,(

n

iiiintotal EE νννν K

21

21 ||||||)(||),( ++ −+−= iiiiii GE ννανννwhere

… …

Page 80: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

1v2v

3v

4v6v

5vcontrol points

Energy E is minimized via Dynamic Programming

),(...),(),(),...,,( 1132221121 nnnn vvEvvEvvEvvvE −−+++=First-order interactions (elasticity)

DP Snakes [Amini, Weymouth, Jain, 1990]

Page 81: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

DP Snakes [Amini, Weymouth, Jain, 1990]

2v3v

4v6v

5vcontrol points

Iterate until optimal position for each point is the center of the box, i.e. the snake is optimal in the local search space constrained by boxes

Energy E is minimized via Dynamic Programming

),(...),(),(),...,,( 1132221121 nnnn vvEvvEvvEvvvE −−+++=First-order interactions (elasticity)

1v

Page 82: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

DP Viterbi Algorithm• Reuse solutions to subproblems• Introduce intermediate variables

: lowest total energy for the first k-1 vertices of the snake for a given value of vk

determine optimal position of predecessor, for each possible position of self

Page 83: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

),( 44 nvvE),( 433 vvE

)3(3E

)4(3E )4(4E

)3(4E

)2(4E

)1(4E

)4(nE

)3(nE

)2(nE

)1(nE

)2(3E

)1(3E

)4(2E

)3(2E

DP Viterbi Algorithm

),(...),(),( 11322211 nnn vvEvvEvvE −−+++

),( 322 vvE

)1(2E

)2(2E

),( 211 vvE

)( 2nmOComplexity:

0)1(1 =E

0)2(1 =E

0)3(1 =E

0)4(1 =E

Considering first-order interactions (elasticity), one minimization iteration

states

1

2

m

site

s

1v 2v 3v 4v nv

vs. brute force search ____?

Page 84: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Dynamic Programming for a closed snake?

),(...),(),( 11322211 nnn vvEvvEvvE −−+++DP can be applied to optimize an open ended snake

What about “looped” energy, in the case of a closed snake?

1νnν

),(),(...),(),( 111322211 vvEvvEvvEvvE nnnnn ++++ −−

1νnν

1−nν

3ν 4ν

Page 85: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Problems with snakes

• Depends on number and spacing of control points

• Snake may oversmooth the boundary• Not trivial to prevent curve self intersecting

• Cannot follow topological changes of objects

Page 86: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Problems with snakes• May be sensitive to initialization, get stuck

in local minimum

• Accuracy (and computation time) depends on the convergence criteria used in the energy minimization technique

Page 87: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Problems with snakes• External energy: snake does not really “see”

object boundaries in the image unless it gets very close to it.

image gradientsare large only directly on the boundary

I∇

Page 88: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Tracking via deformable models

1. Use final contour/model extracted at frame t as an initial solution for frame t+1

2. Evolve initial contour to fit exact object boundary at frame t+1

3. Repeat steps 1 and 2 for t = t+1

Page 89: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Tracking via deformable modelsAcknowledgements: Visual Dynamics Group, Dept. Engineering Science, University of Oxford.

Traffic monitoringHuman-computer interactionAnimationSurveillanceComputer Assisted Diagnosis in medical imaging

Applications:

Page 90: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Intelligent scissors

[Mortensen & Barrett, SIGGRAPH 1995, CVPR 1999]

Use dynamic programming to compute optimal paths from every point to the seed based on edge-related costs

User interactively selects most suitable boundary from set of all optimal boundaries emanating from a seed point

Page 91: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Snakes vs. scissors

1

23

4

Shortest paths on image-based graph connect seeds placed on object boundary

Page 92: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Snakes vs. scissors

Given: initial contour (model) near desirable object

Page 93: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Snakes vs. scissors

Given: initial contour (model) near desirable object

Goal: evolve the contour to fit exact object boundary

Page 94: Lecture 9: Fitting, Contours - University of Texas at Austingrauman/courses/378/slides/lecture9_fu… · Lecture 9: Fitting, Contours Thursday, Sept 27. Announcements • Midterm

Coming up

• Stereo• F&P 10.1, 11• Trucco & Verri handout