Delaunay triangulation network generation method based on point cloud data and computer equipment

By sorting, chunking and setting the point cloud data, a Delaunay triangle network is generated, and cross-edge correction and deduplication are performed, the problems of large memory usage and slow network construction speed of the Delaunay triangle network generation method in the existing technology are solved, and fast, efficient and accurate triangle network generation is achieved.

CN119579824AActive Publication Date: 2025-03-07CHINA RAILWAY NO 2 ENG GROUP CO LTD +1

Patent Information

Application Number
CN202411584581.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-10-25
Filing Date
2024-11-07
Publication Date
2025-03-07
Estimated Expiration
2044-11-07

AI Technical Summary

Technical Problem

The existing Delaunay triangular network generation method has problems such as large memory usage, slow network construction speed, difficult to ensure network construction quality, and low network construction accuracy.

Method used

By sorting and numbering the point cloud data in an overall manner, processing it in blocks and setting parameters, generating a Delaunay triangle network, and performing cross-edge correction and deduplication processing, ensuring the uniqueness and quality of the triangle network.

Benefits of technology

It realizes the rapid, efficient and accurate generation of Delaunay triangular networks with full-region coverage, which are suitable for continuous and discontinuous point cloud data, improving the accuracy and reliability of network structure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119579824A_ABST
    Figure CN119579824A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of point cloud data processing, in particular to a Delaunay triangulation network generation method based on point cloud data and computer equipment. According to the method, the triangulation network of each block is generated by numbering, blocking and overlapping the blocks according to a certain proportion and determining a public area and a non-public area (deletion area) of the overlapped part, in the generation process, key parameters are set, and the Delaunay triangulation network is quickly, efficiently and accurately established through reasonable parameter setting. In the triangulation network generation processing of each block, triangles formed by non-public area points at the starting end and the tail end of the current block are removed, and deduplication processing is carried out on triangles in an overlapped area, so that the triangulation network covered by the whole area can be quickly and efficiently generated by using the generation method disclosed by the invention; the Delaunay triangulation network can be generated for continuous (uniform) or discontinuous (non-uniform) point cloud data, and favorable data support is provided for generating a contour line topographic map, calculating the excavation and filling area of the cross section of the roadbed or generating a three-dimensional real scene model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of point cloud data processing, and in particular to a Delaunay triangulation generation method based on point cloud data and a computer device. Background Art

[0002] In the field of 3D laser scanning or drone point cloud data processing, the construction and optimization of triangulated networks has always been a research hotspot. Among them, irregular triangulated networks (TINs) are widely used due to their advantages such as low data redundancy, high storage efficiency, and good ability to reflect terrain features. In the construction of TINs, Delaunay triangulated networks have become the focus of research for many scholars due to their excellent terrain fitting capabilities and good structural characteristics.

[0003] The Delaunay triangulation is a set of adjacent and non-overlapping triangles. The circumscribed circle of each triangle does not contain other points. This feature ensures the structural stability and optimality of the generated triangulation. The Delaunay triangulation not only satisfies the empty circumscribed circle property, but also has the largest minimum internal angle among all possible triangulations, further improving the accuracy and efficiency of point cloud data processing.

[0004] Traditional Delaunay triangulation generation methods mainly include the split-merge method, the point-by-point insertion method, and the triangulation growth method. The split-merge method recursively divides the point set into smaller subsets, generates a triangulation in each subset, and finally merges them into a complete Delaunay triangulation. This method is efficient but occupies a large amount of memory. The merged part requires necessary extension and a large number of regularity judgments. The point-by-point insertion rule inserts points into the existing triangulation one by one and optimizes the generated triangles. This method is simple to implement but inefficient. The triangulation growth rule takes a certain point as the starting point and generates a triangulation by gradually expanding. This method generates quickly and has gradually become a commonly used method.

[0005] Although the rapid growth method reduces unnecessary calculations by improving the algorithm logic, such as regional division and limiting the search range, it is still quite blind when searching for the third point that satisfies the Delaunay law. This blindness causes a lot of time to be consumed in invalid calculations and comparisons, especially when processing large-scale discrete point data, the time complexity increases significantly and the network construction speed slows down significantly.

[0006] Secondly, when using the rapid growth method to divide regions, it is a big challenge to determine the division basis and parameters (such as the selection of the center of the circle, the value of the radius, etc.). Inappropriate division may result in the inability to find a reasonable third point in the current partition, or the division is too detailed, resulting in no significant improvement in algorithm efficiency, and may even reduce the quality of the network.

[0007] In addition, when dealing with data points of special shapes or distributions, the rapid growing method may not be able to effectively avoid triangle overlap or generate triangles that do not conform to the Delaunay law, thus affecting the accuracy and reliability of the network construction.

[0008] In summary, although the rapid growth method of Delaunay triangulation has improved the network construction efficiency to a certain extent, it is still necessary to further optimize the search algorithm, improve the region division strategy, and improve the algorithm's ability to process special data points in order to better meet the needs of practical applications. Summary of the invention

[0009] The purpose of the present invention is to overcome the comprehensive technical defects of existing triangulation network generation methods, such as large memory usage, slow network construction speed, difficult to ensure network quality, and low network construction accuracy, and to provide a Delaunay triangulation network generation method and computer equipment based on point cloud data.

[0010] In a first aspect, the present invention provides a method for generating a Delaunay triangulation network based on point cloud data, which specifically comprises the following steps:

[0011] Step 1: sort the point cloud data to be processed as a whole according to the coordinates, determine the overall direction of the point cloud data to be processed, and then number the point cloud data to be processed as a whole according to the overall direction;

