Image Processing using Graphs (lecture 1 - image foresting transform)

135
Image Processing using Graphs (lecture 1 - image foresting transform) Alexandre Xavier Falc˜ ao Visual Informatics Laboratory - Institute of Computing - University of Campinas [email protected] www.ic.unicamp.br/ ~ afalcao/talks.html Alexandre Xavier Falc˜ ao Image Processing using Graphs at ASC-SP 2010

Transcript of Image Processing using Graphs (lecture 1 - image foresting transform)

Page 1: Image Processing using Graphs (lecture 1 - image foresting transform)

Image Processing using Graphs

(lecture 1 - image foresting transform)

Alexandre Xavier Falcao

Visual Informatics Laboratory - Institute of Computing - University of Campinas

[email protected]/~afalcao/talks.html

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 2: Image Processing using Graphs (lecture 1 - image foresting transform)

Introduction

Image transformations can be based on

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 3: Image Processing using Graphs (lecture 1 - image foresting transform)

Introduction

Image transformations can be based on

pixels (e.g., thresholding).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 4: Image Processing using Graphs (lecture 1 - image foresting transform)

Introduction

Image transformations can be based on

pixels (e.g., thresholding).

adjacency relations: pixels and their neighbors (e.g., linearfiltering).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 5: Image Processing using Graphs (lecture 1 - image foresting transform)

Introduction

Image transformations can be based on

pixels (e.g., thresholding).

adjacency relations: pixels and their neighbors (e.g., linearfiltering).

connectivity relations: sequences of adjacent pixels (e.g.,component labeling).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 6: Image Processing using Graphs (lecture 1 - image foresting transform)

Motivation

The interpretation of an image as a graph provides a moregeneral topology to the design of image transformations.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 7: Image Processing using Graphs (lecture 1 - image foresting transform)

Motivation

The interpretation of an image as a graph provides a moregeneral topology to the design of image transformations.

The graph nodes may be pixels, edges, regions, and the arcswill result from a given adjacency relation.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 8: Image Processing using Graphs (lecture 1 - image foresting transform)

Motivation

The interpretation of an image as a graph provides a moregeneral topology to the design of image transformations.

The graph nodes may be pixels, edges, regions, and the arcswill result from a given adjacency relation.

This strategy counts with several algorithms and their proof ofcorrectness.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 9: Image Processing using Graphs (lecture 1 - image foresting transform)

Motivation

The same algorithm with distinct adjacency relations, for example,can label letters, words and lines.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 10: Image Processing using Graphs (lecture 1 - image foresting transform)

Motivation

The same algorithm with distinct adjacency relations, for example,can label letters, words and lines.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 11: Image Processing using Graphs (lecture 1 - image foresting transform)

Motivation

The same algorithm with distinct adjacency relations, for example,can label letters, words and lines.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 12: Image Processing using Graphs (lecture 1 - image foresting transform)

Motivation

The same algorithm with distinct adjacency relations, for example,can label letters, words and lines.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 13: Image Processing using Graphs (lecture 1 - image foresting transform)

Objective

This course presents the Image ForestingTransform (IFT) [1] — a tool to the design ofimage operations based on optimumconnectivity relations, and some of itsapplications. Examples are

segmentation,

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 14: Image Processing using Graphs (lecture 1 - image foresting transform)

Objective

This course presents the Image ForestingTransform (IFT) [1] — a tool to the design ofimage operations based on optimumconnectivity relations, and some of itsapplications. Examples are

segmentation,

object tracking,

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 15: Image Processing using Graphs (lecture 1 - image foresting transform)

Objective

This course presents the Image ForestingTransform (IFT) [1] — a tool to the design ofimage operations based on optimumconnectivity relations, and some of itsapplications. Examples are

segmentation,

object tracking,

visualization

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 16: Image Processing using Graphs (lecture 1 - image foresting transform)

Objective

This course presents the Image ForestingTransform (IFT) [1] — a tool to the design ofimage operations based on optimumconnectivity relations, and some of itsapplications. Examples are

segmentation,

object tracking,

visualization

multiscale skeletonization,

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 17: Image Processing using Graphs (lecture 1 - image foresting transform)

Objective

This course presents the Image ForestingTransform (IFT) [1] — a tool to the design ofimage operations based on optimumconnectivity relations, and some of itsapplications. Examples are

segmentation,

object tracking,

visualization

multiscale skeletonization,

salience detection,

filtering, clustering, classification, etc.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 18: Image Processing using Graphs (lecture 1 - image foresting transform)

Advantages

The IFT provides

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 19: Image Processing using Graphs (lecture 1 - image foresting transform)

Advantages

The IFT provides

