Clustering method, target contour and type acquisition method, device, medium, vehicle

By performing voxelization processing on the 3D point cloud acquired by radar and merging multi-source information to establish index relationships, the problem of insufficient accuracy in point cloud clustering in existing technologies is solved, and higher-precision target recognition and type acquisition are achieved.

CN116468924BActive Publication Date: 2026-04-28安徽蔚来智驾科技有限公司
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
安徽蔚来智驾科技有限公司
Filing Date
2023-04-17
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing 3D point cloud clustering methods mainly rely on the spatial location of point clouds for clustering, resulting in poor clustering accuracy and an inability to accurately obtain the type of the target.

Method used

By voxelizing the 3D point cloud acquired by radar, an index relationship between voxels and their neighborhoods is established to form multiple clustering trees. Voxels are then merged into the same clustering tree based on their spatial location and multi-source information. Parallel computation is performed using a graphics processor to improve clustering accuracy.

Benefits of technology

It significantly improves the accuracy of point cloud clustering, enabling accurate acquisition of target contours and types, and enhancing target recognition accuracy in autonomous driving.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116468924B_ABST
    Figure CN116468924B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of automatic driving, and specifically provides a clustering method, a target contour and type acquisition method, equipment, a medium and a vehicle, and aims to solve the problem of improving point cloud clustering accuracy. The method provided by the application comprises the following steps: voxelizing a three-dimensional point cloud to form a plurality of voxels; establishing an index relationship between each voxel and a first neighborhood voxel with the smallest spatial position in the neighborhood of each voxel; establishing a plurality of clustering trees according to the index relationship of each voxel; and respectively merging a second neighborhood voxel in each voxel and the neighborhood of each voxel into the same clustering tree, wherein the second neighborhood voxel is a neighborhood voxel similar to the multi-source information between the voxels, and the multi-source information comprises result information corresponding to the voxels in the results of each target perception task after the three-dimensional point cloud is subjected to a plurality of target perception tasks. Through the above method, the efficiency and accuracy of point cloud clustering can be improved simultaneously, and the accuracy of target classification according to the clustering result is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of autonomous driving technology, specifically to a clustering method, a method for obtaining target contours and types, a device, a medium, and a vehicle. Background Technology

[0002] When controlling a vehicle for autonomous driving, devices such as radar typically collect 3D point clouds around the vehicle and perform target perception on these point clouds to determine the type of target. Different autonomous driving actions are then taken based on the target type. Specifically, target perception of the 3D point cloud can be performed by clustering the point clouds to group points belonging to different targets into different clusters. Then, the outlines of the targets corresponding to each cluster are identified based on the point clouds within each cluster, and finally, the target type is determined based on the target outlines. However, current conventional perception methods only cluster 3D point clouds based on their spatial location, resulting in poor clustering accuracy and making it impossible to accurately determine the target type based on the clustering results.

[0003] Accordingly, a new technical solution is needed in this field to solve the above problems. Summary of the Invention

[0004] To overcome the above-mentioned deficiencies, this invention is proposed to provide a clustering method, target contour and type acquisition method, device, medium and vehicle that solve or at least partially solve the technical problem of improving the accuracy of point cloud clustering.

[0005] In a first aspect, a point cloud clustering method is provided, the method comprising:

[0006] The 3D point cloud acquired by radar is voxelized to form multiple voxels;

[0007] Establish index relationships between each voxel and its first neighboring voxels;

[0008] Multiple clustering trees are constructed based on the index relationships of each voxel. The clustering tree is a collection of voxels whose index relationships are distributed in a tree structure and there are no identical voxels between different clustering trees.

[0009] Each voxel and its second neighbor voxels within its respective neighborhood are merged into the same clustering tree;

[0010] Among them, the first neighboring voxel of each voxel is the neighboring voxel with the smallest spatial position in the neighborhood of each voxel.

[0011] The second neighboring voxel of each voxel is the neighboring voxel in the neighborhood of each voxel that is similar to the multi-source information between each voxel. The multi-source information of the voxel includes the result information corresponding to the voxel in the results of each target perception task after performing multiple target perception tasks on the 3D point cloud.

[0012] In one technical solution of the above point cloud clustering method, the step of "merging each voxel and its respective second neighbor voxels into the same clustering tree" specifically includes:

[0013] For each voxel, based on the index relationship of each voxel in the cluster tree where the current voxel and its second neighboring voxels are located, obtain the root node voxel of the index of the current voxel and its second neighboring voxels respectively, and determine whether the two obtained root node voxels are the same.

[0014] If not, based on the preset voxel selection principle, a voxel is selected from the current voxel and its second neighboring voxels as the target voxel, and the root node voxel of the index of another voxel in the current voxel and its second neighboring voxels is modified to the root node voxel of the index of the target voxel, so as to merge the other voxel into the cluster tree where the target voxel is located.

[0015] In one technical solution of the aforementioned point cloud clustering method, the step of "establishing an index relationship between each voxel and its first neighboring voxels" includes:

[0016] Obtain the spatial location of the first neighboring voxels of each voxel;

[0017] Each voxel is assigned a category label based on its spatial location to establish an index relationship between each voxel and its first neighboring voxels.

[0018] In one technical solution of the above point cloud clustering method, the step of "obtaining the spatial position of the first neighboring voxel of each voxel" specifically includes: obtaining the two-dimensional spatial position of each first neighboring voxel;

[0019] And / or, the step of "setting category labels for each voxel according to the spatial location" specifically includes:

[0020] Linear calculations were performed on the spatial positions of the first neighboring voxels of each voxel;

[0021] Based on the results of the linear calculation, class labels are set for each voxel.

[0022] In one technical solution of the above point cloud clustering method, the step of "determining whether the two obtained root node voxels are the same" specifically includes: determining whether the category labels of the two root node voxels are equal. If they are equal, the two root node voxels are the same; if they are not equal, the two root node voxels are different.

[0023] And / or, the preset voxel selection principle is to select the voxel with the smaller or larger category label from two voxels. The step of "selecting a voxel from the current voxel and its second neighboring voxels as the target voxel based on the preset voxel selection principle" specifically includes: selecting a voxel with the smaller or larger category label from the current voxel and its second neighboring voxels as the target voxel based on the preset voxel selection principle, wherein the voxel selection principle is the same for each voxel.

