Point cloud data labeling method and device, equipment, storage medium and computer program
By initially training the point cloud dataset and generating supplementary training data through user corrections, and combining incremental learning methods to iteratively train the point cloud annotation model, the problem of low point cloud data annotation efficiency is solved, achieving efficient automatic annotation and reducing time and cost.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2026-03-10
AI Technical Summary
Existing technologies for point cloud data annotation are inefficient and time-consuming, especially for 3D point cloud data, where the large amount of data and uneven distribution increase the difficulty of annotation.
The point cloud annotation model is initially trained using an already labeled point cloud dataset to generate an initial model. Supplementary training data is generated by users correcting the initial annotation results. Incremental learning is used to iteratively train the model until the model accuracy reaches a preset threshold, thus achieving automatic annotation.
It improves the efficiency of point cloud data annotation, reduces annotation time and cost, and optimizes the update speed and accuracy of the model through an iterative process that combines model and manual correction.
Smart Images

Figure CN121640464A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of environmental perception technology, and in particular to a point cloud data annotation method, apparatus, device, storage medium, and computer program. Background Technology
[0002] With the popularization of automation and intelligence, the interaction between machines and reality is becoming increasingly rich and diverse. During machine operation, the most crucial aspect is perceiving the surrounding environment, understanding the machine's location, and identifying targets within that environment. Environmental perception technology primarily relies on the sensing sensors mounted on the machine to acquire data and then analyze and process it to obtain environmental information. The form of perceived data is mainly distinguished by its dimension, including one-dimensional data (such as voice signal data), two-dimensional data (image data), and three-dimensional data (point cloud data). Different dimensional data presentation methods highlight different information characteristics. Point cloud data possesses high precision, high resolution, and high-dimensional geometric information, and can intuitively display information such as the shape, surface, and texture of objects in space.
[0003] In recent years, deep learning methods have made significant progress in processing point cloud data, especially in analyzing and processing massive amounts of data. However, deep learning methods often require a large amount of labeled data for model training in the early stages of model building, but data annotation is highly dependent on manual labor, making it a time-consuming and labor-intensive task. This is particularly true for 3D point cloud data, whose massive volume, uneven spatial distribution, and insufficient target contour information due to sparsity all increase the difficulty of data annotation. Taking mainstream LiDAR as an example, each frame of point cloud data acquired by this sensor contains more than 150,000 points, and the average manual annotation time per frame is 10-15 minutes, which increases exponentially with the complexity of the perception scene. Therefore, an efficient point cloud annotation method is urgently needed. Summary of the Invention
[0004] This disclosure provides a point cloud data annotation method, apparatus, device, storage medium, and computer program to improve point cloud annotation efficiency.
[0005] Firstly, this disclosure provides a point cloud data annotation method, including:
[0006] The point cloud annotation model is initially trained using the labeled point cloud dataset to obtain the initial point cloud annotation model;
[0007] The unlabeled point cloud data is labeled using an initial point cloud labeling model to obtain the corresponding initial labeling results;
[0008] In response to user corrections to the initial annotation results, supplementary training data is generated;
[0009] The initial point cloud annotation model is trained iteratively using supplementary training data, and the accuracy of the model is determined during the iteration process until the accuracy of the model reaches a preset threshold, thus obtaining the final point cloud annotation model.
[0010] Input the point cloud data to be labeled into the final point cloud labeling model to obtain the labeling results corresponding to the point cloud data to be labeled.
[0011] In some embodiments, in response to a user's correction of the initial annotation result, the following are included:
[0012] In response to the user's selection of the 3D bounding box, determine the location and category of the target presented in the unlabeled point cloud data;
[0013] And / or,
[0014] In response to the user's selection of points in the region, determine the location and category of the target presented in the unlabeled point cloud data.
[0015] In some embodiments, supplementary training data is used to iteratively train the initial point cloud annotation model, including:
[0016] Supplementary training data is used to iteratively train the initial point cloud annotation model through incremental learning. During the iterative training process, the update ratio of the model is controlled by setting weight coefficients.
[0017] In some embodiments, determining the accuracy of the model during the iteration process includes:
[0018] The point cloud data in the test set is input into the model during the iteration process to obtain the model annotation results;
[0019] The accuracy of the model during the iteration process is determined by comparing the obtained model annotation results with the manually annotated point cloud data in the test set.
[0020] In some embodiments, the annotation results corresponding to the point cloud data to be annotated include the location and category of the target presented in the point cloud data to be annotated.
[0021] In some embodiments, the training framework used for the point cloud annotation model includes PyTorch, MXNet, TensorFlow, or PaddlePaddle.
[0022] Secondly, this disclosure provides a point cloud data annotation device, comprising:
[0023] The initial training module is used to train the point cloud annotation model for the first time using the labeled point cloud dataset to obtain the initial point cloud annotation model.
[0024] The initial annotation module is used to annotate unannotated point cloud data using an initial point cloud annotation model to obtain the corresponding initial annotation results;
[0025] The correction module is used to generate supplementary training data in response to user correction operations on the initial annotation results;
[0026] The iterative training module is used to iteratively train the initial point cloud annotation model with supplementary training data, and determine the accuracy of the model during the iteration process until the accuracy of the model reaches a preset threshold, thus obtaining the final point cloud annotation model.
[0027] The processing module is used to input the point cloud data to be labeled into the final point cloud labeling model and obtain the labeling results corresponding to the point cloud data to be labeled.
[0028] Thirdly, this disclosure provides a computer device including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method described in the foregoing aspects.
[0029] Fourthly, this disclosure provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of the methods described in the above aspects.
[0030] Fifthly, this disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the methods described in the above aspects.
[0031] This disclosure provides a point cloud data annotation method, apparatus, device, storage medium, and computer program. The method involves: initially training a point cloud annotation model using an already labeled point cloud dataset to obtain an initial point cloud annotation model; using this initial model to annotate unlabeled point cloud data to obtain corresponding initial annotation results; generating supplementary training data in response to user corrections to the initial annotation results; iteratively training the initial point cloud annotation model using the supplementary training data and determining the model's accuracy during the iteration process until the model's accuracy reaches a preset threshold to obtain a final point cloud annotation model; and inputting the point cloud data to be annotated into the final point cloud annotation model to obtain the corresponding annotation results. By training the point cloud annotation model, automatic point cloud data annotation is achieved, improving the efficiency of point cloud annotation and significantly reducing the time and cost of point cloud data annotation. Attached Figure Description
[0032] The present disclosure will be described in more detail below based on embodiments and with reference to the accompanying drawings:
[0033] Figure 1A flowchart illustrating a point cloud data annotation method provided in an embodiment of this disclosure;
[0034] Figure 2 This is a schematic diagram of the structure of a point cloud data annotation device provided in an embodiment of the present disclosure;
[0035] Figure 3 This is a flowchart illustrating a point cloud data annotation method provided in yet another embodiment of this disclosure.
[0036] In the accompanying drawings, the same parts are referred to by the same reference numerals, and the drawings are not drawn to scale. Detailed Implementation
[0037] To enable those skilled in the art to better understand the technical solutions of this disclosure, and to fully understand and implement the process of how this disclosure applies technical means to solve technical problems and achieve corresponding technical effects, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, not all embodiments. The embodiments of this disclosure and the various features within them can be combined with each other without conflict, and the resulting technical solutions are all within the protection scope of this disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort should fall within the protection scope of this disclosure.
[0038] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0039] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.
[0040] First, let's explain the technical terms used in this application:
[0041] Point cloud data: A data format used to represent the position of an object in three-dimensional space. It consists of a large number of points, each containing information about the object's position in three-dimensional space;
[0042] Pillar: Projecting point cloud data in 3D space onto the xy plane to form a 2D grid. Then, within this grid, each small region is treated as a "pillar".
[0043] BEV stands for "Bird's Eye View," which is a bird's-eye view. It typically projects point cloud data onto the xy plane, using the x and y coordinates as the horizontal and vertical coordinates of the image.
[0044] Label: The process of annotating targets in point clouds or images, including the target's category, location information, and other attribute information;
[0045] Heatmap: A two-dimensional matrix of the same size as the input image, where each element represents the probability that an object may exist at the corresponding location;
[0046] The head refers to the last one or more layers of a neural network model, which are responsible for performing specific tasks such as classification, regression, or segmentation.
[0047] Incremental learning: a machine learning method that allows a model to continuously update its knowledge as it receives new data, without retraining the entire model.
[0048] Currently, the main methods for processing point cloud data include point-based methods, voxel-based methods, and multi-view methods. Point-based methods primarily use each point as input to the network; these points typically represent the surface of an object or other features in 3D space, and operations such as convolution are directly performed on the points within the network. However, the sheer volume of point cloud data means that large-scale processing would consume enormous computational resources, placing stringent demands on computational performance. Voxel-based methods divide the 3D detection space into voxel grids of varying sizes, each containing the point cloud data. Features are extracted from the points within each grid, and each grid is used as input to the network. However, due to the uneven distribution of point cloud data, grid partitioning does not fully utilize the distribution features of the point cloud, and some redundant grids can further burden the model's network, reducing the utilization of computational resources. Multi-view methods transform 3D point cloud data into projected images or feature maps from multiple angles, converting the 3D data to a 2D plane, and then using mature image processing techniques to process the point cloud data. However, multi-view methods are sensitive to viewpoint selection and projection parameters, easily leading to information loss and reduced prediction accuracy.
[0049] To address the problems of low efficiency and long annotation time in existing point cloud data annotation technologies, this application provides an automatic point cloud data annotation method, involving two parts: model generation and automatic annotation. The model generation part mainly includes initial model generation, manual secondary annotation, model training, model evaluation, and model optimization. The automatic annotation part mainly involves inputting the point cloud data to be annotated into the optimized final model to complete the automatic annotation of the point cloud data. The method provided in this application will be described in detail below through specific embodiments. It should be noted that the point cloud data involved in this application mainly focuses on the distribution state of the data. Whether it is spatial information point cloud data directly obtained from sensors such as LiDAR and millimeter-wave radar, or feature information point cloud data after algorithm preprocessing, as long as the data presents a three-dimensional point cloud state, it can be analyzed and processed using the method provided in this application to achieve automatic annotation of the point cloud data.
[0050] Example 1
[0051] Figure 1 This is a flowchart illustrating a point cloud data annotation method provided in an embodiment of this disclosure. Figure 1 As shown, the point cloud data annotation method provided in this embodiment may include:
[0052] S101. The point cloud annotation model is initially trained using the labeled point cloud dataset to obtain the initial point cloud annotation model.
[0053] The labeled point cloud datasets in this embodiment come from open-source datasets and manually labeled point cloud data. For example, a portion of open-source datasets and a small amount of manually labeled data can be used. The training frameworks used for the point cloud labeling model in this embodiment include, but are not limited to, PyTorch, MXNet, TensorFlow, and PaddlePaddle.
[0054] The point cloud annotation model is initially trained using a labeled point cloud dataset. Specifically, the point cloud data in the labeled point cloud dataset is used as the input to the point cloud annotation model, and the corresponding labels are used as the expected output of the point cloud annotation model. It should be noted that the amount of labeled point cloud data used for initial training in this embodiment is limited, so the accuracy of the initial point cloud annotation model obtained is also relatively low.
[0055] S102. Use the initial point cloud annotation model to annotate the unannotated point cloud data to obtain the corresponding initial annotation results.
[0056] After obtaining the initial point cloud annotation model, it can be used to annotate the unannotated point cloud data. Understandably, because the initial point cloud annotation model has low precision, the accuracy of the initial annotation results is also not high.
[0057] S103. In response to the user's correction of the initial annotation results, generate supplementary training data.
[0058] Because the initial annotation results are not very accurate, manual secondary correction is required. Specifically, the initial annotation results can be merged with the original point cloud data and imported into a data annotation tool, where users can perform object detection and semantic segmentation annotations on the point cloud data. For example, a 3D bounding box can be used to select the 3D targets presented in the point cloud and indicate the category of the target; or a region selection method can be used to select certain points in the point cloud data, assign them labels, and indicate the categories of these points. The annotated points are saved in a specific input format, aligned with the data interface of the point cloud annotation model, generating supplementary training data, which can then be imported into the model for training. In other words, in response to the user's correction operation on the initial annotation results, this can specifically include: in response to the user's bounding box operation, determining the location and category of targets presented in the unannotated point cloud data; and / or, in response to the user's region selection operation, determining the location and category of targets presented in the unannotated point cloud data.
[0059] This embodiment employs a data iteration process combining model inference and manual secondary annotation. While the model iterates, it uses the results of the previous round of model inference as a basis for manual secondary modification, avoiding excessive data requirements. This effectively reduces the need for training data, solves the data supplementation problem during model iteration, and achieves co-iteration of data and model.
[0060] S104. Use supplementary training data to iteratively train the initial point cloud annotation model, and determine the accuracy of the model during the iteration process until the accuracy of the model reaches a preset threshold to obtain the final point cloud annotation model.
[0061] The iterative training of the point cloud annotation model is mainly based on the supplementary training data generated in step S103. Incremental learning is used to apply constraints to prevent the gradual overwriting of knowledge from the old model. Fine-tuning is employed to train the model on new tasks, avoiding retraining after each data addition and preventing performance degradation of the new model on the original tasks. Furthermore, by setting training parameters and optimizing the proportion of manually corrected data, the model is made more aligned with real-world operating scenarios, resulting in more accurate feature extraction. This iterative process of updating and optimizing the model continues until the final inference part meets the required standards; at this point, the model is the final point cloud annotation model.
[0062] This embodiment employs a combination of incremental learning and model fusion. It adjusts the training set replenishment process, protects existing parameters of the old model by refining constraint functions, and gradually covers training data, avoiding model retraining and reducing computational resource waste. The iterative process of the model and the parameter update process of the old model are optimized, thereby improving the model's iteration speed.
[0063] S105. Input the point cloud data to be labeled into the final point cloud labeling model to obtain the labeling results corresponding to the point cloud data to be labeled.
[0064] After obtaining the final point cloud annotation model, simply input the point cloud data to be annotated into the final point cloud annotation model to obtain the annotation results corresponding to the point cloud data. Then, align the format of the annotation results with that of the point cloud data to be annotated to complete the automatic annotation of the point cloud data. In some embodiments, the annotation results corresponding to the point cloud data to be annotated include the location and category of the targets presented in the point cloud data to be annotated.
[0065] The point cloud data annotation method provided in this embodiment first trains a point cloud annotation model using an already labeled point cloud dataset to obtain an initial point cloud annotation model; then, it uses this initial point cloud annotation model to annotate unlabeled point cloud data to obtain corresponding initial annotation results; in response to user corrections to the initial annotation results, it generates supplementary training data; it then uses the supplementary training data to iteratively train the initial point cloud annotation model, determining the model's accuracy during the iteration process until the model's accuracy reaches a preset threshold, resulting in a final point cloud annotation model; finally, it inputs the point cloud data to be annotated into the final point cloud annotation model to obtain the annotation results corresponding to the point cloud data to be annotated. By training the point cloud annotation model, automatic annotation of point cloud data is achieved, improving the efficiency of point cloud annotation and significantly reducing the time and cost of point cloud data annotation; the data iteration process, which combines model inference and manual secondary annotation, avoids excessive demand on already labeled data; and the incremental learning approach optimizes the model update process and iteration speed through iterative training.
[0066] Example 2
[0067] Based on the above embodiments, the following will further explain in detail how to perform iterative training. In the point cloud data annotation method provided in this embodiment, supplementary training data is used to perform iterative training on the initial point cloud annotation model. Specifically, this may include: using supplementary training data to perform iterative training on the initial point cloud annotation model through incremental learning, and controlling the update ratio of the model by setting weight coefficients during the iterative training process.
[0068] Based on supplementary training data, an incremental learning and model fusion approach is used to iteratively train the initial point cloud annotation model. Existing parameters of the old model are protected by refining constraint functions, and the training data coverage process is progressively improved. By setting weight coefficients and optimizing the proportion of secondary manually corrected data, the model is made more relevant to real-world operating scenarios, and the model update and optimization process is continuously iterated.
[0069] Example 3
[0070] Based on the above embodiments, the following will further explain in detail how to test the model for different rounds of iterative iteration. In the point cloud data annotation method provided in this embodiment, determining the accuracy of the model during the iteration process can specifically include: inputting point cloud data from the test set into the model during the iteration process to obtain model annotation results; and determining the accuracy of the model during the iteration process by comparing the obtained model annotation results with the manually annotated results of the point cloud data in the test set.
[0071] The model evaluation phase primarily involves testing the model across different iterations. The manually labeled point cloud data is divided into test sets of varying sizes. Different test sets are then input, and the accuracy of the labeling results is compared until the required metrics are met.
[0072] It should be noted that, to avoid excessive waste of computing resources, it is not necessary to test the model after each iteration. Instead, a predetermined number of iterations can be performed, such as after every 500 iterations. This can significantly reduce the consumption of computing resources.
[0073] Example 4
[0074] Figure 2 This is a schematic diagram of the structure of a point cloud data annotation device provided in an embodiment of this disclosure. Figure 2 As shown, the point cloud data annotation device 20 provided in this embodiment may include: an initial training module 201, an initial annotation module 202, a correction module 203, an iterative training module 204, and a processing module 205.
[0075] The initial training module 201 is used to perform initial training on the point cloud annotation model using the labeled point cloud dataset to obtain the initial point cloud annotation model.
[0076] The initial annotation module 202 is used to annotate the unannotated point cloud data using the initial point cloud annotation model to obtain the corresponding initial annotation results;
[0077] The correction module 203 is used to generate supplementary training data in response to the user's correction operation on the initial annotation results;
[0078] The iterative training module 204 is used to perform iterative training on the initial point cloud annotation model using supplementary training data, and to determine the accuracy of the model during the iteration process until the accuracy of the model reaches a preset threshold, thereby obtaining the final point cloud annotation model.
[0079] The processing module 205 is used to input the point cloud data to be labeled into the final point cloud labeling model to obtain the labeling results corresponding to the point cloud data to be labeled.
[0080] The apparatus of this embodiment can be used to perform Figure 1 The technical solutions of the method embodiments shown are similar in principle and in effect, and will not be described again here.
[0081] In some embodiments, the correction module 203 is configured to respond to a user's correction operation on the initial annotation result, specifically including:
[0082] In response to the user's selection of the 3D bounding box, determine the location and category of the target presented in the unlabeled point cloud data;
[0083] And / or,
[0084] In response to the user's selection of points in the region, determine the location and category of the target presented in the unlabeled point cloud data.
[0085] In some embodiments, the iterative training module 204 is used to perform iterative training on the initial point cloud annotation model using supplementary training data, which may specifically include:
[0086] Supplementary training data is used to iteratively train the initial point cloud annotation model through incremental learning. During the iterative training process, the update ratio of the model is controlled by setting weight coefficients.
[0087] In some embodiments, the iterative training module 204 is used to determine the accuracy of the model during the iteration process, and may specifically include:
[0088] The point cloud data in the test set is input into the model during the iteration process to obtain the model annotation results;
[0089] The accuracy of the model during the iteration process is determined by comparing the obtained model annotation results with the manually annotated point cloud data in the test set.
[0090] In some embodiments, the annotation results corresponding to the point cloud data to be annotated include the location and category of the target presented in the point cloud data to be annotated.
[0091] In some embodiments, the training framework used for the point cloud annotation model includes PyTorch, MXNet, TensorFlow, or PaddlePaddle.
[0092] Example 5
[0093] Based on the above embodiments, this embodiment provides an application example.
[0094] The point cloud data automatic annotation method provided in this application involves two parts: model generation and automatic annotation. The model generation part mainly consists of initial model generation, manual secondary annotation, model training, model evaluation, and model optimization; the automatic annotation part mainly involves importing the data to be labeled into the optimized final model to complete the data annotation. The entire process can be referenced... Figure 3 As shown. The specific process is as follows:
[0095] This application presents an optimization based on the voxel method. First, the point cloud in 3D space is segmented into a voxel mesh, and then the point cloud is projected onto a pillar in the xy-plane. Next, the features of the pillar are compressed onto the BEV (Bird's Eye View) plane to obtain features from the BEV perspective. Then, BEV features are further extracted through convolution. In the network head, the center point of the target is predicted, outputting a target center heatmap and obtaining the offset between the target center and the top-left corner of its corresponding pixel. This is then combined with the predicted 3D box of the target, the z-coordinate of the target center, and the 3D box's deflection angle. Feature extraction is performed based on the differences in the point cloud data. Specific parameters are added in subsequent iterations of the model to better suit its needs, and the proportion of parameters in the extracted feature values changes accordingly. This improves the model's adaptability to point cloud data with different distribution characteristics and formats, which is beneficial for model training and result inference.
[0096] The automatic point cloud data annotation method provided in this application requires manual intervention during initial training and model optimization. Annotators use specialized annotation tools to perform object detection and semantic segmentation annotations on the point cloud data. This involves using 3D bounding boxes to select 3D targets within the point cloud and labeling them with their categories; or using region selection to select specific points in the point cloud data and assign them labels indicating their categories. The annotated points are then saved in a specific input format, aligned with the model's data interface, and can be imported for model training.
[0097] The initial training of the model is based on an open-source dataset and a small amount of manually labeled point cloud data. This initial training yields an initial version of the model.
[0098] Using this initial model for result inference will yield point cloud label results with low annotation accuracy. These label results can be fused with the original point cloud data and then imported back into the data annotation tool for manual secondary modification to update the labeled point cloud data and supplement the training set.
[0099] Subsequent model training primarily relies on supplementing the dataset. Incremental learning is employed to impose constraints that prevent the gradual overwriting of knowledge from the old model. Fine-tuning is used to train the model on new tasks, avoiding retraining after each data addition and preventing performance degradation of the new model on the original tasks. Furthermore, by adjusting training parameters and optimizing the proportion of manually corrected data, the model is made more aligned with real-world operating scenarios, resulting in more accurate feature extraction. This iterative process of updating and optimizing the model continues until the final inference part meets the required standards; at this point, the model is the final automatically labeled model.
[0100] Then, by aligning the annotation results with the format of the original data, the automatic annotation of the point cloud data to be annotated can be completed.
[0101] The model evaluation phase primarily involves testing the model across different iterations. The manually labeled point cloud data is divided into test sets of varying sizes. Different test sets are then input, and the accuracy of the labeling results is compared until the required metrics are met.
[0102] The method provided in this application can significantly improve the efficiency of point cloud data annotation, especially for complex perceptual data such as 3D point clouds, effectively saving annotation costs and time. Furthermore, with continuous iteration and supplementation of data annotations, it not only improves the accuracy of deep learning models for subsequent point cloud data analysis and processing but also enables its own model iterative optimization, providing more focused data support for point cloud processing technologies based on deep learning frameworks.
[0103] Example 6
[0104] Based on the above embodiments, this embodiment provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method described in the above embodiments.
[0105] In some embodiments of this example, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the method described in the above embodiments.
[0106] In some embodiments of this example, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of the method described in the above embodiments.
[0107] The processor may include, but is not limited to, one or more processors or microprocessors. Each processor may be implemented as an Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), controller, microcontroller, microprocessor, or other electronic component, for executing the methods described in the above embodiments.
[0108] Computer-readable storage media can be implemented by any type of volatile or non-volatile storage device or a combination thereof. Computer-readable storage media may include, but are not limited to, random access memory (RAM), read-only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, and computer storage media (e.g., hard disks, floppy disks, solid-state drives, removable disks, CD-ROMs, DVD-ROMs, Blu-ray discs, etc.).
[0109] Computer-readable storage media may also store at least one computer-executable program / instruction, such as computer-readable instructions. Computer-readable storage media include, but are not limited to, volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Computer-readable storage media may include, for example, read-only memory (ROM), hard disk, flash memory, etc. For example, a non-transitory computer-readable storage medium may be connected to a computing device such as a computer, and then, when the computing device executes the computer-readable instructions stored on the computer-readable storage medium, the various methods described above can be performed.
[0110] In addition, the computer device may include (but is not limited to) a data bus, an input / output (I / O) bus, a display, and input / output devices (e.g., keyboard, mouse, speakers, etc.).
[0111] The processor can communicate with external devices via the I / O bus through wired or wireless networks.
[0112] In one embodiment, the at least one computer-executable instruction may also be compiled into or comprise a software product / computer program product, wherein one or more computer-executable instructions are executed by a processor to perform the steps of the various functions and / or methods in the embodiments described herein.
[0113] In the embodiments provided in this disclosure, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0114] It should be noted that, in this disclosure, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element limited by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0115] While the embodiments disclosed herein are as described above, the foregoing content is merely for the purpose of facilitating understanding of this disclosure and is not intended to limit this disclosure. Any person skilled in the art to which this disclosure pertains may make any modifications and changes in form and detail of the implementation without departing from the spirit and scope of this disclosure; however, the scope of patent protection of this disclosure shall still be determined by the scope defined in the appended claims.
Claims
1. A point cloud data labeling method, characterized in that, The method comprises the following steps: training an initial point cloud labeling model by using a labeled point cloud dataset; labeling unlabeled point cloud data by using the initial point cloud labeling model to obtain an initial labeling result; generating supplementary training data in response to a user's correction operation on the initial labeling result; performing iterative training on the initial point cloud labeling model by using the supplementary training data, and determining the accuracy of the model in the iteration process until the accuracy of the model reaches a preset threshold to obtain a final point cloud labeling model; inputting to-be-labeled point cloud data into the final point cloud labeling model to obtain a labeling result corresponding to the to-be-labeled point cloud data.
2. The method of claim 1, wherein, The method further comprises the following steps: determining the position and category of a target presented in the unlabeled point cloud data in response to a user's frame selection operation on a three-dimensional frame; and / or determining the position and category of a target presented in the unlabeled point cloud data in response to a user's point selection operation on a region selection point.
3. The method of claim 1, wherein, The method further comprises the following steps: performing iterative training on the initial point cloud labeling model by using the supplementary training data through incremental learning, and controlling the update proportion of the model by setting a weight coefficient during the iterative training.
4. The method of claim 1, wherein, The method further comprises the following steps: inputting point cloud data in a test set into the model in the iteration process to obtain a model labeling result; determining the accuracy of the model in the iteration process by comparing the obtained model labeling result with an artificial labeling result of the point cloud data in the test set.
5. The method of claim 1, wherein, The labeling result corresponding to the to-be-labeled point cloud data comprises the position and category of a target presented in the to-be-labeled point cloud data.
6. The method according to any one of claims 1 to 5, characterized in that, The training framework used by the point cloud labeling model comprises Pytorch, MXNet, TensorFlow, or PaddlePaddle.
7. A point cloud data labeling apparatus, characterized by comprising: The method comprises the following steps: an initial training module configured to train an initial point cloud labeling model by using a labeled point cloud dataset; an initial labeling module configured to label unlabeled point cloud data by using the initial point cloud labeling model to obtain an initial labeling result; a correction module configured to generate supplementary training data in response to a user's correction operation on the initial labeling result; an iterative training module configured to perform iterative training on the initial point cloud labeling model by using the supplementary training data, and determine the accuracy of the model in the iteration process until the accuracy of the model reaches a preset threshold to obtain a final point cloud labeling model; a processing module configured to input to-be-labeled point cloud data into the final point cloud labeling model to obtain a labeling result corresponding to the to-be-labeled point cloud data.
8. A computer device comprising a memory, a processor, and a computer program stored on the memory, wherein the computer program comprises instructions that, when executed by the processor, cause the processor to perform the method of any one of claims 1-7. The processor executes the computer program to implement the steps of the method in any one of claims 1 to 6.
9. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.
10. A computer program product comprising a computer program, characterized in that, The computer program, which is executed by a processor, implements the steps of the method according to any one of claims 1 to 6.