efficient algorithms with linear execution times [2, 3, 4] in theworst case for most applications.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 20: Image Processing using Graphs (lecture 1 - image foresting transform)

Advantages

The IFT provides

efficient algorithms with linear execution times [2, 3, 4] in theworst case for most applications.

a unified framework that favors a better understanding of therelation among methods [5, 6, 7] and hardware-basedimplementations [8], and

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 21: Image Processing using Graphs (lecture 1 - image foresting transform)

Advantages

The IFT provides

efficient algorithms with linear execution times [2, 3, 4] in theworst case for most applications.

a unified framework that favors a better understanding of therelation among methods [5, 6, 7] and hardware-basedimplementations [8], and

effective solutions to image processing and analysis problemsfrom the specification of a few parameters.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 22: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of the course

First: the IFT framework.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 23: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of the course

First: the IFT framework.

Second: connected filters.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 24: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of the course

First: the IFT framework.

Second: connected filters.

Third: interactive and automatic segmentation methods.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 25: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of the course

First: the IFT framework.

Second: connected filters.

Third: interactive and automatic segmentation methods.

Fourth: shape representation and description.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 26: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of the course

First: the IFT framework.

Second: connected filters.

Third: interactive and automatic segmentation methods.

Fourth: shape representation and description.

Fifth: clustering and classification.

RecognitionDescriptionSegmentationFiltering

CategorizationObjectsImage

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 27: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of this lecture

Basic definitions.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 28: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of this lecture

Basic definitions.

Images as graphs.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 29: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of this lecture

Basic definitions.

Images as graphs.

Connectivity functions.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 30: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of this lecture

Basic definitions.

Images as graphs.

Connectivity functions.

Image foresting transform.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 31: Image Processing using Graphs (lecture 1 - image foresting transform)

Organization of this lecture

Basic definitions.

Images as graphs.

Connectivity functions.

Image foresting transform.

General algorithm, some variants and implementation issues.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 32: Image Processing using Graphs (lecture 1 - image foresting transform)

General image definition

A digital image I = (DI ,~I ) is a pair, where

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 33: Image Processing using Graphs (lecture 1 - image foresting transform)

General image definition

A digital image I = (DI ,~I ) is a pair, where

DI ⊂ Zn is the image domain (a set of spels — space

elements), and

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 34: Image Processing using Graphs (lecture 1 - image foresting transform)

General image definition

A digital image I = (DI ,~I ) is a pair, where

DI ⊂ Zn is the image domain (a set of spels — space

elements), and~I (s) = (I1(s), I2(s), . . . , Im(s)) ∈ Zm is a vectorial mapping,which assigns a set of values to each s ∈ DI .

For m = 1, we use I = (DI , I ).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 35: Image Processing using Graphs (lecture 1 - image foresting transform)

General image definition

xy

z

y

t

x

ss

(a) (b)

(a) A RGB video I, n = 3 and m = 3. (b) A CT image I, n = 3and m = 1.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 36: Image Processing using Graphs (lecture 1 - image foresting transform)

Image domain and feature space

A spel s ∈ DI is a point ~I (s) ∈ Zm in the feature space.

xy

I(s)

I(t)

s

t

I1

I3

2I

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 37: Image Processing using Graphs (lecture 1 - image foresting transform)

Image domain and feature space

A spel s ∈ DI is a point ~I (s) ∈ Zm in the feature space.

xy

I(s)

I(t)

s

t

I1

I3

2I

New features may result from any image transformation Ψ(I),creating a real image F = (DF , ~F ) where DF = DI and~F (s) = (F1,F2, . . . ,Fm′) ∈ ℜm′

.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 38: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

An image can be interpreted as a graph (N ,A), whose

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 39: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

An image can be interpreted as a graph (N ,A), whose

nodes form a subset N ⊆ DI and

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 40: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

An image can be interpreted as a graph (N ,A), whose

nodes form a subset N ⊆ DI and

arcs are defined by an adjacency relation A ⊂ DI ×DI .

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 41: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

An image can be interpreted as a graph (N ,A), whose

nodes form a subset N ⊆ DI and

arcs are defined by an adjacency relation A ⊂ DI ×DI .

We will indicate that a spel t is adjacent to spel s either by(s, t) ∈ A or t ∈ A(s).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 42: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

s

yx

s

t

t

s

t

(c) Ex 2(b) Ex 1: r =(a) Ex 1: r = 1 5

Example 1: (s, t) ∈ A when ‖t − s‖2 ≤ r2, for r ≥ 1.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 43: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

s

yx

s

t

t

s

t

(c) Ex 2(b) Ex 1: r =(a) Ex 1: r = 1 5