[0012] Step 2, performing parameter preset and block processing on the point cloud data to be processed that has been numbered in step 1 to form point cloud sub-blocks; before performing block processing, firstly perform parameter preset, wherein parameter 1 to be preset is the number of point clouds in each point cloud sub-block; parameter 2 to be preset is the block overlap value between adjacent point cloud sub-blocks; in this step, the final number of point clouds and the corresponding number of each point cloud sub-block are determined according to the preset parameters 1 and 2;

[0013] Step 3: Generate Delaunay triangulations for all the point cloud sub-blocks to form a Delaunay triangle network; and perform cross-edge correction and deduplication processing on the Delaunay triangle network to make the number of the data set in the Delaunay triangle network unique;

[0014] Step 4: Check the Delaunay triangle mesh data obtained in step 3.

[0015] Determine whether the side length of each triangle in the entire Delaunay triangulation data is within the preset maximum side length value range, and whether the angle of each triangle is within the preset minimum angle value range;

[0016] If all the conditions are met, the corresponding triangle is retained; if not, the triangle is deleted;

[0017] After completing the judgment of all triangles in the whole network Delaunay triangulation data, the current whole network Delaunay triangulation data is output as a Delaunay triangulation.

[0018] In the technical solution of the present invention, by adopting numbering, dividing into blocks and allowing the blocks to overlap in proportion, the public area and non-public area of ​​the overlapping area are determined, so as to generate each block of triangulated network. In the generation process, key parameters are set, and the Delaunay triangulated network is established quickly, efficiently and accurately through reasonable parameter setting. Further, the triangulated network generation process of each block of point cloud data is discarded, and the triangles formed by the non-public area points at the beginning and end of the current block are discarded, and the triangles in the overlapping area are deduplicated, and finally the Delaunay whole network triangles are generated. The generation method of the present invention can quickly and efficiently generate a triangulated network covering the entire area. Delaunay triangulated networks can be generated for continuous (uniform) or discontinuous (non-uniform) point cloud data, which provides favorable data support for generating contour topographic maps, calculating the excavation and filling area of ​​the roadbed cross section, or generating a three-dimensional real scene model.

[0019] Preferably, in step 1, the specific sorting and numbering method is:

[0020] Determine the overall general direction of the point cloud data to be processed according to the maximum Xmax and the minimum Xmin on the X-coordinate axis, and the maximum Ymax and the minimum Ymin on the Y-coordinate axis;

[0021] It is stipulated that when |Xmax-Xmin|>|Ymax-Ymin|, the point cloud data to be processed is in the east-west direction;

[0022] It is stipulated that when |Xmax-Xmin|<|Ymax-Ymin|, the point cloud data to be processed is in the north-south direction;

[0023] The overall numbering method is: for point cloud data with a north-south orientation, first determine Ymin, and then sort and number them in order according to the size of the X value; for point cloud data with an east-west orientation, first determine Xmin, and then sort and number them in order according to the size of the Y value;

[0024] The numbering is done in the above way until all the point cloud data to be processed are numbered. The purpose of this numbering is to facilitate the next step of block division, and the blocks should keep a small aspect ratio as much as possible.

[0025] Preferably, in step 1, before all point clouds are sorted and numbered, the point cloud data is further deduplicated (the purpose is to ensure that the xy coordinates and numbers of each point are unique).

[0026] Preferably, in step 2, before performing block division, parameters are first preset, wherein parameter 1 to be preset is the number of point clouds in each point cloud sub-block; parameter 2 to be preset is the block overlap value between adjacent point cloud sub-blocks; in this step, the final number of point clouds and the corresponding number of each point cloud sub-block are determined according to the preset parameters 1 and 2;

[0027] The block processing is specifically as follows: first, the total number of point cloud points of the point cloud data to be processed numbered in step 1 is divided by parameter 1, and the integer is rounded upward to obtain the total number of point cloud sub-blocks n, and then the total number of point cloud points is divided by the total number of point cloud sub-blocks n to obtain the average number of point clouds Ki′ in each point cloud sub-block;

[0028] According to parameter 2, determine the final number of point clouds and the corresponding point cloud number in each point cloud sub-block, and the number of point clouds and the point cloud number in the overlapping area of ​​each point cloud sub-block, where K i =K i ′+K i+1 *c%, and E i =S i+1 .

[0029] In the technical solution of the present invention, the value range of parameter 1 is reasonably set according to the total amount of point cloud data. Different values ​​will result in different numbers of blocks. If the amount of point cloud data of the constructed object is large, the number of point clouds in each point cloud sub-block will be set larger. If the amount of point cloud data of the constructed object is small, the number of point clouds in each point cloud sub-block will be set smaller. The setting is performed while ensuring the operating efficiency of the computer. The minimum value must be greater than 3 to construct a triangle.

[0030] Further preferably, in step 2, after the block division is completed, it also includes determining the common part and the non-common part of the overlapping area, and deleting the triangle formed by the non-common area points at the beginning and end of the current point cloud sub-block.

[0031] When the number of the point cloud sub-blocks n≥2, the first point cloud sub-block includes a non-overlapping area N1 and an end overlapping area E1, and the last point cloud sub-block includes a non-overlapping area N n and the head-end overlap area S n , all the middle point cloud sub-blocks include non-overlapping areas N i , the first end overlapping area S i , End overlap area E i ;

[0032] In order to improve the generation efficiency of the triangulated network, during the parameter setting process, during the parameter preset process, the setting range of parameter 2 is 10% to 100%, and more preferably, the setting range of parameter 2 is 20% to 50%.

[0033] The preferred interval range of the above parameter settings is obtained through multiple point cloud data calculation examples. By controlling the parameters within the above interval range, the Delaunay triangulation can be generated efficiently, quickly and accurately, reducing the generation of unqualified triangulation.

