Binary Image Skeleton Representation by Compound Bezier Curves

Size: px
Start display at page:

Download "Binary Image Skeleton Representation by Compound Bezier Curves"

Transcription

1 Binary Image Skeleton Representation by Compound Bezier Curves Leonid Mestetskiy Department of Computational Mathematics and Cybernetics Moscow State University, Russia

2 1 Introduction: Skeleton of Binary Image vs. Binary Image of Skeleton Skeleton (or medial axis representation) is a powerful and widely used tool for image shape analysis. Methods based on the computation of object s skeleton are commonly used in pattern recognition and images shape classification. Skeleton or middle axis of the object is an important descriptor of the image shape. Skeletons are used to feature generation for determine the similarity measures of various shapes in the construction of classifiers. Originally, the concept of skeleton was denoted for continuous objects: the skeleton of a closed region in Euclidean plane is a locus of centers of maximum empty circles in this region. The circle is considered to be empty if all its internal points are internal points of the region. The concept of the skeleton (the middle set of points) was introduced and investigated by Blum (Blum, 1967). He gave a geometric definition of the skeleton of two-dimensional object, investigated its geometric properties, and demonstrated its usefulness for shape description and shape analysis. However, this concept became the most popular in shape analysis and classification of discrete bitmap digital images. Therefore, the need to generalize the concept of the skeleton for discrete images was raised. In principle, we can formulate two approaches to extend the concept of the skeleton to discrete images. The first approach, which is the most popular because of ease of implementation, will be called discrete. It consists in a morphological transformation of the original image (Figure 1a) and construction new image (Figure 1b), which can be regarded as a skeleton. In this new bitmap medial axis represented by discrete lines one pixel wide. We can say that the resulting image is a digital image of the skeleton. The discrete approach is implemented in different ways: based on distance maps, thinning, Voronoi diagrams of boundary points (Siddiqi & Pizer, 2008; Costa & Cesar, 2001).!! (a) (b) (c) (d) Figure 1: (a) the discrete binary image, (b) the discrete skeleton, (c) the continuous binary image, (d) the continuous skeleton and inscribed circles. Another approach, which we call continuous, is based on the approximation of a discrete object by the geometrical figure in terms of a continuous geometry (Figure 1c) and the construction of the skeleton!

3 for this figure (Figure 1d). The resulting skeleton is considered as a continuous skeleton of discrete objects. Both approaches have their advantages and disadvantages. The main advantage of the discrete approach is the simplicity of the algorithm and a graphic visualization of the skeleton in the source raster format (Figure 1а and b). A continuous approach has its advantages. The main advantage of the approach is the continuous medial representation of the object's shape (Siddiqi & Pizer, 2008) as a geometrical graph with a radial function, which determines the width of the object. Radial function sets at each point of the geometrical graph radius of the inscribed circle centered at this point. Continuous medial representation allows the use of graph theory and computational geometry algorithms for image shape analysis and recognition. It is well known that the topological structure of the skeleton is very sensitive to any changes in the boundaries of shape, in particular, to noise in the image. Therefore, all skeletonization algorithms, both discrete and continuous need special post-processing (pruning) to eliminate the effects of noise in the resulting skeleton. Pruning discrete skeleton is based on heuristic criteria. But pruning of a continuous skeleton is based on a rigorous formal criteria and methods. Another advantage of the continuous approach is its higher computational efficiency. Experiments show that the computation of the continuous skeleton is significantly lower than the discrete skeleton, even taking into account the fact that the discrete approach is more suited to parallel computing. Comparative analysis shows the advantages of continuous skeleton compared to discrete. These advantages are mathematical rigor, information content and computational efficiency. But to realize these benefits, we need a continuous model of a binary image, which allows us to apply well-developed ideas of computational geometry to skeletonization. This article focuses on the development and use of this model. We offer essentially the first complete solution of this problem, implemented and tested in practice. This paper describes the full implementation of the continuous approach to the skeleton construction for binary raster images of any complexity. We propose an original method for continuous skeleton representation as a planar graph whose edges are segments of straight lines and quadratic parabolas. In conclusion, the theoretical and experimental estimates of the computational complexity of the developed approach are presented. The main problem of the continuous approach is the complexity of its implementation. This chapter of the book is based on the studies described in papers and books (Mestetskiy, 2006, 2007, 2008, 2009, 2010). The author thanks the Russian Foundation for Basic Research for the support on this study. 2 Concept of Continuous Skeleton of Binary Image The aim of the concept of continuous skeleton for raster binary image is to use the correct and elegant model of Voronoi diagram of line segments and polygonal figures to obtain the skeleton of a discrete object. Such application should ensure that, firstly, the correct definition of the skeleton for this object, and secondly, to enable highly efficient use of computational geometry algorithms for obtaining the skeleton. The proposed idea consists of three parts (Figure 2): Approximation of binary images (Figure 2a) by polygonal figures (Figure 2b);

4 Construction of Voronoi diagram of obtained set of figures by methods of computational geometry (Figure 2c); Obtaining the skeleton from the Voronoi diagram in a convenient format for further analysis (Figure 2d). (a) (b) (c) (d) Figure 2: (a) source binary image, (b) polygonal approximation, (c) medial representation of the polygon, (d) resultant skeleton after pruning The choice of a polygonal figure for the approximation is explained by the fact that the skeleton of a polygonal figure is a fairly simple structure and can be obtained from the Voronoi diagram of this figure. There are well developed methods of computational geometry that can be used for the construction of such a diagram. On the other hand, using a polygonal approximation raises the question of removing "noisy" branches of the skeleton. The implementation of this approach required solving of several complex problems. 1. The correct approximation of the binary bitmap by polygonal figures. By correctness we mean the construction of such figures, whose boundaries are described by simple polygons that do not intersect each other and have no self-intersections. This problem is solved by the algorithm described in Section Obtaining Voronoi diagrams for polygonal figures. It is possible to use known algorithms for this purpose. However, these algorithms work effectively with a simply-connected figures (without holes). But for complex scenes consisting of a large number of multiply connected elements, they require too much time for computation. Our proposed algorithm is effective for just such scenes. It is based on the construction of the dual graph of Voronoi diagram, the so-called Delaunay graph. This algorithm is described in Section 4, paragraphs Regularization of the skeleton based on the pruning. Regularization is necessary because the approximation of the bitmap image by polygonal figures with a given accuracy is not unique. But the skeleton that we want should be invariant to this approximation. Therefore, we must distinguish a normal part of the Voronoi diagram of a polygonal shape, which in some form is present in any variant of approximation. This problem occurs in both discrete and continuous approach. It is solved by cutting of some skeleton branches. A continuous approach allows us to perform this cutting on the basis of a mathematically rigorous formal criterion. The resulting subgraph of the Voronoi diagram is called the skeleton base. The principles of its construction are described in Section 4.4.

5 4. The transformation of the skeleton in the format of the compound Bezier curve. The skeleton of a polygonal figure is a geometrical graph whose edges are described by straight line segments and quadratic parabola. The data structure describing a graph is very complicated. The proposed method for representing parabolic segments of the skeleton graph by quadratic Bezier curves allows us to simplify this data structure. As a result, the skeleton is described by means of a planar rectilinear graph. This solution is described in Section 5. The general scheme of the algorithm that implements the approach described is shown in Figure 3. Binary bitmap image <44,#=*8(1*#'!#)!15-9*0 '(,%!9*18(4!9%!4#$%&#'($! )*&+,-.! >-(,;5!#)!9#+'7(0,%!;#,,*7#,.! "#$%&#'($!)*&+,-!./-$-0 1#'*2(1*#'!! Constructing of 15-! 9#+'7(,%!(7:(;-'0 ;%!1,-- Constructing of the 3-$(+'(%!&,(45 A-&+$(,*2(1*#'!('7!)#,8(10 1*'&!#)!15-!./-$-1#' Pruning of the polygonal figure skeleton Constructing Constructing of m*'*8($!4-,*8-1-,! 4#$%&#'.! Constructing of the 9*'(,%!*8(&-! Figure 3: The structure of the algorithm for constructing a continuous skeleton of binary image bitmap. 3 Continuous Representation of Raster Image Boundary 3.1 Discrete Figures in Binary Image A binary image is a two-colored picture where one or several objects of one color are located against a background, which has another color. Such image is represented in computer as a matrix of points (pixels). Each element of this matrix can have only one of two colors. Without loss of generality, we will consider a binary image as a black-and-white image: object points are black, and background points are white. Let s define an adjacency structure on a set of pixels as follows. For a black pair of pixels we will define neighborhood as 8-adjacency, and for a white pair and multi-colored pair as 4-adjacency. A set of one-colored pixels is called connected if for each pair of pixels in it there is a path from one pixel to another, consisting of sequentially neighboring pixels of the same color. Maximal connected set of pixels of one color is called a connected component. If all pixels of component lay on the same straight line, such

6 component is called degenerated. Let s define discrete figures as connected black-colored components. There are 5 connected components in the image in Figure 4a, two of them are discrete figures. 3.2 The Continuous Approximation of Discrete Figure Let's consider pixels as points with integer co-ordinates in Euclidean plane. We will call a pair of 4- adjacent multi-colored points a boundary pair, and a segment connecting these points - a boundary segment. Two components, to which points of a boundary pair belong, are called adjacent, and the boundary pair is called dividing for these components. A set of all dividing boundary pairs for two adjacent components we will call a boundary corridor (Figure 4b). Each discrete figure defines one or more boundary corridors. (a) (b) (c) Figure 4: (a) the binary image with 5 components and 2 discrete regions, (b) boundary corridors, (c) minimal perimeter polygons. Let's say, that a closed path lies in a boundary corridor if it crosses once each boundary segment of this corridor. A path crosses a segment if it has a common point with it and lies on different sides from this segment in some neighborhood of cross point. There exists the minimal length path among all paths lying in a boundary corridor. This path is a closed polyline. We will call it a separating minimal perimeter polygon (MPP). If a discrete figure and all its holes are not degenerated then all its MPP are simple polygons (Figure 4c). For degenerated figure or degenerated hole MPP degenerates in a line segment. The set of all MPP of a discrete figure defines a polygonal figure - «a polygon with polygonal holes». Thus, we have defined minimal perimeter polygonal figures that approximate discrete figures of binary image. Note that the set of approximating polygonal figures always exists and is unique for the given binary image. 3.3 Boundary Corridor The construction of a boundary corridor includes two steps: search of a corridor and its tracing. Corridor search is understood as a problem of finding one boundary pair of points (Figure 5a). Search of such pair can be executed by row scanning of the binary image. After finding the boundary pair, the boundary tracing algorithm will work. This algorithm reveals all other boundary pairs of a corridor. Contour tracing begins with the first boundary pair and finds sequentially other boundary pairs of a corridor. Current found boundary pair we will call a tracer pair. Tracing process consists in consecutive moving of the white end of a tracer pair in a positive direction relative to the black end (Figure 6). The derived point is called a test point. All possible choices of test point for different positions of the tracer