Example 1: (s, t) ∈ A when ‖t − s‖2 ≤ r2, for r ≥ 1.

Example 2: (s, t) ∈ A when t − s ∈ {(−1,−1), (1,−1)}.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 44: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

s

yx

s

t

t

s

t

(c) Ex 2(b) Ex 1: r =(a) Ex 1: r = 1 5

Example 1: (s, t) ∈ A when ‖t − s‖2 ≤ r2, for r ≥ 1.

Example 2: (s, t) ∈ A when t − s ∈ {(−1,−1), (1,−1)}.

Example 3: (s, t) ∈ A when t is a k-nearest neighbor of s inthe feature space, for k ≥ 1.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 45: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

Position invariant relations A can be represented by a vector ofrelative displacements

t − s ∈ {(dx1, dy1), (dx2, dy2), . . . , (dxd , dyd )},

and fixed size d = |A(s)| ∀s, leading to an implicit graphrepresentation.

(xt , yt) = (xs , ys) + (dxi , dyi ), i = 1, 2, . . . , d ,

where t = (xt , yt) and s = (xs , ys).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 46: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

The formalism of discrete mathematics naturally leads to thealgorithm and its implementation. For example,

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 47: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

The formalism of discrete mathematics naturally leads to thealgorithm and its implementation. For example,

A convolution kernel K = (A,w) will consist of the adjacencyrelation A and a mapping w(t − s) ∈ {w1,w2, . . . ,wd} offixed arc weights.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 48: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

The formalism of discrete mathematics naturally leads to thealgorithm and its implementation. For example,

A convolution kernel K = (A,w) will consist of the adjacencyrelation A and a mapping w(t − s) ∈ {w1,w2, . . . ,wd} offixed arc weights.

The reflection K′ of K around its origin is simply (A′,w ′),where A′ = {(−dx1,−dy1), (−dx2,−dy2), . . . , (−dxd ,−dyd)}and w ′(s − t) ∈ {w1,w2, . . . ,wd}.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 49: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

Then, the convolution I ∗K creates an image F = (DF ,F ), by

F (s) =∑

∀t∈A′(s)

I (t)w ′(s − t),

for every s ∈ DI . An example is a Gaussian filter:

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 50: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

Then, the convolution I ∗K creates an image F = (DF ,F ), by

F (s) =∑

∀t∈A′(s)

I (t)w ′(s − t),

for every s ∈ DI . An example is a Gaussian filter:

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 51: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

It is possible, for example, to reduce edge blurring in linear filteringby defining (s, t) ∈ A when ‖t − s‖2 ≤ r2, r > 0, and t is ak-nearest neighbor of s in the feature space.

Original image.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 52: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

It is possible, for example, to reduce edge blurring in linear filteringby defining (s, t) ∈ A when ‖t − s‖2 ≤ r2, r > 0, and t is ak-nearest neighbor of s in the feature space.

Original image.

Gaussianfiltering withr = 7.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 53: Image Processing using Graphs (lecture 1 - image foresting transform)

Images as graphs

It is possible, for example, to reduce edge blurring in linear filteringby defining (s, t) ∈ A when ‖t − s‖2 ≤ r2, r > 0, and t is ak-nearest neighbor of s in the feature space.

Original image.

Gaussianfiltering withr = 7.

Gaussianfiltering withthe aboveadjacency,r = 10 andk = 154.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 54: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Connectivity-based operators use paths in (N ,A).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 55: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Connectivity-based operators use paths in (N ,A).

A path πt is a sequence of distinct adjacent nodes withterminus at node t.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 56: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Connectivity-based operators use paths in (N ,A).

A path πt is a sequence of distinct adjacent nodes withterminus at node t.

A spel t is said connected to a spel r if there exists a path πt

from r to t, in which case the root R(πt) = r .

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 57: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Connectivity-based operators use paths in (N ,A).

A path πt is a sequence of distinct adjacent nodes withterminus at node t.

A spel t is said connected to a spel r if there exists a path πt

from r to t, in which case the root R(πt) = r .

A connectivity function f (πt) assigns a value to any path.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 58: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Connectivity-based operators use paths in (N ,A).

A path πt is a sequence of distinct adjacent nodes withterminus at node t.

A spel t is said connected to a spel r if there exists a path πt

from r to t, in which case the root R(πt) = r .

A connectivity function f (πt) assigns a value to any path.

A path πt is optimum if f (πt) ≤ f (τt) for any other τt

(minimum).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 59: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Connectivity-based operators use paths in (N ,A).

A path πt is a sequence of distinct adjacent nodes withterminus at node t.

A spel t is said connected to a spel r if there exists a path πt

