Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROCESS FOR THE AUTOMATIC CALCULUS OF THE CONVEX OR CONCAVE HULL OF AN ARBITRARY SET OF POINTS
Document Type and Number:
WIPO Patent Application WO/2008/107859
Kind Code:
A1
Abstract:
The present process for the automatic calculus of the contour is an algorithm designed to compute the polygon that describes the area occupied by a set of points in a bi-dimensional space (2D). The automatic calculus of the contour always generates a regular polygon, convex or concave, processes arbitrary sets of points, adapts itself to the spatial density variation of the points and does not require any previous knowledge concerning the spatial density of the points under analysis. The automatic calculus of the contour can be integrated into software applications to allow the automatic creation of convex or concave polygons from a list of points. The automatic calculus of the contour can be used in any application that requires the definition of the boundary of the region occupied by a set of points, or its contour, such as the automatic identification of the boundary of a region occupied by a set of geo-referenced points of interest (POIs).

Inventors:
CARDOSO MOREIRA ADRIANO JORGE (PT)
CAMPOS ALVES SANTOS MARIBEL YASMINA (PT)
Application Number:
PCT/IB2008/050849
Publication Date:
September 12, 2008
Filing Date:
March 07, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV DO MINHO (PT)
CARDOSO MOREIRA ADRIANO JORGE (PT)
CAMPOS ALVES SANTOS MARIBEL YASMINA (PT)
International Classes:
G06T11/20
Foreign References:
US5754701A1998-05-19
Other References:
JARVIS R A: "COMPUTING THE SHAPE HULL OF POINTS IN THE PLANE", PROCEEDINGS/PRIP 77: IEEE COMPUTER SOCIETY CONFERENCE ON PATTERN RECOGNITION AND IMAGE PROCESSING,, 6 June 1977 (1977-06-06), pages 231 - 241, XP009102532
JARVIS R A: "On the identification of the convex hull of a finite set of points in the plane", INFORMATION PROCESSING LETTERS NETHERLANDS, vol. 2, no. 1, March 1973 (1973-03-01), pages 18 - 21, XP002486729, ISSN: 0020-0190
MOREIRA A ET AL: "Concave hull: a k-nearest neighbours approach for the computation of the region occupied by a set of points", GRAPP 2007. SECOND INTERNATIONAL CONFERENCE ON COMPUTER GRAPHICS THEORY AND APPLICATIONS 8-11 MARCH 2007 BARCELONA, SPAIN,, 8 March 2007 (2007-03-08), pages 61 - 68, XP009102384, ISBN: 978-972-8865-71-9
ANTONY GALTON ET AL: "What Is the Region Occupied by a Set of Points?", GEOGRAPHIC, INFORMATION SCIENCE LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER BERLIN HEIDELBERG, BE, vol. 4197, 1 January 2006 (2006-01-01), pages 81 - 98, XP019043250, ISBN: 978-3-540-44526-5
Attorney, Agent or Firm:
VIEIRA PEREIRA FERREIRA, Maria Silvina (Modet & CºRua Castih, 50 - 9º -163 Lisboa, PT)
Download PDF:
Claims:

Claims

[1] The process for automatic calculus of the convex or concave hull of an arbitrary set of points, applied, for example, in the processing of satellite images, aerial photographs, geo-referenced information, among other applications, comprising the following steps: a) Reading of points meant to be analysed, by means of (x, y) coordinates carried out through a data file in text or binary format, or inserted through the keyboard; b) Identifying the first vertex among the set of points to be analysed, which is located at one edge of the area under analysis, i.e. the point with the highest or lowest value in X or Y (A); c) Identifying the ^-nearest neighbour points of the first identified point (B, C and D), k being a positive integer number; d) Identifying the next polygon vertex, which is chosen among the ^-nearest neighbours identified in the previous step, which will be the point that leads to the highest clockwise-measured angle between the axis, which is perpendicular to the axis selected to identify the first vertex, and the line that links the previous vertex to that point (C) and that has the highest angle among all angles defined by the ^-nearest neighbours; e) Removing the points already identified, which constitute vertices of the polygon, from the set of points under analysis; f) Identifying the ^-nearest neighbour of the vertex previously identified, which will be the point (E) that leads to the highest clockwise-measured angle among the ^-neighbours with respect to the last identified edge; g) Iteratively repeating the two previous steps, steps e) and f), until the next identified vertex coincides with the first vertex of the polygon, identified in the first step; h) Reinserting during the previous step the first point identified in the set of points under analysis, after the identification of the first four vertices of the polygon; i) Verifying, during step g), if the candidate point for the next vertex leads to an edge that intersects any of the edges already identified and, so being, choosing the next point (G) presenting the highest angle; j) Incrementing during the previous stage the value of k by one unit and restart the process in step b) if all ^-neighbours lead to an intersection; k) Verifying if all points integrating the set under analysis are included in the area defined by the polygon and if not included, incrementing the value of k by one unit and restart the process in the first step;