[0034] The overlapping area S of each point cloud sub-block i or E i According to the preset parameter 3, that is, the proportion of the public part, it is further divided into three parts, namely the overlapping area public part Sg i and Eg i , front non-public area Sq i and S hi , the back-end non-public area Eq i and E hi The first point cloud sub-block contains an area range of K1=N1+E1, and the middle point cloud sub-block contains an area range of K i =S i +N i +E i , the area covered by the point cloud sub-block at the end is K n =S n +N n ;

[0035] The beginning of the point cloud sub-block at the head end and the end of the point cloud sub-block at the tail end are regarded as overlapping areas including 0 point clouds, then: Sg1 = Sq1 = Sh1 = 0; Eg n =Eq n =Eh n =0; the area range of the point cloud number contained in each point cloud sub-block is K i =S i +N i +E i ;

[0036] The deletion area of ​​each point cloud sub-block is Sq i and Eh i , where i=1, 2.........n, n≥1; and Eh i =Sq i+1 .

[0037] The setting interval of parameter 3 (the proportion of the public part) is 30%-100%. Further preferably, the setting interval of parameter 3 (the proportion of the public part) is 30%-70%.

[0038] Preferably, in step 3, the establishment of the Delaunay triangulation of each point cloud sub-block needs to meet the following conditions:

[0039] Condition 1: The circumscribed circle of each triangle does not contain other points;

[0040] Condition 2: The triangulated network has the largest minimum internal angle among all possible triangulated networks.

[0041] Regarding the above two conditions, specifically, the circumscribed circle of the triangle does not contain other points, which can be determined as follows: the coordinates of the center of the circle can be calculated from the coordinates of the three points of the triangle to obtain the radius of the circumscribed circle, and then the distance from other points to the center of the triangle is calculated. If the distance is greater than the radius, the point is not included in the circumscribed circle of the triangle.

[0042] For example: Assume that the coordinates of the three points are:

[0043] A(X A , Y A )、B(X B , Y B )、C(X C , Y C ).

[0044] Let A1=2*(X B -X A ), A2=2*(X C -X B ), B1=2*(Y B -Y A ), B2=2*(Y C -Y B )

[0045] C1=X B *X B +Y B *Y B -X A *X A -Y A *Y A , C2=X C *X C +Y C *Y C -X B *X B -Y B *Y B .

[0046] Then the coordinates of the center of the circle O(X O , Y O ) is:

[0047] X O =(B2*C1-B1*C2) / (A1*B2-A2*B1), Y O =(-A2*C1+A1*C2) / (B2*A1-B1*A2).

[0048] Regarding condition 2, according to the point cloud number of each point cloud sub-block area, take the two smallest point numbers in the sub-block area to form a side of the triangle, traverse all the points in the sub-block area, and after forming a triangle, calculate its minimum inner angle, and take the point corresponding to the largest minimum inner angle to form a triangle. Continue to search for other points in the sub-block area according to this algorithm until all point cloud data are checked and a Delaunay triangulation containing all points in each of the point cloud sub-blocks is formed.

[0049] Specifically, when a triangle is generated according to the point cloud numbers in the current point cloud sub-block, if the current deletion area Sq i and Eh i When the number of any point of the current triangle is included, the current triangle will be deleted as an invalid triangle. Otherwise, the current triangle will be saved as a valid triangle of the current point cloud sub-block, and the triangle will also be saved as a valid triangle of the entire network. When generating triangles, some of the three points of a triangle may be in the Sq or Eh area, while others may not be in these two areas. The specific method is: as long as the number of any point in the generated triangle is in the Sq or Eh area, the triangle will be treated as an invalid triangle.

[0050] Preferably, in step 3, the cross-edge correction is specifically as follows: traverse each triangle in the entire Delaunay triangle network, obtain the number of times each edge is used, wherein the number of times a non-public edge is used is 1, and the number of times a public edge is used is 2. When the number of times a public edge is used is 3 or 4, then the triangles associated with the edge must have cross-edges, which are corrected by changing parameters or by rules.

[0051] Preferably, in step 3, the deduplication processing is specifically as follows: the algorithm for generating the Delaunay triangle network of all point cloud data is checked, and the data set composed of all triangles in the algorithm is traversed, and according to the numbers m1, m2, and m3 of the three points that constitute each triangle, when the sum of the three-point numbers and the product of the three-point numbers of two triangles are equal, one of the triangles is deleted, and finally a data set with only a unique number combination for the Delaunay triangle network is obtained.

[0052] Preferably, in step 4, the maximum side length and minimum angle of the triangulated network are preset parameters 4. In step 4, based on the preset parameters 4, the triangulated network formed in step 3 is checked to determine whether the side length and angle of each triangle are within the value range of the preset parameters 4. When any parameter is not satisfied, the corresponding triangle will be deleted, and finally a qualified Delaunay triangulated network is obtained. Among them, for the side length, the maximum is taken as the restriction, that is, the side length cannot be greater than the preset value, and the angle is just the opposite, and the angle cannot be less than the preset angle.

[0053] Parameter 4 is mainly for triangles formed between discontinuously distributed point clouds (narrow, small-angle, meaningless triangles that need to be deleted), which are judged and deleted through these two parameters. If the spacing of discontinuously distributed point clouds is different, such as 100 meters or 10 kilometers, the setting values ​​of the maximum side length and minimum angle will be different, which are determined according to the separation spacing of the specific discontinuously distributed point cloud data. The default maximum side length in the software is 100m and the minimum angle is 5°.