7 pair are presented in Figure 5. Current position of the tracer pair is shown by a solid line, and new possible positions depending on a color of a test point - by a dotted line. A new position of a tracer pair depends on a color of a test point and is determined by the following rule. The test point replaces in a point of the same color in the tracer pair. (a) (b) (c) Figure 5: Corridor tracing: (a) the initial position of tracer pair, (b) the consecutive positions of tracer pair, (c) the sequence of test points (tracing track). Figure 6: Choice of the next test point (labeled as square) for different positions of tracer pair (solid line) during tracing process of boundary corridor. Consecutive moving of a tracer pair allows allocating all boundary points corresponding to one boundary contour (Figure 5b). Tracing process ends when tracer pair returns to its initial position. After ending of corridor tracing the search of the next corridor will be continued from that location where the first boundary pair of the previous corridor is found. Process ends, when the image row line scanning is completed. 3.4 Minimal Perimeter Polygon The sequence of test points forms an ordered list called a tracing track (Figure 5c). By sequentially connecting all black points of this and all white points separately, we will have "walls" of a boundary corridor. The left wall consists of black points, and the right one - of white points. The minimal perimeter polygon lies between corridor walls. All vertices of MPP are points of a tracing track. We will call such point a corner. The problem of MPP construction consists in choice of corner points from a tracing track. The first corner point is defined from the initial position of the tracer pair (Figure 5a). It is obvious, that the right point of this pair is always a corner. Note that two consecutive vertices in MPP should be connected by line segment lying between corridor walls completely. It means, that if the next (in particular, the first) corner point is found it is necessary to search for the next corner point as a point laying from

8 it «in line of sight» inside a corridor. Let's define a concept of «coverage sector» for a corner point. At the initial moment (for the current found corner point) it is equal to 360 and isn t limited at all. Then points of a track after this corner point are sequentially considered. The coverage sector is corrected by the following rules (Figure 7): 1. If the test point is located inside the coverage sector then the sector changes (Figure 7a,b). If the test point is black (Figure 7a), it is declared as the left side of sector, if it is white (Figure 7b) as the right one. 2. If the white point is located outside the coverage sector to the left of its left side (Figure 7c) then the left black point of the sector is declared as the new corner point. Similarly, if the black point is located outside the sector to the right of its right side then the right white point declared as the new corner point (Figure 7d). 3. In all other cases (Figure 7e,f) the coverage sector doesn t change. (a) (c) (e) (b) (d) (f) Figure 7: (a,b) correction of coverage sector, (c,d) new corner point forming, (e,f) coverage sector doesn t change. For the reason of these rules all corner points will be sequentially found. The set of these corner points is considered as a circular list of points. The process ends, when the initial corner point will be chosen as a corner point (but not as a test point!). The Figure 8 illustrates the process of constructing of MPP for the Figure 5. Figure 8a shows the first corner point (marked by square), and shows part of the tracing track. Figure 8b presents sequential steps of coverage sector correction, from starting position (left image), until the next corner is obtained (right image). And Figure 8c shows final obtained MPP. 4 Polygonal Figure Skeleton 4.1 Voronoi Diagram and Delaunay Graph of Polygonal Figure Universal analytical description of the skeleton for any class of closed domain! in R 2 cannot be obtained. Nevertheless, for some definite classes of domains (in particular, for domains with boundary consisting of finite number of polygons) an analytical description exists.

9 (a) (c) (b) Figure 8: Find the next corner point of the minimal perimeter polygon: (a) the initial corner point, (b) obtain the next corner point by sequential steps of the correction of the coverage sector, (c) the minimal perimeter polygon Let P " R 2 be a multiply-connected polygonal domain and S(P) be a set of all sites of P (S(P) consists of all vertices and sides of P called vertex-sites and segment-sites, respectively). The medial axis M(P) is a subset of Voronoi diagram VD(P) of the site set of P. This is the feature most algorithms computing medial axis of a polygonal figure rely on. The concept of a Voronoi diagram of line segments is commonly used for skeleton construction of a polygonal figure (Drysdale & Lee, 1978; Kirkpatrick, 1979). The polygonal figure boundary is a union of linear segments and vertices, which are considered as the Voronoi sites. The Voronoi diagram of these sites is generated and the skeleton is extracted as a subset of the diagram. The skeleton of a polygonal figure with n sides can be obtained from the Voronoi diagram taking O(n) time. By-turn, there are known effective O(n log n) algorithms to construct the Voronoi diagram for the general set of linear segments (Fortune, 1987; Yap, 1987) as well as for the sides of a simple polygon (Lee, 1982) or multiplyconnected polygonal figures (Mestetskiy & Semenov, 2008). Degenerated disks of zero radiuses centered in the convex vertices of polygonal figure are empty as they have no internal points and, therefore, don t contain boundary points of a figure. Besides, they are the maximal empty disks as they don t contain other empty disks. So, points, which coincide with convex vertices of a polygonal figure, belong to a polygonal figure skeleton. A polygonal figure skeleton looks like a planar graph with edges consisting of line segments and parabolas. Skeleton vertices are convex vertices of a polygonal figure (one degree vertices) and also points - centers of inscribed circles, tangent to figure boundary in three or more points (three and more degree vertices). The radial function is defined in each skeleton point as the radius of inscribed circle centered in this point It is especially necessary to note, that the polygonal figure skeleton always exists and is unique. 4.2 Construction of Skeleton based on Delaunay Graph The main idea of the algorithm is based on constructing the Delaunay graph of figure sites and an adjacency tree of figure boundary contours.

10 Let P be a multiply-connected polygonal domain. Two sites of P are adjacent if they are adjoining to each other (vertex-site and segment-site of a common side) or there exists a disk inscribed in P and touching both sites (in other words, if their Voronoi cells have non-empty intersection). The Delaunay graph DG(P) of P is a graph (S, E S ) where S is a set of sites of P and E S # S! S contains all pairs of adjacent sites from S. Similarly, the Delaunay graph of a subset S' of S is defined as a graph (S', E S' ) where S' # S and E S' # S'! S' contains all pairs of adjacent sites from S'. The Delaunay graph of P is a dual structure for the Voronoi diagram of P. In Figure 9 polygonal figure is presented with its Voronoi diagram and Delaunay graph constructed; the sites are enumerated from 0 up to 15. The duality of DG(P) and VD(P) is that there exists a bijection between their structure elements: every VD(P) vertex with its incident edges and incident faces is assigned to DG(P) face with its incident edges and incident vertices. Given DG(P) constructed, VD(P) can be obtained in O(n) time. In (Karavelas, 2006) the algorithm to transform Delaunay graph to the corresponding Voronoi diagram is described. Actually, under the non-degeneracy assumption that no point in the plane is equidistant to more than three sites of P, the Delaunay graph is the triangulation of a set of the sites of P (possibly, with non-straight edges). The algorithm to compute the Delaunay graph of a simple polygon involves the following steps: 1. Generating initial elementary chains of sites and constructing their Delaunay graphs (Figure 10b); 2. Iterative pairwise merge of Delaunay graphs of chains. At each iteration the following operations are performed (Figure 10c e): Clearing Delaunay graphs in every pair so that the Delaunay condition is satisfied for every edge relative to the union of sites from both graphs in the pair. At this stage some edges can be eliminated in every pair of Delaunay graphs (Figure 11a c); Sewing Delaunay graphs in every pair so that the Delaunay condition is satisfied for every new inserted edge relative to the union of sites from both graphs in the pair. At this stage every pair of Delaunay graphs is sewed and new Delaunay graphs are formed (Figure 11b,d). The computational complexity of the algorithm is O(n log n). This algorithm is similar to one proposed in (Lee & Schachter, 1980) for merging Delaunay triangulations. (a) (b) Figure 9: The Voronoi diagram (a) and the Delaunay graph (b) of a polygonal domain site set (circles denote vertex-sites and squares denote segment-sites).

11 (a) (b) (c) (d) (e) Figure 10: Constructing the Delaunay graph of a simple polygon: (a): a source polygon; (b): an initial sequence of elementary chains; (c) (e): iterative merging Delaunay graphs. (a) (b) (a) (c) (c) Figure 11: Merging two Delaunay graphs: (a) Delaunay graphs; (b) new edges (3,4) and (3,5) are already inserted within sewing procedure; (c) eliminating the face (0,1,3) for which the Delaunay condition is broken; (d) the edges (1,5) and (3,6) are candidates to be inserted but for sites (1,3,5) inscribed circle doesn t exist so (3,6) is inserted; (e) Delaunay condition for sites (0,1,3) is broken (circle C 013 ) and for sites (3,5,6) is satisfied (circle C 356 ).

