Top Banner
Second-Order Connected Attribute Filters Using Max-Trees Georgios K. Ouzounis and Michael H. F. Wilkinson Institute for Mathematics and Computing Science University of Groningen The Netherlands ISMM, April 20, 2005, ´ Ecole des Mines de Paris, France
17

Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Jul 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Second-Order Connected Attribute Filters UsingMax-Trees

Georgios K. Ouzounis and Michael H. F. Wilkinson

Institute for Mathematics and Computing ScienceUniversity of Groningen

The Netherlands

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 2: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Presentation Outline

Connectivity and Connected Operators

Connectivity ClassesConnected Openings

Attribute Filters

Second-Order Connectivity

Clustering Based ConnectivityPartitioning Based Connectivity

Computing Second-Order Attribute Filters

The Max-Tree AlgorithmThe Dual Input Max-TreeFiltering

Experiments

Conclusions

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 3: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Connectivity and Connected Filters

A connectivity class C is the set of all connected subsets of some universalset E.

Some limitations apply:

∅ ∈ C and {x} ∈ Cif Cn ∈ C with n = 1, ...N and

⋂Nn=1Cn 6= ∅ then

⋃Nn=1Cn ∈ C

A binary image represented by a set X ⊆ E can be partitioned into itsconnected components or grains Ci. Connected components can beextracted by means of a connected opening Γx:

Γx(X) =⋃i

{Cn ∈ C|x ∈ Cn and Cn ⊆ X} (1)

Because all Cn are connected, their union is also connected. Furthermore∀x /∈ X, Γx(X) = ∅.

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 4: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Attribute filters

The simplest filtering schemes for binary images work by preserving orremoving connected components

Given that connected filters work on image structures, filter selection criteriacan be defined in terms of the properties or attributes of these structures.

Criterion T :T (C) = (Attr(C) ≥ λ) (2)

with Attr(C) some real-valued attribute of C, and λ the attribute threshold

ΓT (X) =⋃x∈X

ΓT (Γx(X)) (3)

1. compute attribute for each connected component2. keep components of which attribute value exceeds some threshold λ

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 5: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Second-Order Connectivity

Many generalizations of the standard (4- or 8- way) connectivity have beenproposed aiming to improve the robustness and increase the versatility ofthese filters.

Connectivity generalizations yield an approximation as to when image objectscan be considered connected or when connected regions can be treated asseparate objects.

An example is Second-Order Connectivity which relies on an underlyingconnectivity.

Second-Order connected sets are given by a connected opening extractingthe connected components found at the intersection between the originalimage X and the connectivity map ψ(X).

ψ refered to as the generalizing operator is usually a structural opening,closing or dilation. Cψ denotes the connectivity class and Γψx thecorresponding connected opening.

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 6: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Clustering-based Connectivity

Let ψ be an increasing and extensive operator, i.e. X ⊆ ψ(X)

If x ∈ X, the connected opening Γψx looks at connected components of ψ(X),and intersects the one returned with X. i.e.

