Notes on Optimization - Image Processing | CMSC 426, Study notes of Computer Science

Material Type: Notes; Professor: Jacobs; Class: Image Processing; Subject: Computer Science; University: University of Maryland; Term: Unknown 1989;

Typology: Study notes

Pre 2010

Uploaded on 07/30/2009

koofers-user-qbv
koofers-user-qbv 🇺🇸

8 documents

1 / 30

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Optimization
We can define a cost for possible solutions
Number of solutions is large (eg.,
exponential)
Efficient search is needed
Global methods: cleverly find best solution without
considering all.
These can be hard to find.
Local methods: pick solution, then improve it with
small changes, until it can’t be improved.
Can almost always be done, but doesn’t always find best
answer.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Partial preview of the text

Download Notes on Optimization - Image Processing | CMSC 426 and more Study notes Computer Science in PDF only on Docsity!

Optimization

-^

We can define a

cost

for possible solutions

-^

Number of solutions is large (eg.,exponential)

-^

Efficient search is needed^ – Global methods: cleverly find best solution without

considering all.^ • These can be hard to find. – Local methods: pick solution, then improve it withsmall changes, until it can’t be improved.^ • Can almost always be done, but doesn’t always find best

answer.

Snakes

• Goes from edges to boundaries.• Edge is strong change in intensity.• Boundary is boundary of an

object.

  • Smooth (more or less)– Closed.– …– Decision can be based on entire boundary.

Sometimesedge detectorsfind theboundary prettywell.

Sometimesit’s notenough.

Humans integrate contour information.

Strategy of Class

• What is a good path?• Given endpoints, how do we find a good

path?

• What if we don’t know the end points?Note that like all vision this is

modeling

and

optimization

How do wedecide howgood a pathis? Which oftwo paths isbetter?

Discrete Grid

  • Contour should be near edge.

•Strength of gradient.

  • Contour should be smooth(good continuation).

•Low curvature•Low change of direction ofgradient.

So How do we find the bestPath? Computer Science at

last.

A Curve is a path through the grid.Cost depends on each step of thepath.We want to minimize cost.

Map problem to Graph

Weight represents cost of goingfrom one pixel to another. Nextterm in sum.

Defining the costs

p

q c

•^

First, smooth the image to reduce noise.

-^ c can be computed using a cross-correlation filter^ – assume it is centered at p -^ Also typically scale c by it’s length^ – set c = (max-|filter response|) * length(c) - where max = maximum |filter response| over all pixels inthe image

(Seitz)

Defining the costs

p

q c

w

•^

c can be computed using a cross-correlation filter– assume it is centered at p

-^ Also typically scale c by it’s length– set c = (max-|filter response|) * length(c) - where max = maximum |filter response| over all pixels inthe image

(Seitz)

Dijkstra’s shortest path algorithm

•^

Algorithm 1.^

init node costs to

∞, set p = seed point, cost(p) = 0

2.^

expand p as follows:for each of p’s neighbors q that are not expanded

-^ set cost(q) = min( cost(p) + c

, cost(q) )pq

» if q’s cost changed, make q point back to p

-^ put q on the ACTIVE list

5 3 (if not already there) 1

Dijkstra

’s

shortest path algorithm

•^

Algorithm 1.^

init node costs to

∞, set p = seed point, cost(p) = 0

2.^

expand p as follows:for each of p’s neighbors q that are not expanded

-^ set cost(q) = min( cost(p) + c

, cost(q) )pq

» if q’s cost changed, make q point back to p

-^ put q on the ACTIVE list

(if not already there)

3.^

set r = node with minimum cost on the ACTIVE list

4.^

repeat Step 2 for p = r