12 4.3 Skeleton of Multiply-Connected Polygonal Figure Fast algorithms for constructing skeleton of simple polygon with n vertices through Voronoi diagram have computational complexity O(n log n) in worst case (Lee, 1982). Known generalizations to the case of a polygonal figure with holes (Srinivasan et al., 1992) have computational complexity O(kn + n log n), where k - quantity of polygonal holes, n - general number of vertices. For some problems such computational complexity leads to too big expenses of time. For example, in the problem of construction of an external skeleton for segmentation of the text document image (Mestetskiy, 2006) values k and n have an order 10 3 and 10 5 accordingly. At the same time, efficient algorithms for Voronoi diagram construction of linear segment set (Fortune, 1987; Yap, 1987) don t use specific features of segment set of polygonal figure boundary owing to their universality. In particular, these algorithms build Voronoi partitioning not only inside, but also outside of a polygonal figure and this is superfluous work. Our solution is based on concept definition for adjacency of polygonal figure boundary contours and on construction of so-called adjacency tree of these contours. Two boundary polygons are adjacent if the circle inscribed into a figure and contacted both of these polygons exists. The given relation of contour adjacency defines a graph of contour adjacency. It is obvious, that this graph is connected. Each spanning set of it (the minimal connected spanning subgraph) is a tree. Such tree we call a polygonal figure boundary adjacency tree. In Figure 12a the image with 12 boundary contours is presented. Inscribed circles, concerning pairs of contours, show the adjacency relation (Figure12b). In Figure 12с the polygonal figure boundary adjacency is shown, and one of the boundary adjacency trees is presented by solid lines. The boundary adjacency tree gives the chance to reduce a problem of a polygonal figure skeletonization to a problem of a simple polygon skeletonization. For this purpose let s transform chains of side of polygons by «cutting-in» them into one another. As a result the polygonal figure conditionally transforms to "polygon" (Figure 12d). In details this process was described in (Mestetskiy, 2006). O(n log n) sweepline algorithm for finding boundary adjacency tree and figure skeleton construction on its basis is described ibidem. 4.4 Polygonal Figure Skeletal Base The problem of noisy branches exists for continuous and for discrete skeletons. Small irregularities in figure boundary lead to occurrence of skeleton branches, unessential for analysis of image form. A problem of skeleton regularization consists in removing these branches and leaving only fundamental part of a skeleton which characterizes properties of the form. This fundamental part looks like a skeleton subgraph. We will call it a skeletal base. Transformation of a skeleton to a skeletal base consists in removing of unessential vertices and edges, this process is called pruning. Let C be a polygonal figure with the boundary C, the skeleton S and the skeleton radial function ρ(s), s S. The skeleton is a planar graph S = (P, E) with the set of vertices P and edges E. A skeleton vertex with one incident edge is terminal, and with two or more edges internal. An edge incident to terminal vertex is also called terminal; an edge incident to two internal vertices is called linking. Linking edges can enter in one or more cycles and in this case they are called cyclic. Pruning is a consecutive removal of some terminal vertices and skeleton edges incidental to them. In process of pruning degree of some vertices changes in particular, internal vertex can become terminal, or its degree can become equal to 2.

13 (a) (b) (c) Figure 12: Figure boundary adjacency tree construction: (a) the polygonal figure, (b) intercontour circles, (c) the boundary adjacency graph with extracted boundary adjacency tree (solid), (d) transforming of the figure to the polygon. (d) Pruning guarantees preservation of a skeleton connectivity and also preservation of all cycles in a skeleton as it doesn t touch cyclic edges. Let s consider an assessment criterion of essentiality of a terminal edge. Essential edges remain in a skeletal base, and unessential edges are cut. Let S' =(P', E') be some connected subgraph of skeleton S =(P, E), such that P' # P, E' # E and that there are no cyclic edges of skeleton S among edges from the set E \ E' (Figure 13). It means, that graph S' can be derived from skeleton S by removing ( pruning ) of a part of vertices and edges of skeleton, and such removal doesn t destroy cycles and doesn t break connectivity of the graph. Such graph S' we will call truncated subgraph of S. We will consider the set of points formed by union of all inscribed circles centered in points of truncated subgraph S', which radiuses are equal "(s), s "S'. This set of points forms the closed region which we will call a silhouette of subgraph S'. The important property of a truncated subgraph silhouette is the topological equivalence to figure C. In particular, a silhouette is a connected set. Let a skeletal base of figure C be the minimal truncated subgraph S' of its skeleton S with silhouette V S' satisfying a condition H(C, V S' ) $ %, where % > 0 is regularizing parameter, and H(C, V S' ) Hausdorff distance between figure C and silhouette V S'.

14 Figure 13: Skeletal subgraph silhouette construction: (a) the initial image, (b) skeleton, (c) truncated subgraph of skeleton, (d) the silhouette of the subgraph. It is necessary to note, that for each value of parameter e the skeletal base always exists and is unique. We will call the derived skeletal base as a continuous skeleton of a discrete figure. It is possible to present the process of a skeletal base construction as sequence of the truncated subgraphs of skeleton { S m! }. Here S 0! = S, S m+1! " S m!, m = 0,,M, and for all S m! the following condition is satisfied: H (C,V Sm! ) " #. The last element of this sequence S M! is the required skeletal base. According to our definition of a skeletal base, for each truncated subgraph S! " S M! condition H (C,V S! ) > " takes place or there are no terminal edges in S M!. The described process is illustrated by an example in Figure 14. Here! = 2. Computational complexity of this algorithm depends linearly on a number of skeleton vertices, i.e. it is at worst O(n), where n - quantity of polygonal figure vertices. (a) (b) (c) (d) (e) Figure 14: Skeletal base construction: (a) the initial image, (b) the polygonal figure and its skeleton, (c,d,e) the skeleton subgraphs and their silhouettes. 5 Skeleton as Compound Bezier Curve 5.1 Bezier skeleton concept Geometric construction of a polygonal figure skeleton is simple enough: it is a planar graph with straightline and parabolic edges (Figure 15). However, such analytical description of skeletons presents some difficulties. Presence of parabolic edges raises certain problems in constructing, storing, processing, and utilizing skeletons in image analysis. The general form for a parabola is described by an implicit equation. This is not handy for calculation of parabolas intersections, for drawing and analysis. This shortcoming generates the tendency to handle skeletons having no parabolic edges. This idea is implemented in the concept of straight skeleton (Aichholzer & Aurenhammer, 1996). But the straight

15 skeleton suffers from certain shortcomings, videlicet: complexity of mathematical definition, low algorithmic efficiency, regularization complexity if noise effects are available. We propose an original method of describing a skeleton in the form of a planar graph with straight edges. It doesn t require computing parabolic edges either at the step of the Voronoi diagram computing, or at the steps of skeleton storing, drawing and processing. This can be achieved as follows. 1. The skeleton of a polygonal figure is the union of a set of the first and second order elementary Bezier curves. This union we call the compound Bezier curve. 2. A compound Bezier curve is defined by its control graph, which is obtained from the control polygons of elementary Bezier curves. Every control graph has linear edges. Thus, to describe the skeleton, a straight-line control graph is needed (Figure 16). Figure 15: A polygonal figure and its skeleton. Figure 16: The control graph of the skeleton from figure 15. Terminal vertices are black and handle vertices are white. The set of control graph vertices consists of two subsets. The first subset is formed by vertices of polygonal figure skeleton. And the second one consists of the certain control points called handles of Bezier curves. 5.2 Structure of the skeleton Assume that M is a polygonal figure on R 2 with the Euclidean distance d(p, q), p, q "R 2. The boundary of the figure #M consists of several simple polygons. An empty disk of the figure M of radius r $ 0 centered at a point p is the closed point set: K r (p) = { q :q!r 2,d(p,q) " r}, such that K r (p)! M. A maximal empty disk (or, inscribed disk) K max r (p) of the figure M is the empty disk that is not contained in any other empty disks. The skeleton S of the figure M is the set of all centers of maximal empty disks of the figure: S = { p :p!m,k max r (p) " #}.

16 This definition of the skeleton is more accurate as compared to the one given in the introduction since terminal vertices of skeletal graph are determined. According to this definition all convex vertices of the figure are terminal vertices of the skeleton. A non-degenerate maximal empty disk touches the figure boundary at least at two points. Every point of the figure can be considered as a degenerate disk of zero radius. These disks are empty because they do not contain internal points and therefore, the boundary points of the figure. Degenerated disks centered at convex vertices of figure are maximal empty disks because they are not contained in other empty disks. Consequently, convex vertices of polygonal figure are part of the skeleton. A radial function is determined at every point of skeleton. Radial function is equal to a radius of the inscribed disk centered at this point. The radial function assigns the width of figure relative to the points of the skeleton. Let S be the skeleton of the polygonal figure M. The total number of points in the set S is infinite, but it occurs that all these points are located at the finite set of the straight-line and quadratic parabolic segments. Let s " S be a point of a skeleton and g 1, g 2 "&M be the two closest boundary points of s " S. The points g 1 and g 2 may have different positions on the figure boundary. We will call the boundary point by a corner point if it is the vertex of polygonal figure, and simple point otherwise. Three cases of g 1 and g 2 type combinations are possible: g 1 and g 2 make a pair of corner points, a pair of simple points or a corner and a simple point. If both g 1, g 2 are corner points then the point s!s lies on the medial perpendicular of the straightline segment [g 1, g 2 ] (Figure 17a). If both points g 1, g 2 are simple and lie on different sides of the figure then s is equidistant from these sides. So the point s lies on the bisector of the angle, formed by these sides (Figure 17b). If these sides are parallel then s lies on the straight line equidistant from these sides (Figure 17c). But if one of the points (for example, g 1 ) is corner and the other (g 2 ) is simple then s is equidistant from g 1 and from the side of polygon, which contains g 2. In this case s lies on the parabola having a focus g 1. And the directrix of the parabola is the side of polygon such that g 2 lies on this side (Figure 17d). (a) (b) (c) (d) Figure 17: Bisector types of polygonal figure. Thus, we distinguish three types of lines. The first line (straight line) is defined by the pair vertex-vertex, the second one (bisector) is defined by the pair side-side and the third one (parabola) is defined by the pair vertex-side. Every point of the skeleton lies on one of these lines. Let us use the following terminology. Vertices and sides of polygonal figure are called sites. The maximal connected subset of the skeleton equidistant from the pair of sites is called middle axis or,

17 bisector. There are vv-bisectors, ss-bisectors and vs-bisectors for the pairs of sites vertex-vertex, sideside and vertex-side, respectively. 5.3 Skeleton Vertices We aim to propose a method describing the skeletal graph such that calculation of the equations of parabolic bisectors is not needed. The skeleton vertices are equidistant to three or more sites. To find these vertices tangent circles can be constructed for the triplets of sites. Calculation of such circles involves a number of geometric tasks (Figure 18) related to the following combinations: 1) three vertex-sites (Figure 18a); 2) two vertex-sited and one segment-site (Figure 18 b,c); 3) two segment-sites and one vertex-site (Figure 18 d,e); three segment-sites (Figure 18f). (a) (b) (c) (d) (e) (f) Figure 18: Tangent circles for the triplets of sites. The second and third combinations involve two cases depending on whether the vertex-sites match the terminal points of segments. Assume that the tangent circle exists and the sequence of tangent points is defined. Then the tangent circle is unique. To compute the center t of the circle tangent three sites s 1,s 2,s 3, the following system of equation is to be solved:! # d 2 (t,s 1 ) = d 2 (t,s 2 ) " d 2 (t,s 1 ) = d 2 (t,s 3 ) $#