wherein the final result is an ordered list of points with the respective (x, y) coordinates that defines the identified polygon, the result being presented in a data file in text or binary format, as a graph, or directly into the screen. [2] Process according to claim 1 characterised in that the shape of the polygon can be adjusted attending to the k input value. [3] Process according to claim 1 characterized in that the created polygon is a regular polygon. [4] Process according to claim 1 characterized in that it can be used without any k input parameter. [5] Process according to claim 1 characterized in that it is used with an input parameter, a positive integer number (k), which is equal or higher than 3. [6] Process according to claim 1 characterized in that it does not require any previous knowledge concerning the spatial distribution of the points to be analysed. [7] Process according to claim 1 characterized in that it can be adapted to any variations on the spatial density of the given points.

Description:

Description

PROCESS FOR THE AUTOMATIC CALCULUS OF THE CONVEX OR CONCAVE HULL OF AN ARBITRARY SET OF

POINTS

Field of the Invention

[1] The process for the automatic identification of the contour of an arbitrary set of points is associated to the computational geometry area and is an extension to the algorithms that allow the automatic calculus of the polygon that characterizes the contour of a set of points by adding the capacity to generated non-convex polygons (1). Summary of the Invention

[2] The process for the automatic calculus of the contour of an arbitrary set of points is an algorithm that was designed to generate a polygon that describes the area occupied by a set of points in a bi- dimensional space (2D), and is entitled 'The Concave Hull', see Figure 1. The automatic calculus of the contour always generates a regular polygon, either convex or concave, processes arbitrary sets of points, adapts itself to spatial density variations of the points, and does not require any previous knowledge concerning the spatial distribution of the points. The automatic calculus of the contour can be integrated in software applications so as to allow the automatic creation of convex or concave polygons from a list of points. The automatic calculus of the contour can be used in any application that requires the definition of the boundary of a region characterized by a set of points, or its contour, such as the automatic identification of the boundary of a region occupied by a set of geo-referenced points of interest (POIs). Background of the Invention

[3] The analysis of a set of points in an image, or the analysis of a set of geo-referenced spatial points, aiming to identify regions with specific characteristics has been a research topic for many years and still attracts many researchers today. Notwithstanding the research efforts, namely in the scope of computational geometry, there has not yet been found any satisfactory solution to identify regions (herein delimited by polygons) presenting certain shapes, namely non-convex shapes. Whenever the analysis of a specific set of points leads to the identification of a convex polygon, there are several already-developed algorithms that handle this problem satisfactorily [1-4]. The patent applications JP2144678 and JP3006778 also present methods to create polygons characterizing the contour from an initial set of points. The principle followed by these algorithms is always the same: identifying the polygon with smaller area that includes all points that belong to a specific region. In the scientific

community this polygon is known as the Convex Hull. However, there are situations where convex polygons do not describe properly the region characterized by a specific set of points, see Figure 2. For these regions, which represent non-convex shapes, non- convex polygons can better describe the area of the region. There is no unique solution for the contour of these non-convex regions. In those cases, the minimum area principle used in the Convex Hull does not apply, and previous research efforts, namely in the computational geometry field, did not produce a satisfactory solution for the identification of regions with non-convex shapes. Some of the existing solutions proposed in this area, and somewhat related to this problem, are either more oriented to the surfaces' reconstruction [5-7], or require the user's previous knowledge concerning the spatial distribution of points [8], or can not handle large variations in spatial density of the points.

[4] The algorithm herein described, and named automatic calculus of the convex or concave hull of an arbitrary set of points, or Concave Hull algorithm, presents as main differentiating functionalities, with respect to other approaches, the fact that allows the creation of convex and non-convex polygons from arbitrary sets of points and whose spatial point distribution may be different along the occupied region, without any user's previous knowledge concerning such distribution. The Concave Hull process also allows the specification of the type of polygon desired by the user. This parameterization of the algorithm allows its use in a broader range of applications.

[5] The above mentioned characteristics for the automatic calculus of the contour allows the easy integration of the Concave Hull process into any software application whose main functionality is the automatic identification of the regions occupied by a set of points.

