CSE554SkeletonsSlide 1 CSE 554 Lecture 2: Shape Analysis (Part I) Fall 2015

Embed Size (px)

Citation preview

  • Slide 1

CSE554SkeletonsSlide 1 CSE 554 Lecture 2: Shape Analysis (Part I) Fall 2015 Slide 2 CSE554SkeletonsSlide 2 Review Binary pictures Tresholding grayscale images Basic operations Connected component labeling Morphological operators Slide 3 CSE554SkeletonsSlide 3 Shape analysis Questions about shapes: Metrics: length? Width? orientation? What are the parts? How similar are two shapes? Microtubules on the cell surface Sperms of fruit fliesCerebral artery aneurysms Monkey skulls Slide 4 CSE554SkeletonsSlide 4 Skeletons Geometry at the center of the object Compact, and capturing protruding shape parts Skeleton of 2D shapes: 1D curves Skeleton of 3D shapes: 1D curves and 2D surfaces Slide 5 CSE554SkeletonsSlide 5 Applications Computer graphics and vision Optical character recognition (a) Shape retrieval (b) Animating articulated shapes (c) Bio-medical image analysis Vessel network analysis (d) Virtual colonoscopy (e) Protein modeling (f) (d) (b)(c) (e)(f) (a) Slide 6 CSE554SkeletonsSlide 6 Medial Axes (MA) Interior points with multiple closest points on the boundary Object MA Slide 7 CSE554SkeletonsSlide 7 Medial Axes (MA) Properties Thin MA are curves (1D) in a 2D object, and surfaces (2D) in a 3D object. 2D MA 3D MA Slide 8 CSE554SkeletonsSlide 8 Medial Axes (MA) Properties Preserves objects shape The object can be reconstructed from MA and its distances to the boundary Slide 9 CSE554SkeletonsSlide 9 Medial Axes (MA) Properties Preserves objects topology 2D: # of connected components of object and background 3D: # of connected components of object and background, and # of tunnels A 2D shape with 1 object component and 2 background components A 3D shape with 5 tunnels Slide 10 CSE554SkeletonsSlide 10 Medial Axes (MA) Properties Not stable under boundary perturbation Slide 11 CSE554SkeletonsSlide 11 Skeletons Approximation of medial axes Roughly corresponds to the stable parts of the medial axes No unique or precise definition (e.g., application dependent) Slide 12 CSE554SkeletonsSlide 12 Computing Skeletons A classical method: thinning Relatively simple to implement Can create curve skeletons in 2D and curve or surface skeletons in 3D What we will cover: Thinning on binary pictures (this lecture) Thinning on cell complexes (next lecture) Slide 13 CSE554SkeletonsSlide 13 Medial Axes (MA) Grassfire analogy: Let the object represent a field of grass. A fire starts at the field boundary, and burns across the field at uniform speed. MA are where the fire fronts meet. Object MA Slide 14 CSE554SkeletonsSlide 14 Medial Axes (MA) Grassfire analogy: Let the object represent a field of grass. A fire starts at the field boundary, and burns across the field at uniform speed. MA are where the fire fronts meet. Slide 15 CSE554SkeletonsSlide 15 2D Thinning Iterative process that reduces a binary picture to a skeleton Simulating the grassfire burning that defines MA Thinning on a binary picture Slide 16 CSE554SkeletonsSlide 16 2D Thinning Iterative process that reduces a binary picture to a skeleton Simulating the grassfire burning that defines MA Thinning on a binary picture Slide 17 CSE554SkeletonsSlide 17 2D Thinning Iterative erosion will remove all pixels We need to retain important pixels, where different erosion fronts meet Thinning on a binary picture Slide 18 CSE554SkeletonsSlide 18 2D Thinning Iteratively remove pixels on the object border Protecting end pixels or interior pixels End pixel Interior pixel Slide 19 CSE554SkeletonsSlide 19 2D Thinning Iteratively remove pixels on the object border Protecting end pixels or interior pixels End pixel Interior pixel Slide 20 CSE554SkeletonsSlide 20 2D Thinning Border pixels Pixels lying on the border of the object To be considered for removal at each thinning iteration Slide 21 CSE554SkeletonsSlide 21 2D Thinning Border pixels criteria Object pixel p is on the border if and only if p is connected to some background pixel A border pixel and its 8-connected background pixels b Slide 22 CSE554SkeletonsSlide 22 2D Thinning Border pixels criteria Object pixel p is on the border if and only if p is connected to some background pixel bbb bbb bbb b Border pixels for 8-connectivity Slide 23 CSE554SkeletonsSlide 23 2D Thinning Border pixels criteria Object pixel p is on the border if and only if p is connected to some background pixel Pick a connectivity rule and stay with it! bb bbb bbb b Border pixels for 4-connectivity bbb bbb bbb b Border pixels for 8-connectivity Slide 24 CSE554SkeletonsSlide 24 2D Thinning Curve-end pixels Object pixels lying at the ends of curves, whose removal would shrink the skeleton (and hence losing shape information). c Curve-end pixel Slide 25 CSE554SkeletonsSlide 25 2D Thinning Curve-end pixels criteria Object pixel c is a curve-end pixel if and only if c is connected to exactly one object pixel. c Curve-end pixel and its connected pixel Slide 26 CSE554SkeletonsSlide 26 2D Thinning Simple pixels Object pixels whose removal from the object does not change topology (i.e., # of components of object and background) 123 4 O:1 B:1 (using 8-connectivity for object, 4-connectivity for background) O:1 B:1 Simple! O:2 B:1 O:1 B:2O:1 B:1 1 2 3 4 Slide 27 CSE554SkeletonsSlide 27 2D Thinning Simple pixels criteria Object pixel p is simple if and only if setting p to background does not change the # of components of either the object or background in the 3x3 neighborhood of p. 11 O:1 B:1 22 O:1 B:2O:2 B:1 O:1 B:2O:1 B:3O:1 B:1 33 44 123 4 (using 8-connectivity for object, 4-connectivity for background) Simple! Slide 28 CSE554SkeletonsSlide 28 2D Thinning Simple pixels criteria Object pixel p is simple if and only if setting p to background does not change the # of components of either the object or background in the 3x3 neighborhood of p. s sss sss s All simple pixels Slide 29 CSE554SkeletonsSlide 29 2D Thinning Putting together: Removable pixels Border pixels that are simple and not curve-end s sss sss s c bbb bbb bbb b Border pixelsSimple pixelsCurve-end pixels Removal pixels (8-conn for object) Slide 30 CSE554SkeletonsSlide 30 2D Thinning Algorithm (attempt) 1 Simultaneous removal of all removable points (Parallel thinning) // Parallel thinning on a binary image I 1.Repeat: 1.Collect all removable pixels as S 2.If S is empty, Break. 3.Set all pixels in S to be background in I 2.Output I Slide 31 CSE554SkeletonsSlide 31 2D Thinning Algorithm (attempt) 1 Simultaneous removal of all removable points (Parallel thinning) Slide 32 CSE554SkeletonsSlide 32 2D Thinning Why does parallel thinning breaks topology? Simple pixels, when removed together, may change topology ssss ssss Slide 33 CSE554SkeletonsSlide 33 2D Thinning Algorithm 2 Sequentially visit each removable pixel and check its simple-ness before removing the pixel. (Serial Thinning) // Serial thinning on a binary image I 1.Repeat: 1.Collect all border pixels as S 2.If S is empty, Break. 3.Repeat for each pixel x in S (in certain order): 1.If x is simple and not curve-end, set x to be background in I 2.Output I Slide 34 CSE554SkeletonsSlide 34 2D Thinning Algorithm 2 Sequentially visit each removable pixel and check its simple-ness before removing the pixel. (Serial Thinning) Serial thinning Slide 35 CSE554SkeletonsSlide 35 2D Thinning Algorithm 2 Sequentially visit each removable pixel and check its simple-ness before removing the pixel. (Serial Thinning) Result is affected by the visiting sequence Serial thinning with two different visiting sequences of removable pixels Slide 36 CSE554SkeletonsSlide 36 3D Thinning Identifying removable voxels Border voxels Similar to 2D: object voxels connected to at least one background voxel Simple voxels Harder to characterize than 2D: Maintaining # of connected components is not sufficient (need to consider # of tunnels too) Curve-end and surface-end voxels Curve-end criteria same as in 2D Surface-end criteria are much harder to describe (e.g., requires a table look-up) x Setting voxel x to background creates a tunnel in the object (using 26-conn for object) Slide 37 CSE554SkeletonsSlide 37 3D Thinning Two kinds of skeletons Curve skeletons: only curve-end voxels are preserved during thinning Surface skeletons: both curve-end and surface-end voxels are preserved (see further readings) Method of [Palagyi and Kuba, 1999] Object Curve skeleton Surface skeleton Slide 38 CSE554SkeletonsSlide 38 Skeleton Pruning Thinning is sensitive to boundary noise Due to the instability of medial axes Skeleton pruning During thinning E.g., using more selective criteria for end pixels (voxels) After thinning E.g., based on branch length See Further Readings Object with boundary noise Resulting skeleton Slide 39 CSE554SkeletonsSlide 39 Further Readings on: Binary Pictures, MA and Thinning Books Digital Geometry: geometric methods for digital picture analysis, by Klette and Rosenfeld (2004) Medial representations: mathematics, algorithms and applications, by Siddiqi and Pizer (2008) Papers Digital topology: introduction and survey, by Kong and Rosenfeld (1989) Theories of binary pictures Thinning methodologies - a comprehensive survey, by Lam et al. (1992) A survey of 2D methods A Parallel 3D 12-Subiteration Thinning Algorithm, by Palagyi and Kuba (1999) Includes a good survey of 3D thinning methods Pruning medial axes, by Shaked and Bruckstein (1998) A survey of MA and skeleton pruning methods