18 In the cases in Figure 18a, c, e and f both equations are linear. But in the cases in Figure 18b and d one equation is linear, and the other is quadratic. After expressing the Y-coordinate of the point t through the X-coordinate in the linear equation it become possible to reduce the second equation to the usual quadratic equation, which is easily solved. The obtained solution has to satisfy two auxiliary conditions, which are easily checked. The first condition requires the projections of t onto the segment-sites to lie on these segments themselves. The second condition requires the tangent circle to lie inside the figure. This means the center of tangent circle is required to lie to the left of the segment-site. 5.4 Edges as Bezier Curves Explicit description of the parametric curve V(t) = (x(t), y(t)), t [0,1] provides handy tools to deal with parabolic edges of skeleton. V(t) determines the skeleton edge with the vertices V(0) and V(1). The main idea of our solution is that every parabolic edge of the skeleton can be represented by a quadratic Bezier curve: where B 0 2 (t) = (1 t) 2, B 1 2 (t) = 2t(1 t), B 2 2 (t) = t 2 V(t) = V 0 B 0 2 (t) + V 1 B 1 2 (t) + V 2 B 2 2 (t), t [0,1], are Bernstein polynomials. This curve is determined by its control triangle {V 0,V 1,V 2 }. The points V 0 and V 2 are called the terminal points, and the point V 1 is handle point of the Bezier curve. V 0 and V 2 are vertices of skeleton, but V 1 is not a skeleton vertex. Such a way of edge description is compact and easy-to-use since only one handle point together with two terminal ones defines every edge. Also skeleton drawing and handling becomes very simple since various effective algorithms to handle Bezier curves are known. Generalized description is based on representation of linear edges of the skeleton in the form of first order Bezier curves V(t) = V 0 B 0 1 (t) + V 1 B 1 1 (t), t [0,1]. Here points V 0, V 1 denote terminal points of bisector. And B 0 1 (t) = 1 t and B 1 1 (t) = t are Bernstein polynomials. A parabolic skeleton edge is a vs-bisector. Let A and B be a pair of sites that assign this bisector. Moreover, let A be a vertex and B be a side of polygonal figure connecting vertices B 1 and B 2. We will denote the side B itself as well as a line containing it by B 1 B 2. Without loss of generality, let us assume the polygonal figure be on the left to the side B 1 B 2. Let us drop the perpendicular from the point A to the straight line B 1 B 2 calling the intersection D. Denote the middle of AD by O. The sites A and B designate a rectangular Cartesian coordinate system originated at O and having DA as its Y-axis and a line parallel to B 1 B 2 as its X-axis (Figure 19). Given the sites A and B, the bisector of A and B consists of the centers of the circles that touched both B 1 B 2 and A. Let V 0 and V 2 be the terminal points of this bisector. And let C 0 and C 2 be the projections of V 0 and V 2 onto the straight line B 1 B 2 (Figure 19). Let us examine a point V = (x, y) on the bisector and its orthogonal projection U on the straight line B 1 B 2. The point A coordinate pair is (0, p). Since AV 2 = UV 2 we obtain: Then the bisector parabolic equation is x 2 + (y p) 2 = (y + p) 2.