from r to t, in which case the root R(πt) = r .

A connectivity function f (πt) assigns a value to any path.

A path πt is optimum if f (πt) ≤ f (τt) for any other τt

(minimum).

The dual definition f (πt) ≥ f (τt) (maximum) is also valid.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 60: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Consider for example a segmentation problem, where internalSi (yellow) and external Se (red) sets of seed spels are given.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 61: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Consider for example a segmentation problem, where internalSi (yellow) and external Se (red) sets of seed spels are given.

The seeds may compete among themselves by offeringoptimum paths to every spel in the image.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 62: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Consider for example a segmentation problem, where internalSi (yellow) and external Se (red) sets of seed spels are given.

The seeds may compete among themselves by offeringoptimum paths to every spel in the image.

The object can be defined by spels t whose optimum paths πt

have roots R(πt) in Si .

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 63: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

We may

interpret the image as an 8-neighborhood graph,

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 64: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

We may

interpret the image as an 8-neighborhood graph,

assign higher arc weights w(s, t) across the object’s boundarythan inside and outside it, and

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 65: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

We may

interpret the image as an 8-neighborhood graph,

assign higher arc weights w(s, t) across the object’s boundarythan inside and outside it, and

define the value of a path to be the maximum arc weightalong it, such that any path that crosses the boundary will bepenalized.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 66: Image Processing using Graphs (lecture 1 - image foresting transform)

The IFT computation

11

a

3

t

3

t

tY

Z

52

5

50

?

2

3

X

b

Seeds a and b compete between them, but b conquers all spels t incomponent Y because it will be surrounded by optimum pathsrooted at b.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 67: Image Processing using Graphs (lecture 1 - image foresting transform)

The IFT computation

Seeds a and b compete between them, but b conquers all spels t incomponent Y because it will be surrounded by optimum pathsrooted at b.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 68: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Image with internal andexternal markers.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 69: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Image with internal andexternal markers.

Arc-weight image.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 70: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

t πt

Image with internal andexternal markers.

Arc-weight image.

Optimum-paths toforeground pixels.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 71: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

πt

t

Image with internal andexternal markers.

Arc-weight image.

Optimum-paths toforeground pixels.

Optimum-paths tobackground pixels.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 72: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Image with internal andexternal markers.

Arc-weight image.

Optimum-paths toforeground pixels.

Optimum-paths tobackground pixels.

Segmentation result.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 73: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Image with internal andexternal markers.

Arc-weight image.

Optimum-paths toforeground pixels.

Optimum-paths tobackground pixels.

Segmentation result.show video-iftsc.gif

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 74: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

More formally,

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 75: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

More formally,

a path πt = πs · 〈s, t〉 is the extension of a path πs by an arc(s, t), being πt = 〈t〉 a trivial path, and

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 76: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

More formally,

a path πt = πs · 〈s, t〉 is the extension of a path πs by an arc(s, t), being πt = 〈t〉 a trivial path, and

the max-arc path function is defined as

fmax(〈t〉) =

