1 / 21

A Recursive Algorithm for Calculating the Relative Convex Hull

A Recursive Algorithm for Calculating the Relative Convex Hull. Gisela Klette AUT University Computing & Mathematical Sciences Auckland, New Zealand. Motivation. The calculation of relative convex hulls of simple polygons is a special subject in computational geometry (shortest paths),

magee
Download Presentation

A Recursive Algorithm for Calculating the Relative Convex Hull

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Recursive Algorithm for Calculating the Relative Convex Hull Gisela Klette AUT University Computing & Mathematical Sciences Auckland, New Zealand

  2. Motivation The calculation of relative convex hulls of simple polygons is • a special subject in computational geometry (shortest paths), • in image analysis (MLP: calculation of features), • in robotics (shortest path of a robot in a constrained environment), ...

  3. Motivation: Image Analysis • MLP is a digital length estimator of the circumference of a digital object that is multigrid convergent • MLP is characteristic for the digital convexity of the shape • MLP is a tangent estimator

  4. Motivation: Robotics Path Planning B Informally: The relative convex hull of A relative to B is the shortest path between A and B. A

  5. Definition 1 A subset S in R2 of points is convex iff S is equal to the intersection of all half planes containing S. The convex hull CH(S) of a set of points S is the smallest (by area) convex polygon P that contains S. CH(S) S

  6. Definition 2 A cavity of a polygon A is the topological closure of any connected component of CH(A) \ A. CAV1 CAV2 CAV4 CAV3 Polygon with 4 cavities

  7. Definition 3 A cover is a straight line segment in the frontier of CH(A) that is not part of the frontier of A. cover4

  8. Definition 4 A polygon A is B-convex iff any straight line segment in B that has both end points in A, is also contained in A. The convex hull of A relatively to B is the intersection of all B-convex polygons containing A.

  9. Definition 5 The minimum length polygon (MLP) of a 2D digital object coincides with the relative convex hull of an inner grid polygon relatively to an outer grid polygon, normally defined in a way like simulating an inner and outer Jordan digitization. Inner grid polygon Inner grid polygon Inner grid polygon Inner grid polygon CH(A) CH(A) Outer grid polygon Outer grid polygon Outer grid polygon Outer grid polygon 2 D digital object 2 D digital object 2 D digital object 2 D digital object CHB(A) CHB(A) CHB(A) CHB(A)

  10. Properties of MLP - The inner and the outer polygon of a Jordan digitization have the constraint that they are at Hausdorff distance 1. • Mappings exist between vertices and between cavities in A and in B. • Convex vertices of the inner polygon and concave vertices of the outer polygon are candidates for the MLP. • MLP is uniquely defined for a given digitized object

  11. Algorithm, general case [Toussaint, G.T.: An optimal algorithm for computing the relative convex hull of a set of points in a polygon. In: EURASIP, Signal processing lll: Theories and Applications, Part 2, pages 853–856, North-Holland, 1986.] Computation of the relative convex hull: p • Find an extreme vertex p in A • Construct a polygon B\A with one newly created double-oriented edge between A and B • Triangulate the new polygon • Find the shortest path from p to p Time Complexity: O(n log log n)

  12. Algorithm, MLP [Klette, R., Kovalevsky, V.V., Yip., B.: Length estimation of digital curves. In: Vision Geometry, SPIE 3811, pages 117–129, 1999.] [Klette, R., Rosenfeld, A.: Digital Geometry. Morgan Kaufmann, San Francisco, 2004.] Computation of MLP: • Trace frontier of A and include concave vertices of B • Start at extreme vertex • Compute positive and negative sides • As long as next vertex is between positive and negative sides update the sides • Otherwise a new vertex for • CHB(A) has been found Time Complexity: O(n)

  13. Arithmetic MLP (AMLP) [Provencal, X., Lachaud, J.-O.: Two linear-time algorithms for computing the minimum length polygon of a digital contour. In: DGCI 2009, LNCS 5810, pages 104–117, Springer, Heidelberg, 2009.] Computation of MLP: • Input: contour words (Freeman code) • Compute tangential cover • Decompose into zones (convex, concave, inflexion) • Compute convex hull for each polyline per zone Tangential cover Convex hull of one zone Time Complexity: O(n), only for polyominos

  14. Combinatorial MLP (CMLP) [Provencal, X., Lachaud, J.-O.: Two linear-time algorithms for computing the minimum length polygon of a digital contour. In: DGCI 2009, LNCS 5810, pages 104–117, Springer, Heidelberg, 2009.] CMLP Digital contour Time Complexity: O(n), only for polyominos

  15. Result 1 The B-convex hull of a simple polygon A is equal to the convex hull of A iff the convex hull of A is completely contained in B. B is concave B is convex B B A A

  16. Result 2 All vertices of the convex hull of a simple polygon A inside a simple polygon B are vertices of the B-convex hull of A.

  17. Result 3 All the vertices of the convex hull of Inew belong to the relative convex hull of A between ps and pe. Inew = {ps, q3, q4,…q11, pe}

  18. New algorithm The relative convex hull CHB(A) for simple polygons A and B is only different from CH(A) if there is at least one cavity in A and one in B such that the intersection of those cavities is not empty.

  19. New recursive algorithm • Compute the convex hulls for the inner and the outer polygon (Melkman algorithm for example) • Copy vertices of the inner polygon one by one to the CHB(A) until it finds a cavity • Check the outer polygon for a cavity • Construct the new polygons and find the convex hulls • Copy all vertices of the inner polygon to the CHB(A) • Stop if the base case of the recursion is reached.

  20. New recursive algorithm Covers Relative convex hull First cavity Second cavity

  21. Discussion • Recursive algorithm works for arbitrary simple polygons A and B in O(n2), worst case. • It is a recursive procedure that is very simple and of low time complexity. • The algorithm runs in linear time if the maximum depth of stacked cavities of A is limited by a constant. We continue to study the expected time complexity of the algorithm under some general assumptions of variations (i.e., distribution) for possible input polygons A and B. • The depth of stacked cavities could be used as a shape descriptor.

More Related