19 y = 1 4 p x2.! Given the points V 0 = (x 0, y 0 ) and V 2 = (x 2, y 2 ), consider two lines that tangent to parabola at V 0 and V 2. Figure 19: Parabolic curve for vs-bisector. As is known, the equation of a tangent line for a curve F(x, y) = 0 at point ( ˆx, ŷ) is F x!( ˆx, ŷ)"(x # ˆx) + F y!( ˆx, ŷ)"(y # ŷ) = 0. In our case, we have F(x, y) = x 2! 4 py. Then the equations for tangent lines at the points V 0 and V 2 on the curve are the following: Since the solution of the system (1)-(2) is 2x 0!(x " x 0 ) " 4 p!(y " y 0 ) = 0, (1) 2x 2!(x " x 2 ) " 4 p!(y " y 2 ) = 0. (2) y 0 = 1 4 p x 2 0, y 2 = 1 4 p x 2 2, (3) x 1 = 1 2 (x 0 + x 2 ), (4) y 1 = 1 4 p x 0 x 2. (5) Thus, we have obtained the point of tangent lines intersection V 1 = ( x1, y1). Permutation of Bernstein polynomials to the quadratic Bezier curve equation gives the parametric equations for Bezier curve V(t) : Permutation of (4) to (6) presents x(t) = (x 0! 2x 1 + x 2 )t 2! 2(x 0! x 1 )t + x 0, t "[0,1] (6) y(t) = (x 0! 2x 1 + x 2 )t 2! 2(x 0! x 1 )t + x 0, t "[0,1] (7)

20 And permutation of (3) and (5) to (7) presents x(t) = x 0 + (x 2! x 0 )"t. (8) y(t) = 1 4 p (x 2 0! 2x 0 x 2 + x 2 2 )t 2! 2(x 2 2 "# 0! x 0 x 2 )t + x 0 $ % = 1 4 p (x! x 0 2 )2 &t 2 2 "#! 2x 0 (x 0! x 2 )t + x 0 $ % = 1 [ 4 p (x! x )t! x ] 2 (9) From (8) and (9) we have y(t) = 1 4 p x(t) [ ]2, that is the equation of the parabola of vs-bisector. Thus, we have a parabolic bisector described as a { }. Two vertices V 0,V 2 are quadratic Bezier curve. This curve is assigned by a control triangle V 0,V 1,V 2 terminal points of the bisector, and V 1 is the point of intersection of tangents lines. Consequently, in order to obtain bisector as the Bezier curve it is necessary to calculate tangent lines at the terminal points of a bisector and to find their intersection. Let us consider the solution of this problem. 5.5 Control Triangle of Skeleton Edge Let A = (0, p) be the focus of a parabola and y =! p be the directrix of the parabola. Assume that the point V = ( ˆx, ŷ) lies on the parabola and C = ( ˆx,! p) is the projection of V onto the directrix (Figure 20). Let us show that a tangent line to a parabola at the point V = ( ˆx, ŷ) is orthogonal to the vector! AC!!". Figure 20: Orthogonality of tangent and direction from the focus to the projection. The equation of the tangent line to the parabola x 2! 4 py = 0 at the point V = ( ˆx, ŷ) is 2 ˆx!(x " ˆx) " 4 p!(y " ŷ) = 0. (10)

21 We have that the vector (2 ˆx, 4 p) is a normal vector of the tangent line and is collinear to the vector AC. This property makes it possible to find tangent lines at the terminal points V0 and V 2 of a skeleton parabolic edge. This requires the projections C 0 and C 2 of V 0 and V 2, respectively, onto the straight line B 1 B 2 to be calculated first. Then the vectors AC 0 and AC2 are to be calculated. These vectors are orthogonal to the corresponding tangent lines. The source data to identify tangent lines to the bisector at its terminal vertices is the following. Given the pair of the sites A, B and two terminal points V 0 = (x 0, y 0 ), V 2 = (x 2, y 2 ) of bisector, let us find the handle vertex V 1 of the control triangle {V 0,V 1,V 2 }. Without loss of generality, assume that the site A is a vertex, the site B =[ B 1, B 2 ] is a side of the polygonal figure and the polygonal figure lies to the left of B. Let us introduce the following notation. Let PQ denote the vector with an initial point P and a terminal point Q. By [P 1 Q 1 P2 Q 2] denote the cross product, by (P1 Q 1,P2 Q 2) denote the scalar product, by V + PQ denote a shift of point V by vector PQ, by PQ denote length of the vector. The algorithm to solve the problem is following: 1. Find the parameter p of the parabola: p = [B 1B 2 B1 A]. 2 B 1 B 2 2. Find point C 0, C 2 which are projections of V 0, V 2, respectively: B 1 B 2, B1 V 0 C 0 = B 1 + B 1 B 2 ( ), B 1 B 2 B 1 B 2, B1 V 2 C 2 = B 1 + B 1 B 2 ( ). B 1 B 2 3. Find vectors AC 0 and AC2 : AC 0 = (C0.x A.x,C 0.y A.y) = (a,b) AC 2 = (C2.x A.x,C 2.y A.y) = (c,d) (a,b) and (c,d) are coordinate pairs of AC 0 and AC2, respectively. 4. Solve the system of equations a (x x 0 ) + b (y y 0 ) = 0 c (x x 2 ) + d (y y 2 ) = 0 5. The solution of the system gives the coordinates of the handle point V 1 = (x 1, y 1 ) of the control triangle.

22 5.6 Compound Bezier Curve We showed that each parabolic edge of the skeleton (vs-bisector) can be described by its quadratic Bezier curve. For generality we can consider linear edges (vv-bisectors and ss-bisectors) to be linear Bezier curves V(t) = V 0 B 1 0 (t) + V 1 B 1 1 (t), t![0,1]. Here points V 0, V 1 denote terminal points of bisector. From B 1 0 (t) = 1! t and B 1 1 (t) = V 1!t we have V(t) = V 0!(1" t) + V 1!t. Thus, the skeleton is a union of Bezier curves of first- and second-order. We call this union the compound Bezier curve analogously to the related font design concept, where compound curves describe the closed outlines of font symbols. In this paper, curves describe more complex structure that is a connected planar graph. Planarity of the control graph of the compound Bezier curve is an important property of the control graph. This property can be proved as follows. Let us examine the vertex-site A and the segment-site B connected with the parabolic edge. If points V 0 and V 2 lie on the same side of the Y-axis, i.e., x 0 and x 2 are of the same sign, then from (5) it follows that y 1! 0 and the point V 1 lies above the segment B. Assume that x 0 and x 2 have different signs (Figure 21). Since the focus A of the parabola is the concave vertex of polygonal figure then the angle!, formed by incident sides of A, belongs to the!!!! "!!!! " interval! < " < 2!. Let us examine the angle!v 0 AV 2 between vectors AV 0 and AV2. It is obvious: '!V 0 AV 2 " 2# $ % + 2 & # * ( ) 2 +, = # $ % < #. Figure 21: Planarity of the control graph. Consequently, the point V 2 lies below the straight line AV 0 passing through the focus A, and point V 0. This straight line intersects parabola at the point V 0 and at the point V! with the coordinates (x!, y! ), moreover x! > x 2. The equation of the straight line AV 0 is y = p + a! x, where a is the angular coefficient. The points of intersection of this straight line with the parabola can be found from: p + ax = 1 4 p x2. This quadratic equation has two roots:

23 x 0 = 2 p ( a a 2 +1), x = 2 p ( a + a 2 +1). Intersection point V 1 of the tangent lines has an ordinate y 1. From the equation (5) and the condition x > x 2 we obtain the following estimation: y 1 = 1 4 p x 0x 2 > 1 4 p x 0x = 1 4 p x 0x 2 ( ) ( ) = 1 4 p 2 p a a p a + a2 +1 = 1 4 p 4 p2 a 2 (a 2 +1) = p We obtain y 1 > p and the point V 1 lies above the segment B, too. Thus, we have that the control triangle of a parabolic edge does not intersect its own segment-site and lies inside the union of empty circles centered at the points of a parabolic segment. Consequently, the sides of a control triangle do not have intersections with the remaining edges of control graph. But this means that the control graph of skeleton is planar. 5.7 Radial function of skeleton To each point of a skeleton a radial function assigns a radius of an inscribed empty disk centered at this point. Let us examine representation of the radial function if the skeleton is represented by the compound Bezier curve. Given the terminal points V 0 and V 1 of a linear ss-bisector together with r 0 and r 1, we can find the radius of the empty disk centered at any inner point of the edge V 0 V 1 ( r 0 and r 1 are radii of the disks centered at V 0 and V 1, respectively). The radius of empty disk centered at the point V(t) = V 0 (1 t) + V 1 t : r(t) = r 0 (1 t) + r 1 t. (11) Let us consider the vs-bisector case. In the local coordinate system (Figure 20) we have simple relation between radii of disks and ordinates of the points of bisector r(t) = y(t) + p. From the property of Bernstein polynomials B 0 2 (t) + B 1 2 (t) + B 2 2 (t) = 1 we obtain: Therefore r(t) = y 0 B 2 0 (t) + y 1 B 2 1 (t) + y 2 B 2 2 (t) + p = (y 0 + p) B 2 0 (t) + (y 1 + p) B 2 1 (t) + (y 2 + p) B 2 2 (t) = r 0 B 2 0 (t) + (y 1 + p) B 2 1 (t) + r 2 B 2 2 (t) r(t) = r 0 B 2 0 (t) + r 1 B 2 1 (t) + r 2 B 2 2 (t). (12) Let us consider the disc centered at the handle point V 1. For radius of this disk we have r 1 = y 1 + p. This disk is called a handle disk. As it follows from geometric analysis (Figure 21), r 1 is the distance from the point V 1 to the line B 1 B 2. We obtain:

24 r 1 = [B!!!!"!!!! " 1B 2! B1 V 1]!!!!". B 1 B 2 Thus, the formulas (11) and (12) look like Bezier splines. Now let us consider the vv-bisector. All empty disks centered at this bisector inner points touch the common vertex of polygonal figure. Therefore the radius of an empty disk centered at the point V(t) = V 0!(1" t) + V 1!t is defined as distance from the point V(t) to A. We see that within the vv-bisector the raidus of an empty disk can not be presented in Bezier spline form. Thus, in order to compute the radial function for any point of vv-bisector, coordintaes of related concave vertices of polygonal figure should be stored in the skeleton data structure. At the same time, vs-bisector and ss-bisector require coordinates of centers of handle disks as well as radiuses of handle disks to be stored in the skeleton data structure. An example in Figure 22 shows that the resulting skeleton and its control graph gives a more accurate description of the object shape compared to the straight skeleton. The figure and straight skeleton in this example are taken from skeleton (Aichholzer & Aurenhammer, 1996). (a) (b) (c) (d) Figure 22: Comparing with the stright skeleton: (a) polygonal figure and its skeleton, (b) control graph of the skeleton, (c) control disks of radial function, (d) the straight skeleton (Aichholzer, Aurenhammer, 1996) for this polygon. Skeleton representation based on the compound Bezier curve is a handy tool for visualization, storage and image shape analysis in computer vision. To visualize the skeleton it is enough to utilize standard graphic applications supporting drawing of straight-line segments and Bezier curves as well. Generally, graphic libraries are supplied with the tools to draw cubic Bezier curves. To exploit such programs in order to draw quadratic Bezier curves the known conversion of control polygons is to be carried out. A quadratic Bezier curve with the control triangle { V 0,V 1,V 2 } matches the cubic Bezier curve with the control quadrangle { W 0,W 1,W 2,W 3 } if and only if W 0 = V 0, W 1 = V 0! V 1! 2 3, W 2 = V 1! V 2! 1 3, W 3 = V 2. Thus, obtaining the control polygon of the cubic Bezier curve matching the quadratic Bezier curve can be represented. Example in the Figure 23 presents an application of our method to a natural binary bitmap image.

25 (b) Figure 23: Skeleton representation of natural image: (a) binary bitmap, (b) polygonal figure approximation and the skeleton, (c) the control graph of the skeleton. (c) 6 Experiments and Application 6.1 Experiments The described method of continuous skeleton construction of a binary image was implemented and has passed multiple checks in different applications. Theoretical estimates of computational complexity of algorithms, with all their importance, don t give full conception about availability of algorithms in computer vision systems. So there is a necessity in experimental estimates derived from real working algorithms and from practical examples. There are not many publications describing such experiments. Usually there is no information about software implementation and algorithm running time at all (Manzanera et al., 1999) or there are only results of computing experiments with "toy" examples of very simple images (Deng et al., 2000). The most difficult examples of images and real time expenses for their skeletonization are presented in works (Ogniewicz & Kubler, 1995; Strzodka & Telea, 2004). These examples are shown in Figure 24. Comparison results of our algorithm with the algorithms described in these works are given in Tables 1 and 2. Quality of derived continuous skeletons is shown on examples in Figure 25, 26. OK CS OK/CS sites edges vertices Time (sec) Table 1: Comparison of our algorithm CS and algorithm OK (Ogniewicz & Kubler, 1995) for Billygoat example.

26 Dataset Size (pixels) ST CS ST/CS Leaf 410'440= Room 413'506= Neuron 839'731= Roots 1800'1810= Table 2: Comparison running time (sec) of our algorithm CS and algorithm ST (Strzodka & Telea, 2004). (a) (b) (c) (d) (e) Figure 24: Test examples: (a) Billygoat, (b) leaf, (c) room, (d) neuron, (e) roots. Figure 25: The fragment of the continuous skeleton for neuron.

27 (a) (b) (c) (d) Figure 26: Polygonal boundaries of figures (red) and continuous skeletons (black): (a) leaf, (b) room, (c) Billygoat (internal), (d) Billygoat (external). The running time of our algorithm was estimated using Intel processor 1.6 GHertz and 512Mb of memory. Time in tables is specified in seconds. Comparison with algorithm (Ogniewicz & Kubler, 1995) shows, that using MPP for image boundary approximation allows reducing dimension of a problem completely: number of elements in a polygonal figure skeleton is in 6-8 times less than in a corresponding Voronoi diagram of image boundary points. The general reduction of computational time (in 196 times) is partially explained by this dimension reduction of a problem, and partially by processors capacity increase as compared with SPARCstation-2. A new parallel discrete skeletonization algorithm is described in (Strzodka & Telea, 2004). As authors show, its running time is record for discrete algorithms. There are given results received by authors on GPU GeForce FX 5800 Ultra chip, containing tens independent computers working in a parallel mode. However, apparently from table 2, running time of our algorithm is above on 1-2 order. It is necessary to note that our algorithm can be parallelized too and its operation speed on multicore processors will grow. 6.2 Application to Shape Comparison of Flexible Objects We consider the problem of shape comparison for elastic objects presented by binary bitmaps. Our approach to similarity measuring of such objects is based on the conception of a flexible object. A flexible object is defined as a planar graph with a family of circles centered on graph edges. A set of admissible deformations is defined for each flexible object. These deformations are described as a group of planar graph vertices transforms. We define the flexible objects similarity through matching and alignment within the group of admissible deformations. The regular method for approximation of the binary bitmap shape by the flexible object is based on skeleton. The flexible object is designed as a subgraph of continuous skeleton of the binary bitmap. The proposed approach is applied to a problem of palm shape recognition for personal biometrical identification. A human palm is a difficult object to classify. The person can t repeat the same position of a palm even if he wants to. Two photos of the same palm and two photos of two different palms can have differences of the same range (Figure 27). Approaches to palm shape comparison based on alignment of their outline contours are unsuitable because they don t preserve important invariants of the palm shape finger s width and curvature.

28 (a) Figure 27: The silhouettes of palms (a) the first person, (b) the second person. The basis of our approach is the model of the so-called flexible object. Such object has a shape which can change within certain limits. The limits of these changes are described by special group of transforms. The transforms are organized in such a way that some elements of the shape are fixed and constant, and others can vary. With reference to a palm constant elements are metacarpus and phalanges of fingers, but changeable elements are joints. The problem of flexible object comparing is reduced to selection of such admissible transforms of these objects, in which their shapes will be the closest to one another. The difference of their shapes in this (the closest) position is accepted as a measure of the distinction of objects. Let's consider a set of points T on the Euclidean plane R 2, which is presented by a planar graph with tree type structure. This graph has a finite set of vertices, and its edges are continuous lines. We bind with each point t!t in graph T some circle c t with the center in this point. Let s call this family of circles C = c t, t!t { } a circular tree. A graph T we call an axial graph of the circular tree. And a union of all circles of family C (as point sets) we call a silhouette of the circular tree: S = The silhouette of the circular tree represents a closed connected set in Euclidean plane S! R 2. The outline of this set is an envelope of the whole family of circles C. Among all vertices of a circular tree we extract some subset of the points P! T called bend points. We connect a range of angles between each couple of edges incident to bend point. We forbid to change a relative position of edges for the rest vertices of the graph. A change of angles in bend points in an admissible range is called a deformation of a circular tree. Such deformation implies not only the change of an axial graph, but also moving of a family of circles and a respective alteration of a circular silhouette of a tree. Let V be a group of deformations of a circular tree C. The couple of circular tree and its group of deformations we call a flexible object G = (C,V ). If some deformations of two circular trees make their silhouettes coincide then these trees are called equivalent. Let it be a binary bitmap (Figure 27). A construction of flexible objects which approximates this bitmap includes the following steps:! c t t!t 1. An approximation of the binary bitmap outline by the minimal perimeter polygon (Figure 28a). 2. A construction of the continuous skeleton of the polygon (Figure 28a). (b)

29 3. A pruning of a skeleton to get the skeletal base of the polygon (Figure 28b). A skeletal base has a much more simple structure, than the skeleton of a polygon and is more stable to noise distortions connected with the source binary bitmap. (a) (b) (c) (d) Figure 28: Approximation of a palm by flexible object: (a) the minimal perimeter polygon and its skeleton, (b) the skeletal base, (c) the circular tree, (d) bending points. Let s choose a third degree vertex of a skeletal base graph which is incident to the branch of the thumb (the vertex A on Figure 28b). The branches of the thumb and a wrist are crossed in this vertex. The image of a wrist is extraneous information for palm shape description. Therefore we delete the branch of a wrist in the skeletal base. The obtained graph is an axial graph of a circular tree of a flexible object (Figure 28c). The vertex A is a root of the circular tree. Its circle is called a root circle. The next third degree vertex B we call a center of a palm (Figure 28c) and its circle is called a middle circle. The analysis of a real skeleton of a human palm shows, that it is enough to consider six bend points: two points of the thumb and one point for each of the rest four fingers (Figure 28d). We choose two bend points (0 and 1) of maximal curvature at thumb branch and four bend points (2-5) as crossing of finger branches and the root circle. The measure of distance of flexible objects G 1 and G 2 is received from a static position of G 1 and a deformation of G 2. Alignment of two palms is carried out by the following steps. 1. Coincidence of centers of middle circles (vertices B in Figure 28d). 2. Coincidence of directions from the centers of middle circles to the centers of root circles (vectors BA in Figure 28d). 3. Deformation of the axial graph of the second palm for coincidence with the axial graph of the first palm (Figure 29). For that we rotate fingers of the second palm (branches of axial graph) around bending points. The Hausdorf metrics can be used as a measure of coincidence of these branches. 4. Construction of circular tree silhouettes as envelopes of a family of circles. 5. Comparing of silhouettes (Figure 30). The effective algorithm for computation of the areas of a symmetric difference is designed with the help of methods of computational geometry. The measure of distance between silhouettes S 1 and S 2 is computed as:

30 !(S 1,S 2 ) = Area(S 1 \ S 2 " S 2 \ S 1 ) Area(S 1 " S 2 ) The combination of two constructions an outline and a skeleton opens up opportunities for the comparison of objects which don t require strictly fixed shapes for the matching method. The proposed method agrees well adjusted with common sense, it is easily visualized and allows efficient implementation. (a) (b) Figure 29: Deformation of the circular tree: (a) rotation of branches, (b) moving of circles. (a) (b) Figure 30: Comparison of silhouettes: (a) images of the same palm, (b) palms of different persons. 6.3 Application to Spatial Reconstruction of Human Pose The problem of reconstructing the spatial objects using several two-dimensional images is well-known and has many applications. In particular recognition of a posture requires reconstructing the spatial form of such a complex and variable object as a human body. The essence of our consideration is that the twodimensional images are supposed to be binary and to represent only silhouettes of a spatial object (Figure 31). Such a problem, in particular, arises in recognition of gestures by means of standard inexpensive equipment. For example simple WEB-cameras can hardly transfer the textural features of images and are able to reliably provide the silhouettes of the objects only. The lack of texture details makes it impossible to analyze images at texture level and apply well known object reconstruction methods based on automatic identification of matching points on stereo mate images. Obviously, the boundary points are the only points that may be reliably identified on the silhouette images. The problem is that the boundary points of a silhouette on one of the stereo mate images

31 can have no matching points on the boundary of the silhouette on the other image. Thus, it is impossible to directly identify the matching points on the stereo mate silhouette images. Still one can try to identify the matching points making some assumptions on the nature of the original object. We propose to approximately represent human body as a union of the several "cylindrical" elements having local axial symmetry. Such objects are also called generalized cylinders or tubular objects. To be more precise a cylindrical element is a spatial body formed by a family of spheres with the centers on some curve. Such objects are called spatial fat curves. We are interested in the objects that can be represented as a union of several fat curves. Such locally symmetric objects can be used as the models for the description of a human palm or a body. The proposed approach is based on revealing the symmetry axes of the locally symmetric objects. Although, these axes are invisible on the stereo mate images, they still can be calculated for each image by processing a silhouette presented on it. Considering the silhouettes of stereo mate images as the projections of spatial fat curves onto the corresponding planes, we can expect that the projection of the fat curves axes approximately coincide with the middle axes of the silhouettes. This is a key consideration for reconstructing a spatial form of a locally symmetric object based on its stereo mate silhouette images. We will consider some (invisible) points which are not the boundary points of the silhouettes as the common reference points of stereo mate images. Such reference points are provided by middle axes of the silhouettes constituting its skeleton. The structure of the proposed method is as follows. 1. First, we build a skeleton and radial function (Figure 32) for the silhouettes derived from the segmentation of the original images (Figure 31). The result is the set of inscribed circles centered on the medial axis. 2. After that, we set one to one correspondence of points of skeletons (Figure 33) and determine the coordinates of the spatial axes for the spatial body by epipolar geometry methods using stereo pairs of points of the skeletons. In this way we reconstruct the skeleton of a spatial object. For families of inscribed circles we calculate the radiuses of the spheres with centers on a spatial skeleton. 3. Thus, we obtain a description of the human body posture in the form of a spatial skeleton, as well as the envelope of the constructed surface for the family of spheres (Figure 34). Figure 31: Stereo mate of initial images and their silhouettes.

32 Figure 32: Skeletons and radial functions of obtained silhouettes. Figure 33: Stereo mate points found on skeletons Figure 34: Reconstructed spatial object. 7 Conclusions The continuous approach to image skeleton construction is superior to traditionally applied discrete methods on many criteria. 1. The continuous skeleton is described by the strict mathematical model. The discrete skeleton hasn t such strict mathematical description; it is considered only as some analogue of a continuous skeleton. 2. Regularization of continuous skeletons, aimed at noise effects elimination, can be performed by strict mathematical methods; and as for discrete skeletons, it is done on the basis of heuristics.

Digital Image Processing Fundamentals

Digital Image Processing Fundamentals Ioannis Pitas Digital Image Processing Fundamentals Chapter 7 Shape Description Answers to the Chapter Questions Thessaloniki 1998 Chapter 7: Shape description 7.1 Introduction 1. Why is invariance to

More information

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality Planar Graphs In the first half of this book, we consider mostly planar graphs and their geometric representations, mostly in the plane. We start with a survey of basic results on planar graphs. This chapter

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpenCourseWare http://ocw.mit.edu 6.854J / 18.415J Advanced Algorithms Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advanced

More information

EECS490: Digital Image Processing. Lecture #23

EECS490: Digital Image Processing. Lecture #23 Lecture #23 Motion segmentation & motion tracking Boundary tracking Chain codes Minimum perimeter polygons Signatures Motion Segmentation P k Accumulative Difference Image Positive ADI Negative ADI (ADI)

More information

CS S Lecture February 13, 2017

CS S Lecture February 13, 2017 CS 6301.008.18S Lecture February 13, 2017 Main topics are #Voronoi-diagrams, #Fortune. Quick Note about Planar Point Location Last week, I started giving a difficult analysis of the planar point location

More information

Geometry I Can Statements I can describe the undefined terms: point, line, and distance along a line in a plane I can describe the undefined terms:

Geometry I Can Statements I can describe the undefined terms: point, line, and distance along a line in a plane I can describe the undefined terms: Geometry I Can Statements I can describe the undefined terms: point, line, and distance along a line in a plane I can describe the undefined terms: point, line, and distance along a line in a plane I can

More information

Flavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville

Flavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville Flavor of Computational Geometry Voronoi Diagrams Shireen Y. Elhabian Aly A. Farag University of Louisville March 2010 Pepperoni Sparse Pizzas Olive Sparse Pizzas Just Two Pepperonis A person gets the

More information

3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :

3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples : 3. Voronoi Diagrams Examples : 1. Fire Observation Towers Imagine a vast forest containing a number of fire observation towers. Each ranger is responsible for extinguishing any fire closer to her tower

More information

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams in the Plane Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams As important as convex hulls Captures the neighborhood (proximity) information of geometric objects

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

3 Identify shapes as two-dimensional (lying in a plane, flat ) or three-dimensional ( solid ).

3 Identify shapes as two-dimensional (lying in a plane, flat ) or three-dimensional ( solid ). Geometry Kindergarten Identify and describe shapes (squares, circles, triangles, rectangles, hexagons, cubes, cones, cylinders, and spheres). 1 Describe objects in the environment using names of shapes,

More information

Mathematics High School Geometry An understanding of the attributes and relationships of geometric objects can be applied in diverse contexts

Mathematics High School Geometry An understanding of the attributes and relationships of geometric objects can be applied in diverse contexts Mathematics High School Geometry An understanding of the attributes and relationships of geometric objects can be applied in diverse contexts interpreting a schematic drawing, estimating the amount of

More information

Course Number: Course Title: Geometry

Course Number: Course Title: Geometry Course Number: 1206310 Course Title: Geometry RELATED GLOSSARY TERM DEFINITIONS (89) Altitude The perpendicular distance from the top of a geometric figure to its opposite side. Angle Two rays or two line

More information

6 Mathematics Curriculum

6 Mathematics Curriculum New York State Common Core 6 Mathematics Curriculum GRADE GRADE 6 MODULE 5 Table of Contents 1 Area, Surface Area, and Volume Problems... 3 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)...

