image processing using graphs - unicamp
TRANSCRIPT
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
Introduction
Image transformations can be based on
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
Introduction
Image transformations can be based on
pixels (e.g., thresholding).
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Advantages
The IFT provides
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
Organization of the course
First: the IFT framework.
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
Organization of the course
First: the IFT framework.
Second: connected filters.
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
Organization of this lecture
Basic definitions.
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
Organization of this lecture
Basic definitions.
Images as graphs.
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
Organization of this lecture
Basic definitions.
Images as graphs.
Connectivity functions.
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
General image definition
A digital image I = (DI ,~I ) is a pair, where
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Connectivity functions
Connectivity-based operators use paths in (N ,A).
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
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
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
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
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
Connectivity functions
We may
interpret the image as an 8-neighborhood graph,
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
Connectivity functions
Image with internal andexternal markers.
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
Connectivity functions
Image with internal andexternal markers.
Arc-weight image.
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
Connectivity functions
More formally,
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
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
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
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
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
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
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
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
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
The IFT computation
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Information propagation
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
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
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
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
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
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
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
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
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
Important remarks and variants
When s is removed from Q in Line 5:
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
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
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
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
Priority queue
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
Priority queue
The IFT algorithm runs in O(|A|+ |N |2).
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
Conclusion
Alexandre Xavier Falcao Image Processing using Graphs at ASC-SP 2010
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
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
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
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
[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
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
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