CSE 554 Lecture 3: Shape Analysis (Part II)

Slides:



Advertisements
Similar presentations
CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.
Advertisements

CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Shape Analysis (Part II) Fall 2014.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Characteristics of 3-D Shapes
Extended Gaussian Images
A Simple and Robust Thinning Algorithm on Cell Complexes
Dual Marching Cubes: An Overview
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
1 Lecture 4 Graphical primitives Rasterization: algorithmic approach Rasterization: geometric approach 2D discrete lines, triangles Discrete planes 3D.
E.G.M. PetrakisBinary Image Processing1 Binary Image Analysis Segmentation produces homogenous regions –each region has uniform gray-level –each region.
3D Thinning on Cell Complexes for Computing Curve and Surface Skeletons Lu Liu Advisor: Tao Ju Master Thesis Defense Dec 18 th, 2008.
Focus on Can you spell each word correctly ?
CSE554Binary PicturesSlide 1 CSE 554 Lecture 1: Binary Pictures Fall 2013.
CSE554Binary PicturesSlide 1 CSE 554 Lecture 1: Binary Pictures Fall 2014.
Spatial data models (types)
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Geometry The strand of math that deals with measurement and comparing figures, both plane and solid .
Attributes A quality that is characteristic of someone or something.
Two- and Three- Dimensional Figures
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
Geometric Perspectives. Everything has a name… Face Corner (Vertex) Edges.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Digital Image Processing Lecture 20: Representation & Description
Cubes, Prisms, Pyramids, Cylinders, Cones and Spheres
3-DIMENSIONAL FIGURES WHAT ARE THEY? 3-Dimentional figures are shapes that have height, length, and depth.
CSE554SkeletonsSlide 1 CSE 554 Lecture 2: Shape Analysis (Part I) Fall 2015.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
What are these shapes? squarecircletrianglerectangle How many sides do each have? How many points do each have?
9 of 18 Introduction to medial axis transforms and their computation Outline DefinitionsMAS PropertiesMAS CAD modelsTJC The challenges for computingTJC.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Attributes A quality that is characteristic of someone or something.
Polygons and Solids. Helix - Volume or solid of spiral shape that turns at a constant angle. cylinder -Volume or solid generated by the rotation.
Machine Vision ENT 273 Regions and Segmentation in Images Hema C.R. Lecture 4.
1 Overview representing region in 2 ways in terms of its external characteristics (its boundary)  focus on shape characteristics in terms of its internal.
2-D and 3-D Figures Riddle Game.
Course 3 Binary Image Binary Images have only two gray levels: “1” and “0”, i.e., black / white. —— save memory —— fast processing —— many features of.
Chapter 6 Skeleton & Morphological Operation. Image Processing for Pattern Recognition Feature Extraction Acquisition Preprocessing Classification Post.
Francis González Shapes: 2 Dimensions Figures Rectangle, Square, Triangle, Circle, Arch 3 Dimensions Figures Cube, Pyramid, Sphere, Cylinder.
Unit 4D:2-3 Dimensional Shapes LT5: I can identify three-dimensional figures. LT6: I can calculate the volume of a cube. LT7: I can calculate the surface.
Fractals.
Chapter 10 Geometry Part 1. 1.Polygons on a Coordinate Grid 2.Nets of Polyhedrons 3.Surface Area of Polyhedrons 4.Surface Area Continued 5.Spring Break.
Sphere – any round object whose curved surface is the same distance to the center as all of its points.
April 21, 2016Introduction to Artificial Intelligence Lecture 22: Computer Vision II 1 Canny Edge Detector The Canny edge detector is a good approximation.
Hough Transform Elegant method for direct object recognition
Machine Vision ENT 273 Lecture 4 Hema C.R.
CSE 554 Lecture 2: Shape Analysis (Part I)
Image Representation and Description – Representation Schemes
Cubes in a Skeleton Cuboid
CSE 554 Lecture 1: Binary Pictures
Digital Image Processing Lecture 20: Representation & Description
Unit 11: 3-Dimensional Geometry
Mean Shift Segmentation
Computer Vision Lecture 12: Image Segmentation II
Fitting Curve Models to Edges
Computer Vision Lecture 9: Edge Detection II
Unit 11: 3-Dimensional Geometry
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Binary Image processing بهمن 92
Geometric Solids All bounded three-dimensional geometric figures. Examples: Sphere, Cylinders, Cubes, Cones, Pyramids, and Prisms.
From Voxels to 3D Uri Mike.
Geometric Solids All bounded three-dimensional geometric figures. Examples: Sphere, Cylinders, Cubes, Cones, Pyramids, and Prisms.
Morphological Image Processing
Unstructured grid: an introduction
Collision Detection.
CS654: Digital Image Analysis
Unit 4 Vocabulary Coordinate Plane: A plane, also called a coordinate grid or coordinate system, in which a horizontal number line and a vertical.
Lecture 5: Triangulations & simplicial complexes (and cell complexes).
Presentation transcript:

CSE 554 Lecture 3: Shape Analysis (Part II) Fall 2016

Review Skeletons Centered curves/surfaces Useful for shape analysis Approximations of medial axes Useful for shape analysis 2D skeletons 3D surface and curve skeletons

Review Thinning on binary pictures Removable pixels (voxels) Whose removal does not alter the object’s shape or topology Border, Simple, and not curve-end Strategies Parallel thinning: topology is lost Serial thinning: topology is preserved But result depends on pixel order Removal pixels Thinning

Review Issues (with thinning on a binary picture) Difficult to write a 3D thinning algorithm E.g., simple voxel criteria, surface-end voxel criteria Skeletons can be noisy Requires pruning x

This lecture… Thinning on a cell complex One algorithm that works for shapes in any dimensions (2D, 3D, etc.) Integrates pruning with thinning

Cells Geometric elements with simple topology k-cell: an element at dimension k 0-cell: point 1-cell: line segment, curve segment, … 2-cell: triangle, quad, … 3-cell: cube, tetrahedra, … Formally: A k-cell can be continuously deformed to a k-D ball 0-D ball: point 1-D ball: edge 2-D ball: disk 3-D ball: sphere 0-cell 1-cell 2-cell 3-cell Not a 2-cell Not a 3-cell

Cells The boundary of a k-cell (k>0) has dimension k-1 Examples: A 1-cell is bounded by two 0-D points A 2-cell is bounded by a 1-D curve A 3-cell is bounded by a 2-D surface 0-cell 1-cell 2-cell 3-cell (boundary is colored blue)

Cell Complex Union of cells and cells on their boundaries The formal name is CW (closure-finite, weak-topology) Complex Precise definition can be found in algebraic topology books 1 1 2 1 1

Cell Complex Are these cell complexes? (this edge is not bounded) (the triangle is not bounded)

Example Cell Complexes Polyline (0-,1-cells) Triangulated polygon (0-,1-, 2-cells) Triangular mesh (0-,1-, 2-cells) Tetrahedral volume (0-,1-, 2-, 3-cells)

Cell Complex from Binary Pic Representing the object as a cell complex Approach 1: create a 2-cell (3-cell) for each object pixel (voxel), and add all boundary cells Reproducing 8-connectivity in 2D and 26-connectivity in 3D

Cell Complex from Binary Pic Representing the object as a cell complex Approach 2: create a 0-cell for each object pixel (voxel), and connect them to form higher dimensional cells. Reproducing 4-connectivity in 2D and 6-connectivity in 3D

Algorithm: Approach 1 2D: 3D: For each object pixel, create a 2-cell (square), four 1-cells (edges), and four 0- cells (points). 3D: For each object voxel, create a 3-cell (cube), six 2-cells (squares), twelve 1-cells (edges), and eight 0-cells (points). Challenge: avoid creating duplicated cells

Algorithm: Approach 1 Avoid duplicates Use a data structure to keep track of the index of cells (initially zero). Look up this array before creating a new cell, and update the array if a new cell is created Index of 1-cell Index of 2-cell Index of 0-cell All indices occupy a (2n-1)*(2n-1) grid!

Algorithm: Approach 1 Index of 2-cell Index of 1-cell Index of 0-cell Index of 2-cell Index of 1-cell Index of 0-cell 1 4 3 2 1 2 4 7 3 6 5

Algorithm: Approach 2 2D: 3D: Create a 0-cell at each object pixel, a 1-cell for two object pixels sharing a common edge, and a 2-cell for four object pixels sharing a common point 3D: Create a 0-cell at each object voxel, a 1-cell for two object voxels sharing a common face, a 2-cell for four object voxels sharing a common edge, and a 3- cell for eight object voxels sharing a common point Same strategy as in Approach 1 for storing cell indices

Thinning on Binary Pictures Remove simple pixels (voxels) Whose removal does not affect topology Protect end pixels (voxels) of skeleton curves and surfaces To prevent shrinking of skeleton

Thinning on Cell Complexes Remove simple pairs Whose removal does not affect topology Protect medial cells To prevent shrinking of skeleton To prune noise Advantages: Easy to detect in 2D and 3D (same code) Robust to noise

Simple Pairs How can we remove cells from a complex without changing its topology?

Simple Pairs Definition A pair {x, y} such that y is on the boundary of x, and there is no other cell in the complex with y on its boundary. y {x,y} is not a simple pair y x x {x, y} is a simple pair

Simple Pairs Definition A pair {x, y} such that y is on the boundary of x, and there is no other cell in the complex with y on its boundary. x y {x,y} is a simple pair y x {x, y} is a simple pair

Simple Pairs Definition A pair {x, y} such that y is on the boundary of x, and there is no other cell in the complex with y on its boundary. In a simple pair, x is called a simple cell, and y is called the witness of x. A simple cell can pair up with different witnesses x y {x,y} is a simple pair y y x y {x, y} is a simple pair