[0024] And / or, the step of "correcting the root node voxel of the current voxel and another voxel index in its second neighboring voxels to the root node voxel of the target voxel index" specifically includes:

[0025] The category label of the root node voxel of the other voxel index is corrected to the category label of the root node voxel of the target voxel index.

[0026] In one technical solution of the above point cloud clustering method, after the step of "merging each voxel and its respective second neighbor voxels into the same clustering tree", the method further includes:

[0027] Obtain the category label of the root node voxel in each clustering tree;

[0028] Reset the class labels of each root node voxel so that the class labels of each root node voxel can form a continuous class label sequence.

[0029] In one technical solution of the aforementioned point cloud clustering method,

[0030] The steps of “resetting the category labels of each root node voxel” specifically include: resetting the category labels of each root node voxel based on atomic operations of the graphics processor;

[0031] And / or, after the step of “resetting the category labels of each root node voxel”, the method further includes: for each clustering tree, resetting the category labels of all voxels in the current clustering tree except for the root node voxel to the category label of the root node voxel.

[0032] In one technical solution of the above point cloud clustering method, the method further includes obtaining the second neighboring voxels of each voxel in the following manner:

[0033] For each voxel, obtain the neighborhood description information of the current voxel. The neighborhood description information is an information field that can continuously store three int type data. The value of each bit in the information field is used to indicate whether the multi-source information between the current voxel and the neighboring voxel corresponding to each bit is similar.

[0034] Based on the neighborhood description information, obtain the second neighboring voxel of the current voxel.

[0035] In one technical solution of the aforementioned point cloud clustering method, the step of "performing voxelization of the 3D point cloud acquired by radar to form multiple voxels" specifically includes:

[0036] The 3D point cloud is voxelized, and the initial voxels are obtained based on the processing results.

[0037] The effective voxels containing point clouds are obtained from the initial voxels as the final voxels.

[0038] In one technical solution of the above point cloud clustering method, the step of "establishing an index relationship between each voxel and its first neighboring voxels" specifically includes: establishing an index relationship between each voxel and its first neighboring voxels based on atomic operations of the graphics processor.

[0039] The steps of “merging each voxel and its second neighbor voxel into the same clustering tree” specifically include: merging each voxel and its second neighbor voxel into the same clustering tree based on atomic operations of the graphics processor.

[0040] In a second aspect, a method for obtaining a target contour is provided, the method comprising:

[0041] Using the point cloud clustering method provided in the first aspect above, the three-dimensional point cloud acquired by radar is clustered to obtain multiple clustering trees;

[0042] The outline of the target represented by each cluster tree is obtained based on the cluster tree.

[0043] In a third aspect, a method for obtaining a target type is provided, the method further comprising:

[0044] Using the target contour acquisition method provided in the second aspect above, the contours of each target in the three-dimensional point cloud acquired by radar are obtained;

[0045] Based on the outline of each target, obtain the initial type of each target;

[0046] Based on the multi-source information of each target, the initial type of each target is modified to obtain the final type of each target;

[0047] The multi-source information of the target includes the result information corresponding to the target in the results of each target perception task after performing multiple target perception tasks on the 3D point cloud.

[0048] In a fourth aspect, a computer device is provided, the computer device including a processor and a storage device, the storage device being adapted to store a plurality of program codes, the program codes being adapted to be loaded and run by the processor to perform the method described in any of the above-described technical solutions for target clustering, target contour acquisition, or target type acquisition methods.

[0049] In a fifth aspect, a computer-readable storage medium is provided, wherein a plurality of program codes are stored therein, the program codes being adapted to be loaded and run by a processor to perform the method described in any of the above-described methods for target clustering, target contour acquisition, or target type acquisition.

[0050] In a sixth aspect, a vehicle is provided that includes the computer equipment described in the above-described computer equipment technical solution.

[0051] Solution 1. A point cloud clustering method, characterized in that the method includes:

[0052] The 3D point cloud acquired by radar is voxelized to form multiple voxels;

[0053] Establish index relationships between each voxel and its first neighboring voxels;

[0054] Multiple clustering trees are constructed based on the index relationships of each voxel. The clustering tree is a collection of voxels whose index relationships are distributed in a tree structure and there are no identical voxels between different clustering trees.

[0055] Each voxel and its second neighbor voxels within its respective neighborhood are merged into the same clustering tree;

[0056] Among them, the first neighboring voxel of each voxel is the neighboring voxel with the smallest spatial position in the neighborhood of each voxel.

[0057] The second neighboring voxel of each voxel is the neighboring voxel in the neighborhood of each voxel that is similar to the multi-source information between each voxel. The multi-source information of the voxel includes the result information corresponding to the voxel in the results of each target perception task after performing multiple target perception tasks on the 3D point cloud.

[0058] Scheme 2. The point cloud clustering method according to Scheme 1, characterized in that the step of "merging each voxel and its respective second neighbor voxels into the same clustering tree" specifically includes:

[0059] For each voxel, based on the index relationship of each voxel in the cluster tree where the current voxel and its second neighboring voxels are located, obtain the root node voxel of the index of the current voxel and its second neighboring voxels respectively, and determine whether the two obtained root node voxels are the same.

[0060] If not, based on the preset voxel selection principle, a voxel is selected from the current voxel and its second neighboring voxels as the target voxel, and the root node voxel of the index of another voxel in the current voxel and its second neighboring voxels is modified to the root node voxel of the index of the target voxel, so as to merge the other voxel into the cluster tree where the target voxel is located.

[0061] Scheme 3. The point cloud clustering method according to Scheme 1 or 2, characterized in that the step of "establishing an index relationship between each voxel and its first neighboring voxels" includes:

[0062] Obtain the spatial location of the first neighboring voxels of each voxel;

[0063] Each voxel is assigned a category label based on its spatial location to establish an index relationship between each voxel and its first neighboring voxels.

[0064] Solution 4. The point cloud clustering method according to Solution 3, characterized in that,