[6] The automatic processing of satellite images, aerial photographs, geo-referenced information, among other applications, usually carried out with the aid of geographic information systems (GIS), requires the use of appropriate algorithms. When concave polygons need to be identified, such functionalities are not available in these tools, as far as the characteristics of the herein disclosed Concave Hull algorithm are concerned. The integration of the Concave Hull algorithm in a GIS allows the identification of polygons with the precision required by each application domain, and with any shape, either convex or concave.

[7] The use of the Concave Hull algorithm in the identification of the polygon that characterizes the area occupied by a specific set of points presents when compared to other algorithms the following advantages:

- Independency from the user's data knowledge. It does not require any previous knowledge of the data;

- The identification of a polygon that always satisfies the nine criteria [8] that were

defined to assess the results of this type of algorithms;

- The Concave Hull algorithm automatically adapts to the spatial density of the points set under analysis, this spatial density being able to vary within a set of points, thus presenting an optimal solution even when the user's parameterisation has not been the most adequate. This means that the algorithm adapts to the data in order to constantly identify a polygon that properly characterizes the analysed points;

- The Concave Hull algorithm can be parameterised allowing the identification of different solutions to the same problem. This functionality allows the evaluation of the different solutions and the selection of the most appropriate for a specific use. Brief Description of the Drawings

[8] Figure 1 shows an example of a non-convex polygon identified by the process of automatic calculus of the contour. [9] Figure 2 illustrates an example in which a convex polygon does not properly describe the region occupied by a set of points as a considerable part of the region does not contain any points. [10] Figure 3 is a flowchart that briefly describes the process of automatic calculus of convex or concave hull so as to create polygons.

[11] Figure 4 illustrates the first, second and third steps of the process.

[12] Figure 5 points out the fourth step of the process.

[13] Figure 6 points out the particular case where a point that is the candidate to become the next vertex leads to an intersection with one of the edges already identified. [14] Figure 7 shows an example of how the value of the k parameter can be used to identify polygons with higher or lower smoothness. [15] Figure 8 presents some performance values of the process when it is automatically executed by a software application, these results showing that the processing time is directly proportional to the number of points to be analysed and lower for higher values of k.

Detailed Description of the Invention [16] The automatic calculus of the contour of an arbitrary set of points, the Concave Hull, is a process that allows creating a polygon describing the convex or concave region which is occupied by a set of points in a bi-dimensional space (2D), based on the analysis of the nearest points (neighbours) of each vertex already found in the polygon.

The first vertex of the polygon is calculated by finding an extreme point among all the points to be processed. [17] The automatic calculus of the contour is characterized in that it allows the creation of convex or concave polygons, being able to create a polygon that best describes the region occupied by a set of points, when compared with other algorithms that create

convex hulls associated with the analysed points. The Concave Hull algorithm is also characterized in that it allows processing sets of points whose spatial density may vary along the region occupied by the points in the space.

[18] The main concept in the process used by the Concave Hull algorithm to create polygons is the incremental construction of the polygon based on the spatial analysis of the neighbour points of the last identified vertex, starting from an extreme point as the first vertex, such as described by the flowchart in Figure 3.

[19] The first step of the algorithm consists of identifying the first vertex from the set of points to be analyzed. This point is located in an extreme position of the area under analysis, when seen in a spatial perspective. From the verification of the (x, y) coordinates of the several points, the first vertex is chosen as the point with higher or lower value in Y, or the point with higher or lower value in X, such as shown in Figure 4 for the point with lowest value in Y(point A).

[20] In the second step, the k points that are near the first point identified, and consisting of the first vertex of the polygon, are identified. Those points are for the next vertex of the polygon. Following the example, these are points B, C and D in Figure 4.

[21] The third step is associated with the identification of the next polygon vertex. This vertex is selected among the ^-nearest neighbour points identified in the previous step and this will be the point which leads to the highest clockwise-measured angle between the axis, perpendicular to the one chosen to identify the first point, and the line that links the previous vertex to this point, which angle is the highest of all defined by the k -nearest neighbour points. Following the example presented in Figure 4, point C is the point that leads to the highest angle to point A. Point C then becomes the next vertex of the polygon. Since points C and A are now a vertex of the polygon, they are removed from the set of points under analysis.

[22] In the fourth step, the ^-nearest neighbours of the previously identified vertex are identified. Following the example presented so far, the ^-neighbours of point C (Figure 5), for k=3, are points D, B and E. In this case, the next polygon vertex is identified as the point that results in the largest angle among the ^-neighbours regarding the previously-identified edge. In Figure 5, the largest angle towards the edge under analysis is point E. Point E is now part of the polygon and is removed from the set of points under analysis.

