230 likes | 457 Views
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),
E N D
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), • in image analysis (MLP: calculation of features), • in robotics (shortest path of a robot in a constrained environment), ...
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
Motivation: Robotics Path Planning B Informally: The relative convex hull of A relative to B is the shortest path between A and B. A
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
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
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
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.
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)
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
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)
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)
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
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
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
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.
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}
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.
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.
New recursive algorithm Covers Relative convex hull First cavity Second cavity
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.