[0054] In actual application, there are cases where point cloud data is discontinuously distributed. For discontinuously distributed point cloud data, meaningless triangles (very long sides or very small angles) will be generated. Based on these two parameters, by traversing the entire network of triangles, check whether the side length and angle of each triangle are within the set maximum side length and minimum angle value range. If they meet the requirements, they will be retained, otherwise they will be deleted. Deleted triangles are meaningless triangles.

[0055] In this technical solution, parameter setting is crucial. If the parameters are not set reasonably, the Delaunay triangulation generated by calculation may have the situation that the triangle side lengths cross. At this time, it is necessary to adjust the above parameters and calculate again according to the above steps after adjustment until a complete and reasonable Delaunay triangulation is finally generated.

[0056] In a first aspect, the present invention provides a computer device comprising at least one processor and a memory communicatively connected to the at least one processor, wherein the memory stores instructions that may not be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned method.

[0057] Compared with the prior art, the present invention has the following beneficial effects:

[0058] In the technical solution of the present invention, a method for quickly generating a Delaunay triangulation network based on point cloud data is proposed. In this solution, a triangulation network is generated by a block-by-block non-joining technology, which can quickly and effectively generate a Delaunay triangulation network covering the entire area, and can be generated for continuous (uniform) or discontinuous (non-uniform) point cloud data. This provides favorable data support for the next step of generating contour topographic maps, calculating the cross-section excavation and filling area of ​​the roadbed, or a three-dimensional real scene model.

[0059] In the technical solution of the present invention, when there are repeated triangles in the common area, the unique triangle combination is obtained by deduplication processing of the method. Then, by setting the maximum side length and minimum angle parameters of the irregular triangulation network, the Delaunay triangulation network is traversed and optimized, and triangles with too long sides and too small angles are deleted to obtain the final Delaunay triangulation network. The triangulation network has higher accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 Generate algorithm flow chart for Delaunay triangulation.

[0061] Figure 2 Schematic diagram of the numbering method of point cloud data running north-south.

[0062] Figure 3 Schematic diagram of the numbering method of east-west point cloud data.

[0063] Figure 4 This is a schematic diagram of the numbering of virtual point cloud data in the east-west direction under the coordinate system;

[0064] Figure 5 This is a schematic diagram of the numbering of virtual point cloud data in the north-south direction in the coordinate system;

[0065] Figure 6 This is a schematic diagram of the first point cloud sub-block after segmentation;

[0066] Figure 7 Schematic diagram of the point cloud sub-blocks of the middle block after segmentation;

[0067] Figure 8 This is a schematic diagram of the last point cloud sub-block after segmentation;

[0068] Fig. 9 The effect diagram of Delaunay triangulation generated by the method of the present invention;

[0069] Fig.10 This is a schematic diagram of the situation where a small number of triangle edges cross when the Delaunay triangulation generated when the parameter settings are not within the optimal range;

[0070] Fig.11This is a schematic diagram of the effect of regenerating the Delaunay triangulation after adjusting the parameters.

[0071] Fig.12 The rendering of the Delaunay triangulation generated by drone measurement of a railway project. DETAILED DESCRIPTION

[0072] The present invention is further described in detail below in conjunction with specific embodiments. However, this should not be understood as the scope of the above subject matter of the present invention being limited to the following embodiments, and all technologies realized based on the content of the present invention belong to the scope of the present invention.

[0073] Unless otherwise specified, in the description of the specific embodiments of the present invention, the terms indicating the orientation or position relationship such as "up", "down", "left", "right", "center", "inside", "outside", etc. are all based on the expression of the orientation or position relationship shown in the drawings, or are the orientation or position relationship when the invented product / equipment / device is usually used. These terms of orientation or position relationship are only for the convenience of describing the scheme of the present invention or simplifying the description in the specific embodiments, so as to facilitate the technicians to quickly understand the scheme, and do not indicate or imply that a specific device / component / element must have a specific orientation, or be constructed and operated in a specific position relationship, and therefore cannot be understood as a limitation on the present invention.

[0074] In addition, if the terms "horizontal", "vertical", "overhanging", "parallel" and the like appear, it does not mean that the corresponding devices / components / elements are required to be absolutely horizontal or vertical or overhanging or parallel, but may be slightly tilted or have deviations. For example, "horizontal" only means that its direction is more horizontal than "vertical", and does not mean that the structure must be completely horizontal, but may be slightly tilted. Alternatively, it can be simplified to mean that the corresponding devices / components / elements are set in directions such as "horizontal", "vertical", "overhanging", "parallel", etc., and can have an error / deviation of ±10% relative to the corresponding direction setting, more preferably an error / deviation within ±8%, more preferably an error / deviation within ±6%, more preferably an error / deviation within ±5%, and more preferably an error / deviation within ±4%. As long as the corresponding device / component / element is within the error / deviation range, it can still achieve its role in the scheme of the present invention.

[0075] In addition, the expressions “first”, “second”, “third”, etc., which appear in the terms, are merely used to distinguish the description of the same or similar components and should not be understood as emphasizing or implying the relative importance of specific components.

[0076] In addition, in the description of the embodiments of the present invention, "several", "plurality" and "a number" represent at least 2. It can be any number such as 2, 3, 4, 5, 6, 7, 8, 9, and even more than 9.

[0077] In addition, in the description of the technical solution of the present invention, unless otherwise clearly specified / defined / restricted, the terms "set", "install", "connect", "connected", "provided with", "laid", and "arranged" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection, and can be welding, riveting, bolting, threading, and other commonly used connection means in the field. This connection can be a mechanical connection, an electrical connection, or a communication connection; it can be a direct connection, or an indirect connection through an intermediate medium, and it can be the internal connection of two elements.

[0078] Example 1

[0079] In order to explain the principle of the Delaunay triangulation of the point cloud data of the present invention, this embodiment introduces specific values ​​and combines Figure 1 The flowchart can be understood:

[0080] Step 101, sorting the point cloud data to be processed as a whole according to the coordinates, determining the overall direction of the point cloud data to be processed, and then numbering the point cloud data to be processed as a whole according to the overall direction;

[0081] In step 101, the specific sorting and numbering method is:

[0082] According to the coordinate values ​​of each point in the point cloud data, Xmax, Xmin, Ymax, and Ymin are obtained to determine the overall general direction of the point cloud data to be processed;

[0083] It is stipulated that when |Xmax-Xmin|>|Ymax-Ymin|, the point cloud data to be processed is in the east-west direction;

[0084] It is stipulated that when |Xmax-Xmin|<|Ymax-Ymin|, the point cloud data to be processed is in the north-south direction;

[0085] The overall numbering method is: for point cloud data with a north-south orientation, first determine Ymin, then sort and number them in order according to the size of the X value; for point cloud data with an east-west orientation, first determine Xmin, then sort and number them in order according to the size of the Y value; and number them in the above manner until all the point cloud data to be processed are numbered. The purpose of this numbering is to facilitate the next step of block division, and the blocks should keep a small aspect ratio as much as possible.

[0086] like Figure 2-3 As shown, Figure 2 This is the numbering method for the north-south point cloud data; Figure 3 This is the numbering method for the east-west point cloud data. Figure 2-3 Only a few rows or columns are listed as examples. The actual point cloud data shape is not necessarily a regular rectangular form, and the amount of data is huge, so it is necessary to operate according to the method described in the above text;

[0087] Furthermore, in order to understand the numbering logic, such as Figure 4-5 Schematic diagrams of virtual point cloud data numbering for east-west and north-south directions respectively.

[0088] Step 102: The point cloud data to be processed that has been numbered in step 1 is divided into blocks to form point cloud sub-blocks. Before dividing into blocks, parameters are first preset, wherein parameter 1 to be preset is the number of point clouds in each point cloud sub-block; parameter 2 to be preset is the block overlap value between adjacent point cloud sub-blocks; in this step, the final number of point clouds and the corresponding number of each point cloud sub-block are determined according to the preset parameters 1 and 2;

[0089] Specifically, in step 102, the block processing is specifically as follows: first, the total number of point cloud points of the point cloud data to be processed numbered in step 1 is divided by parameter 1, and the integer is rounded upward to obtain the total number of point cloud sub-blocks n, and then the total number of point cloud points is divided by the total number of point cloud sub-blocks n to obtain the average number of point clouds Ki′ in each point cloud sub-block;

[0090] According to parameter 2, the final number of point clouds K in each point cloud sub-block is determined i and the corresponding point cloud number, the number of point clouds and point cloud numbers in the overlapping area of ​​each point cloud sub-block, where K i =K i ′+K i+1 *c%, and E i =S i+1 .

[0091] Take the total number of point cloud points as 2001 as an example. Assuming that the point cloud data to be processed is in the east-west direction, the block direction is along the east-west direction. Figure 3-4 The numbering diagram; where the preset parameter 1 is 600, the number of point cloud sub-blocks is 2001 / 600≈3.33, rounded up to 4, and the average number of point clouds in each point cloud sub-block is K i′=2001 / 4=500, that is, the number of point clouds in each block is initially configured to be 500, and the number of point clouds in the last block is 501. Without considering the overlapping area, the point cloud data of the first point cloud sub-block is initially numbered from 0 to 499, the point cloud data of the second point cloud sub-block is initially numbered from 500 to 999, the point cloud data of the third point cloud sub-block is initially numbered from 1000 to 1499, and the point cloud data of the fourth sub-block is initially numbered from 1500 to 2000.

[0092] Now, according to parameter 2 (preset block overlap value) c%, the number of point clouds and their numbers of each sub-block are finally determined. Considering the overlap and the proportion of the common part of the overlapping area, the overlap c= is set to 50, and the proportion of the common part of the overlapping area d is set to 50, such as Figure 6 The first block diagram is shown. Figure 7 This is a block diagram of the middle part. Figure 8 This is a schematic diagram of the last block.

[0093] like Figure 6 As shown in the figure, the first sub-block includes a non-overlapping area (N1), a starting overlapping area S1, and an ending overlapping area E1, where S1 = 0. The number of point clouds in the non-overlapping area N1 of the first sub-block is 500, and the initial number is 0 to 499. The first half of the next adjacent sub-block is added as E1 of the first block, which is also the overlapping area of ​​the first sub-block and the second sub-block, that is, Figure 6 The number of point clouds in the middle E1 area is: the number of point clouds in the second sub-block is K2*50%=500*50%=250;

[0094] Furthermore, the overlapping area E1 is further divided into three parts, namely the common part of the overlapping area (Eg1), the front non-public area (Eq1), and the back non-public area (Eh1). Now set the parameter 3 (the proportion of the common part) d of the overlapping area to 50%, then the number of point clouds in the common part of the overlapping area Eg1 is 125, the number of point clouds in the front non-public area Eq1 is 125 / 2, rounded up to 63, and the number of point clouds in the back non-public area Eh1 is 125 / 2, rounded down to 62. Then the total number of point clouds in the first sub-block is 500+250=750, and each point cloud number is determined accordingly;

[0095] The number of point clouds of the first point cloud sub-blocks Sq1 and Sh1 is 0, the number of point clouds of the back-end non-public part Eq1 is 63, and the number of point clouds of the back-end non-public part Eh1 is 62, and the number of point clouds in each area is determined based on this.