More information

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces. Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery

More information

Line Arrangement. Chapter 6

Line Arrangement. Chapter 6 Line Arrangement Chapter 6 Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision. Line Arrangements Problem: Given a set L of n lines

More information

GEOMETRY CCR MATH STANDARDS

GEOMETRY CCR MATH STANDARDS CONGRUENCE, PROOF, AND CONSTRUCTIONS M.GHS. M.GHS. M.GHS. GEOMETRY CCR MATH STANDARDS Mathematical Habits of Mind. Make sense of problems and persevere in solving them.. Use appropriate tools strategically..

More information

Geometry. Cluster: Experiment with transformations in the plane. G.CO.1 G.CO.2. Common Core Institute

Geometry. Cluster: Experiment with transformations in the plane. G.CO.1 G.CO.2. Common Core Institute Geometry Cluster: Experiment with transformations in the plane. G.CO.1: Know precise definitions of angle, circle, perpendicular line, parallel line, and line segment, based on the undefined notions of

More information

Mathematics High School Geometry

Mathematics High School Geometry Mathematics High School Geometry An understanding of the attributes and relationships of geometric objects can be applied in diverse contexts interpreting a schematic drawing, estimating the amount of

More information

Mathematics Curriculum

Mathematics Curriculum 6 G R A D E Mathematics Curriculum GRADE 6 5 Table of Contents 1... 1 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)... 11 Lesson 1: The Area of Parallelograms Through Rectangle Facts...