[0065] The steps of “obtaining the spatial position of the first neighboring voxel of each voxel” specifically include: obtaining the two-dimensional spatial position of each first neighboring voxel;

[0066] And / or, the step of "setting category labels for each voxel according to the spatial location" specifically includes:

[0067] Linear calculations were performed on the spatial positions of the first neighboring voxels of each voxel;

[0068] Based on the results of the linear calculation, class labels are set for each voxel.

[0069] Scheme 5. The method described in Scheme 3 when referring to Scheme 2 is characterized in that the step of "determining whether the two obtained root node voxels are the same" specifically includes: determining whether the category labels of the two root node voxels are equal; if they are equal, the two root node voxels are the same; if they are not equal, the two root node voxels are not the same.

[0070] And / or, the preset voxel selection principle is to select the voxel with the smaller or larger category label from two voxels. The step of "selecting a voxel from the current voxel and its second neighboring voxels as the target voxel based on the preset voxel selection principle" specifically includes: selecting a voxel with the smaller or larger category label from the current voxel and its second neighboring voxels as the target voxel based on the preset voxel selection principle, wherein the voxel selection principle is the same for each voxel.

[0071] And / or, the step of "correcting the root node voxel of the current voxel and another voxel index in its second neighboring voxels to the root node voxel of the target voxel index" specifically includes:

[0072] The category label of the root node voxel of the other voxel index is corrected to the category label of the root node voxel of the target voxel index.

[0073] Solution 6. The point cloud clustering method according to Solution 3, characterized in that, after the step of "merging each voxel and its respective second neighboring voxels into the same clustering tree", the method further includes:

[0074] Obtain the category label of the root node voxel in each clustering tree;

[0075] Reset the class labels of each root node voxel so that the class labels of each root node voxel can form a continuous class label sequence.

[0076] 7. The point cloud clustering method according to Scheme 6, characterized in that,

[0077] The steps of “resetting the category labels of each root node voxel” specifically include: resetting the category labels of each root node voxel based on atomic operations of the graphics processor;

[0078] And / or, after the step of “resetting the category labels of each root node voxel”, the method further includes: for each clustering tree, resetting the category labels of all voxels in the current clustering tree except for the root node voxel to the category label of the root node voxel.

[0079] Solution 8. The point cloud clustering method according to Solution 1, characterized in that the method further includes obtaining the second neighboring voxels of each voxel through the following means:

[0080] For each voxel, obtain the neighborhood description information of the current voxel. The neighborhood description information is an information field that can continuously store three int type data. The value of each bit in the information field is used to indicate whether the multi-source information between the current voxel and the neighboring voxel corresponding to each bit is similar.

[0081] Based on the neighborhood description information, obtain the second neighboring voxel of the current voxel.

[0082] Scheme 9. The point cloud clustering method according to Scheme 1, characterized in that the step of "performing voxelization of the 3D point cloud acquired by radar to form multiple voxels" specifically includes:

[0083] The 3D point cloud is voxelized, and the initial voxels are obtained based on the processing results.

[0084] The effective voxels containing point clouds are obtained from the initial voxels as the final voxels.

[0085] Solution 10. The point cloud clustering method according to Solution 1, characterized in that,

[0086] The steps of “establishing index relationships between each voxel and its first neighboring voxels” specifically include: establishing index relationships between each voxel and its first neighboring voxels based on atomic operations of the graphics processor.

[0087] The steps of “merging each voxel and its second neighbor voxel into the same clustering tree” specifically include: merging each voxel and its second neighbor voxel into the same clustering tree based on atomic operations of the graphics processor.

[0088] Solution 11. A method for obtaining a target contour, characterized in that the method includes:

[0089] The point cloud clustering method described in any one of Schemes 1 to 10 is used to cluster the three-dimensional point cloud acquired by radar to obtain multiple clustering trees;

[0090] The outline of the target represented by each cluster tree is obtained based on the cluster tree.

[0091] Solution 12. A method for obtaining a target type, characterized in that the method further includes:

[0092] The target contour acquisition method described in Scheme 11 is used to acquire the contours of each target in the three-dimensional point cloud acquired by radar.

[0093] Based on the outline of each target, obtain the initial type of each target;

[0094] Based on the multi-source information of each target, the initial type of each target is modified to obtain the final type of each target;

[0095] The multi-source information of the target includes the result information corresponding to the target in the results of each target perception task after performing multiple target perception tasks on the 3D point cloud.

[0096] Scheme 13. A computer device, comprising a processor and a storage device, the storage device being adapted to store a plurality of program codes, characterized in that the program codes are adapted to be loaded and run by the processor to perform the point cloud clustering method of any one of Schemes 1 to 10, or to perform the target contour acquisition method of Scheme 11, or to perform the target type acquisition method of Scheme 12.

[0097] Scheme 14. A computer-readable storage medium storing a plurality of program codes, characterized in that the program codes are adapted to be loaded and run by a processor to perform the point cloud clustering method of any one of Schemes 1 to 10, or to perform the target contour acquisition method of Scheme 11, or to perform the target type acquisition method of Scheme 12.

[0098] Option 15. A vehicle, characterized in that the vehicle includes the computer equipment described in Option 13.

[0099] The above-described technical solutions of the present invention have at least one or more of the following beneficial effects:

[0100] In the technical solution of the target clustering method provided by this invention, after voxelizing the 3D point cloud acquired by radar to form multiple voxels, clustering can be performed simultaneously based on the spatial location and multi-source information of the voxels, thereby significantly improving the accuracy of point cloud clustering. Specifically, an index relationship can be established between each voxel and its first neighboring voxels, and then multiple clustering trees can be built based on the index relationship of each voxel. The clustering tree is a collection of voxels with a tree-like structure of index relationships, and there are no identical voxels between different clustering trees. Through the above steps, preliminary point cloud clustering can be completed using the spatial location of voxels. After that, each voxel and its second neighboring voxels are merged into the same clustering tree. This step can use the multi-source information of voxels to correct the preliminary point cloud clustering results, resulting in a more accurate final point cloud clustering result.

