Upload
amberly-parks
View
215
Download
0
Embed Size (px)
Citation preview
Cross-section topology
Michel Couprie
Contributors:
• G. Bertrand
• M. Couprie
• J.C. Everat (PhD)
• F.N. Bezerra (PhD)
Functions of 2 variables
x
y
On hills and dales
[Cayley 1859, Maxwell 1870…]
BINARY IMAGES (SETS)
Topology preservation - notion of simple point
• A topology-preserving transformation preserves the connected components of both X and X
Simple point
Set X (black points)
• Definition (2D): A point p is simple (for X) if its modification (addition to X, withdrawal from X) does not change the number of connected components of X and X
Simple point of XSimple point of XNon-simple pointNon-simple point
Simple point: local characterization ?
Simple point: local characterization ?
Connectivity numbers
• T(p)=number of Connected Components of (X - {p}) N(p) where N(p)=8-neighborhood of p
• T(p)=number of Connected Components of (X - {p}) N(p)
• Characterization of simple points (local): p is simple iff T(p) = 1 and T(p) = 1
T=2,T=2 T=1,T=1 T=1,T=0 T=0,T=1
U
U
Interior point Isolated point
Homotopy
• We say that X and Y are homotopic (they have the same topology) if Y may be obtained from X by sequential addition or deletion of simple points
Homotopy: illustration
GRAYSCALE IMAGES (FUNCTIONS)
Homotopy of functions
• Basic idea: consider the topology of each cross-section (threshold) of a function
• Given a function F (Z2 Z) and k in Z, we define the cross-section Fk as the set of points p of Z2 such that F(p) k
• We say that two functions F and G are homotopic if, for every k in Z, Fk and Gk are homotopic (in the binary sense)
[Beucher 1990…]
F1 G1
Homotopy of functions
x
yF(x,y)
x
G(x,y)y
x
yF(x,y)
F2
F1
x
G(x,y)
G2
G1
y
Homotopy of functions
x
yF(x,y)
F3
F2
F1
x
G(x,y)
G3
G2
G1
y
Homotopy of functions
Destructible point [Bertrand 1997]
• Definition: a point p is destructible (for F) if it is simple for Fk, with k = F(p)
• Property: p is destructible iff its value may be lowered by one without changing the topology of any cross-section
• Definition: a point p is constructible (for F) if it is destructible for -F (duality)
Destructible point: examples
x
yF(x,y)
F3
F2
F1
Destructible point: examples
x
yF(x,y)
F3
F2
F1
Destructible point: examples
x
yF(x,y)
F3
F2
F1
Destructible point: counter-examples
x
yF(x,y)
F3
F2
F1
Componentdeleted
Componentsplitted
Backgroundcomponentcreated
Destructible point: counter-examples
x
yF(x,y)
F3
F2
F1
Componentdeleted
Componentsplitted
Backgroundcomponentcreated
Connectivity numbers
• N+(p) = {q in N(p), F(q) F(p)}• T+(p) = number of Conn. Comp. of N+(p)
.
• N--(p) = {q in N(p), F(q) < F(p)}• T--(p) = number of Conn. Comp. of N--(p)
.
• N++, T++, N-, T- : similar• If an adjacency relation (eg. 4) is chosen
for T+, T++, then the other adjacency (8) must be used for T-, T--
Destructible point: local characterization
• The point p is destructible if and only if : T+(p) = 1 and T--(p) = 1
1 2 19 5 19 9 9
T+ = 1T-- = 1
1 2 89 5 89 1 1
T+ = 2T-- = 2
1 2 11 5 12 2 1
T+ = 0T-- = 1
destructible non-destructible non-destructible
Classification of points[Bertrand 97]
• The local configuration of a point p corresponds to exactly one of the eleven following cases:
– well (T- = 0)
– minimal constructible(T++ = T- = 1, T-- = 0)
– minimal convergent(T++ > 1, T-- = 0)
– constructible divergent (T++ = T- = 1, T-- > 1)
– peak (T+ = 0)
– maximal destructible(T+ = T-- = 1, T++ = 0)
– maximal divergent(T-- > 1, T++ = 0)
– destructible convergent (T+ = T-- = 1, T++ > 1)
– interior (T++ = T-- = 0)
– simple side (T+ = T-- = T++ = T- = 1)
– saddle (T++ > 1, T-- > 1)
Classification of points: examples
1 2 19 5 19 9 9
1 2 89 5 89 1 1
1 2 11 5 12 2 1
Simple side Saddle
Peak
1 2 19 9 19 9
1 29 9 9
1 1
1 2 15
Maximaldestructible
Maximaldivergent
Destructibleconvergent
5 5 55 5 55 5 5
Interior
1
2
199
995
Grayscale skeletons
• We say that G is a skeleton of F if G may be obtained from F by sequential lowering of destructible points
• If G is a skeleton of F and if G contains no destructible point, then we say that G is an ultimate skeleton of F
Ultimate skeleton: 1D example
Regional minima
Ultimate skeleton: illustration
Ultimate skeleton: illustration
Ultimate skeleton: 2D example
Original image F
Regionalminimaof F(white)
UltimateskeletonG of F
Regionalminimaof G(white)
Thinness
• In 1D, the set of non-minimal points of an ultimate skeleton is « thin » (a set X is thin if it contains no interior point). Is it always true in 2D ?
• The answer is no, as shown by the following counter-examples.
Thinness
11
31
3 3 3 3 3 3 3 31 1
111 1 1
13 3 3 3 3 3 3 3 3
3333 3
33
33
3 133
333
111 3 33 13 31 1 1 133 33 3
1 1 1 133 3 3 33 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 33333 3
33
33
333
333
3 333 333 33 333 3 3 3
3 3 3 3 3 3 3 3 3
1 1 1 1 11 11 1 1 1 1 1
1 1 11 1 11 1 11 1 1
1 1 11 1 11 1 11 1 1
3 3 3 3 3 33
333
333
3
333
333
3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3
322222
3 3 3 3 3 33
333
333
3
333
333
3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3
322222
2333
33
2 22
22 2
Thinness
1 1 1 1 11 11 1 1
1 1 11 1 11 11 1 1
1 1 1
1 1 11
11 1 1 1
1 1 1 1 11 1 1 1 111
1 1 11 1 1
11
1 1 11 1 11 1 11 1 11 1 11 1 1
1 11 1 1
1 11 1 1
3 3 3 3 3 3 3 3 33 3 3 3 3
3 3 3
33
333
33 3
33 3
32 2
2 2 22 2 22 2 2
222
3
333
33333 3 3 3 3 3 3 3 33 3 3 3
3
333
33333
3 3 3 3 3
3
3
3
333
133
333
3 3 3 3
22
22
221
11
3 3 3 3 3
3
3
3
333
33
333
3 3 3 3
2 2 22 22
22 2
2 2 2
2 22
22 2
3 3 3 3 3 3 3 3 33 3 3 3 3
3 3 3
33
333
33 3
33 3
3
2 2 22 2 22 2 2
222
3
333
33333 3 3 3 3 3 3 3 33 3 3 3
3
333
33333
2 2 22 2 22 2 2
2
Basic algorithm
Basic ultimate grayscale thinning(F)
Repeat until stability: Select a destructible point p for F F(p) := F(p) – 1
Inefficient: O(n.g), where: n is the number of pixels g is the maximum gray level
Lowest is best
The central point is destructible: it can thus be lowered down to 5 without changing the topology.
It can obviously be lowered more:- down to 3 (since there is no value between
6 and 3 in the neighborhood)- down to 1 (we can check that once at level
3, the point is still destructible)
3 1 19 6 19 9 9
Two special values
If p is destructible, we define:
-(p)=highest value strictly lower than F(p) in the neighborhood of p
-(p)=lowest value down to which F(p) can be lowered without changing the topology
3 1 19 6 19 9 9
Here: -(p)=3
-(p)=1
Better but not yet good
If we replace: F(p) := F(p) – 1 in the basic algorithm
by: F(p) := -(p), we get a faster algorithm. But its complexity is still bad. Let us show why:
Fast algorithm
Fast ultimate grayscale thinning(F)
Repeat until stability: Select a destructible point p for F of minimal graylevel
F(p) := -(p)
- Can be efficiently implemented thanks to a hierarchical queue- Execution time roughly proportional to n (number of pixels)
Complexity analysis: open problem
1 1 1 1 11 11 1 1
1 1 11 1 11 11 1 1
1 1 1
1 1 11
11 1 1 1
1 1 1 1 11 1 1 1 111
1 1 11 1 1
11
1 1 11 1 11 1 11 1 11 1 11 1 1
1 11 1 1
1 11 1 1
3 3 3 3 3 3 3 3 33 3 3 3 3
422
3
333
33333 3 3 3 3 3 3 3 33 3 3 3
3
333
33333
1 11
1 11
33
333
333
34
4 4 4444
444
3
2 2 22 2 22 2 2
3241
1 1 1
1 1 11
1 1 1
Non-homotopic operators
• Topology preservation: strong restriction
• Our goal: Change topology in a controlled way
over segmentation
regional minima
segmented regions
Altering the topology
• Control over topology modification.
• Criteria:– Local contrast : notion of -skeleton
– Regional contrast : regularization– Size : topological filtering– Topology : crest restoration
-destructible point
-destructible
not -destructible
Illustration (1D profile of a 2D image)
-destructible point
• Definition:
Let X be a set of points, we define F-(X)=min{F(p), p in X}
Let be a positive integer
A destructible point p is -destructible
A k-divergent point p is -destructible if at least k-1 connected components ci (i=1,…,k-1) of N--(p) are such that F(p) - F-
(ci)
-skeleton : examples
= 0 = 15 = 30
Topological filtering
A: original C: reconstruction ofB under A
B: thinning+peak deletion
Topological filtering (cont.)
Original image
Topological filtering (cont.)
Homotopic thinning (n steps)
Topological filtering (cont.)
Peak deletion
Topological filtering (cont.)
Homotopic reconstruction
Topological filtering (cont.)
Final result
Topological filtering (cont.)
Comparison with other approaches (median filter, morphological filters) : better preservation of thin and elongated features
Crest restoration
• Motivation
Thinning + thresholding
GradientOriginal image
Crest restoration (cont.)
50
50
50
50
50
5090
90
240
0
0
0
0
0
00
0
0
50
50
50
50
50
50
50
50
5090
90
50
60
0
40
40
90
4060
0
0
50
50
50
50
50
240
50
50
50240
240
240
0
60
0
60
40
2400
0
0
50
50
50
50
240
50
50
50
50240
240
240
0
0
0
0
240
00
0
0
50
50
50
• p is a separating point if– there is k such that T(p, Fk)=2
• p is extensible if– p is a separating point, and
– p is a constructible or saddle point, and
– there is a point q in its neighborhood that is an end point or an isolated point for Fk, with k=F(p)+1
Crest restoration (cont.)
50
50
50
50
50
5090
90
240
0
0
0
0
0
00
0
0
50
50
50
50
50
50
50
50
5090
90
50
60
0
40
40
90
4060
0
0
50
50
50
50
50
240
50
50
50240
240
240
0
60
0
60
40
2400
0
0
50
50
50
50
240
50
50
50
50240
240
240
0
0
0
0
240
00
0
0
50
50
50
• p is a separating point if– there is k such that T(p, Fk)=2
• p is extensible if– p is a separating point, and
– p is a constructible or saddle point, and
– there is a point q in its neighborhood that is an end point or an isolated point for Fk, with k=F(p)+1
Crest restoration (cont.)
240 502400 2400 50
50
50
50
50
2400
0
00
0
0
50
50
50
50
50
50
50240
50
60
0
40
90
60
0
0
50
50
50
50
240
50
50
50240
2400
60
0
60
2400
0
0
50
50
50
50
50
50
50240
2400
0
0
00
0 50
50
240
90
90
240
50
500
0
50
50
40
40
5040
0
240 502400 2400 50
50
50
50
50
2400
0
00
0
0
50
50
50
50
50
50
50240
50
60
0
4060
0
0
50
50
50
50
240
50
50
50240
2400
60
0
60
2400
0
0
50
50
50
50
50
50
50240
2400
0
0
00
0 50
50
240
240
50
500
0
50
50
40
40
5040
0
240 502400 2400 50
50
50
50
50
2400
0
00
0
0
50
50
50
50
50
50
50240
50
60
0
40
90
60
0
0
50
50
50
50
240
50
50
50240
2400
60
0
60
2400
0
0
50
50
50
50
50
50
50240
2400
0
0
00
0 50
50
240
240
50
500
0
50
50
40
40
5040
0
240
240 240
240
240
Crest Restoration: result
‘Significant’ crests have been highlighted (in green)
Before crest restoration:
After crest restoration:
Crest restoration (cont.)
Thinning +thresholding
Thinning +crest restoration +
thresholdingGradient
Crest restoration (cont.)
Thinning +crest restoration +
thresholding(1 parameter)
Thinning+hysteresis thresholding
(2 parameters)
Thinning+hysteresis thresholding
(2 parameters)
Conclusion
• Strict preservation of both topological and grayscale information
• Combining topology-preserving and topology-altering operators
• Control based on several criteria (contrast, size, topology)
Perspectives
• Study of complexity
• Extension to 3D
• Topology in orders (G. Bertrand)
References
• G. Bertrand, J. C. Everat and M. Couprie: "Image segmentation through operators based upon topology", Journal of Electronic Imaging, Vol. 6, No. 4, pp. 395-405, 1997.
• M. Couprie, F.N. Bezerra, Gilles Bertrand: "Topological operators for grayscale image processing", Journal of Electronic Imaging, Vol. 10, No. 4, pp. 1003-1015, 2001.
• www.esiee.fr/~coupriem/Sdi/publis.html