More information

Path-planning by Tessellation of Obstacles

Path-planning by Tessellation of Obstacles Path-planning by Tessellation of Obstacles Tane Pendragon and Lyndon While School of Computer Science & Software Engineering, The University of Western Australia, Western Australia 6009 email: {pendrt01,

More information

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry Computational Geometry Algorithm Design (10) Computational Geometry Graduate School of Engineering Takashi Chikayama Algorithms formulated as geometry problems Broad application areas Computer Graphics,

More information

Voronoi diagram and Delaunay triangulation

Voronoi diagram and Delaunay triangulation Voronoi diagram and Delaunay triangulation Ioannis Emiris & Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2015 Outline 1 Voronoi

More information

Infinite Geometry supports the teaching of the Common Core State Standards listed below.

Infinite Geometry supports the teaching of the Common Core State Standards listed below. Infinite Geometry Kuta Software LLC Common Core Alignment Software version 2.05 Last revised July 2015 Infinite Geometry supports the teaching of the Common Core State Standards listed below. High School

More information

Unit Activity Correlations to Common Core State Standards. Geometry. Table of Contents. Geometry 1 Statistics and Probability 8

Unit Activity Correlations to Common Core State Standards. Geometry. Table of Contents. Geometry 1 Statistics and Probability 8 Unit Activity Correlations to Common Core State Standards Geometry Table of Contents Geometry 1 Statistics and Probability 8 Geometry Experiment with transformations in the plane 1. Know precise definitions

More information

Divided-and-Conquer for Voronoi Diagrams Revisited. Supervisor: Ben Galehouse Presenter: Xiaoqi Cao

Divided-and-Conquer for Voronoi Diagrams Revisited. Supervisor: Ben Galehouse Presenter: Xiaoqi Cao Divided-and-Conquer for Voronoi Diagrams Revisited Supervisor: Ben Galehouse Presenter: Xiaoqi Cao Outline Introduction Generalized Voronoi Diagram Algorithm for building generalized Voronoi Diagram Applications

More information

Polygonal Skeletons. Tutorial 2 Computational Geometry

Polygonal Skeletons. Tutorial 2 Computational Geometry Polygonal Skeletons Tutorial 2 Computational Geometry The Skeleton of a Simple Polygon A polygon is a closed contour in the plane, which might contain holes (which are simple polygons as well). A skeleton

More information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W

More information

Computational Geometry

Computational Geometry Computational Geometry 600.658 Convexity A set S is convex if for any two points p, q S the line segment pq S. S p S q Not convex Convex? Convexity A set S is convex if it is the intersection of (possibly

More information

EE 584 MACHINE VISION

EE 584 MACHINE VISION EE 584 MACHINE VISION Binary Images Analysis Geometrical & Topological Properties Connectedness Binary Algorithms Morphology Binary Images Binary (two-valued; black/white) images gives better efficiency

More information

Module 1 Session 1 HS. Critical Areas for Traditional Geometry Page 1 of 6

Module 1 Session 1 HS. Critical Areas for Traditional Geometry Page 1 of 6 Critical Areas for Traditional Geometry Page 1 of 6 There are six critical areas (units) for Traditional Geometry: Critical Area 1: Congruence, Proof, and Constructions In previous grades, students were

More information

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 16: Voronoi Diagrams and Fortune s Algorithm contains q changes as a result of the ith insertion. Let P i denote this probability (where the probability is taken over random insertion orders, irrespective of the choice of q). Since q could fall through

More information

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse Tutorial Outline Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse exams. Math Tutorials offer targeted instruction,

More information

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here)

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here) Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here) Voronoi Diagram & Delaunay Triangualtion Algorithms Divide-&-Conquer Plane Sweep Lifting

More information

Geometry Curriculum Map

Geometry Curriculum Map Quadrilaterals 7.1 Interior Angle Sum Theorem 7.2 Exterior Angle Sum Theorem 7.3 Using Interior and Exterior Angles to Solve Problems Define the Angle Sum Theorem. Illustrate interior angles with the Angle

More information

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012 UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Fall, 2012 Voronoi Diagrams & Delaunay Triangulations O Rourke: Chapter 5 de Berg et al.: Chapters 7,

More information

COMPUTING CONSTRAINED DELAUNAY

COMPUTING CONSTRAINED DELAUNAY COMPUTING CONSTRAINED DELAUNAY TRIANGULATIONS IN THE PLANE By Samuel Peterson, University of Minnesota Undergraduate The Goal The Problem The Algorithms The Implementation Applications Acknowledgments

More information

Morphological Image Processing

Morphological Image Processing Morphological Image Processing Binary image processing In binary images, we conventionally take background as black (0) and foreground objects as white (1 or 255) Morphology Figure 4.1 objects on a conveyor

More information

Geometric Constructions

Geometric Constructions HISTORY OF MATHEMATICS Spring 2005 Geometric Constructions Notes, activities, assignment; #3 in a series. Note: I m not giving a specific due date for this somewhat vague assignment. The idea is that it

More information

Common Core State Standards for Mathematics High School

Common Core State Standards for Mathematics High School Using the Program for Success Common Core State Standards for Mathematics High School The following shows the High School Standards for Mathematical Content that are taught in Pearson Common Core Edition

More information

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Geometric Modeling Mortenson Chapter 11. Complex Model Construction Geometric Modeling 91.580.201 Mortenson Chapter 11 Complex Model Construction Topics Topology of Models Connectivity and other intrinsic properties Graph-Based Models Emphasize topological structure Boolean

More information

TOURNAMENT OF THE TOWNS, Glossary

TOURNAMENT OF THE TOWNS, Glossary TOURNAMENT OF THE TOWNS, 2003 2004 Glossary Absolute value The size of a number with its + or sign removed. The absolute value of 3.2 is 3.2, the absolute value of +4.6 is 4.6. We write this: 3.2 = 3.2

More information

Boundary descriptors. Representation REPRESENTATION & DESCRIPTION. Descriptors. Moore boundary tracking

Boundary descriptors. Representation REPRESENTATION & DESCRIPTION. Descriptors. Moore boundary tracking Representation REPRESENTATION & DESCRIPTION After image segmentation the resulting collection of regions is usually represented and described in a form suitable for higher level processing. Most important

More information

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15 Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon

More information

Moore Catholic High School Math Department

Moore Catholic High School Math Department Moore Catholic High School Math Department Geometry Vocabulary The following is a list of terms and properties which are necessary for success in a Geometry class. You will be tested on these terms during

More information

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

More information

Moore Catholic High School Math Department

Moore Catholic High School Math Department Moore Catholic High School Math Department Geometry Vocabulary The following is a list of terms and properties which are necessary for success in a Geometry class. You will be tested on these terms during

More information

Mathematics Geometry

Mathematics Geometry Common Core Correlations Mathematics Geometry Please note the following abbreviations found in this document: A=Activity L=Lesson AP=Activity Practice EA=Embedded Assessment GR=Getting Ready BENCHMARK

More information

HOUGH TRANSFORM CS 6350 C V

HOUGH TRANSFORM CS 6350 C V HOUGH TRANSFORM CS 6350 C V HOUGH TRANSFORM The problem: Given a set of points in 2-D, find if a sub-set of these points, fall on a LINE. Hough Transform One powerful global method for detecting edges

More information

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018)

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018) Homework Assignment Sheet I (Due 16-March-2018) Assignment 1 Let f, g : N R with f(n) := 8n + 4 and g(n) := 1 5 n log 2 n. Prove explicitly that f O(g) and f o(g). Assignment 2 How can you generalize the

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information

(Refer Slide Time: 00:02:24 min)

(Refer Slide Time: 00:02:24 min) CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject

More information

Mathematical Morphology and Distance Transforms. Robin Strand

Mathematical Morphology and Distance Transforms. Robin Strand Mathematical Morphology and Distance Transforms Robin Strand robin.strand@it.uu.se Morphology Form and structure Mathematical framework used for: Pre-processing Noise filtering, shape simplification,...

More information

Outline of the presentation

Outline of the presentation Surface Reconstruction Petra Surynková Charles University in Prague Faculty of Mathematics and Physics petra.surynkova@mff.cuni.cz Outline of the presentation My work up to now Surfaces of Building Practice

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Achieve Recommended Pathway: Geometry

Achieve Recommended Pathway: Geometry Units Unit 1 Congruence, Proof, and Constructions Unit 2 Similarity, Proof, and Trigonometry Unit 3 Extending to Three Dimensions Unit 4 Connecting Algebra and Geometry through Coordinates Unit 5 Circles

More information

Surface Mesh Generation

Surface Mesh Generation Surface Mesh Generation J.-F. Remacle Université catholique de Louvain September 22, 2011 0 3D Model For the description of the mesh generation process, let us consider the CAD model of a propeller presented

More information

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

More information

Geometric Computations for Simulation

Geometric Computations for Simulation 1 Geometric Computations for Simulation David E. Johnson I. INTRODUCTION A static virtual world would be boring and unlikely to draw in a user enough to create a sense of immersion. Simulation allows things

More information

On Merging Straight Skeletons

On Merging Straight Skeletons On Merging Straight Skeletons Franz Aurenhammer 1 and Michael Steinkogler 2 1 Institute for Theoretical Computer Science, University of Technology, Graz, Austria auren@igi.tugraz.at 2 Institute for Theoretical

More information

Common Core Cluster. Experiment with transformations in the plane. Unpacking What does this standard mean that a student will know and be able to do?

Common Core Cluster. Experiment with transformations in the plane. Unpacking What does this standard mean that a student will know and be able to do? Congruence G.CO Experiment with transformations in the plane. G.CO.1 Know precise definitions of angle, circle, perpendicular line, parallel line, and line segment, based on the undefined notions of point,

More information

This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane?

This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane? Intersecting Circles This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane? This is a problem that a programmer might have to solve, for example,

More information