[0101] In the technical solution of the target contour acquisition method provided by this invention, the aforementioned point cloud clustering method can be used to cluster the three-dimensional point cloud acquired by radar to obtain multiple clustering trees, and then the contour of the target represented by each clustering tree can be obtained according to the clustering trees. Through the above method, the contour of each target can be accurately obtained, thereby improving the accuracy of target type identification based on the target contour.

[0102] In the technical solution of the target type acquisition method of the present invention, the aforementioned target contour acquisition method can be used to acquire the contours of each target in the three-dimensional point cloud acquired by radar. Then, based on the contours of each target, an initial type of each target is acquired. Finally, based on the multi-source information of each target, the initial type of each target is corrected to obtain the final type of each target. Through this method, the target type can be identified by simultaneously combining the target contours and multi-source information, significantly improving the accuracy of target type identification. Attached Figure Description

[0103] The disclosure of this invention will become more readily understood with reference to the accompanying drawings. It will be readily understood by those skilled in the art that these drawings are for illustrative purposes only and are not intended to limit the scope of protection of this invention. Wherein:

[0104] Figure 1 This is a schematic diagram of the main steps of a target clustering method according to an embodiment of the present invention;

[0105] Figure 2 This is a schematic flowchart of the main steps of a method for optimizing voxel category labels according to an embodiment of the present invention;

[0106] Figure 3 This is a voxel diagram according to an embodiment of the present invention;

[0107] Figure 4 This is a schematic diagram of voxel clustering results according to an embodiment of the present invention;

[0108] Figure 5 This is a schematic flowchart of the main steps of a target contour acquisition method according to an embodiment of the present invention;

[0109] Figure 6 This is a schematic flowchart of the main steps of a target type acquisition method according to an embodiment of the present invention;

[0110] Figure 7 This is a schematic diagram of the main structure of a computer device according to an embodiment of the present invention. Detailed Implementation

[0111] Some embodiments of the present invention will now be described with reference to the accompanying drawings. Those skilled in the art should understand that these embodiments are merely illustrative of the technical principles of the present invention and are not intended to limit the scope of protection of the present invention.

[0112] In the description of this invention, "processor" can include hardware, software, or a combination of both. A processor can be a central processing unit, microprocessor, image processor, digital signal processor, or any other suitable processor. The processor has data and / or signal processing capabilities. The processor can be implemented in software, in hardware, or a combination of both. Computer-readable storage media includes any suitable medium capable of storing program code, such as magnetic disks, hard disks, optical disks, flash memory, read-only memory, random access memory, etc.

[0113] The relevant user personal information that may be involved in the various embodiments of this application is processed in strict accordance with the requirements of laws and regulations, following the principles of legality, legitimacy, and necessity, based on the reasonable purpose of the business scenario, and is personal information that users actively provide or that is generated due to the use of the product / service, as well as personal information obtained with user authorization.

[0114] The personal information of users processed by the applicant will vary depending on the specific product / service scenario and will be based on the specific scenario in which the user uses the product / service. This may involve the user's account information, device information, driving information, vehicle information, or other related information. The applicant will treat the user's personal information and its processing with a high degree of diligence.

[0115] The applicant attaches great importance to the security of users' personal information and has taken reasonable and feasible security protection measures that comply with industry standards to protect users' information and prevent unauthorized access, disclosure, use, modification, damage or loss of personal information.

[0116] The following describes an embodiment of the target clustering method provided by the present invention.

[0117] See appendix Figure 1 , Figure 1 This is a schematic flowchart illustrating the main steps of a target clustering method according to an embodiment of the present invention. Figure 1 As shown, the target clustering method in this embodiment of the invention mainly includes the following steps S101 to S104.

[0118] Step S101: Perform voxelization on the 3D point cloud acquired by the radar to form multiple voxels.

[0119] Radar includes, but is not limited to, millimeter-wave radar and laser radar. In a preferred embodiment, the radar may be laser radar.

[0120] In this embodiment of the invention, conventional voxelization methods in the field of point cloud data processing technology can be used to process the three-dimensional point cloud. For example, the distribution boundaries of the point cloud on the X, Y, and Z axes of the point cloud coordinate system can be determined based on the distribution of the point cloud on these axes. Then, a large cube that can contain all the point clouds can be generated based on the distribution boundaries of the point cloud. Finally, the large cube is divided into multiple small cubes with side lengths of a preset point cloud map resolution. Each small cube is a voxel.

[0121] In some implementations, to improve clustering efficiency, clustering can be performed only on voxels containing point clouds. Specifically, the 3D point cloud acquired by radar can be voxelized, and multiple initially formed voxels can be obtained based on the voxelization result. Then, effective voxels containing point clouds can be obtained from the multiple initially formed voxels, and the effective voxels can be used as the final formed voxels. Subsequent steps S102 to S104 are then performed based on these effective voxels.

[0122] Step S102: Establish an index relationship between each voxel and its first neighboring voxel in its respective neighborhood. The first neighboring voxel is the neighboring voxel with the smallest spatial position in its corresponding neighborhood.

[0123] Based on voxel-based index relationships, one can query which voxel the current voxel directly indexes, and also which voxels the current voxel indirectly indexes. For example, if voxel A has an index relationship with voxel B, and voxel B has an index relationship with voxel C, then based on these index relationships, it can be determined that voxel A directly indexes voxel B and indirectly indexes voxel C.

[0124] Step S103: Establish multiple clustering trees based on the index relationship of each voxel. A clustering tree is a collection of voxels whose index relationship is distributed in a tree structure and there are no identical voxels between different clustering trees. Different clustering trees represent different targets in the 3D point cloud.

[0125] Each voxel is distributed in a different clustering tree, and each clustering tree contains a root node voxel. For each clustering tree, all voxels except the root node voxel directly or indirectly index the root node voxel. In this embodiment of the invention, each voxel indexes one root node voxel, rather than indexing multiple root node voxels simultaneously.