[23] The fourth step is iteratively repeated until the next identified vertex matches the first vertex of the polygon, which was identified in the first step. In order to match the first and last vertices, thus closing the polygon, the first point is re-inserted into the set of points under analysis after the first four vertices of the polygon have been identified (before that, if the first point is selected as the best candidate, a triangle is computed).

[24] Before a candidate point is definitively selected to become the next vertex of the

polygon the process must verify if the selected candidate results in an edge that intersects one of the previously identified edges (point B in Figure 6). In these cases, and in order to avoid an intersection, the next point presenting the highest angle (point G in Figure 6) must be considered as candidate for the next vertex. If all ^-neighbours lead to an intersection, then a higher number of neighbours must be considered, by increasing the value of k and the process is restarted in step one with the identification of the first vertex.

[25] Once the process is finished, the polygon is closed as the first vertex is equal to the last vertex.

[26] In this phase it must be verified whether all points that integrate the set under analysis are inside the area defined by the polygon (including its boundary). If all points are within the area, the polygon identification process is concluded, and the list of points (vertices) that define the polygon is returned. Should all points not be included within the area defined by the polygon, the value of k is incremented by one unit and the process is restarted in the first step with the identification of the first vertex of the polygon.

[27] The value of k, which states the number of neighbours analysed in each step, is used to identify the polygon of higher or lower smoothness. The higher the value of k, the smoother the polygon contour will be. This happens because the algorithm considers more neighbours, therefore increasing the distance between the selected points and so being the edges link vertices that are farther from each other. Figure 7 shows two polygons for the same set of points. The only difference in the identification process of the polygons is based on the value of k. The first polygon was identified with a lower value of k, thus presenting edges that link points which are closer to each other.

[28] As the process of identification of the polygon progresses, whenever the number of points left to be analysed within the set of points is inferior to the value of k, the algorithm automatically redefines the value of k such that it does not exceed the set of points left for analysis. So being, the process of identification of the polygon is not interrupted, thus proceeding until the first and last point of the polygon coincide.

[29] The process of identification of polygons implemented through the Concave Hull algorithm can be made automatic by a software application. In this case, the points to be analysed can be provided by means of any data file in text or binary format, or introduced using the keyboard. The final result of the process, which is an ordered list of points with the respective (x, y) coordinates that define the identified polygon, can be returned to the user as a data file in a text or binary format, as a graphic, or directly into the screen.

[30] The implementation of the software application can be done in any programming language, since the process described is not associated with any specific programming

paradigm.

[31] By means of the analyses undertaken to the process of identification of polygons it is shown that the processing time is proportional to the number of points under analysis, see Figure 8.

[32] This description of the process for the automatic calculus of the convex or concave hull of an arbitrary set of points is carried out as a non-limitative example that can lead to modifications or variations by one skilled in the art, those modifications being however covered by the scope of this invention, as defined in the following claims. [33] References:

[1] Graham, R.L., 1972, An efficient algorithm for determining the convex hull of a planar set, Information Processing Letters 1, 132-133;

[2] Jarvis, R.A., 1973, On the identification of the convex hull of a finite set of points in the plane. Information Processing Letters 2, 18-21;

[3] Preparata, F.P., and Hong, SJ., 1977, Convex hulls of finite sets of points in two and three dimensions. Communications of the ACM, 20, 2 (Feb.), 87-93;

[4] Eddy, W.F., 1977, A new convex hull algorithm for planar sets. ACM Transactions on Mathematical Software, 3, 4 (Dec), 398-403;

[5] Edelsbrunner, H., Kirkpatrick D.G, and Seidel R., 1983, On the Shape of a Set of Points in the Plane, IEEE Transactions on Information Theory, Vol. IT-29, No. 4, July;

[6] Edelsbrunner, H., and Mucke, E.P., 1992b, Three-dimensional Alpha Shapes, In Proceedings of the 1992 Workshop on Volume visualization, p.75-82, Boston, Mas- sachusets, USA, October 19-20;

[7] Amenta, N., Bern, M., Kamvysselis, M., 1998, A New Voronoi-Based Surface Reconstruction Algorithm, Proceedings of the 25th annual conference on Computer graphics and interactive techniques, p.415-421, July;

[8] Galton, A, and Duckham, M., 2006, What is the Region Occupied by a Set of Points?, Proceedings of the Fourth International Conference on Geographic Information Science - GIScience 2006, Munich, Germany, September 20-23.




 
Previous Patent: A BED

Next Patent: LARGE SINGLE CRYSTAL DIAMONDS