Optimal Compression of a Polyline with Segments and Arcs

Optimal Compression of a Polyline with Segments and Arcs Optimal Compression of a Polyline with Segments and Arcs Alexander Gribov Esri 380 New York Street Redlands, CA 92373 Email: agribov@esri.com arxiv:1604.07476v5 [cs.cg] 10 Apr 2017 Abstract This paper

More information

Curriki Geometry Glossary

Curriki Geometry Glossary Curriki Geometry Glossary The following terms are used throughout the Curriki Geometry projects and represent the core vocabulary and concepts that students should know to meet Common Core State Standards.

More information

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives. D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,

More information

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

More information

SECONDARY DRAFT SYLLABUS. 2. Representation of functions. 3. Types of functions. 4. Composition of functions (two and three)

SECONDARY DRAFT SYLLABUS. 2. Representation of functions. 3. Types of functions. 4. Composition of functions (two and three) et et et CLASS IX Topic :Set Language et et 1. Describing and representing sets SECONDARY DRAFT SYLLABUS Able to describe a set in Descriptive, Set- builder and roster forms and through Venn diagram. Use

More information

CSCI 4620/8626. Coordinate Reference Frames

CSCI 4620/8626. Coordinate Reference Frames CSCI 4620/8626 Computer Graphics Graphics Output Primitives Last update: 2014-02-03 Coordinate Reference Frames To describe a picture, the world-coordinate reference frame (2D or 3D) must be selected.

More information

EXTREME POINTS AND AFFINE EQUIVALENCE

EXTREME POINTS AND AFFINE EQUIVALENCE EXTREME POINTS AND AFFINE EQUIVALENCE The purpose of this note is to use the notions of extreme points and affine transformations which are studied in the file affine-convex.pdf to prove that certain standard

More information

Lecture 18 Representation and description I. 2. Boundary descriptors

Lecture 18 Representation and description I. 2. Boundary descriptors Lecture 18 Representation and description I 1. Boundary representation 2. Boundary descriptors What is representation What is representation After segmentation, we obtain binary image with interested regions

More information

Shape representation by skeletonization. Shape. Shape. modular machine vision system. Feature extraction shape representation. Shape representation

Shape representation by skeletonization. Shape. Shape. modular machine vision system. Feature extraction shape representation. Shape representation Shape representation by skeletonization Kálmán Palágyi Shape It is a fundamental concept in computer vision. It can be regarded as the basis for high-level image processing stages concentrating on scene

More information

UNIT 7 Coordinate Geometry 15 DAYS

UNIT 7 Coordinate Geometry 15 DAYS Pg 46 UNIT 7 Coordinate Geometry 15 DAYS G.GPE.5 Prove the slope criteria for parallel and perpendicular lines and uses them to solve geometric problems (e.g., find the equation of a line parallel or perpendicular

More information

Week 8 Voronoi Diagrams

Week 8 Voronoi Diagrams 1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an

More information

Geometry. Given a rectangle, parallelogram, trapezoid, or regular polygon, describe the rotations and reflections that carry it onto itself.

Geometry. Given a rectangle, parallelogram, trapezoid, or regular polygon, describe the rotations and reflections that carry it onto itself. Common Core State for Mathematics High School Following is a correlation of Pearson s Prentice Hall Common Core Geometry 2012 to Common Core State for High School Mathematics. Geometry Congruence G-CO

More information

Aspect-Ratio Voronoi Diagram with Applications

Aspect-Ratio Voronoi Diagram with Applications Aspect-Ratio Voronoi Diagram with Applications Tetsuo Asano School of Information Science, JAIST (Japan Advanced Institute of Science and Technology), Japan 1-1 Asahidai, Nomi, Ishikawa, 923-1292, Japan

More information

ME 111: Engineering Drawing. Geometric Constructions

ME 111: Engineering Drawing. Geometric Constructions ME 111: Engineering Drawing Lecture 2 01-08-2011 Geometric Constructions Indian Institute of Technology Guwahati Guwahati 781039 Geometric Construction Construction of primitive geometric forms (points,

More information

2003/2010 ACOS MATHEMATICS CONTENT CORRELATION GEOMETRY 2003 ACOS 2010 ACOS

2003/2010 ACOS MATHEMATICS CONTENT CORRELATION GEOMETRY 2003 ACOS 2010 ACOS CURRENT ALABAMA CONTENT PLACEMENT G.1 Determine the equation of a line parallel or perpendicular to a second line through a given point. G.2 Justify theorems related to pairs of angles, including angles

More information

Grade 9, 10 or 11- Geometry

Grade 9, 10 or 11- Geometry Grade 9, 10 or 11- Geometry Strands 1. Congruence, Proof, and Constructions 2. Similarity, Proof, and Trigonometry 3. Extending to Three Dimensions 4. Connecting Algebra and Geometry through Coordinates

More information

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15 Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon

More information

FOREGROUND DETECTION ON DEPTH MAPS USING SKELETAL REPRESENTATION OF OBJECT SILHOUETTES

FOREGROUND DETECTION ON DEPTH MAPS USING SKELETAL REPRESENTATION OF OBJECT SILHOUETTES FOREGROUND DETECTION ON DEPTH MAPS USING SKELETAL REPRESENTATION OF OBJECT SILHOUETTES D. Beloborodov a, L. Mestetskiy a a Faculty of Computational Mathematics and Cybernetics, Lomonosov Moscow State University,

More information

Other Voronoi/Delaunay Structures

Other Voronoi/Delaunay Structures Other Voronoi/Delaunay Structures Overview Alpha hulls (a subset of Delaunay graph) Extension of Voronoi Diagrams Convex Hull What is it good for? The bounding region of a point set Not so good for describing

More information

Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

More information

Geometry SEMESTER 1 SEMESTER 2

Geometry SEMESTER 1 SEMESTER 2 SEMESTER 1 Geometry 1. Geometry Basics 2. Coordinate Geometry a) Transformations, e.g., T(x + a, y + b) 3. Angles 4. Triangles a) Circumcenter 5. Construction a) Copy a segment, angle b) Bisect a segment,

More information

Distance Trisector Curves in Regular Convex Distance Metrics

Distance Trisector Curves in Regular Convex Distance Metrics Distance Trisector Curves in Regular Convex Distance Metrics Tetsuo sano School of Information Science JIST 1-1 sahidai, Nomi, Ishikawa, 923-1292 Japan t-asano@jaist.ac.jp David Kirkpatrick Department

More information

PITSCO Math Individualized Prescriptive Lessons (IPLs)

PITSCO Math Individualized Prescriptive Lessons (IPLs) Orientation Integers 10-10 Orientation I 20-10 Speaking Math Define common math vocabulary. Explore the four basic operations and their solutions. Form equations and expressions. 20-20 Place Value Define

More information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria Voronoi diagrams Delaunay Triangulations Pierre Alliez Inria Voronoi Diagram Voronoi Diagram Voronoi Diagram The collection of the non-empty Voronoi regions and their faces, together with their incidence

More information

1. POINTS, LINES, AND ANGLES

1. POINTS, LINES, AND ANGLES Tutorial Outline California Tutorials are designed specifically for the California Common Core State Standards and the California Next Generation Science Standards to prepare students for the Smarter Balanced

More information

High School Geometry

High School Geometry High School Geometry This course covers the topics shown below. Students navigate learning paths based on their level of readiness. Institutional users may customize the scope and sequence to meet curricular

More information

The Farthest Point Delaunay Triangulation Minimizes Angles

The Farthest Point Delaunay Triangulation Minimizes Angles The Farthest Point Delaunay Triangulation Minimizes Angles David Eppstein Department of Information and Computer Science UC Irvine, CA 92717 November 20, 1990 Abstract We show that the planar dual to the

More information

Geometry. Geometry Higher Mathematics Courses 69

Geometry. Geometry Higher Mathematics Courses 69 Geometry The fundamental purpose of the Geometry course is to formalize and extend students geometric experiences from the middle grades. This course includes standards from the conceptual categories of

More information

Morphological Image Processing

Morphological Image Processing Morphological Image Processing Morphology Identification, analysis, and description of the structure of the smallest unit of words Theory and technique for the analysis and processing of geometric structures

More information

Montclair Public Schools Math Curriculum Unit Planning Template Unit # SLO # MC 2 MC 3

Montclair Public Schools Math Curriculum Unit Planning Template Unit # SLO # MC 2 MC 3 Subject Geometry High Honors Grade Montclair Public Schools Math Curriculum Unit Planning Template Unit # Pacing 8-10 9 10 weeks Unit Circles, Conic Sections, Area & 3-D Measurements Name Overview Unit

More information

Geometric Steiner Trees

Geometric Steiner Trees Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 2: Global properties of Euclidean Steiner Trees and GeoSteiner Marcus Brazil

More information

G.CO.2 G.CO.3 G.CO.4 G.CO.5 G.CO.6

G.CO.2 G.CO.3 G.CO.4 G.CO.5 G.CO.6 Standard G.CO.1 G.CO.2 G.CO.3 G.CO.4 G.CO.5 G.CO.6 Jackson County Core Curriculum Collaborative (JC4) Geometry Learning Targets in Student Friendly Language I can define the following terms precisely in

More information

Topic 6 Representation and Description

Topic 6 Representation and Description Topic 6 Representation and Description Background Segmentation divides the image into regions Each region should be represented and described in a form suitable for further processing/decision-making Representation

More information

NAEP Released Items Aligned to the Iowa Core: Geometry

NAEP Released Items Aligned to the Iowa Core: Geometry NAEP Released Items Aligned to the Iowa Core: Geometry Congruence G-CO Experiment with transformations in the plane 1. Know precise definitions of angle, circle, perpendicular line, parallel line, and

More information

Make geometric constructions. (Formalize and explain processes)

Make geometric constructions. (Formalize and explain processes) Standard 5: Geometry Pre-Algebra Plus Algebra Geometry Algebra II Fourth Course Benchmark 1 - Benchmark 1 - Benchmark 1 - Part 3 Draw construct, and describe geometrical figures and describe the relationships

More information

Chapter 11 Representation & Description

Chapter 11 Representation & Description Chain Codes Chain codes are used to represent a boundary by a connected sequence of straight-line segments of specified length and direction. The direction of each segment is coded by using a numbering

More information

MATH 890 HOMEWORK 2 DAVID MEREDITH

MATH 890 HOMEWORK 2 DAVID MEREDITH MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet

More information