[0126] For example, the numbers 1-100 in Table 1 below represent voxels 1-100 respectively. Assume that the neighborhood range of a voxel is 8-neighborhood, that is, the neighborhood contains 8 neighboring voxels. Within the neighborhood of voxel 10, the first neighboring voxel with the smallest spatial position is voxel 19, and an index relationship is formed between voxel 10 and voxel 19; within the neighborhood of voxel 19, the first neighboring voxel is voxel 28, and an index relationship is formed between voxel 19 and voxel 28; and so on, we can obtain that: voxel 28 and voxel 37, voxel 37 and voxel 46, voxel 46 and voxel 55, voxel 55 and voxel 64, voxel 64 and voxel 73, voxel 73 and voxel 82, and voxel 82 and voxel 91 can all form index relationships. Based on the above index relationships, a clustering tree can be formed, which includes voxels 10, 19, 28, 37, 46, 55, 64, 73, 82, and 91, and the index relationships of each voxel are distributed in a tree structure. Among them, voxel 91 is the root node voxel in the clustering tree, voxel 82 is the first-level voxel in the tree structure that indexes the root node voxel, and it directly indexes the root node voxel 91. Voxel 73 is the second-level voxel in the tree structure that indexes the root node voxel, and it indirectly indexes the root node voxel 91. The other voxels are similar to voxel 73, and will not be described in detail here.

[0127] Table 1

[0128] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 56 57 58 59 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

[0129] Step S104: Merge each voxel and its second neighbor voxels into the same clustering tree.

[0130] The second neighboring voxels of each voxel are those neighboring voxels with similar multi-source information to each voxel within the voxel's neighborhood. If the multi-source information of two voxels is similar, it indicates that the two voxels belong to the same target and therefore should be merged into the same clustering tree. The multi-source information of the voxels includes the result information corresponding to the voxels in the results of each target perception task after performing various target perception tasks on the 3D point cloud. Target perception tasks include, but are not limited to, target detection tasks, semantic segmentation tasks, and motion state estimation tasks. This embodiment of the invention does not specifically limit the type of target perception task, as long as it can obtain perception results from multiple different tasks.

[0131] In some implementations, the second neighboring voxels of each voxel can be obtained in the following way: for each voxel, obtain the neighborhood description information of the current voxel, and then obtain the second neighboring voxels of the current voxel based on the neighborhood description information.

[0132] The neighborhood description information is an information field that can continuously store three integer data points. The value of each bit in the information field is used to indicate whether the multi-source information between the current voxel and the corresponding neighboring voxel is similar. For example, if the value of a bit is 1, it indicates that the multi-source information between the corresponding neighboring voxel and the current voxel is similar, and if the value of a bit is 0, it indicates that they are not similar.

[0133] The information field, capable of continuously storing three integer data points, contains 96 bits, thus it can be used with various neighborhood ranges, including 4, 8, 16, 24, 48, and 80 neighborhoods. Those skilled in the art can flexibly select or change the neighborhood range according to actual needs. Before performing point cloud clustering, a neighborhood range is first selected, and then the aforementioned information field is used to record whether the multi-source information of each neighboring voxel within this neighborhood is similar to the multi-source information of the current voxel. For example, if the neighborhood range is 8 neighborhoods, the values ​​of bits 1 to 8 in the aforementioned information field can be queried, and the similarity between the multi-source information of each neighboring voxel within the 8 neighborhoods and the multi-source information of the current voxel can be determined based on these bit values. Similarly, if the neighborhood range is 24 neighborhoods, the values ​​of bits 1 to 24 in the aforementioned information field can be queried.

[0134] It should be noted that in the embodiments of the present invention, the size of the neighborhood range of each voxel is the same.

[0135] In some implementations, each voxel and its respective second neighbor voxels can be merged into the same clustering tree in the following ways:

[0136] For each voxel, based on the index relationship of each voxel in the cluster tree containing the current voxel and its second neighboring voxels, the root node voxels of the current voxel and its second neighboring voxels are obtained respectively, and it is determined whether the two obtained root node voxels are the same. If they are the same, it means that the current voxel and its second neighboring voxels are already in the same cluster tree, and there is no need to merge them. If they are different, it means that they are not in the same cluster tree, and they need to be merged. Specifically, based on a preset voxel selection principle, a voxel can be selected from the current voxel and its second neighboring voxels as the target voxel, and the root node voxel of the index of another voxel in the current voxel and its second neighboring voxels can be modified to become the root node voxel of the target voxel index, so as to merge the other voxel into the cluster tree containing the target voxel. In this way, by modifying the index relationship with the root node voxel, a fast switching of voxels from one cluster tree to another can be achieved.

[0137] In the method described in steps S101 to S104, steps S102 to S103 form initial clustering trees based on the spatial location of voxels, and step S104 refines these clustering trees based on the multi-source information of the voxels to complete the final point cloud clustering. By performing initial clustering followed by refinement, the reduced clustering accuracy caused by clustering solely based on spatial location is avoided. Even with targets of unusual shapes, the point cloud corresponding to the target can be accurately clustered. Furthermore, since the method clusters at the voxel level, the Graphics Processing Unit (GPU) can be used to execute these steps in parallel for each voxel, eliminating the need to copy the 3D point cloud and multi-source information from the GPU to the CPU and then execute the method on the CPU, thus significantly improving clustering efficiency.

[0138] The following provides further explanation of steps S102 and S104.

[0139] I. Explanation of step S102 above.

[0140] In some embodiments of step S102 above, when establishing the index relationship, the spatial position of the first neighboring voxel of each voxel can be obtained, and the category label of each voxel can be set according to the spatial position, so as to establish an index relationship between each voxel and its first neighboring voxel.

[0141] Furthermore, in this embodiment, the two-dimensional spatial position of the first neighborhood voxel on the X and Y axes in the point cloud coordinate system can be obtained, and a category label can be set according to the two-dimensional spatial position.

[0142] In this embodiment, the spatial position of the first neighboring voxel can be directly used as the category label, or a linear calculation can be performed on the spatial position, and the category label of each voxel can be set according to the result of the linear calculation, for example, the result of the linear calculation can be used as the category label. It should be noted that those skilled in the art can flexibly set the calculation method of the linear calculation according to actual needs, and the embodiments of the present invention do not specifically limit it in this regard. For example, in some preferred embodiments, the calculation method of the linear calculation can be x*col+y, where x and y represent the coordinates of the X-axis and Y-axis in the two-dimensional spatial position, respectively, and col represents the number of voxels in the X-axis direction.