{

0 if t ∈ S = Si ∪ Se

+∞ otherwise

fmax(πs · 〈s, t〉) = max{fmax(πs),w(s, t)}.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 77: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Consider, for example, a 4-neighborhood graph, path function fmax

and two seeds Si = {a} and Se = {b}.

oo+ oo+

oo+ oo+

oo+ oo+ oo+oo+

oo+

oo+1 0 2

3

2

1

2

0

2

2 3

3 0

12

t

0a

b

0

0

0

4−neighborhood graph

Paths are represented in backwards.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 78: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Consider, for example, a 4-neighborhood graph, path function fmax

and two seeds Si = {a} and Se = {b}.

oo+ oo+

oo+ oo+

oo+ oo+ oo+

πt

1 0 2

3

2

1

2

0

2

2 3

3 0

12

t

1

1

1

for) = a) R(fmax

(πt =1

0a

b

0

0

0

πt

Paths are represented in backwards.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 79: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

Consider, for example, a 4-neighborhood graph, path function fmax

and two seeds Si = {a} and Se = {b}.

oo+ oo+

oo+oo+ 0

oo+

0

πt

πt

πt

a 1 0 2

3

2

0

0

1

2

0

2

2 3

3 0

12

t

0

22

oo+

oo+

b

= b) R(for=2)(fmax

Paths are represented in backwards.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 80: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity functions

The segmentation essentially minimizes a connectivity map

V (t) = min∀πt∈Π(N ,A,t)

{fmax(πt)}

by considering the set Π(N ,A, t) of all paths with terminus t andfunction fmax.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 81: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity function

The IFT algorithm solves this problem by computing anoptimum-path forest P in (N ,A) — a predecessor map with nocycles, containing all optimum paths from a root set R, which inthis case is S = Si ∪ Se .

2

2

0

1

1

1

1

1

1

b

a 1 0 2

3

2

0

0

1

2

0

2

2 3

3 0

12

0

00

The object is defined by the optimum forest for fmax rooted in Si .

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 82: Image Processing using Graphs (lecture 1 - image foresting transform)

Connectivity function

An optimum-path forest for fmax also provides the graph cut whoseminimum arc weight

min∀(s,t)∈A,R(πs )=a,R(πt)=b

w(s, t)

is maximum, considering all possible cuts between a and b [6].

2

2

0

1

1

1

1

1

1

b

a 1 0 2

3

2

0

0

1

2

0

2

2 3

3 0

12

0

00

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 83: Image Processing using Graphs (lecture 1 - image foresting transform)

Image Foresting Transform

The IFT essentially reduces a given image processing problem intothe computation of an optimum-path forest followed by a localprocessing of its attributes:

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 84: Image Processing using Graphs (lecture 1 - image foresting transform)

Image Foresting Transform

The IFT essentially reduces a given image processing problem intothe computation of an optimum-path forest followed by a localprocessing of its attributes:

the connectivity map V (t),

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 85: Image Processing using Graphs (lecture 1 - image foresting transform)

Image Foresting Transform

The IFT essentially reduces a given image processing problem intothe computation of an optimum-path forest followed by a localprocessing of its attributes:

the connectivity map V (t),

the optimum paths in P(t), and

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 86: Image Processing using Graphs (lecture 1 - image foresting transform)

Image Foresting Transform

The IFT essentially reduces a given image processing problem intothe computation of an optimum-path forest followed by a localprocessing of its attributes:

the connectivity map V (t),

the optimum paths in P(t), and

a root label L(t).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 87: Image Processing using Graphs (lecture 1 - image foresting transform)

The IFT computation

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 88: Image Processing using Graphs (lecture 1 - image foresting transform)

The IFT computation

First, all nodes t ∈ N are trivial paths with initial connectivityvalues V0(t) = f (〈t〉).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 89: Image Processing using Graphs (lecture 1 - image foresting transform)

The IFT computation

First, all nodes t ∈ N are trivial paths with initial connectivityvalues V0(t) = f (〈t〉).

The initial roots are identified at the global minima of V0(t).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 90: Image Processing using Graphs (lecture 1 - image foresting transform)

The IFT computation

First, all nodes t ∈ N are trivial paths with initial connectivityvalues V0(t) = f (〈t〉).

The initial roots are identified at the global minima of V0(t).

They may conquer their adjacent nodes by offering thembetter paths.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 91: Image Processing using Graphs (lecture 1 - image foresting transform)

The IFT computation

First, all nodes t ∈ N are trivial paths with initial connectivityvalues V0(t) = f (〈t〉).

The initial roots are identified at the global minima of V0(t).

They may conquer their adjacent nodes by offering thembetter paths.

The process continues from the adjacent nodes in anon-decreasing order of path values.

if f (πs · 〈s, t〉) < f (πt) then πt ← πs · 〈s, t〉.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 92: Image Processing using Graphs (lecture 1 - image foresting transform)

The IFT computation

First, all nodes t ∈ N are trivial paths with initial connectivityvalues V0(t) = f (〈t〉).

The initial roots are identified at the global minima of V0(t).

They may conquer their adjacent nodes by offering thembetter paths.

The process continues from the adjacent nodes in anon-decreasing order of path values.

if f (πs · 〈s, t〉) < f (πt) then πt ← πs · 〈s, t〉.

Essentially the minima in V0(t) compete among themselvesand some of them become roots in R, being also minima inV (t). show video-iftsc-computation.gif

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 93: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

Consider the optimum path propagation for fmax from S = {a, b}in the 4-neighborhood graph below.

a

b

Object and background are separated by the arcs with higherweights.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 94: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

From iteration 1 to 5, iteration 12, 20, and 25.

a

b

0

1 1

0

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 95: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

From iteration 1 to 5, iteration 12, 20, and 25.

a

b 2

0

2

1 1

0

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 96: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

From iteration 1 to 5, iteration 12, 20, and 25.

a

b9

2

1

0

12

1 1

0

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 9999999999999999999999999999999999999999999999999999999999999999999999999999999999 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 97: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

From iteration 1 to 5, iteration 12, 20, and 25.

a

b9

2

1

0

12

1 1

00

0

3

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 9999999999999999999999999999999999999999999999999999999999999999999999999999999999 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 3333333333333333333333333333333333333333333333333333333333333333333333333333333333 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 98: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

From iteration 1 to 5, iteration 12, 20, and 25.

a

b9

2

1

0

12

0

1

9 00

0

8 3

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 9999999999999999999999999999999999999999999999999999999999999999999999999999999999 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

9999999999999999999999999999999999999999999999999999999999999999999999999999999999 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 8888888888888888888888888888888888888888888888888888888888888888888888888888888888 3333333333333333333333333333333333333333333333333333333333333333333333333333333333 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 99: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

From iteration 1 to 5, iteration 12, 20, and 25.

a

b8

0 2

8 1

0

12

8

0

1 8

9 00

0 7

8 3 9

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 8888888888888888888888888888888888888888888888888888888888888888888888888888888888 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000

8888888888888888888888888888888888888888888888888888888888888888888888888888888888 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

8888888888888888888888888888888888888888888888888888888888888888888888888888888888 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 8888888888888888888888888888888888888888888888888888888888888888888888888888888888

9999999999999999999999999999999999999999999999999999999999999999999999999999999999 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 7777777777777777777777777777777777777777777777777777777777777777777777777777777777

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 8888888888888888888888888888888888888888888888888888888888888888888888888888888888 3333333333333333333333333333333333333333333333333333333333333333333333333333333333 9999999999999999999999999999999999999999999999999999999999999999999999999999999999 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 100: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

From iteration 1 to 5, iteration 12, 20, and 25.

a

b 0 1 0 2

0

1

0

12

0

0

1

1

9 00

0

1

8

1 1

2

2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000

2222222222222222222222222222222222222222222222222222222222222222222222222222222222 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

9999999999999999999999999999999999999999999999999999999999999999999999999999999999 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ 8888888888888888888888888888888888888888888888888888888888888888888888888888888888 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 101: Image Processing using Graphs (lecture 1 - image foresting transform)

Path propagation

From iteration 1 to 5, iteration 12, 20, and 25.

a

b 0 1 0 2

0

1

0

12

0

0

1

1

1

00

0

1

0

1 1 1

2

2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000

2222222222222222222222222222222222222222222222222222222222222222222222222222222222 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222222222222222222222222

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 102: Image Processing using Graphs (lecture 1 - image foresting transform)

Information propagation

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 103: Image Processing using Graphs (lecture 1 - image foresting transform)

Information propagation

The IFT requires a priority queue Q for path propagation(modified Dijkstra’s algorithm).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 104: Image Processing using Graphs (lecture 1 - image foresting transform)

Information propagation

The IFT requires a priority queue Q for path propagation(modified Dijkstra’s algorithm).

It can propagate other informations to each node:

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 105: Image Processing using Graphs (lecture 1 - image foresting transform)

Information propagation

The IFT requires a priority queue Q for path propagation(modified Dijkstra’s algorithm).

It can propagate other informations to each node:

its propagation order [9],

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 106: Image Processing using Graphs (lecture 1 - image foresting transform)

Information propagation

The IFT requires a priority queue Q for path propagation(modified Dijkstra’s algorithm).

It can propagate other informations to each node:

its propagation order [9],a graph-cut measure [10], etc.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 107: Image Processing using Graphs (lecture 1 - image foresting transform)

Information propagation

The IFT requires a priority queue Q for path propagation(modified Dijkstra’s algorithm).

It can propagate other informations to each node:

its propagation order [9],a graph-cut measure [10], etc.

Its correctness requires smooth connectivity functions.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 108: Image Processing using Graphs (lecture 1 - image foresting transform)

Information propagation

A path function is smooth when for every node t, there exists atleast one optimum path πt which is either trivial or has the formπs · 〈s, t〉 where:

1 f (πs) ≤ f (πt).

2 πs is optimum.

3 For any optimum path τs , f (τs · 〈s, t〉) = f (πt).

These conditions are applied to only optimum paths.

s

t

π

τ

s

s

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 109: Image Processing using Graphs (lecture 1 - image foresting transform)

The general IFT algorithm

Algorithm

– General IFT algorithm

1. For each t ∈ N , do2. Set P(t)← nil , L(t)← t and V (t)← f (〈t〉).3. If V (t) 6= +∞, then insert t in Q.4. While Q is not empty, do5. Remove from Q a spel s such that V (s) is minimum.6. For each t ∈ A(s) such that V (t) > V (s), do7. Compute tmp ← f (πs · 〈s, t〉).8. If tmp < V (t), then9. If V (t) 6= +∞, remove t from Q.10. Set P(t)← s, V (t)← tmp, L(t)← L(s).11. Insert t in Q.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 110: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

The queue Q is then a wavefront whose propagation fromeach root follows a non-decreasing order of path values.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 111: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

The queue Q is then a wavefront whose propagation fromeach root follows a non-decreasing order of path values.

Ties are broken in Q, by following the FIFO policy. A variantof the algorithm with LIFO tie-breaking policy is given in [1].

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 112: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

The queue Q is then a wavefront whose propagation fromeach root follows a non-decreasing order of path values.

Ties are broken in Q, by following the FIFO policy. A variantof the algorithm with LIFO tie-breaking policy is given in [1].

Other root information in a function λ(t) can be propagatedby setting L(t)← λ(t) in Line 2.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 113: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

The queue Q is then a wavefront whose propagation fromeach root follows a non-decreasing order of path values.

Ties are broken in Q, by following the FIFO policy. A variantof the algorithm with LIFO tie-breaking policy is given in [1].

Other root information in a function λ(t) can be propagatedby setting L(t)← λ(t) in Line 2.

Line 7 can be simplified to tmp ← max{V (s),w(s, t)} in thecase of fmax.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 114: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

The queue Q is then a wavefront whose propagation fromeach root follows a non-decreasing order of path values.

Ties are broken in Q, by following the FIFO policy. A variantof the algorithm with LIFO tie-breaking policy is given in [1].

Other root information in a function λ(t) can be propagatedby setting L(t)← λ(t) in Line 2.

Line 7 can be simplified to tmp ← max{V (s),w(s, t)} in thecase of fmax.

The dual operation V (t) = max∀πt∈Π(N ,A,t){fmin(πt)}requires: V (t) 6= −∞ in Lines 3 and 9, V (s) is maximum inLine 5, V (t) < V (s) in Line 6, and tmp > V (t) in Line 8.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 115: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

When s is removed from Q in Line 5:

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 116: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

When s is removed from Q in Line 5:

Path πs is optimum, it can be obtained from P , which alsocontains all optimum paths πr with values V (r) < V (s).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 117: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

When s is removed from Q in Line 5:

Path πs is optimum, it can be obtained from P , which alsocontains all optimum paths πr with values V (r) < V (s).

Besides that, if P(s) = nil then s is a root node of R, foundon-the-fly.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 118: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

When s is removed from Q in Line 5:

Path πs is optimum, it can be obtained from P , which alsocontains all optimum paths πr with values V (r) < V (s).

Besides that, if P(s) = nil then s is a root node of R, foundon-the-fly.

Early termination is possible whenever s is a destinationnode [2] or when V (s) is greater than a given threshold [9].

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 119: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

When s is removed from Q in Line 5:

Path πs is optimum, it can be obtained from P , which alsocontains all optimum paths πr with values V (r) < V (s).

Besides that, if P(s) = nil then s is a root node of R, foundon-the-fly.

Early termination is possible whenever s is a destinationnode [2] or when V (s) is greater than a given threshold [9].

Later, whenever necessary, the remaining optimum paths πt

with V (t) ≥ V (s) can be obtained incrementally from thenodes in Q.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 120: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

For a fixed path function f , the optimum forest can be updated ina differential way whenever we add/remove root nodes [3].

A

B

Cleaking

Internal (A) and external (B andC ) markers are selected, but a“leaking” occurs.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 121: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

For a fixed path function f , the optimum forest can be updated ina differential way whenever we add/remove root nodes [3].

A

B

CD

frontier

Internal (A) and external (B andC ) markers are selected, but a“leaking” occurs.

We add an external marker D andselect marker C for removal. Thecompetition involves D and frontierspels (dashed line) of the forests ofA and B .

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 122: Image Processing using Graphs (lecture 1 - image foresting transform)

Important remarks and variants

For a fixed path function f , the optimum forest can be updated ina differential way whenever we add/remove root nodes [3].

A

B

D

Internal (A) and external (B andC ) markers are selected, but a“leaking” occurs.

We add an external marker D andselect marker C for removal. Thecompetition involves D and frontierspels (dashed line) of the forests ofA and B .

Result of segmentation.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 123: Image Processing using Graphs (lecture 1 - image foresting transform)

Priority queue

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 124: Image Processing using Graphs (lecture 1 - image foresting transform)

Priority queue

The IFT algorithm runs in O(|A|+ |N |2).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 125: Image Processing using Graphs (lecture 1 - image foresting transform)

Priority queue

The IFT algorithm runs in O(|A|+ |N |2).

Its running time is O(|N | log(|N |)), when Q is a binary heapand the graph is sparse (|A| ≪ |N |).

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 126: Image Processing using Graphs (lecture 1 - image foresting transform)

Priority queue

The IFT algorithm runs in O(|A|+ |N |2).

Its running time is O(|N | log(|N |)), when Q is a binary heapand the graph is sparse (|A| ≪ |N |).

Its running time is O(|N |), whenf (πs · 〈s, t〉)− f (πs) ∈ [0..K ], K ≪ |N|, are integers, thegraph is sparse, and Q uses bucket sort [2].

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 127: Image Processing using Graphs (lecture 1 - image foresting transform)

Priority queue

p6

p1 p2

p3

p5

4p

21 0

K−1K

Nodes t are inserted in bucket V (t)%(K + 1) (left), forming K + 1lists (right). The property f (πs · 〈s, t〉)− f (πs) ∈ [0..K ] guaranteesthat nodes with different values are never in a same bucket.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 128: Image Processing using Graphs (lecture 1 - image foresting transform)

Conclusion

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 129: Image Processing using Graphs (lecture 1 - image foresting transform)

Conclusion

It should be clear the advantages of interpreting images asgraphs for the design of adjacency-based andconnectivity-based image transformations.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 130: Image Processing using Graphs (lecture 1 - image foresting transform)

Conclusion

It should be clear the advantages of interpreting images asgraphs for the design of adjacency-based andconnectivity-based image transformations.

The IFT plays an important role in this scenario, given that itunifies image transformations based on optimum connectivity.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 131: Image Processing using Graphs (lecture 1 - image foresting transform)

Conclusion

It should be clear the advantages of interpreting images asgraphs for the design of adjacency-based andconnectivity-based image transformations.

The IFT plays an important role in this scenario, given that itunifies image transformations based on optimum connectivity.

It can be efficiently implemented in time proportional to thenumber of nodes in N for most image transformations.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 132: Image Processing using Graphs (lecture 1 - image foresting transform)

Next lecture

The IFT framework.

Connected filters.

Interactive and automatic segmentation methods.

Shape representation and description.

Clustering and classification.

Thanks for your attention

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 133: Image Processing using Graphs (lecture 1 - image foresting transform)

[1] A.X. Falcao, J. Stolfi, and R.A. Lotufo.

The image foresting transform: Theory, algorithms, andapplications.

IEEE Trans. on Pattern Analysis and Machine Intelligence,26(1):19–29, 2004.

[2] A.X. Falcao, J.K. Udupa, and F.K. Miyazawa.

An ultra-fast user-steered image segmentation paradigm:Live-wire-on-the-fly.

IEEE Trans. on Medical Imaging, 19(1):55–62, Jan 2000.

[3] A. X. Falcao and F. P. G. Bergo.

Interactive volume segmentation with differential image forestingtransforms.

IEEE Trans. on Medical Imaging, 23(9):1100–1108, 2004.

[4] F.P.G. Bergo and A.X. Falcao.

A partitioned algorithm for the image foresting transform.Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 134: Image Processing using Graphs (lecture 1 - image foresting transform)

In Mathematical Morphology and its Applications to Signal andImage Processing (ISMM), pages 425–436, Rio de Janeiro, RJ, Oct2007. MCT/INPE.

[5] A.X. Falcao, B. S. da Cunha, and R. A. Lotufo.

Design of connected operators using the image foresting transform.

In SPIE on Medical Imaging, volume 4322, pages 468–479, Feb2001.

[6] P.A.V. Miranda and A.X. Falcao.

Links between image segmentation based on optimum-path forestand minimum cut in graph.

Journal of Mathematical Imaging and Vision, 35(2):128–142, Oct2009.

doi:10.1007/s10851-009-0159-9.

[7] R. Audigier and R.A. Lotufo.

Watershed by image foresting transform, tie-zone, and theoreticalrelationship with other watershed definitions.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010

Page 135: Image Processing using Graphs (lecture 1 - image foresting transform)

In Mathematical Morphology and its Applications to Signal andImage Processing (ISMM), pages 277–288, Rio de Janeiro, RJ, Oct2007. MCT/INPE.

[8] F. Cappabianco, G. Araujo, R. Azevedo, and A. Falcao.

A general image processing architecture for fpga.

In V Southern Programmable Logic Conference, pages 27–32, SaoCarlos, SP, 2009. Rima.

[9] P.A.V. Miranda, A.X. Falcao, A. Rocha, and F.P.G. Bergo.

Object delineation by κ-connected components.

EURASIP Journal on Advances in Signal Processing, 2008.

[10] A.X. Falcao, P.A.V. Miranda, and A. Rocha.

A linear-time approach for image segmentation using graph-cutmeasures.

In 8th Intl. Conf. on Advanced Concepts for Intelligent VisionSystems (ACIVS), volume LNCS 4179, pages 138–149, Antwerp,Belgium, 2006. Springer.

Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010