[0096] The second point cloud sub-block has a non-overlapping area (N2), a head overlapping area S2 (overlapping with the end area of ​​the first sub-block), and an end overlapping area E2 (overlapping with the head area of ​​the third point cloud sub-block), such as Figure 7As shown. The total number of point clouds in the second sub-block is K2 = K2′ + K3*c%, that is, 500 + 250 = 750. The number and number of point clouds in the common part Sg2 of the overlapping area at the head end, the non-public area Sq2 at the front end, and the non-public area Sh2 at the back end of the second block are exactly the same as those in the corresponding part of the first point cloud sub-block E1.

[0097] By analogy, the total number of point clouds and their serial numbers of the remaining point cloud sub-blocks and the number of point clouds and their serial numbers of the public part and the non-public part in the overlapping area at the beginning and end of the point cloud sub-block are obtained.

[0098] Step 103, generating Delaunay triangulation networks for all the point cloud sub-blocks respectively to form a Delaunay triangle whole network; firstly correcting the cross edges in the Delaunay triangle whole network, and then performing deduplication processing on the Delaunay triangle whole network to make the number of the data set in the Delaunay triangle whole network unique;

[0099] In this step, the following conditions need to be met to establish the Delaunay triangulation:

[0100] Condition 1: The circumscribed circle of each triangle does not contain other points. Specifically, the coordinates of the center of the circle can be calculated from the coordinates of the three points of the triangle, the radius of the circumscribed circle can be obtained, and the distance from other points to the center of the circle can be calculated. If the distance is greater than the radius, the point is not included in the circumscribed circle of the triangle.

[0101] Condition 2: The largest minimum internal angle among all possible triangulated networks. According to the total point cloud number of the current sub-block area, take the two smallest point numbers in the sub-block area to form a side of the triangle, traverse all points in the sub-block area, and calculate the minimum internal angle of the triangle after forming it.

[0102] In this embodiment, take the minimum numbered point (0 and 1) of the first point cloud sub-block, find another point with the shortest horizontal distance to the point, and use the two points as the first edge of the first triangle of the point cloud sub-block to expand the triangulation network. These two points form an edge of the triangle, traverse all other points (2 to 749) in the sub-block area, and form a triangle with the first edge, calculate the minimum inner angle of each triangle, and take the point corresponding to the largest minimum inner angle to form a triangle. If the three points of the triangle are numbered 0, 1, and 46 respectively. Then use the two points 0 and 46 and the two points 1 and 46 to form an edge of the triangle respectively, continue to search for all other points in the point cloud sub-block interval, and form the second and third triangles according to the Delaunay triangulation network construction principle, until all Delaunay triangulation networks are finally generated in the first point cloud sub-block.

[0103] In this step, the present invention also includes the step of checking whether there are cross edges in the entire network of Delaunay triangles: Specifically, if the overlap parameter value is too small, the number of point clouds is small or scattered, and the proportion of the common part of the overlapping area is too large, then there may be cross edges in the boundary part of the overlapping area. The cross edge correction is specifically: traverse each triangle in the entire Delaunay triangle network, obtain the number of times each edge is used, where the number of times a non-public edge is used is 1, and the number of times a public edge is used is 2. When the number of times a public edge is used is 3, then the three triangles associated with the edge must have cross edges, and correction is made by changing the parameters.

[0104] In this technical solution, parameter setting is crucial. If the parameters are not set reasonably, the Delaunay triangulation generated by calculation may have the situation that the triangle side lengths cross. At this time, it is necessary to adjust the above parameters. After adjustment, calculate again according to the above steps to finally generate a complete and reasonable Delaunay triangulation. Fig. 9 Generate a Delaunay triangulation rendering for the present invention.

[0105] like Fig.10 As shown in the figure, there are a few triangle edges crossing in the Delaunay triangulation. The current setting parameters are: the overlap is set to 30%, and the proportion of the public part of the overlapping area is set to 80%. The point cloud data has a total of 1896 points, and the maximum number of point clouds in each block is set to 700. There are triangle edges crossing in the red box in the figure, which no longer meets the Delaunay triangulation rules. It is necessary to adjust the parameter settings, change the overlap to 50%, and keep the proportion of the public part of the overlapping area unchanged (still 80%). The regenerated Delaunay triangulation effect is shown below Fig.11 As shown in the figure, it can be seen that there is no triangle edge intersection in the whole network, which fully meets the Delaunay triangulation rules. On the other hand, if the proportion of the public part of the overlapping area is changed, the original parameter setting is changed from 80% to 50%, which is equivalent to abandoning the area (Sqi or Ehi) and increasing it, while keeping the overlap parameter unchanged (still the initial setting of 30%), the regenerated Delaunay triangulation can also meet the Delaunay network rules and obtain a Delaunay triangulation covering the entire area.

[0106] During the process of establishing the triangulation network of the current point cloud sub-block, if the number of any corner point of the current triangle is included in Sq i or Eh i If the current triangle is not a valid triangle, it will be discarded as an invalid triangle. Otherwise, it will be saved as a valid triangle of the current block and the entire block respectively. The Delaunay triangulation network is established for each point cloud sub-block according to the above method.

[0107] In step 103, the deduplication processing is specifically as follows: the algorithm for generating the Delaunay triangle network of all point cloud data is checked, and the data set composed of all triangles in the algorithm is traversed. According to the numbers m1, m2, and m3 of the three points that constitute each triangle, when the sum of the three-point numbers and the product of the three-point numbers of two triangles are equal, one of the triangles is deleted, and finally a data set with only a unique number combination of the Delaunay triangle network is obtained.

[0108] Step 104, further check the Delaunay triangle network data obtained in step 103, determine that the side length of each triangle in the Delaunay triangulation is within the preset maximum side length value range, and determine that the angle of each triangle is within the preset minimum angle value range. If all the parameters are met, the triangle is retained; if any parameter is not met, the triangle is deleted to obtain a final qualified Delaunay triangulation.