[0143] In some embodiments of step S102 above, index relationships can be established between each voxel and its first neighboring voxels based on GPU atomic operations. This ensures that the steps performed on each voxel are independent and do not affect each other, thus achieving parallel execution of the steps on each voxel.

[0144] II. Explanation of step S104 above.

[0145] As can be seen from the implementation of step S102 above, the category label of a voxel can be set according to the spatial position of the first neighboring voxel. Therefore, in some implementations of step S104 above, when determining whether two obtained root node voxels are the same, it can be determined whether the category labels of the two root node voxels are equal. If they are equal, the two root node voxels are determined to be the same; if they are not equal, the two root node voxels are determined to be different.

[0146] Furthermore, in some embodiments of step S104 above, the preset voxel selection principle can be to select the voxel with the smaller or larger category label from two voxels. When selecting the target voxel, the preset voxel selection principle can be used to select the voxel with the smaller or larger category label from the current voxel and its second neighboring voxels as the target voxel.

[0147] It should be noted that in the embodiments of the present invention, the voxel selection principle for each voxel is the same: either all voxels with smaller category labels are selected as target voxels, or all voxels with larger category labels are selected as target voxels.

[0148] In some embodiments of step S104 above, when correcting the root node voxel of another voxel index in the current voxel and its second neighboring voxels to the root node voxel of the target voxel index, the category label of the root node voxel of the other voxel index can be corrected to the category label of the root node voxel of the target voxel index. Based on the above method, voxels can be conveniently and accurately merged into the same clustering tree, which is beneficial to improving the efficiency and accuracy of point cloud clustering.

[0149] In some implementations of step S104 above, each voxel and its respective second neighbor voxels can be merged into the same clustering tree based on GPU atomic operations. This ensures that the steps performed on each voxel are independent and do not affect each other, thus achieving parallel execution of the steps on each voxel.

[0150] Furthermore, after forming multiple clustering trees through step S104, the category labels of the root nodes in each clustering tree may be discontinuous. This can be addressed by... Figure 2 The following steps S105 to S106 are performed in a continuous process.

[0151] Step S105: Obtain the category label of the voxel corresponding to the root node in each clustering tree. Step S106: Reset the category labels of the voxels corresponding to each root node so that the reset category labels form a continuous sequence of category labels. For example, based on the voxels in Table 1 above, three clustering trees are formed. The category labels of the root node voxels in these three clustering trees are the linear coordinate values ​​obtained by linearly calculating the spatial positions of voxels 91, 93, and 95. Assuming the linear calculation method is x*col+y, the category labels of the root node voxels are 11, 31, and 51, which are not continuous. Therefore, the category labels of the root node voxels can be reset to continuous category labels 1, 2, and 3.

[0152] In some embodiments of step S106 above, the category labels of each root node voxel can also be reset based on GPU atomic operations. Specifically, each voxel can be traversed sequentially. For each voxel traversed, it is determined whether the current voxel is a root node voxel. If so, the category label of the current voxel is reset to the variable value of the global atomic variable generated based on GPU atomic operations. Then, the variable value is increased by a preset value to form a new variable value, so that the category label of the next root node voxel can be reset to this new variable value. If not, the category label of the current voxel is not reset.

[0153] For example, consider three clustering trees containing nodes corresponding to 100 voxels. First, the initial value of the global atomic variable is set to 1, and the increment is also set to 1 each time. Then, each voxel is traversed sequentially. When the root voxel is reached for the first time, its class label is reset to 1, and the global atomic variable is incremented by 1 to form a new value 2, continuing the traversal. When the root voxel is reached for the second time, its class label is reset to 2, and the global atomic variable is incremented by 1 to form a new value 3, continuing the traversal. When the root voxel is reached for the third time, its class label is reset to 3, ending the traversal. Alternatively, the global atomic variable can be incremented by 1 to form a new value 4, and the process can be repeated until all voxels have been traversed.

[0154] Based on the method described in steps S105 to S106 above, the category labels of each root node voxel can be corrected into continuous labels, increasing the readability and understandability of the category labels.

[0155] Furthermore, after correcting the category labels of each root node voxel to consecutive labels, for each clustering tree, the category labels of all voxels in the current clustering tree except for the root node voxel can be reset to the category label of the root node voxel (step S107). In this way, it can be ensured that all voxels in the same clustering tree have the same category label, allowing the voxel to be correctly classified into the same category. In this embodiment of the invention, it is possible to query which root node voxel each voxel indexes, thereby obtaining the category label of that root node voxel, and resetting the voxel's category label to the category label of that root node voxel.

[0156] See appendix Figure 3 and attached Figure 4 ,exist Figure 3 Each square in the diagram represents a voxel. Black squares indicate invalid voxels that do not contain point clouds, while the remaining squares represent valid voxels that do contain point clouds. Squares filled with horizontal lines indicate voxels that can be classified into one category, and squares filled with vertical lines indicate voxels that can be classified into another category. For example... Figure 4 As shown, by describing the method in steps S105 to S107, the category label of each voxel represented by the horizontally filled squares can be set to 1, and the category label of each voxel represented by the vertically filled squares can be set to 7. Voxels with category labels 2 to 6 are not included in the description. Figure 3 and Figure 4 As shown in the image.

[0157] The following describes an embodiment of the target contour method provided by the present invention.

[0158] See appendix Figure 5 , Figure 5 This is a schematic flowchart illustrating the main steps of a target contour method according to an embodiment of the present invention. Figure 5 As shown, the target contour method in this embodiment of the invention mainly includes the following steps S201 to S202.

[0159] Step S201: A point cloud clustering method is used to cluster the 3D point cloud acquired by radar to obtain multiple clustering trees. The point cloud clustering method in this step is the point cloud clustering method described in the aforementioned method embodiment.

[0160] Step S202: Obtain the contour of the target represented by each clustering tree. In this step, conventional target contour acquisition methods in the field of point cloud data processing technology can be used to acquire the contour of the point cloud corresponding to each clustering tree, thereby obtaining the contour of the target represented by each clustering tree. This embodiment of the invention does not specifically limit the above method.

