Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
1,38 MB
Nội dung
Topological Segmentation 395 junction, voxels q and r are transformed into nodes, and the remaining candidate s is then identified as another junction in a new sequential visit of the candidate junction set, likely yielding an undesirable skeleton model. To overcome this deficiency, we propose a global approach for the resolution of thick junctions: 1. Re-sort the candidate junction set S c =p i i =1nin a descending order by the value of f 26b v of each voxel in S c such that f 26b v p i ≥ f 26b v p i+1 for i = 1n−1. 2. Sequentially visit each voxel p in S c and (a) set p as a junction; (b) transform all junction candidates in N 26 e p ∩S c to nodes; and (c) update candidate voxel set S c S c = S c −N 26 p ∩S c . 3.5 Branch Formation After all skeleton voxels are classified, the raw skeleton is ready for the formation of branches. Here, we introduce two additional values associated with a skeleton voxel: Definition: f t p is the number of branches containing a skeleton voxel p.Ifp is a tip or node, then f t p = 1. If p is a junction, then f t p = f 26b v p. Definition: f s p indicates the number of times a voxel p has been visited in the skeleton segmentation process. Assuming each skeleton voxel p is visited only once in the formation of each single branch containing voxel p, we call p unsaturated if f s p<f t p,orsaturated if f s p = f t p (i.e. all branches containing p have been determined). Let S u be the set consisting of all unsaturated skeleton voxels, and voxel p (f t p =nf s p =m and m<nbe an end in S u . We build the (m −n) undetermined branches containing p with the following branch formation procedure: 1. Identify a voxel set E, which consists of all unsaturated skeleton voxels within N 26 pE= S u ∩N 26 p. 2. Form a branch L, which contains an unsaturated skeleton voxel ee ∈ E and e = p: (a) Increase f s e and f s p by one. (b) If e is an end, build the branch L, simply with voxels p and eL= p e, Figure 20.4(a). (c) If e is a node, then perform a 26-scan over the voxel set S u with the voxel e as the initial scanning front to produce a final scanned set A. Voxel set E is excluded in the first scan iteration. The 26-scan stops when one or more unsaturated ends are reached – Figure 20.4(b). (d) Increase f s p i by one, for each skeleton voxel p i in the scanned set A. (e) Let T be a voxel set containing all unsaturated end voxels detected in this 26-scan. We increase f s of all end voxels in T by one and pick any voxel q in T as the terminating end for the branch L. Thus, the branch L under determination is given by p A q. Note that this branch determination procedure can also detect closed branches containing only one distinct skeleton end, i.e. p = q – Figure 20.4(c). (f) Update EE=E −e. 3. Repeat branch identification (steps 1 and 2) until the end voxel p is saturated. By performing the above procedure on each unsaturated skeleton end, we segment into branches a skeleton containing at least one skeleton end. However, this procedure is not suitable for a skeleton F that corresponds to a single isolated closed path. We solve this problem simply by picking any skeleton voxel p in F as a virtual junction f t p = 2 and then use the above procedure to form a closed path starting with p (similar to the case illustrated in Figure 20.4(c)). 396 Topological Segmentation of Discrete Curve Skeletons pq p e q p e (a) (b) (c) Figure 20.4 Determination of a branch L containing an end voxel p: (a) L consists of two ends only; (b) L consists of two distinct ends and a string of nodes (shaded voxels) identified in a 26-scan starting with voxel e; (c) the closed branch L contains only one junction. 23 13 25 16 6 18 24 14 26 7 3 4 1 8 9210 19 11 21 17 22 512 15 20 p p 1 7 1 0 2 1 0 9 11 2 2 1 2 4 (a) (b) (c) Figure 20.5 26-chain representation of a branch starting with end voxel p. (a) Directional code for the 26-neighborhood of voxel p; (b) a voxel representation of a branch; and (c) the corresponding 26-chain code. Since all voxels are geometrically identical, we use a 26-chain code derived from the 4-chain code in [21] to describe the 26-connected branches (Figure 20.5). The advantages of using a chain code representation are obvious: (1) it is compact – a 26-chain code is a list of small integers ranging from 1 to 26; and (2) Lit is portable – with a chain code representation and the known physical dimensions of a voxel, the connectivity and geometry of a branch can be easily and quickly reconstructed. Branch Filtering 397 4. Branch Filtering 4.1 Branch Classification We call a branch produced by the image noise a noise branch. An excessive number of noise branches leads to an undesirable skeleton representation of the original image. Therefore, noise branches must be identified and filtered out of the skeleton. Definition 7: A branch L is said to be free if L includes at least one skeleton tip, or fixed if L contains no skeleton tips. Observation 2: Curve skeletons are suitable for describing elongated objects. For a 3D solid object without cavity, its topological property can be defined in terms of the numbers of components and tunnels [22]. A topology-preserving thinning algorithm produces a skeleton which has the same topological property as the original object. Let L be a branch of the skeleton F.IfL is free, the removal of L does not lead to the complete elimination of a component in F unless L =F, or the deletion of a tunnel, since L is not included in any closed path in F [23]. However, deleting a fixed branch L may break up a component in F if L links two branches that cannot be joined through other paths, or may destroy a tunnel if L is contained in a closed path in F. Based on this observation, in order to preserve the topology of the skeleton we only consider free branches for filtering. Note that deleting a free branch L may transform fixed branches adjacent to L into free branches. Therefore, an iterative branch filtering procedure is desirable when the compound noise effect is significant. A free branch can be further classified based on the following definition: Definition 8: A free branch L is called a structural, type-1 noise or type-2 noise branch if L has complete, empty, or partial overlap with the geometrical midline of the original object (Figure 20.6). Type-1 noise branches are approximately perpendicular to the midline of the original object and have a characteristic short length, i.e. half the local width of the object. Based on this property of type-1 noise branches, Lee et al. propose a simple branch filtering criterion [12]. If the length of a free branch L, in terms of the total number of voxels in Lis below a critical value c, L is identified as a noise branch and removed. However, this length-based criterion suffers several drawbacks: 1. A viable critical branch length c is difficult to determine. 2. Short structural branches (such as branch 1 in Figure 20.6) may be identified mistakenly as noise branches. 3. Long type-2 noise branches (e.g. branch 3 in Figure 20.6) cannot be detected and corrected. 3 3 3 333333 2 2 2 2 111 Figure 20.6 Three types of free branch of an elongated object: (1) a structural branch (branch 1); (2) a type-1 noise branch (branch 2); and (3) a type-2 noise branch (branch 3). 398 Topological Segmentation of Discrete Curve Skeletons In order to overcome these problems, we propose a new branch filtering procedure based on the thickness instead of the length of a branch. The definition of thickness associated with a skeleton voxel or a branch is given as follows: Definition 9: T he thickness of voxel p, denoted by tp, is the number of thinning iterations performed before p is determined as a skeleton voxel – see the definition of our thinning procedure in [1]. Accordingly, the thickness of branch L = p 1 p n , denoted by tL, is the averaged thickness of all voxels in L, i.e. tL = round n j=1 tp j /n +05. We notice that a noise branch usually starts off a short protrusion on the surface of the original object and then penetrates into the object until it collides with the geometrical midline (see Figure 20.6). We call a 26-connected subset N of a noise branch L a noise segment of L,ifN is composed only with skeleton voxels that are not located at the midline of the object. Accordingly, the subset S = L −N is called the structural segment of L. Note that a noise branch L may have two noise segments each starting with an end of L. Clearly, a type-1 noise branch has a void structural segment. We propose now a viable mathematical basis for detecting noise branches and determining the length of a noise segment. Let L =p 1 p m p n be a generic noise branch and the voxel sets p 1 p m and p m+1 p n denote the noise and structural segments of branch L, respectively. We make the following simplifying assumption on the architecture of branch L: 1. tp i+1 −tp i = 1 for i =1m−1. Therefore, 2. tp m = m+tp 1 −1, and 3. tp i = tp m for i = m +1n. On equating this assumed local thickness distribution of L with the average branch thickness, we obtain m +tp 1 −1!−tp 1 −1!+m +tp 1 −1 ×n −m = tL ×n (20.2) from which the length of the noise segment m can be determined. Since Equation (20.2) is nonlinear in m, a numerical solution procedure is required. For simplicity, we approximate Equation (20.2) as: m = tL+round n i=1 tL −tp i n +05−tp 1 +1 (20.3) where the second term is the adjustment of the branch thickness tL to compensate the variation induced by the nonuniform noise segment. For example, consider branch 3 in Figure 20.6. The local thickness tp associated with each voxel in branch 3 is 0 1 2 2 2 2 2 22 and tL =2. Applying Equation (20.3) we obtain m = 2 +1 −0 +1 = 4, while the approximate solution of Equation (20.2) yields m = 395. 4.2 Noise Segment Removal We now introduce our thickness-based branch filtering procedure, structured as follows: 1. Sequentially examine each free branch L = p 1 p n in the skeleton F. 2. Check each tip of L for the start of a noise segment. If voxel p 1 is a tip and tp 1 ≤ 025 ×tL, compute the length m using Equation (20.3) and remove a noise segment L =p 1 p m from L. Branch Filtering 399 Similarly, if p n is detected as a noise tip, a subset L = p m p n of L is selected as a noise segment, where m is given by: m = n−tL −round n i=1 tL −tp i n +05 +tp n (20.4) Removing the noise segment L involves the following steps: (a) Delete all branch nodes and branch tips in L . (b) Decrease f t p by one for any junction p in L . Based on the new value of f t p, the junction p is either deleted (if f t p = 0 or transformed into a tip or node (if f t p = 1. A change in the status of a junction p may affect the status of a branch containing p. Thus, a branch segmentation must be performed again after branch filtering is completed to properly register all skeleton voxels and branches. Figure 20.7 shows the effect of image noise on the thinning procedure. The resulting raw skeleton exhibits numerous type-1 and type-2 noise branches. As shown in Figure 20.8(a), the above branch filtering procedure effectively filters out both types of noise branch. However, local geometrical Figure 20.7 Raw skeleton resulting from a noisy input image. (a) 3D image of an artificial object with 20 % random noise; and (b) raw skeleton with spurious noise branches. Figure 20.8 Skeleton after branch filtering. (a) Voxel representation of the filtered skeleton; and (b) point representation showing significant noise distortion. 400 Topological Segmentation of Discrete Curve Skeletons distortions caused by image noise – clearly visible in Figure 20.8(b) – still need to be corrected. This problem is addressed in the next section. 5. Branch Smoothing 5.1 Polynomial Branch Representation Let L =x i y i z i i = 0n be the point representation of a skeleton branch, where x i y i z i are the global Cartesian coordinates of the centroid of a voxel p i in L. In order to derive the continuous structural orientation from L, we first need to construct an m-continuous m > 1 curve representation of the branch. This is usually done by constructing x, y and z as three independent m-continuous functions of a local variable r [24]: x = xA r y = yB rz = zC r (20.5) where A = a i i = 1m, B = b i i = 1mand C =c i i = 1mare parameters to be determined through either interpolation or data fitting of the centroidal coordinates of voxels in L. A common interpolation algorithm for geometric modeling with discrete data is the cubic piecewise spline interpolant [25]. Although cubic spline interpolation yields a robust curve representation, curve interpolation is in general not effective for data smoothing, since the inclusion of noise data within the control points of the interpolant leads to undesirable oscillatory curve behavior. Data fitting procedures, on the contrary, use the entire set of discrete data to project the trend rather than to simply build a curve that matches exactly the selected original points. Thus, data fitting is usually adopted when data smoothing is concerned. There are two basic approaches for curve fitting: fitting with piecewise base functions, e.g. B-splines [26], and fitting with global base functions, e.g. polynomials defined over the entire data range. The classical problem in curve fitting with noisy data is how to define the proper flexibility for the selected curve function, so that the fitted curve can adequately predict the trend of the original data, while sufficiently reducing the noise effects. While a piecewise fitting approach controls the curve flexibility by adjusting the number and locations of ‘knots’ bounding the piecewise base functions, a global fitting procedure achieves the same result by varying the order of the global base functions. Curve fitting with piecewise base functions involves lower order base functions and hence yields better numerical stability in the fitted function. However, the number and locations of ‘knots’ are difficult to define, unless a complex nonlinear fitting procedure is employed [26]. Global fitting is relatively simple and leads to a more compact parameter set, although it may suffer from severe numerical fluctuations when the order of the base functions becomes too high. In this work, we adopt the classical linear least squares fitting method [24] for modeling the raw skeleton. The branch functions in Equation (20.5) are rewritten as follows: xA r = m i=1 a i N i r yBr = m i=1 b i N i r zCr = m i=1 c i N i r (20.6) where N i i= 0m, are polynomial base functions. We use one-dimensional isoparametric finite element shape functions [27] as the base functions in order to control the numerical fluctuation in the x, y and z curves [28]. The normalized indices of the skeleton voxels are selected as the local coordinate r, with 0 <r<1. Thus, the local coordinate of voxel p j in branch L =p 0 p 1 p n is rp j = j/n. Branch Smoothing 401 5.2 Augmented Merit Functions With a standard least squares fitting method, the parameter sets A, B and C in Equation (20.6) can be computed by minimizing the following three merit independent functions: 1 A = n i=1 x i −xAr i 2 2 B = n i=1 y i −yBr i 2 (20.7) 3 C = n i=1 z i −zCr i 2 where n is the total number of voxels in a branch and r i is the local coordinate of voxel p i =px i y i z i . These standard merit functions are best suited for least squares data modeling with dense and evenly located discrete data. However, nonuniformity in skeleton voxel location and insufficient input data for a high-order polynomial fitting can lead to artificial fluctuations in the resulting curve. In order to solve this problem, we expand the above merit functions with additional controlling terms: 1 A = Q 1 A + n i=1 x i −xAr i 2 2 B = Q 2 B + n i=1 y i −yBr i 2 (20.8) 3 C = Q 3 C + n i=1 z i −zCr i 2 Q 1 Q 2 and Q 3 are stabilizing penalty functionals designed to impose smoothness in the fitted curve and are defined as: Q 1 A = 1 0 xA r r 2 + 2 xA r r 2 2 dr Q 2 B = 1 0 yB r r 2 + 2 yB r r 2 2 dr (20.9) Q 3 C = 1 0 zC r r 2 + 2 zC r r 2 2 dr where and are predefined weight coefficients. The functionals in Equation (20.9) are analogous to the strain energy of an elastic beam subjected to tension (the first term in the integral) and bending (the second term). Thus, the smoothing weight restricts large stretches in the fitted curve, while restricts excessive bending deformation. The larger the smoothing weights, the ‘stiffer’ the fitted curve will become (see Figure 20.9). The selection of smoothing weights is heuristic and problem dependent. Based on the classical beam theory, we set = 20×. Therefore, only one independent smoothing weight needs to be specified. The saddle points of each merit function–Equation (20.8)–are obtained through first-order differentiation with respect to the parameter sets A, B and C, respectively. For example, for the solution of parameters A, the condition 1 A/a i = 0 yields the set of linear algebraic equations t ij a j = f i for i = 1mand j =1m (20.10) 402 Topological Segmentation of Discrete Curve Skeletons 40 35 30 25 20 15 10 5 0 y 0 5 10 15 20 x original data alpha = 0.0 alpha = 0.001 alpha = 0.1 Figure 20.9 Polynomial curves fitted with various smoothing weights. where coefficients t ij and f i are given by: t ij = n k=1 N i r k N j r k + 1 0 N i r r N j r r + 2 N i r r 2 2 N j r r 2 dr f i = n k=1 x k N i r k (20.11) The linear system given above can be solved with a standard Gaussian elimination procedure [29]. Similarly, we compute the parameter sets B and C by solving respectively the linear systems obtained from 2 B/b i = 0 and 3 C/c i = 0. As shown in Figure 20.10, our global data modeling Figure 20.10 Superimposed smoothed skeletons for the object in Figure 20.7 obtained from an image with random noise (dashed black curve) and an image without noise (thick gray curve). Results 403 procedure produces a smooth and stable curve representation of the discrete skeleton and effectively corrects local distortions due to image noise. 6. Results We present the skeleton modeling results for two typical examples of trabecular biological tissue. Shown in Figure 20.11(a) and Figure 20.12(a) are the 3D binary images of trabeculated myocardial tissue in an HH21 chick embryonic heart, and trabecular bone tissue sampled from the human iliac crest, respectively. Figures 20.11(b) and 20.12(b) show the segmented and filtered discrete curve skeletons for the trabeculated myocardium and the trabecular bone. The relevant topological and geometrical Figure 20.11 Trabeculated myocardium specimen in an HH stage 21 chick embryo. (a) 3D binary image; and (b) computed raw curve skeleton (point representation). 404 Topological Segmentation of Discrete Curve Skeletons Figure 20.12 Trabecular bone specimen from a human iliac crest. (a) 3D binary image; and (b) computed raw curve skeleton (point representation). properties of the two skeletons are given in Table 20.1. The smoothing weight for the data modeling of a branch is determined with the following heuristic formula: = 10 −4 ×m/n trabeculated myocardium 10 −3 ×m/n trabecular bone (20.12) where m is the order of polynomial curve function and n is the total number of skeleton voxels in a branch. The smoothed polynomial curve representations of the discrete skeletons are shown in Figure 20.13(a) and Figure 20.13(b). [...]... Graphics and Image Processing, 56, pp 462–478, 199 4 [13] Kong, T Y and Rosenfeld, A “Digital Topology: Introduction and survey,” Computer Vision, Graphics and Image Processing, 48, pp 357– 393 , 198 9 [14] Saha, P K and Chaudhuri, B B “3D digital topology under binary transformation with applications, ” Computer Vision and Image Understanding, 63, pp 418–4 29, 199 6 [15] Ahmed, P., Goyal, P., Narayanan, T S and. .. curves,” Pattern Recognition, 33, pp 755–765, 2000 [22] Saha, P K., Chaudhuri, B B and Majumder, D D “A New Shape Preserving Parallel Thinning Algorithm for 3D Digital Images,” Pattern Recognition, 30, pp 193 9– 195 5, 199 7 [23] Bertrand, G “Simple points, topological numbers and geodesic neighborhoods in cubic grids,” Pattern Recognition Letter, 15, pp 1003–1011, 199 4 [24] Yakowitz, S and Szidarovszky,... Graphics and Image Processing, 27, pp 78 91 , 198 4 [4] Leboucher, L., Irinopoulou, T and Hazout, S “Gray-tone skeletons of elongated objects using the concept of morphological automation: Application to images of DNA molecules,” Pattern Recognition Letters, 15, pp 3 09 315, 199 4 [5] Ma, C M and Sonka, M “A fully parallel 3D thinning algorithm and its applications, ” Computer Vision and Image Understanding,... ischemia in the dog,” Journal of Biomechanics, 26, pp 19 35, 199 3 [ 29] Press, W H., Teukolsky, S A., Vellerling, W T and Flannery, B P Numerical recipes in C, Cambridge University Press, Cambridge, UK, 199 2 [30] Borgefors, G., Nystrom, I and Baja, G S “Computing skeletons in three dimensions,” Pattern Recognition, 32, pp 1225–1236, 199 9 [31] Saha, P K and Chaudhuri, B B “Detection of 3-D simple points... tracing,” Computer Vision, Graphics and Image Processing, 17, pp 130–144, 198 1 [ 19] Davies, E R and Plummer, A P N “Thinning algorithms: A critique and a new methodology,” Pattern Recognition, 14, pp 53–63, 198 1 [20] Abdullah, W H., Saleh, A O M and Morad, A H “A preprocessing algorithm for handwritten character recognition, ” Pattern Recognition Letter, 7, pp 13–18, 198 8 [21] Bribiesca, E “A chain code... Image-based Global FE Mesh Construction and Model Calibration,” ASME-BED Proceedings of 2003 Summer Bioengineering Conference, Key Biscayne, FL, pp 1 091 –1 092 , 2003 [11] Malandain, G., Betrand, G and Ayache, N “Topological segmentation of discrete surfaces,” International Journal of Computer Vision, 10, pp 183– 197 , 199 3 References 4 09 [12] Lee, T C., Kashyap, R L and Chu, C N “Building skeleton models... 420–433, 199 6 [6] Sedmera, D., Pexieder, T., Vuillemin, M., Thompson, R P and Anderson, R H “Developmental patterning of the myocardium,” Anatomical Record, 258, pp 3 19 337, 2000 [7] Hollister, S J., Brennan, J M and Kikuchi, N “A homogenization sampling procedure for calculating trabecular bone effective stiffness and tissue level stress,” Journal of Biomechanics, 27, pp 433–444, 199 4 [8] Taber L A and. .. an image labeling machine,” Pattern Recognition Letter, 7, pp 273–278, 198 8 [16] Ronse, C and Devijver, P A Connected Components in Binary Images: the Detection Problem, John Wiley & Sons, Inc., New York, 198 4 [17] Thanisch, P., McNally, B V and Robin, A “Linear time algorithm for finding a picture’s connected components,” Image and Vision Computing, 2, pp 191 – 197 , 198 4 [18] Arcelli, C “Pattern thinning... Numerical Computations, Macmillan, New York, 198 9 [25] Schumaker, L L Spline Functions: Basic Theory, John Wiley & Sons, Inc., New York, 198 1 [26] Dierckx, P Curve and Surface Fitting with Splines, Oxford University Press, Oxford, 199 3 [27] Bathe, K J Finite Element Procedures, Prentice Hall, Englewood Cliffs, NJ, 199 6 [28] Hashima, A R., Young, A A., McCulloch, A D and Waldman, L K “Nonhomogeneous analysis... R01 46367 and R01 HL64347-02 References [1] Xie, W., Thompson R and Perucchio, R “A topology-preserving parallel 3D thinning algorithm for extracting the curve skeleton,” Pattern Recognition, 36, pp 15 29 1544, 2003 [2] Chatzis, V and Pitas, I “Interpolation of 3-D binary images based on morphological skeletonization,” IEEE Transactions on Medical Imaging, 19, pp 699 –710, 2000 [3] Hafford, K J and Preston, . pp. 193 9– 195 5, 199 7. [23] Bertrand, G. “Simple points, topological numbers and geodesic neighborhoods in cubic grids,” Pattern Recognition Letter, 15, pp. 1003–1011, 199 4. [24] Yakowitz, S. and. 462–478, 199 4. [13] Kong, T. Y. and Rosenfeld, A. “Digital Topology: Introduction and survey,” Computer Vision, Graphics and Image Processing, 48, pp. 357– 393 , 198 9. [14] Saha, P. K. and Chaudhuri,. molecules,” Pattern Recognition Letters, 15, pp. 3 09 315, 199 4. [5] Ma, C. M. and Sonka, M. “A fully parallel 3D thinning algorithm and its applications, ” Computer Vision and Image Understanding, 64,