Simple Pairs Removing a simple pair does not change topology True even when multiple simple pairs are removed together As long as the pairs are disjoint “Almost” parallel thinning x y x y x y x y x1 y1 x2 y2

Exhaustive Thinning Removing all simple pairs in parallel at each iteration Only the topology of the cell complex is preserved If a simple cell has multiple witnesses, an arbitrary choice is made // Exhaustive thinning on a cell complex C Repeat: Let S be all disjoint simple pairs in C If S is empty, Break. Remove all cells in S from C Output C

Exhaustive Thinning Removing all simple pairs in parallel at each iteration Only the topology of the cell complex is preserved 2D example

Exhaustive Thinning Removing all simple pairs in parallel at each iteration Only the topology of the cell complex is preserved 3D example

Exhaustive Thinning Removing all simple pairs in parallel at each iteration Only the topology of the cell complex is preserved A more interesting 2D shape

Exhaustive Thinning Removing all simple pairs in parallel at each iteration Only the topology of the cell complex is preserved A 3D shape

Medial Cells (2D) “Meaningful” skeleton edges survive longer during thinning

Medial Cells (3D) “Meaningful” skeleton edges and faces survive longer during thinning

Isolated cells A cell x is isolated if it is not on the boundary of other cells A k-dimensional skeleton is made up of isolated k-cells Isolated cells are colored

Medial Cells (2D) Isolation iteration (I(x)): # thinning iterations before cell is isolated Measures “thickness” of shape Removal iteration (R(x)): # thinning iterations before cell is removed Measures “length” of shape I R 35

Medial Cells (2D) Medial-ness: difference between R(x) and I(x) I R A greater difference means the shape around x is more tubular I R 35

Medial Cells (2D) Medial-ness: difference between R(x) and I(x) A greater difference means the shape around x is more tubular Absolute: R-I Relative: (R-I)/R 35 1

Medial Cells (3D) For a 2-cell x that is isolated during thinning: I(x), R(x) measures the “thickness” and “width” of shape A greater difference means the local shape is more “plate-like” I R R-I: 15 1-I/R: 1

Medial Cells (3D) For a 1-cell x that is isolated during thinning: I(x), R(x) measures the “width” and “length” of shape A greater difference means the local shape is more “tubular” I R R-I: 30 1-I/R: 1

Medial Cells and Thinning A cell x is a medial cell if it is isolated and the difference between R(x) and I(x) exceeds given thresholds A pair of absolute/relative difference thresholds is needed for medial cells at each dimension 2D: thresholds for medial 1-cells t1abs, t1rel 3D: thresholds for both medial 1-cells and 2-cells t2abs, t2rel Thinning: removing simple pairs that are not medial cells Note: only need to check the simple cell in a pair (the witness is never isolated)

Thinning Algorithm (2D) // Thinning on a 2D cell complex C // Thresholds t1abs and t1rel for medial 1-cells k = 1 For all x in C, set I(x) be 0 if x is isolated, NULL otherwise Repeat and increment k: Let S be all disjoint simple pairs in C Repeat for each pair {x,y} in S: If x is 1-cell and ( k-I(x)>t1abs and 1-I(x)/k>t1rel ), exclude {x,y} from S. If S is empty, Break. Remove all cells in S from C Set I(x) be k for newly isolated cells x in C Output C Current iteration

Thinning Algorithm (3D) // Thinning on a 3D cell complex C // Thresholds t1abs and t1rel for medial 1-cells // Thresholds t2abs and t2rel for medial 2-cells k = 1 For all x in C, set I(x) be 0 if x is isolated, NULL otherwise Repeat and increment k: Let S be all disjoint simple pairs in C Repeat for each pair {x,y} in S: If x is 1-cell and ( k-I(x)>t1abs and 1-I(x)/k>t1rel ), exclude {x,y} from S. If x is 2-cell and ( k-I(x)>t2abs and 1-I(x)/k>t2rel ), exclude {x,y} from S. If S is empty, Break. Remove all cells in S from C Set I(x) be k for newly isolated cells x in C Output C Current iteration

Choosing Thresholds Higher thresholds result in smaller skeleton Threshold the absolute difference at ∞ will generally purge all cells at that dimension Except those for keeping the topology Absolute threshold has more impact on features at small scales (e.g., noise) Relative threshold has more impact on rounded features (e.g., blunt corners) Skeletons computed at threshold t1abs= ∞

t1rel= 0.5 t1rel= 0.6 t1rel= 0.7 t1rel= 0.8 T1abs = 1 T1abs = 3 T1abs = 5 T1abs = 7

More Examples 2D t1abs= ∞ t1rel= 1 t1abs= 4 t1rel= .4

More Examples 3D t1abs=∞ t2abs=∞ t1abs=4 t2abs=∞ t1rel=1 t2rel=1

More Examples 3D t1abs=∞ t1abs=5 t1rel=1 t1rel=.4 t2abs=∞ t2abs=∞