[0161] Based on the method described in steps S201 to S202 above, the contours of each target can be accurately obtained, which helps to improve the accuracy of target type identification based on target contours.

[0162] The following describes an embodiment of the target type acquisition method provided by the present invention.

[0163] See appendix Figure 6 , Figure 6 This is a schematic flowchart illustrating the main steps of a target type acquisition method according to an embodiment of the present invention. Figure 6 As shown, the target type acquisition method in this embodiment of the invention mainly includes the following steps S301 to S303.

[0164] Step S301: Use a target contour acquisition method to acquire the contours of each target in the 3D point cloud acquired by radar. The target contour acquisition method in this step is the target contour acquisition method described in the aforementioned method embodiment.

[0165] Step S302: Obtain the initial type of each target based on its outline.

[0166] In this embodiment of the invention, conventional target type acquisition methods in the field of target detection technology can be used to obtain the type of the target based on its outline. This embodiment of the invention does not specifically limit the above target type acquisition method, as long as the initial type can be obtained based on the outline of the target.

[0167] Step S303: Based on the multi-source information of each target, the initial type of each target is corrected to obtain the final type of each target.

[0168] The multi-source information of the target includes the result information corresponding to the target in the results of each target perception task after performing multiple target perception tasks on the 3D point cloud. The target perception task is the same as the target perception task mentioned in step S102 above.

[0169] Correcting the initial type based on multi-source information about the target can prevent misidentification. For example, for a special vehicle like a tanker truck, its outline might misidentify it as a regular truck carrying goods. However, if the semantic information in the multi-source information includes "tanker," it indicates that the current target contains a tanker truck, and the type can be corrected from "regular truck" to "tanker truck."

[0170] Based on the method described in steps S301 to S303 above, the target type can be identified by combining the target's contour with multi-source information. Compared with identifying the target type solely based on the contour, this method can significantly improve the accuracy of target type identification.

[0171] It should be noted that although the steps in the above embodiments are described in a specific order, those skilled in the art will understand that in order to achieve the effects of the present invention, different steps do not necessarily have to be executed in such an order. They can be executed simultaneously (in parallel) or in other orders. These adjusted solutions are equivalent to the technical solutions described in the present invention and therefore will also fall within the protection scope of the present invention.

[0172] Those skilled in the art will understand that all or part of the processes in the method of the above embodiment of the present invention can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable storage medium can include any entity or device capable of carrying the computer program code, a medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory, a random access memory, an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.

[0173] Furthermore, the present invention also provides a computer device.

[0174] See appendix Figure 7 , Figure 7 This is a schematic diagram of the main structure of a computer device according to an embodiment of the present invention. Figure 7 As shown, the computer device in this embodiment of the invention mainly includes a storage device and a processor. The storage device can be configured to store a program for executing the target clustering, target contour acquisition, or target type acquisition method of the above method embodiments. The processor can be configured to execute the program in the storage device, which includes, but is not limited to, a program for executing the target clustering, target contour acquisition, or target type acquisition method of the above method embodiments. For ease of explanation, only the parts related to the embodiments of the present invention are shown. For specific technical details not disclosed, please refer to the method section of the embodiments of the present invention.

[0175] In embodiments of the present invention, the computer device may be a control device comprising various electronic devices. In some possible implementations, the computer device may include multiple storage devices and multiple processors. The program executing the target clustering, target contour acquisition, or target type acquisition method of the above method embodiments may be divided into multiple subroutines. Each subroutine may be loaded and run by a processor to execute different steps of the target clustering, target contour acquisition, or target type acquisition method of the above method embodiments. Specifically, each subroutine may be stored in different storage devices, and each processor may be configured to execute programs in one or more storage devices to jointly implement the target clustering, target contour acquisition, or target type acquisition method of the above method embodiments. That is, each processor executes different steps of the target clustering, target contour acquisition, or target type acquisition method of the above method embodiments to jointly implement the target clustering, target contour acquisition, or target type acquisition method of the above method embodiments.

[0176] The aforementioned multiple processors can be processors deployed on the same device. For example, the aforementioned computer device can be a high-performance device composed of multiple processors, and the aforementioned multiple processors can be processors configured on that high-performance device. Alternatively, the aforementioned multiple processors can also be processors deployed on different devices. For example, the aforementioned computer device can be a server cluster, and the aforementioned multiple processors can be processors on different servers within the server cluster.

[0177] Furthermore, the present invention also provides a computer-readable storage medium.

[0178] In one embodiment of a computer-readable storage medium according to the present invention, the computer-readable storage medium may be configured to store a program that performs the target clustering, target contour acquisition, or target type acquisition method of the above-described method embodiments. This program may be loaded and run by a processor to implement the above-described target clustering, target contour acquisition, or target type acquisition method. For ease of explanation, only the parts related to the embodiments of the present invention are shown; for specific technical details not disclosed, please refer to the method section of the embodiments of the present invention. The computer-readable storage medium may be a storage device comprising various electronic devices. Optionally, in the embodiments of the present invention, the computer-readable storage medium is a non-transitory computer-readable storage medium.

[0179] Furthermore, the present invention also provides a vehicle.

[0180] In one embodiment of a vehicle according to the present invention, the vehicle may include the computer equipment described in the above-described computer equipment embodiments. In this embodiment, the vehicle may be an autonomous vehicle, an unmanned vehicle, or the like. Furthermore, according to the type of power source, the vehicle in this embodiment may be a gasoline vehicle, an electric vehicle, a hybrid vehicle that combines electric and gasoline power, or a vehicle using other new energy sources, etc.

[0181] The technical solution of the present invention has been described above with reference to one embodiment shown in the accompanying drawings. However, it will be readily understood by those skilled in the art that the scope of protection of the present invention is obviously not limited to these specific embodiments. Without departing from the principles of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions resulting from such changes or substitutions will all fall within the scope of protection of the present invention.

Claims

