Edge Extraction Method and Device for Large-Scale 3D Point Clouds
By uniformly dividing and edge vertex detection of three-dimensional point clouds, candidate edge segment sets are generated and discriminated, the problem of noise influence is solved, and concise edge contour extraction and good generalization are achieved.
Patent Information
- Application Number
- CN202310882434.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-18
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2043-07-18
AI Technical Summary
The existing three-dimensional point cloud edge extraction method based on edge points is easily affected by noise, it is difficult to generate concise parameterized contour segments, and it lacks generalization to different scenarios.
By acquiring the original point cloud and uniformly dividing it, the vertex detection module detects edge vertices and position coordinates to form a candidate edge segment set, and the edge segment discrimination module performs edge segment discrimination to generate a candidate line segment set containing all edge contour segments.
It effectively reduces the impact of noise in point clouds, generates a simple edge profile, and has good generalization for different scenarios.
Smart Images

Figure CN117058408B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of image recognition, and particularly to an edge extraction method for large-scale three-dimensional point clouds, an edge extraction device for large-scale three-dimensional point clouds, as well as a computer-readable storage medium and a computer device. Background Art
[0002] Three-dimensional point clouds are a commonly used output data type in three-dimensional reconstruction technologies such as lidar; with the rapid development of three-dimensional reconstruction technologies, it has become increasingly easy to obtain large-scale three-dimensional point clouds of outdoor scenes; at the same time, application requirements from fields such as autonomous driving, scene modeling, and augmented reality have made the processing of three-dimensional point clouds receive increasing attention; the original large-scale outdoor scene three-dimensional point cloud data is often huge, irregular, and unstructured data, which is difficult to directly use in most application scenarios and often requires further processing; the edge contour of the point cloud can concisely describe the main structure of the object, is one of the important features of the object, and is also a basic feature of the object that humans can directly perceive; in the field of computer vision, edge contours are widely used in scenarios such as vehicle positioning, road network extraction, and three-dimensional reconstruction; converting three-dimensional point clouds into edge contours can achieve denoising and compression of point cloud data while retaining the main features of the object, and is an ideal and widely used intermediate feature.
[0003] In related technologies, the method based on edge points can detect edge points in the point cloud and fit the edge of the point cloud to achieve relatively fine edge extraction of the point cloud. That is to say, the method based on edge points is most suitable for realizing end-to-end edge extraction of point clouds through machine learning and is also most suitable for edge extraction of complex objects; however, the traditional method based on edge points is extremely vulnerable to noise points and is also difficult to generate concise parameterized contour line segments; since the traditional edge extraction algorithm of point cloud based on edge points directly detects all edge points in the point cloud and generates the final edge contour by means of region growing or line segment fitting; the step of directly detecting all edge points in the point cloud results in this type of method being vulnerable to noise, thus generating incorrect edge contour lines or noisy contours. Summary of the Invention
[0004] The present invention aims to solve at least one of the technical problems in the above technologies to some extent. For this reason, one object of the present invention is to propose an edge extraction method for large-scale three-dimensional point clouds. By connecting the edge vertices of the point cloud, a candidate line segment set containing all edge contour line segments can be generated. Edge extraction based on this can greatly reduce the influence of noise in the point cloud, thereby obtaining a concise edge contour and having good generalization for point clouds in different scenarios.
[0005] The second object of the present invention is to propose a computer-readable storage medium.
[0006] The third object of the present invention is to provide a computer device.
[0007] The fourth object of the present invention is to provide an edge extraction device for large-scale three-dimensional point clouds.
[0008] To achieve the above object, an edge extraction method for large-scale three-dimensional point clouds according to the first aspect embodiment of the present invention includes the following steps: obtaining an original point cloud, and uniformly dividing the original point cloud to obtain a plurality of voxels; sequentially inputting each of the plurality of voxels into a vertex detection module to obtain edge vertices and edge vertex position coordinates in the original point cloud through the vertex detection module; arbitrarily connecting each pair of the edge vertices to form a candidate edge segment set; sequentially inputting each candidate segment in the candidate edge segment set into a candidate segment discrimination module in the form of line segment endpoint position coordinates for edge segment discrimination, so as to complete the edge extraction of the original point cloud through the candidate segment discrimination module.
[0009] According to the edge extraction method for large-scale three-dimensional point clouds of the embodiment of the present invention, first, an original point cloud is obtained, and the original point cloud is uniformly divided to obtain a plurality of voxels; then, each of the plurality of voxels is sequentially input into a vertex detection module to obtain edge vertices and edge vertex position coordinates in the original point cloud through the vertex detection module; then, any two of the edge vertices are connected to form a candidate edge segment set; finally, each candidate segment in the candidate edge segment set is sequentially input into a candidate segment discrimination module in the form of line segment endpoint position coordinates for edge segment discrimination, so as to complete the edge extraction of the original point cloud through the candidate segment discrimination module; by connecting the edge vertices of the point cloud, a candidate segment set including all edge contour segments can be generated, and edge extraction can greatly reduce the influence of noise in the point cloud, thereby obtaining a concise edge contour and having good generalization for point clouds in different scenarios.
[0010] In addition, the edge extraction method for large-scale three-dimensional point clouds according to the above embodiment of the present invention may further have the following additional technical features:
[0011] Optionally, the vertex detection module includes a voxel classification branch and a vertex position prediction branch. Among them, the voxel classification branch predicts whether each voxel contains an edge vertex in a binary classification manner to output prediction values of whether each voxel contains an edge vertex and does not contain an edge vertex; the vertex position prediction branch performs feature extraction and fusion on different scales of the in-voxel point set through a multi-layer edge convolution module, then regresses the relative position coordinates of the edge vertex in the voxel through a multi-layer perceptron, and finally calculates the spatial coordinates of the edge vertex in combination with the voxel coordinates.
[0012] Optionally, the edge extraction of the original point cloud is completed by the candidate line segment discrimination module, including: evenly dividing each candidate line segment in the candidate edge line segment set to obtain multiple segmented line segments of unit length corresponding to each candidate line segment; obtaining the local point cloud of each unit length line segment after the candidate line segment is segmented, then extracting the features of the local point cloud at different scales respectively, connecting these features, classifying the unit line segments through a network, and finally determining whether the candidate line segment is an edge line segment through a voting strategy; combining all the candidate line segments determined to be edge line segments to complete the edge extraction of the original point cloud.
[0013] Optionally, the local point cloud within the neighborhood of each unit line segment is obtained according to the following formula:
[0014]
[0015] where P is the original point cloud, and P i,j is the local point cloud of the endpoint p i and p j , p * is an arbitrary point on the line, and its specific position is controlled by the parameter k, and r is the neighborhood radius.
[0016] To achieve the above object, an embodiment of the second aspect of the present invention proposes a computer-readable storage medium, on which an edge extraction program for large-scale three-dimensional point clouds is stored. When the edge extraction program for large-scale three-dimensional point clouds is executed by a processor, the edge extraction method for large-scale three-dimensional point clouds as described above is implemented.
[0017] According to the computer-readable storage medium of the embodiment of the present invention, by storing the edge extraction program for large-scale three-dimensional point clouds, when the edge extraction program for large-scale three-dimensional point clouds is executed by a processor, the edge extraction method for large-scale three-dimensional point clouds as described above is implemented. By connecting the edge vertices of the point cloud, a candidate line segment set containing all edge contour line segments can be generated, and thus the influence of noise in the point cloud can be greatly reduced during edge extraction, so as to obtain a concise edge contour, and it has good generalization for point clouds in different scenarios.
[0018] To achieve the above object, an embodiment of the third aspect of the present invention proposes a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the edge extraction method for large-scale three-dimensional point clouds as described above is implemented.
[0019] According to the computer device of an embodiment of the present invention, an edge extraction program for large-scale three-dimensional point clouds is stored in a memory. When the edge extraction program for large-scale three-dimensional point clouds is executed by a processor, the edge extraction method for large-scale three-dimensional point clouds as described above is implemented. By connecting the edge vertices of the point cloud, a candidate line segment set including all edge contour line segments can be generated. By performing edge extraction in this way, the influence of noise in the point cloud can be greatly reduced, so as to obtain a concise edge contour, and it has good generalization for point clouds in different scenarios.
[0020] To achieve the above object, an embodiment of the fourth aspect of the present invention proposes an edge extraction device for large-scale three-dimensional point clouds, including: a processing module, which is used to obtain an original point cloud and uniformly divide the original point cloud to obtain a plurality of voxels; a vertex detection module, which is used to sequentially obtain each voxel in the plurality of voxels to obtain the edge vertices and edge vertex position coordinates in the original point cloud, and connect any two of the edge vertices pairwise to form a candidate edge line segment set; a candidate line segment discrimination module, which is used to sequentially obtain the line segment endpoint position coordinates of each candidate line segment in the candidate edge line segment set, so as to perform edge line segment discrimination according to the line segment endpoint position coordinates, thereby completing the edge extraction of the original point cloud.
[0021] According to the edge extraction device for large-scale three-dimensional point clouds provided by the embodiment of the present invention, by connecting the edge vertices of the point cloud, a candidate line segment set including all edge contour line segments can be generated. By performing edge extraction in this way, the influence of noise in the point cloud can be greatly reduced, so as to obtain a concise edge contour, and it has good generalization for point clouds in different scenarios.
[0022] In addition, the edge extraction device for large-scale three-dimensional point clouds proposed according to the above embodiment of the present invention may also have the following additional technical features:
[0023] Optionally, the vertex detection module includes a voxel classification branch and a vertex position prediction branch.
[0024] Among them, the voxel classification branch predicts whether each voxel contains an edge vertex in a binary classification manner, so as to output the prediction values of containing and not containing edge vertices in each voxel.
[0025] The vertex position prediction branch performs feature extraction and fusion on different scales of the point set in the voxel through a multi-layer edge convolution module, then regresses the relative position coordinates of the edge vertex in the voxel through a multi-layer perceptron, and finally calculates the spatial coordinates of the edge vertex in combination with the voxel coordinates.
[0026] Optionally, completing the edge extraction of the original point cloud through the candidate line segment discrimination module includes:
[0027] Uniformly divide each candidate line segment in the candidate edge line segment set to obtain multiple segmented line segments of unit length corresponding to each candidate line segment;
[0028] Obtain the local point cloud of each unit-length line segment after the candidate line segment is segmented, then extract the features of the local point cloud at different scales respectively, connect these features, classify the unit line segments through a network, and finally determine whether the candidate line segment is an edge line segment through a voting strategy;
[0029] Combine all candidate line segments determined to be edge line segments to complete the edge extraction of the original point cloud.
[0030] Optionally, obtain the local point cloud within the neighborhood of each unit line segment according to the following formula:
[0031]
[0032] where P is the original point cloud, and P i,j is the local point cloud of the endpoint p i and p j , p * is an arbitrary point on the line, and its specific position is controlled by the parameter k, and r is the neighborhood radius. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 is a schematic flow chart of an edge extraction method for large-scale three-dimensional point clouds according to an embodiment of the present invention;
[0034] Figure 2 is a schematic diagram of a large-scale point cloud edge extraction framework according to an embodiment of the present invention;
[0035] Figure 3 is a schematic diagram of the network structure of a vertex detection module according to an embodiment of the present invention;
[0036] Figure 4 is a schematic diagram of the network structure of a candidate line segment discrimination module according to an embodiment of the present invention;
[0037] Figure 5 is a schematic diagram of partial visualization results of a vertex detection module according to an embodiment of the present invention;
[0038] Figure 6 is a schematic diagram of partial visualization results of a candidate line segment discrimination module according to an embodiment of the present invention;
[0039] Figure 7 is a schematic block diagram of an edge extraction device for large-scale three-dimensional point clouds according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0040] Embodiments of the present invention will be described in detail below. Examples of the embodiments are shown in the accompanying drawings, where the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the accompanying drawings are exemplary and are intended to explain the present invention, and should not be construed as limiting the present invention.
[0041] To better understand the above technical solution, exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present invention and to fully convey the scope of the present invention to those skilled in the art.
[0042] To better understand the above technical solution, the above technical solution will be described in detail below in combination with the accompanying drawings of the specification and specific implementation manners.
[0043] Figure 1 It is a schematic flowchart of an edge extraction method for large-scale three-dimensional point clouds according to an embodiment of the present invention. As Figure 1 shown, the edge extraction method for large-scale three-dimensional point clouds according to the embodiment of the present invention includes the following steps:
[0044] S101, obtaining the original point cloud and uniformly dividing the original point cloud to obtain a plurality of voxels.
[0045] That is to say, perform voxelization processing on the input original point cloud, that is, uniformly divide the original point cloud into voxels of the same size containing local point clouds, so as to subsequently input each voxel into the vertex detection module separately and detect the edge vertices contained therein.
[0046] It should be noted that the original point cloud can be obtained by any existing method, such as obtaining it using a lidar.
[0047] S102, sequentially inputting each of the plurality of voxels into the vertex detection module, so as to obtain the edge vertices and the position coordinates of the edge vertices in the original point cloud through the vertex detection module.
[0048] As an example, the vertex detection module includes a voxel classification branch and a vertex position prediction branch. Among them, the voxel classification branch predicts whether each voxel contains an edge vertex through binary classification, so as to output the prediction values of containing and not containing edge vertices in each voxel; the vertex position prediction branch performs feature extraction and fusion on different scales of the in-voxel point set through a multi-layer edge convolution module, then regresses the relative position coordinates of the edge vertex in the voxel through a multi-layer perceptron, and finally calculates the spatial coordinates of the edge vertex by combining the voxel coordinates.
[0049] That is to say, as Figure 3 shown, the vertex detection module includes two branches, which respectively predict whether the input voxel contains an edge vertex and the position coordinates of the edge vertex in the voxel; the two branches use two independent structures, and the same network extracts the point cloud features in the voxel. The feature extraction network structure includes 4 layers of edge convolution modules for extracting local features on different scales of the voxel. The feature vectors output by the 4 layers of edge convolution modules are aggregated and then passed through a multi-layer perceptron and a pooling layer to generate the feature vector of the voxel; the voxel feature vectors predicted by the two branches pass through different multi-layer perceptrons to output voxel classification prediction and vertex position prediction; among them, the voxel classification prediction outputs whether the voxel contains an edge vertex in a binary classification manner, and the vertex position prediction regresses the relative coordinates of the edge vertex in the voxel through regression and combines the voxel coordinates to obtain the spatial coordinates.
[0050] It should be noted that edge vertex detection contains an assumption that each voxel contains only one edge vertex; since edge vertex prediction is used for the generation of subsequent candidate edge segments, if the size of the voxel is small enough, the distances between multiple edge vertices in the voxel are also small enough, and are regarded as one edge vertex, and the influence on the accuracy of the generated edge segment can be ignored; if the voxel size is too small, it will also lead to too few point clouds in the voxel, and the information contained is not enough for the network to extract features and accurately detect edge vertices; so through a large number of experiments, the side length of the voxel is finally determined to be 0.5 meters.
[0051] S103. Connect any two edge vertices pairwise to form a set of candidate edge segments.
[0052] That is to say, after each voxel in the point cloud detects the edge vertex through the vertex detection module, the algorithm combines any two edge vertices to form a candidate edge segment and generates an over-complete set of candidate segments as the output; the over-complete candidate segment set contains the coordinates of both ends of each candidate segment, which is used as the input for the next stage.
[0053] S104. Input each candidate segment in the candidate edge segment set into the candidate segment discrimination module in the form of the position coordinates of the segment endpoints in sequence for edge segment discrimination, so as to complete the edge extraction of the original point cloud through the candidate segment discrimination module.
[0054] That is to say, each candidate line segment in the over-complete candidate line segment set is separately input into the candidate line segment discrimination module for edge line segment discrimination.
[0055] As an embodiment, the edge extraction of the original point cloud is completed by the candidate line segment discrimination module, including: evenly dividing each candidate line segment in the candidate edge line segment set to obtain multiple segmented line segments of unit length corresponding to each candidate line segment; obtaining the local point cloud of each unit length line segment after the candidate line segment is segmented, then extracting the features of the local point cloud at different scales respectively and connecting these features to classify the unit line segments through a network, and finally determining whether the candidate line segment is an edge line segment through a voting strategy; combining all candidate line segments determined to be edge line segments to complete the edge extraction of the original point cloud.
[0056] It should be noted that since the over-complete candidate line segment set contains all edge line segments and a large number of non-edge line segments, and there are huge differences in the lengths of different line segments, directly processing line segments of different lengths is not conducive to feature extraction by the network; therefore, after the candidate line segment is input into the candidate line segment discrimination module in the form of the line segment endpoint coordinates, the candidate line segment discrimination module first evenly divides the input candidate line segment into m line segments of equal length of unit length; subsequently, randomly sample the local point cloud containing n points in the original point cloud whose distance from the line segment is less than the radius threshold r for each unit line segment as the input of the deep learning network; specifically, the sampling rule of the local point cloud is shown in the following formula:
[0057]
[0058] where P is the original point cloud, P i,j is the local point cloud of the endpoint p i and p j , p * is an arbitrary point on the line, and its specific position is controlled by the parameter k, and r is the neighborhood radius.
[0059] In addition, as Figure 4 shown, the feature extraction structure of the network includes 4 edge convolution modules for extracting features at different scales, and the feature vectors of 4 groups are aggregated and then generate the feature vector of the unit line segment through a multi-layer perceptron and a pooling layer; the feature vector of the unit line segment generates a binary classification edge line segment prediction through a multi-layer perceptron, and finally the candidate line segment discrimination module uses an average pooling layer to generate the final candidate line segment discrimination prediction; the set composed of all candidate edge line segments determined to be true is the output point cloud parameterized edge prediction.
[0060] As Figure 5As shown, the first column in the figure is the input point cloud, the second column is the vertex prediction output by the module, and the third column is the ground truth label; the edge vertex prediction includes correctly predicted edge vertices and incorrectly predicted edge vertices; it can be seen from the visualization results that the vertex detection module can accurately detect the ground truth edge vertices from the input point cloud; however, for the edges of building windows and the joints of multiple planes such as roofs, there are some misdetections in the edge vertex prediction of the module; since the detected edge vertices are mainly used to generate an overcomplete set of candidate line segments, the vertex detection module only needs to output all the ground truth edge vertices as much as possible, so that all the ground truth edge segments required for the subsequent steps are included in the candidate line segment set; the visualization results show that the vertex detection module can basically achieve the goal of detecting all edge vertices.
[0061] As Figure 6 shown, from left to right are the input point cloud, the prediction results of candidate line segment discrimination, and the ground truth label of the edge line segment; in the building point cloud in the first row of the figure, most of the edge contour line segments are correctly classified, except for the line segments misclassified on the curved roof and a few walls; in the point cloud scene in the second row of the figure, there are also a small number of errors at the curved eaves, but the overall edge line segments are basically correctly predicted; the last group of visualization results is a relatively flat wall scene, where there are some misclassified line segments at the edges of the wall windows while most of the edge line segments are correctly classified; the visualization experimental results show that the candidate line segment discrimination module can effectively classify the correct edge line segments from the candidate line segment set and output the edge contour of the point cloud.
[0062] In summary, as Figure 2As shown in the figure, this application regards point cloud edge extraction as a two-stage task of candidate edge segment generation and discrimination. In the first stage, the algorithm detects edge vertices in the point cloud. The edge vertices of the point cloud are the endpoints of the edge contour segments of the point cloud. Pairing two edge vertices can generate an over-complete set of candidate line segments. The over-complete set of candidate line segments contains all the edge contour segments of the input point cloud and is used as the input for the next stage. In the second stage, the algorithm discriminates the edge contour segments from the over-complete set of candidate line segments to generate the final predicted output. The task of the first stage is mainly implemented by the vertex detection module. Since the features of the point cloud edge vertices are only related to the local point cloud within their neighborhood range, after a large-scale point cloud is input, it is first divided into voxels that only contain local point clouds. The vertex detection module detects edge vertices on each voxel and generates a candidate edge segment by combining two edge vertices. The candidate segment discrimination module in the second stage takes the coordinates of the two endpoints of the candidate segment in the point cloud as the input. First, the candidate segment is divided into unit lengths and the local point clouds in the neighborhood of the segment are sampled. Then, a deep learning network is used to discriminate whether the input segment is the edge of the point cloud. Thus, an end-to-end parametric edge extraction of the point cloud is achieved through multiple deep learning modules. Moreover, the deep learning-based module does not directly take the complete point cloud scene as the input, but only uses the deep neural network on the local point cloud, enabling this application to handle the edge extraction task of large-scale point clouds.
[0063] In addition, the present invention also proposes a computer-readable storage medium, on which an edge extraction program for large-scale three-dimensional point clouds is stored. When the edge extraction program for large-scale three-dimensional point clouds is executed by a processor, it implements the edge extraction method for large-scale three-dimensional point clouds as described above.
[0064] According to the computer-readable storage medium of the embodiment of the present invention, by storing the edge extraction program for large-scale three-dimensional point clouds, when the edge extraction program for large-scale three-dimensional point clouds is executed by a processor, it implements the edge extraction method for large-scale three-dimensional point clouds as described above. By connecting the edge vertices of the point cloud, a set of candidate line segments containing all the edge contour segments can be generated. Thus, when performing edge extraction, the influence of noise in the point cloud can be greatly reduced, so as to obtain a concise edge contour, and it has good generalization for point clouds in different scenarios.
[0065] In addition, the embodiment of the present invention also proposes a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, it implements the edge extraction method for large-scale three-dimensional point clouds as described above.
[0066] According to the computer device of an embodiment of the present invention, an edge extraction program for large-scale three-dimensional point clouds is stored in a memory. When the edge extraction program for large-scale three-dimensional point clouds is executed by a processor, the edge extraction method for large-scale three-dimensional point clouds as described above is implemented. By connecting the edge vertices of the point cloud, a candidate line segment set including all edge contour line segments can be generated. By performing edge extraction therefrom, the influence of noise in the point cloud can be greatly reduced, so as to obtain a concise edge contour, and it has good generalization for point clouds in different scenarios.
[0067] Figure 7 FIG. is a block diagram of an edge extraction device for large-scale three-dimensional point clouds according to an embodiment of the present invention. As Figure 7 shown, the edge extraction device for large-scale three-dimensional point clouds includes: a processing module 10, a vertex detection module 20, and a candidate line segment discrimination module 30;
[0068] Among them, the processing module 10 is used to obtain the original point cloud and uniformly divide the original point cloud to obtain a plurality of voxels; the vertex detection module 20 is used to sequentially obtain each of the plurality of voxels to obtain the edge vertices and the edge vertex position coordinates in the original point cloud, and perform arbitrary pairwise combination connections on the edge vertices to form a candidate edge line segment set; the candidate line segment discrimination module 3 is used to sequentially obtain the line segment endpoint position coordinates of each candidate line segment in the candidate edge line segment set, so as to perform edge line segment discrimination according to the line segment endpoint position coordinates, thereby completing the edge extraction of the original point cloud.
[0069] As an embodiment, the vertex detection module includes a voxel classification branch and a vertex position prediction branch. Among them, the voxel classification branch predicts whether each voxel contains an edge vertex in a binary classification manner, so as to output the prediction values of whether each voxel contains an edge vertex and does not contain an edge vertex; the vertex position prediction branch performs feature extraction and fusion on different scales of the point set in the voxel through a multi-layer edge convolution module, and regresses the relative position coordinates of the edge vertex in the voxel through a multi-layer perceptron, so as to calculate the spatial coordinates of the edge vertex in combination with the voxel coordinates.
[0070] As an embodiment, completing the edge extraction of the original point cloud through the candidate line segment discrimination module includes: uniformly dividing each candidate line segment in the candidate edge line segment set to obtain a plurality of segmented unit-length line segments corresponding to each candidate line segment; obtaining the local point cloud of each unit-length line segment after the candidate line segment is segmented, then extracting the features of the local point cloud at different scales respectively and connecting these features to classify the unit line segment through a network, and finally determining whether the candidate line segment is an edge line segment through a voting strategy; combining all the candidate line segments determined to be edge line segments to complete the edge extraction of the original point cloud.
[0071] As an example, the local point cloud within the neighborhood of each unit line segment is obtained according to the following formula:
[0072]
[0073] where P is the original point cloud, and P i,j is the local point cloud of the endpoint p i and p j . p * is an arbitrary point on the line, and its specific position is controlled by the parameter k, and r is the neighborhood radius.
[0074] It should be noted that the foregoing explanation of the embodiments of the edge extraction method for large-scale three-dimensional point clouds also applies to the edge extraction device for large-scale three-dimensional point clouds in this embodiment, and will not be elaborated here.
[0075] According to the edge extraction device for large-scale three-dimensional point clouds provided by the embodiments of the present invention, a candidate line segment set including all edge contour line segments can be generated by connecting the edge vertices of the point cloud. By performing edge extraction in this way, the influence of noise in the point cloud can be greatly reduced, so as to obtain a concise edge contour, and it has good generalization for point clouds in different scenarios.
[0076] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0077] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, and the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for realizing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0078] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce a manufacture including an instruction device that implements the functions specified in one or more of the processes and / or blocks Figure 1 in one or more of the processes and / or blocks Figure 1 specified in the block or blocks.
[0079] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus, such that a series of operational steps are performed on the computer or other programmable apparatus to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable apparatus provide steps for implementing the functions specified in one or more of the processes and / or blocks Figure 1 in one or more of the processes and / or blocks Figure 1 specified in the block or blocks.
[0080] It should be noted that, in the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims listing several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, and third, etc. does not denote any order. These words may be interpreted as names.
[0081] Although the preferred embodiments of the present invention have been described, additional changes and modifications can be made by those skilled in the art once they learn of the basic inventive concept. Therefore, the appended claims are intended to be construed to cover the preferred embodiments as well as all changes and modifications falling within the scope of the present invention.
[0082] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention is also intended to include these modifications and variations.
[0083] In the description of the present invention, it should be understood that the terms "first" and "second" are used for descriptive purposes only and cannot be construed as indicating or implying relative importance or implicitly indicating the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the present invention, "a plurality of" means two or more unless otherwise specifically defined.
[0084] In the present invention, unless otherwise clearly specified or limited, the terms "mounted", "connected", "coupled", "fixed", etc. shall be construed broadly. For example, it may be a fixed connection, a detachable connection, or integrated; it may be a mechanical connection or an electrical connection; it may be directly connected or indirectly connected through an intermediate medium, and it may be the internal communication of two components or the interaction relationship between two components. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0085] In the present invention, unless otherwise clearly specified or limited, the first feature being "on" or "under" the second feature may be that the first and second features are in direct contact, or the first and second features are indirectly in contact through an intermediate medium. Moreover, the first feature being "above", "over" and "on top of" the second feature may be that the first feature is directly above or obliquely above the second feature, or merely indicates that the first feature has a higher horizontal height than the second feature. The first feature being "under", "beneath" and "underneath" the second feature may be that the first feature is directly below or obliquely below the second feature, or merely indicates that the first feature has a lower horizontal height than the second feature.
[0086] In the description of this specification, the description with reference to terms such as "an embodiment", "some embodiments", "examples", "specific examples", or "some examples", etc. means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms should not be understood as necessarily referring to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, without contradiction, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples.
[0087] Although the embodiments of the present invention have been shown and described above, it can be understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those of ordinary skill in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present invention.
Claims
1. An edge extraction method for large-scale three-dimensional point clouds, characterized in that It includes the following steps: Obtain the original point cloud and uniformly divide the original point cloud to obtain a plurality of voxels; Input each of the plurality of voxels into the vertex detection module in sequence, so as to obtain the edge vertices and the position coordinates of the edge vertices in the original point cloud through the vertex detection module; Arbitrarily connect any two of the edge vertices in pairs to form a set of candidate edge line segments; Input each candidate line segment in the set of candidate edge line segments into the candidate line segment discrimination module in sequence in the form of the position coordinates of the line segment endpoints for edge line segment discrimination, so as to complete the edge extraction of the original point cloud through the candidate line segment discrimination module; Among them, the vertex detection module includes a voxel classification branch and a vertex position prediction branch, The voxel classification branch predicts whether each voxel contains an edge vertex in a binary classification manner, so as to output the predicted values of whether each voxel contains an edge vertex and does not contain an edge vertex; The vertex position prediction branch performs feature extraction and fusion on different scales of the in-voxel point set through a multi-layer edge convolution module, and regresses the relative position coordinates of the edge vertex in the voxel through a multi-layer perceptron, so as to calculate the spatial coordinates of the edge vertex in combination with the voxel coordinates; Among them, completing the edge extraction of the original point cloud through the candidate line segment discrimination module includes: Uniformly divide each candidate line segment in the set of candidate edge line segments to obtain a plurality of segmented line segments of unit length corresponding to each candidate line segment; Obtain the local point cloud of each unit-length line segment after the candidate line segment is segmented, then extract the features of the local point cloud at different scales respectively, connect these features, classify the unit line segments through a network, and finally determine whether the candidate line segment is an edge line segment through a voting strategy; Combine all the candidate line segments determined to be edge line segments to complete the edge extraction of the original point cloud; Among them, the local point cloud within the neighborhood of each unit line segment is obtained according to the following formula: Among them, P is the original point cloud, and P i,j is the end point p i and p j 's local point cloud. p * is an arbitrary point on the line, and its specific position is controlled by the parameter k. r is the neighborhood radius.
2. A computer-readable storage medium, characterized in that, Stored thereon is an edge extraction program for large-scale three-dimensional point clouds. When the edge extraction program for large-scale three-dimensional point clouds is executed by a processor, the edge extraction method for large-scale three-dimensional point clouds as described in claim 1 is implemented.
3. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the computer program, the edge extraction method for large-scale three-dimensional point clouds as described in claim 1 is implemented.
4. An edge extraction device for large-scale three-dimensional point clouds, characterized in that, It includes: A processing module, which is used to obtain the original point cloud and uniformly divide the original point cloud to obtain a plurality of voxels; A vertex detection module, which is used to sequentially obtain each of the plurality of voxels, so as to obtain the edge vertices and the position coordinates of the edge vertices in the original point cloud, and arbitrarily connect any two of the edge vertices in pairs to form a set of candidate edge line segments; A candidate line segment discrimination module, which is used to sequentially obtain the position coordinates of the line segment endpoints of each candidate line segment in the set of candidate edge line segments, so as to perform edge line segment discrimination according to the position coordinates of the line segment endpoints, thereby completing the edge extraction of the original point cloud; Among them, the vertex detection module includes a voxel classification branch and a vertex position prediction branch, The voxel classification branch predicts whether each voxel contains an edge vertex in a binary classification manner, so as to output the predicted values of containing and not containing edge vertices in each voxel; The vertex position prediction branch performs feature extraction and fusion on different scales of the in-voxel point set through a multi-layer edge convolution module, and regresses the relative position coordinates of the edge vertex in the voxel through a multi-layer perceptron, so as to calculate the spatial coordinates of the edge vertex in combination with the voxel coordinates; Among them, the edge extraction of the original point cloud is completed through the candidate line segment discrimination module, including: Each candidate line segment in the candidate edge line segment set is evenly divided to obtain multiple segmented line segments of unit length corresponding to each candidate line segment; Obtain the local point cloud of each unit length line segment after the candidate line segment is segmented, then extract the features of the local point cloud at different scales respectively, connect these features, classify the unit line segment through the network, and finally determine whether the candidate line segment is an edge line segment through a voting strategy; Combine all the candidate line segments judged to be edge line segments to complete the edge extraction of the original point cloud; Among them, the local point cloud in the neighborhood of each unit line segment is obtained according to the following formula: Among them, P is the original point cloud, and P i,j is the end point p i and p j 's local point cloud, where p * is an arbitrary point on the line, and its specific position is controlled by the parameter k. r is the neighborhood radius.
Citation Information
Patent Citations
Point cloud classification method and system based on local edge feature enhancement
CN112052884A
Detection and identification method and device for three-dimensional information enhancement based on laser point cloud
CN114821033A