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 X Non-simple point
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=2T=1,T=1T=1,T=0T=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 (Z 2 Z) and k in Z, we define the cross-section F k as the set of points p of Z 2 such that F(p) k We say that two functions F and G are homotopic if, for every k in Z, F k and G k are homotopic (in the binary sense) [Beucher 1990…]
F1F1 G1G1 Homotopy of functions x y F(x,y) x G(x,y) y
x y F(x,y) F2F2 F1F1 x G(x,y) G2G2 G1G1 y Homotopy of functions
x y F(x,y) F3F3 F2F2 F1F1 x G(x,y) G3G3 G2G2 G1G1 y Homotopy of functions
Destructible point [Bertrand 1997] Definition: a point p is destructible (for F) if it is simple for F k, 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 y F(x,y) F3F3 F2F2 F1F1
Destructible point: examples x y F(x,y) F3F3 F2F2 F1F1
Destructible point: examples x y F(x,y) F3F3 F2F2 F1F1
Destructible point: counter-examples x y F(x,y) F3F3 F2F2 F1F1 Component deleted Component splitted Background component created
Destructible point: counter-examples x y F(x,y) F3F3 F2F2 F1F1 Component deleted Component splitted Background component created
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) = T + = 1 T -- = T + = 2 T -- = T + = 0 T -- = 1 destructiblenon-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 Simple sideSaddle Peak Maximal destructible Maximal divergent Destructible convergent Interior
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: 2D example Original image F Regional minima of F (white) Ultimate skeleton G of F Regional minima of 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
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)
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 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
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 c i (i=1,…,k-1) of N -- (p) are such that F(p) - F - (c i )
-skeleton : examples = 0 = 15 = 30
Topological filtering A: original C: reconstruction of B 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 Gradient Original image
Crest restoration (cont.) p is a separating point if –there is k such that T(p, F k )=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 F k, with k=F(p)+1
Crest restoration (cont.) p is a separating point if –there is k such that T(p, F k )=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 F k, with k=F(p)+1
Crest restoration (cont.)
Crest Restoration: result ‘Significant’ crests have been highlighted (in green) Before crest restoration: After crest restoration:
Crest restoration (cont.) Thinning + thresholding Thinning + crest restoration + thresholding Gradient
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 , "Image segmentation through operators based upon topology" M. Couprie, F.N. Bezerra, Gilles Bertrand: "Topological operators for grayscale image processing", Journal of Electronic Imaging, Vol. 10, No. 4, pp , "Topological operators for grayscale image processing"