[0109] Specifically, since the numbering interval of the first point cloud sub-block is 0-724, the numbering interval of the second sub-block point cloud is 500-1249, the numbering interval of the third sub-block point cloud is 1000-1749, and the numbering interval of the fourth sub-block point cloud is 1500-2000. There are overlapping areas between different point cloud sub-blocks. When generating a Delaunay triangulation for each point cloud sub-block area, the overlapping common parts will repeatedly generate a valid Delaunay triangulation. Traverse each triangle of the entire network, according to the numbering of the three points that make up each triangle, assuming that the three points are numbered m1, m2, and m3 respectively, then according to the algorithm that the same triangle has m1+m2+m3 and m1*m2*m3 is equal, find the repeatedly generated triangles, and perform deduplication processing to obtain a data set with and only a unique number combination for the entire Delaunay triangle network.

[0110] The present invention also includes the step of checking whether there are cross edges in the entire network of Delaunay triangles: specifically, if the overlap parameter value is too small, the number of point clouds is small or scattered, and the proportion of the common part of the overlapping area is too large, then the boundary part of the overlapping area may have cross edges. After generating the entire network of Delaunay triangles, traverse all triangles to obtain the number of times each edge is used. The number of times non-public edges are used is 1, and the number of times public edges are used is 2. If there are cross edges, the number of times one of the public edges is used is 3. The three triangles related to the public edge with a number of uses of 3 are judged in turn by the Delaunay circumscribed circle rule. If a triangle contains a point of other triangles, the triangle is deleted.

[0111] Parameter 4 is the maximum side length and the minimum angle of the triangulated network. In step 104, based on the preset parameter 4, the triangulated network formed in step 103 is checked to see whether the side length and angle of each triangle are within the value range of the preset parameter 4. When any parameter is not satisfied, the corresponding triangle will be deleted, and finally a qualified Delaunay triangulated network is obtained.

[0112] According to the preset parameter 4 in the Delaunay triangulation generation process, if the point cloud data is not distributed continuously, a small number of triangles in the whole network will have longer sides or smaller angles according to the above algorithm. By traversing the triangles of the whole network, check whether the side length and angle of each triangle are within the set maximum side length and minimum angle value range. If they meet the requirements, they will be retained, otherwise they will be deleted. A Delaunay triangulation that meets the requirements is formed.

[0113] According to the above implementation scheme, the written program can realize the efficient and rapid construction of the Delaunay triangulation. Regardless of the number of point clouds and whether the measurement area is continuous, the Delaunay triangulation can be generated through the technical solution of the present invention, which provides favorable data support for the next step of generating contour maps or three-dimensional real-life models.

[0114] like Fig.12 As shown in the figure, the Delaunay triangulation effect diagram generated from the point cloud data of a railway project measured by a drone is shown. The length of the survey area is 1598m and the width is 243m. After the point cloud density is sampled at 1m intervals (point cloud dilution processing), there are a total of 276514 point cloud data. The maximum number of block point clouds is set to 10,000, with a total of 28 blocks, the overlap is set to 30%, and the proportion of the public part of the overlapping area is set to 50%. As shown in the figure, the generated Delaunay triangulation completely covers the survey area, completes the digital processing of the survey area, and can well reflect the topography of the survey area.

[0115] The technical solution of the present invention adopts numbering, block division and overlapping of the blocks in proportion to determine the public area and non-public area of ​​the overlapping part, so as to generate each triangulated network. During the generation process, key parameters are set, and the Delaunay triangulated network is established quickly, efficiently and accurately through reasonable parameter setting. Further, the triangulated network generation process of each block of point cloud data discards the triangles formed by the non-public area points at the beginning and end of the current block, and the triangles in the overlapping area are deduplicated to finally generate Delaunay full network triangles. The generation method of the present invention can quickly and efficiently generate a triangulated network covering the entire area. Delaunay triangulated networks can be generated for continuous (uniform) or discontinuous (non-uniform) point cloud data, providing favorable data support for generating contour topographic maps, calculating the excavation and filling area of ​​the roadbed cross section, or generating a three-dimensional real scene model.

[0116] Example 2

[0117] An electronic device includes at least one processor, a memory connected to the at least one processor, and at least one input / output interface connected to the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in the above embodiment 1. The input / output interface may include a display, a keyboard, a mouse, and a USB interface for inputting and outputting data.

[0118] Those skilled in the art can understand that: all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM), disks or optical disks, etc. Various media that can store program codes.

[0119] When the above-mentioned integrated unit of the present invention is implemented in the form of a software functional unit and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present invention can be essentially or partly reflected in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0120] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A Delaunay triangulation generation method based on point cloud data, characterized in that: The steps include: Step 1: sort the point cloud data to be processed as a whole according to the coordinates, determine the overall direction of the point cloud data to be processed, and then number the point cloud data to be processed as a whole according to the overall direction; Step 2: presetting parameters and performing block processing on the point cloud data to be processed that has been numbered in step 1 to form point cloud sub-blocks; Step 3: Generate Delaunay triangulations for all the point cloud sub-blocks to form a Delaunay triangle network; and perform cross-edge correction and deduplication processing on the Delaunay triangle network to make the number of the data set in the Delaunay triangle network unique; Step 4: Check the Delaunay triangle mesh data obtained in step 3. Determine whether the side length of each triangle in the entire Delaunay triangulation data is within the preset maximum side length value range, and whether the angle of each triangle is within the preset minimum angle value range; If all the conditions are met, the corresponding triangle is retained; if not, the triangle is deleted; After completing the judgment of all triangles in the whole network Delaunay triangulation data, the current whole network Delaunay triangulation data is output as a Delaunay triangulation.