Γψx (X) ={

Γx(ψ(X))⋂X ,x ∈ X

∅ , x /∈ X (4)

This clusters nearby connected components according to C into new, largerones.

X ψ(X) Γψp (X) Γψq (X)

Note that p = (65, 85) and q = (200, 225).ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 7: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Partitioning-based Connectivity

Let ψ be an increasing, idempotent and anti-extensive operator: ψ(X) ⊆ X

If x ∈ ψ(X), the connected opening Γψx looks at connected components ofψ(X). If x ∈ X \ ψ(X) a singleton set {x} is returned. i.e.

Γψx (X) =

Γx(ψ(X)) if x ∈ ψp(X){x} if x ∈ X \ ψp(X)∅ x /∈ X

(5)

This partitions connected components into smaller ones. p = (65, 85) andq = (200, 225).

X ψ(X) Γψp (X) Γψq (X)ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 8: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Computing Second-Order Attribute Filters

Algorithm based on Max-Tree - hierarchical image representation for attributefiltering

Tree nodes correspond to Peak Components and leaves to Regional Maxima

Each node points to its parent and root node corresponds to background

Node attributes stored in the tree structure. Filtering involves comparing nodeattributes against a threshold and removing them if not satisfying the criterion(different filtering rules).

Flooding done by recursion. Data stored in a set of FIFO hierarchical queues

pseudo code

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 9: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Max-Tree representation

0 1 2 3 2 1 2 1 0

P 03

P 02 P 1

2

P 01

P 00

input signal peak components

C00 C

01 C

02 C

03 C

02 C

01 C

12 C

01 C

00

C03

?

C02@

@@R

C12

���

C01

?

C00

labelling Max-Tree

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 10: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

The Dual Input Max-Tree

Two input images - X and ψ(X)

The hierarchical queue is shaped from the connectivity map and the numberof pixels for each level in the Max-Tree by the histogram of the original image.

The flooding function proceeds with pixels retrieved from ψ(X). If the intensityof a pixel p is the same in both X and ψ(X), the algorithm proceeds as thenormal Max-Tree. If not then we have two cases:

pseudo code

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 11: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Clustering

P 03

P 02 P 1

2

P 01

P 00

P 03

P 02

P 01

P 00

C03

?

C02@

@@R

C12

���

C01

?

C00

C03

?

C02

?

C01

?

C00

X ψ(X): closing Max-Tree of X Dual Input Max-Tree

The attributes of C02 and C1

2 are merged to C02 since all pixels at level h = 2 are

clustered to a single connected component.

Assume we are flooding at level h and encounter a pixel p which corresponds toh′ in X such that h′[p] < h[p].

Then p is connected to the current active node at h′[p] through the connectedcomponent at level h[p];

i.e. it defines a peak component at level h′[p] to which p in ψ(X) is connected.

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 12: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Partitioning

P 03

P 02 P 1

2

P 01

P 00

P 02 P 1

2

P 01

P 00

C03

?

C02@

@@R

C12

���

C01

?

C00

C03

@@@R

C13

���

C02@

@@R

C12

���

C01

?

C00

X ψ(X): opening Max-Tree of X Dual Input Max-Tree

Assuming the node C03 of the original Max-Tree vanishes in the connectivity map

ψ(X), then in the Dual Input representation is split to a number of singletonnodes.

Assume we are flooding at level h and encounter a pixel p which corresponds toh′ in X such that h[p] < h′[p].

Then p is a discarded component in ψ(X) and hence defines a singleton node atlevel h′[p]. Singletons upon detection finalize their node status and return and anattribute value of 1.

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 13: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Filtering

C03

�3?

� C02@

@R

2 C12

��

- 2

C01

?

�1

C00

�0

C03

�2?

� C02@

@R

1 C12

��

- 1

C01

?

�1

C00

�0

208 6

5070

P 03

P 02 P 1

2

P 01

P 00

P 02

P 01

P 00

0 1 2 3 2 1 2 1 0 0 1 1 2 1 1 1 1 0

attribute values original filtered (λ = 10)

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 14: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Vessel-Enhancement Filtering

Isosurface projection of the original MRA at level 50 and of the filtered at level 3.

Shape filtering using I/V 5/3 > λ as 3D shape criterion where I the moments ofinertia and V the volume. The result can be computed in 8 s on a Pentium 4 at2.8 GHz for a 2563 volume.

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 15: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Conclusion and Prospects

Linear time complexity - fast algorithm. Minimal difference with conventionalMax-Tree timing

Supports gray-scale images

Ideal for the wider class of attribute filters

Supports both types of second-order connectivity generalization (clusteringand partitioning) in the same implementation

It handles connectivity maps generated by flat operators that do not strictlyneed to be extensive or anti-extensive

Drawbacks:

Limited to flat structural operators

Partitioning Connectivity generates an oversegmentation problem

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 16: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Max-Tree Pseudo Code

/* flood(h, thisAttribute) : Flooding function at level h */attribute = thisAttribute /* accounts for child attributes */while (not HQueue-empty(h)) /* First step: propagation */{ p = HQueue-first(h) /* retrieve priority pixel */

STATUS[p] = NumberOfNodes[h] /* STATUS = the node index */for (every neighbor q of p) /* process the neighbors */{ if (STATUS[q] == "NotAnalyzed")

{ HQueue-add(ORI[q],q) /* add in the queue */STATUS[q] = "InTheQueue"NodeAtLevel[ORI[q]] = TRUE /* confirm node existance */if (ORI[q] > ORI[p]) /* check for child nodes */{ m = ORI[q]

child_attribute = 0do{ /* recursive child flood */

m = flood(m,child_attribute)} while (m != h)attribute += child_attribute }}}}

NumberOfNodes = NumberOfNodes[h] + 1 /* update the node index */m = h-1 /* 2nd step: defines father*/while ((m >= 0) and (NodeAtLevel[m] = FALSE))

m = m-1if (m >= 0){

i = NumberOfNodes[h] - 1; j = NumberOfNodes[m];} else

The node C_i at level h has no father, i.e. its the root nodeNodeAtLevel[h] = FALSE; node->Attribute = attribute;node->Status = Finalized; thisAttribute = attribute;return (m)

Back

ISMM, April 20, 2005, Ecole des Mines de Paris, France

Page 17: Second-Order Connected Attribute Filters Using Max-Treesmichael/ouzounisISMM05.pdf · Let ψbe an increasing, idempotent and anti-extensiveoperator: ψ(X) ⊆ X ... Shape filtering

Dual Input Max-Tree Pseudo Code

/* flood(h, thisAttribute) : Flooding function at level h */attribute = thisAttribute + node->Attribute /* node->Attribute is */

/* added to account for pixels found during other calls to flood */while (not HQueue-empty(h)) /* First step: propagation */{

p = HQueue-first(h) /* retrieve priority pixel */STATUS[p] = NumberOfNodes[h] /* STATUS = the node index */if(ORI[p]!=h){ /* Detect intensity mismatch */

NodeAtLevel[ORI[p]]=TRUE /* Same for both cases */node = Tree + NodeOffsetAtLevel[ORI[p]] + NumberOfNodes[ORI[p]]node->Attribute ++if(ORI[p]>h){ /* Anti-extensive case */

node->Parent = NodeOffsetAtLevel[h] + NumberOfNodes[h]node->Status = Finalized; node->Level = ORI[p]NumberOfNodes[ORI[p]] += 1; NodeAtLevel[ORI[p]] = FALSEattribute++ } /* Finalizing the singleton node */

} elseattribute++ /* If pixel intensity is the same in both images*/

/* The rest as in Figure 2 ... */return (m)

Back

ISMM, April 20, 2005, Ecole des Mines de Paris, France