Medial Axis LUT Computation for Chamfer Norms Using H-Polytopes
Total Page:16
File Type:pdf, Size:1020Kb
Medial Axis LUT Computation for Chamfer Norms Using H-Polytopes Nicolas Normand and Pierre Evenou´ IRCCyN UMR CNRS 6597, Ecole´ polytechnique de l’Universit´edeNantes, Rue Christian Pauc, La Chantrerie, 44306 Nantes Cedex 3, France [email protected], [email protected] Abstract. Chamfer distances are discrete distances based on the prop- agation of local distances, or weights defined in a mask. The medial axis, i.e. the centers of the maximal disks (disks which are not contained in any other disk), is a powerful tool for shape representation and analysis. The extraction of maximal disks is performed in the general case with comparison tests involving look-up tables representing the covering re- lation of disks in a local neighborhood. Although look-up table values can be computed efficiently [1], the computation of the look-up table neighborhood tend to be very time-consuming. By using polytope [2] de- scriptions of the chamfer disks, the necessary operations to extract the look-up tables are greatly reduced. 1 Introduction ThedistancetransformDTX of a binary image X is a function that maps each point x with its distance to the background i.e. with the radius of the largest open disk centered in x included in the image. Such a disk is said to be maximal if no other disk included in X contains it. The set of centers of maximal disks, the medial axis, is a convenient description of binary images for many applications ranging from image coding to shape recognition. Its attractive properties are reversibility and (relative) compactness. Algorithms for computing the distance transform are known for various dis- crete distances [3,4,5,6]. In this paper, we will focus on chamfer (or weighted) distances. The classical medial axis extraction method is based on the removal of non maximal disks in the distance transform. It is thus mandatory to describe the covering relation of disks, or at least the transitive reduction of this relation. For simple distances this knowledge is summarized in a local maximum criterion [3]. The most general method for chamfer distances uses look-up tables for that purpose [7]. In this paper we propose a method to both compute the look-up tables and the look-up table mask based on geometric properties of the balls of chamfer norms. Basic notions, definitions and known results about chamfer disks and medial D. Coeurjolly et al. (Eds.): DGCI 2008, LNCS 4992, pp. 189–200, 2008. c Springer-Verlag Berlin Heidelberg 2008 190 N. Normand and P. Evenou´ axis look-up tables are recalled in section 2. Then section 3 justifies the use of polytope formalism in our context and presents the principles of the method. In section 4, algorithms for the 2D case are given. 2 Chamfer Medial Axis 2.1 Chamfer Distances Definition 1 (Discrete distance, metric and norm). Consider a function d : Zn × Zn → N and the following properties ∀x, y, z ∈ Zn, ∀λ ∈ Z: 1. positive definiteness d(x, y) ≥ 0andd(x, y)=0⇔ x = y , 2. symmetry d(x, y)=d(y,x) , 3. triangle inequality d(x, z) ≤ d(x, y)+d(y,z) , 4. translation invariance d(x + z,y + z)=d(x, y) , 5. positive homogeneity d(λx, λy)=|λ|·d(x, y) . d is called a distance if it verifies conditions 1 and 2,ametric with conditions 1 to 3 and a norm if it also satisfies conditions 4 and 5. Most discrete distances are built from a definition of neighborhood and con- nected paths (path-generated distances), the distance from x to y being equal to the length of the shortest path between the two points [8]. Distance functions differ by the way path lengths are measured: as the number of displacements in the path for simple distances like d4 and d8, as a weighted sum of displace- ments for chamfer distances [4] or by the displacements allowed at each step for neighborhood sequence distances [8,4], or even by a mixed approach of weighted neighborhood sequence paths [6]. For a given distance d, the closed ball Bc and open ball Bo of center c and radius r are the sets of points of Zn: Bo(c, r)={p : d(c, p) <r} . (1) Bc(c, r)={p : d(c, p) ≤ r} Since the codomain of d is N: ∀r ∈ N,d(c, p) ≤ r ⇔ d(c, p) <r+1.So: ∀r ∈ N,Bc(c, r)=Bo(c, r +1) . (2) In the following, the notation B will be used to refer to closed balls. −→ −→ Definition 2 (Chamfer mask [9]). A weighting M =(v ; w) is a vector v of Zn associated with a weight w (or local distance). A chamfer mask M is a central-symmetric set of weightings having positive weights and non-null dis- Zn M { ∈ Zn × N∗} placements, and containing at least one basis of : = Mi 1≤i≤m The grid Zn is symmetric with respect to the hyperplanes normal to the axes and to the bisectors (G-symmetry). This divides Zn in 2n.n! sub-spaces (8 octants Medial Axis LUT Computation for Chamfer Norms 191 for Z2). Chamfer masks are usually G-symmetric so that weightings may only be given in the sub-space 0 ≤ xn ≤ ...≤ x1. Paths between two points x and y can be produced by chaining displacements. The length of a path is the sum of the weights associated with the displacements and the distance between x and y is the length of the shortest path. M { −→ ∈ Zn × N∗} Definition 3 (Chamfer distance [9]). Let = (vi ,wi) 1≤i≤m be a chamfer mask. The chamfer (or weighted) distance between two points x and y is: −→ d(x, y)=min λiwi : x + λi vi = y,λi ∈ N, 1 ≤ i ≤ m . (3) Any chamfer masks define a metric [10]. However a chamfer mask only generates a norm when some conditions on the mask neighbors and on the corresponding weights permits a triangulation of the ball in influence cones [9,11]. When a mask defines a norm then all its balls are convex. 2.2 Geometry of the Chamfer Ball We can deduce from (1) and (3) a recursive construction of chamfer balls: −→ B(O, r)=B(O, r − 1) ∪ B(O + vi ,r− wi) . (4) 0≤i≤m M { −→ ∈ Zn × N∗} Definition 4 (Influence cone [12]). Let = (vi ,wi) 1≤i≤m be a chamfer mask generating a norm. An influence cone is a cone from the −→ −→ −→ origin spanned by a subset of the mask vectors {vi , vj , vk,...} in which only the weightings Mi,Mj,Mk,... of the mask are involved in the computation of the distance from O to any point of the cone. In each influence cone, the discrete gradient of the distance function is constant and equal to [9]: −→ −→ −→ −1 (wi,wj,wk,...) · (vi |vj |vk| ...) , (5) −→ −→ −→ where (vi |vj |vk| ...) stands for the column matrix of the vectors spanning the cone. The distance dC (O, p) from the origin to any point p of this cone C is then: −→ −→ −→ −1 dC (O, p)=(wi,wj ,wk,...) · vi vj vk ... · p. (6) For instance, with chamfer norm d5,7,11,thepoint(3, 1) is in the cone spanned by the vectors a =(1, 0) and c =(2, 1) and the weights involved are 5 and 11. The distance between the origin and the point (3, 1) is then: −1 12 3 3 d (O, (3, 1)) = 511 · · = 51 · =16 . Ca,c 01 1 1 192 N. Normand and P. Evenou´ 2.3 Chamfer Medial Axis For simple distances d4 and d8, the medial axis extraction can be performed by the detection of local maxima in the distance map [13]. Chamfer distances raise a first complication even for small masks as soon as the weights are not unitary. Since all possible values of distance are not achievable, two different radii r and r may correspond to the same set of discrete points. The radii r and r are said to be equivalent. Since the distance transform labels pixels with the greatest equivalent radius, criterions based on radius difference fail to recognize equivalent disks as being covered by other disks. In the case of 3×3 2D masks or 3 × 3 × 3 3D masks, a simple relabeling of distance map values with the smallest equivalent radius is sufficient [14,15]. However this method fails for greater masks and the most general method for medial axis extraction from the distance map involves look-up tables (LUT) that represent for each radius r and displacement −→ o −→ vi , the minimal open ball covering B (O, r1,) in direction vi [7]: o −→ o Lut−→(r1)=min{r2 : B (O + vi ,r1) ⊆ B (O, r2)} . vi Equivalently using closed balls (considering (2)): −→ Lut−→(r )=1+min{r : B(O + v ,r − 1) ⊆ B(O, r )} . (7) vi 1 2 i 1 2 Consider for instance the d5,7,11 distance [16, Fig. 14]. Lut(1,0)(10) = 12 means that Bo(O, 10) ⊆ Bo((2, 1), 12) but Bo(O, 10) ⊆ Bo((2, 1), 11). Or, in terms of closed balls, B(O, 9) ⊆ B((2, 1), 11) but B(O, 9) ⊆ B((2, 1), 10). Medial Axis LUT Coefficients. A general method for LUT coefficient com- putation was given by R´emy and Thiel [12,17,9]. The idea is that the disk cov- ering relation can be extracted directly from values of distance to the origin. If −→ d(O, p)=r1 and d(O, p + vi )=r2, we can deduce the following: o p ∈ B(O, r1)=B (O, r1 +1), −→ o p + vi ∈/ B(O, r2 − 1) = B (O, r2), o −→ o hence B (O + vi ,r1 +1) ⊂ B (O, r2)andLut−→(r1 +1)>r2.If∀p, d(O, p) ≤ −→ vi r1 ⇒ d(O, p + vi ) ≤ r2 then Lut−→(r1 +1)=r2 +1.