1. A point cloud clustering method, characterized in that, The method includes: The 3D point cloud acquired by radar is voxelized to form multiple voxels; Based on atomic operations of the graphics processor, index relationships are established between each voxel and its first neighboring voxels. Multiple clustering trees are constructed based on the index relationships of each voxel. The clustering tree is a collection of voxels whose index relationships are distributed in a tree-like structure, and there are no identical voxels between different clustering trees. Based on the atomic operations of the graphics processor, each voxel and its second neighbor voxels in their respective neighborhoods are merged into the same clustering tree. in, The first neighbor voxel of each voxel is the neighbor voxel with the smallest spatial position in the neighborhood of each voxel. The second neighboring voxel of each voxel is the neighboring voxel in the neighborhood of each voxel that is similar to the multi-source information between each voxel. The multi-source information of the voxel includes the result information corresponding to the voxel in the results of each target perception task after performing multiple target perception tasks on the 3D point cloud.

2. The point cloud clustering method according to claim 1, characterized in that, The steps of "merging each voxel and its respective second-neighbor voxels into the same clustering tree" specifically include: For each voxel, based on the index relationship of each voxel in the cluster tree where the current voxel and its second neighboring voxels are located, obtain the root node voxel of the index of the current voxel and its second neighboring voxels respectively, and determine whether the two obtained root node voxels are the same. If not, based on the preset voxel selection principle, a voxel is selected from the current voxel and its second neighboring voxels as the target voxel, and the root node voxel of the index of another voxel in the current voxel and its second neighboring voxels is modified to the root node voxel of the index of the target voxel, so as to merge the other voxel into the cluster tree where the target voxel is located.

3. The point cloud clustering method according to claim 1 or 2, characterized in that, The steps to "establish an index relationship between each voxel and its first neighboring voxels" include: Obtain the spatial location of the first neighboring voxels of each voxel; Each voxel is assigned a category label based on its spatial location to establish an index relationship between each voxel and its first neighboring voxels.

4. The point cloud clustering method according to claim 3, characterized in that, The steps of "obtaining the spatial position of the first neighboring voxel of each voxel" specifically include: obtaining the two-dimensional spatial position of each first neighboring voxel; And / or, The step of "setting category labels for each voxel according to its spatial location" specifically includes: Linear calculations were performed on the spatial positions of the first neighboring voxels of each voxel; Based on the results of the linear calculation, class labels are set for each voxel.

5. The method according to claim 3 when referring to claim 2, characterized in that, The specific steps of "determining whether the two obtained root node voxels are the same" include: determining whether the category labels of the two root node voxels are equal. If they are equal, the two root node voxels are the same; if they are not equal, the two root node voxels are different. And / or, The preset voxel selection principle is to select the voxel with the smaller or larger category label from two voxels. The step of "selecting a voxel as the target voxel from the current voxel and its second neighboring voxels based on the preset voxel selection principle" specifically includes: selecting a voxel with the smaller or larger category label from the current voxel and its second neighboring voxels based on the preset voxel selection principle as the target voxel. The voxel selection principle is the same for each voxel. And / or, The step of "correcting the root node voxel of the current voxel and another voxel index in its second neighboring voxels to the root node voxel of the target voxel index" specifically includes: The category label of the root node voxel of the other voxel index is corrected to the category label of the root node voxel of the target voxel index.

6. The point cloud clustering method according to claim 3, characterized in that, Following the step of "merging each voxel and its respective second neighbor voxels into the same clustering tree", the method further includes: Obtain the category label of the root node voxel in each clustering tree; Reset the class labels of each root node voxel so that the class labels of each root node voxel can form a continuous class label sequence.

7. The point cloud clustering method according to claim 6, characterized in that, The steps of "resetting the category labels of each root node voxel" specifically include: resetting the category labels of each root node voxel based on atomic operations of the graphics processor; And / or, After the step of "resetting the category labels of each root node voxel", the method further includes: for each clustering tree, resetting the category labels of all voxels in the current clustering tree except for the root node voxel to the category labels of the root node voxel.

8. The point cloud clustering method according to claim 1, characterized in that, The method further includes obtaining the second neighboring voxels of each voxel in the following manner: For each voxel, obtain the neighborhood description information of the current voxel. The neighborhood description information is an information field that can continuously store three int type data. The value of each bit in the information field is used to indicate whether the multi-source information between the current voxel and the neighboring voxel corresponding to each bit is similar. Based on the neighborhood description information, obtain the second neighboring voxel of the current voxel.

9. The point cloud clustering method according to claim 1, characterized in that, The steps of "voxarizing the 3D point cloud acquired by radar to form multiple voxels" specifically include: The 3D point cloud is voxelized, and the initial voxels are obtained based on the processing results. The effective voxels containing point clouds are obtained from the initial voxels as the final voxels.

10. A method for obtaining a target contour, characterized in that, The method includes: The point cloud clustering method according to any one of claims 1 to 9 is used to cluster the three-dimensional point cloud acquired by radar to obtain multiple clustering trees; The outline of the target represented by each cluster tree is obtained based on the cluster tree.

11. A method for obtaining a target type, characterized in that, The method further includes: The target contour acquisition method of claim 10 is used to acquire the contours of each target in the three-dimensional point cloud acquired by radar. Based on the outline of each target, obtain the initial type of each target; Based on the multi-source information of each target, the initial type of each target is modified to obtain the final type of each target; The multi-source information of the target includes the result information corresponding to the target in the results of each target perception task after performing multiple target perception tasks on the 3D point cloud.

12. A computer device comprising a processor and a storage device, said storage device being adapted to store a plurality of program codes, characterized in that, The program code is adapted to be loaded and run by the processor to perform the point cloud clustering method of any one of claims 1 to 9, or to perform the target contour acquisition method of claim 10, or to perform the target type acquisition method of claim 11.

13. A computer-readable storage medium storing a plurality of program codes, characterized in that, The program code is adapted to be loaded and run by a processor to perform the point cloud clustering method of any one of claims 1 to 9, or to perform the target contour acquisition method of claim 10, or to perform the target type acquisition method of claim 11.

14. A vehicle, characterized in that, The vehicle includes the computer equipment as described in claim 12.

Citation Information

Patent Citations

  • Target ranging system and method based on image and laser radar fusion

    CN112396650A

  • Building three-dimensional model simplification algorithm based on linear geometry fitting

    CN113793418A

  • Highway point cloud extraction method based on relative entropy and semantic constraint

    CN115810153A