2. The generation method according to claim 1, characterized in that: In step 1, the specific sorting and numbering method is: According to the coordinate values ​​of each point in the point cloud data, Xmax, Xmin, Ymax, and Ymin are obtained to determine the overall general direction of the point cloud data to be processed; It is stipulated that when |Xmax-Xmin|>|Ymax-Ymin|, Xmin is determined first, and then the numbers are sorted in order according to the size of the Y value; It is stipulated that when |Xmax-Xmin|<|Ymax-Ymin|, first determine Ymin, and then sort and number them in order according to the size of the X value; The point cloud data to be processed are numbered in the above manner until all the point cloud data to be processed are numbered.

3. The generation method according to claim 2, characterized in that: In step 2, before performing block division, parameters are first preset, wherein parameter 1 to be preset is the number of point clouds in each point cloud sub-block; parameter 2 to be preset is the block overlap value between adjacent point cloud sub-blocks; in this step, the final number of point clouds and the corresponding number of each point cloud sub-block are determined according to the preset parameters 1 and 2; The block processing is specifically as follows: first, the total number of point cloud points of the point cloud data to be processed numbered in step 1 is divided by parameter 1, and the integer is rounded upward to obtain the total number of point cloud sub-blocks n, and then the total number of point cloud points is divided by the total number of point cloud sub-blocks n to obtain the average number of point clouds in each point cloud sub-block K i ′; According to parameter 2, determine the final number of point clouds and the corresponding point cloud number in each point cloud sub-block, and the number of point clouds and the point cloud number in the overlapping area of ​​each point cloud sub-block, where K i =K i ′+K i+1 *c%, and E i =S i+1 .

4. The generation method according to claim 3, characterized in that: In step 2, after the block division is completed, it also includes determining the public area and the non-public area of ​​the overlapping area: When the number of the point cloud sub-blocks n≥2, the first point cloud sub-block includes a non-overlapping area N1 and an end overlapping area E1, and the last point cloud sub-block includes a non-overlapping area N n Overlap area S n , all the middle point cloud sub-blocks include non-overlapping areas N i , the first end overlapping area S i , End overlap area E i ; The overlapping area S of each point cloud sub-block i or E i The common part is further divided into three parts according to the preset proportion d% of the common part, wherein the proportion d% of the common part is the parameter 3 to be preset, i.e. the common part Sg of the overlapping area. i and Eg i , front non-public area Sq i and S hi , the back-end non-public area Eq i and E hi The first point cloud sub-block contains an area range of K1=N1+E1, and the middle point cloud sub-block contains an area range of K i =S i +N i +E i , the area covered by the point cloud sub-block at the end is K n =S n +N n ; The beginning of the point cloud sub-block at the head end and the end of the point cloud sub-block at the tail end are regarded as overlapping areas including 0 point clouds, then: Sg1 = Sq1 = Sh1 = 0; Eg n =Eq n =Eh n =0; the area range of the point cloud number contained in each point cloud sub-block is K i =S i +N i +E i ; The deletion area of ​​each point cloud sub-block is Sq i and Eh i , where i = 1, 2, ..., n, n ≥ 1; and Eh i =Sq i+1 .

5. The generation method according to claim 3, characterized in that: In step 3, the cross-edge correction is specifically as follows: traverse each triangle in the entire Delaunay triangle network, obtain the number of times each edge is used, where the number of times a non-common edge is used is 1, and the number of times a common edge is used is 2. When the number of times a common edge is used is 3 or 4, the triangles associated with the common edge must have cross-edges, which are corrected by changing parameters or by rules.

6. The generation method according to claim 5, characterized in that: In step 3, the deduplication processing is specifically as follows: the algorithm for generating the Delaunay triangle network of all point cloud data is checked, and the data set composed of all triangles in the algorithm is traversed. According to the numbers m1, m2, and m3 of the three points that make up each triangle, when the sum of the three-point numbers and the product of the three-point numbers of two triangles are equal, one of the triangles is deleted, and finally a data set with only a unique number combination for the Delaunay triangle network is obtained.

7. The generation method according to claim 3, characterized in that: In step 4, the maximum side length and minimum angle of the triangulated network are the parameters 4 to be preset. In step 4, based on the preset parameters 4, the triangulated network formed in step 3 is checked to determine whether the side length and angle of each triangle are within the value range of the preset parameters 4. When any parameter is not satisfied, the corresponding triangle will be deleted, and finally a qualified Delaunay triangulated network is obtained.

8. The generation method according to any one of claims 1 to 7, characterized in that: During the parameter preset process, the setting range of parameter 2 is 10% to 100%, and the setting range of parameter 3 is 30% to 100%.

9. The generation method according to any one of claims 1 to 7, characterized in that: During parameter presetting, the setting range of parameter 2 is 20% to 50%, and the setting range of parameter 3 is 30% to 70%.

10. A computer device, characterized in that: The method comprises at least one processor and a memory communicatively connected to the at least one processor, wherein the memory stores instructions which may not be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Mass airborne LiDAR point cloud Delaunay triangulation network parallel construction method and apparatus thereof

    CN102629390A

  • Point cloud clipping-based generation method for spatial curved surface

    CN102881048A

  • Tile map downloading and splicing method based on Delaunay triangulation network accuracy control

    CN103902343A

  • Partition-based Delaunay triangulated network growth algorithm

    CN106709969A

  • Triangulation network construction method, triangulation network construction device and digital surface model generation method

    CN111553986A

Cited By

  • Trusted data operation management platform based on micro-service architecture

    CN120450653A

  • Topographic map visualization method and device, equipment and medium

    CN121236318A