Data annotation method, electronic equipment and readable storage medium

By constructing a global point cloud map and annotating the data, the problems of repetition and ambiguity in traditional annotation methods are solved, achieving efficient and high-quality high-precision map generation, which supports autonomous driving systems.

CN121661650APending Publication Date: 2026-03-13ZHONGKE YUNGU TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-23
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Traditional annotation methods based on single images or independent point clouds suffer from problems such as repeated annotations and ambiguity in annotation, resulting in low efficiency and poor quality in high-precision map production, making it difficult to cope with complex scenarios.

Method used

Starting from a four-dimensional point cloud dataset, a global point cloud map is constructed through data processing. Dynamic point cloud data is filtered out, local point cloud map registration is performed, and a global point cloud map is generated. Geometric, semantic, and topological attribute annotations are performed to generate a high-precision map.

Benefits of technology

It realizes a complete annotation process from four-dimensional point cloud datasets to high-precision maps, improving annotation efficiency and data quality. The generated high-precision maps can be directly applied to autonomous driving systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121661650A_ABST
    Figure CN121661650A_ABST
Patent Text Reader

Abstract

The invention discloses a data annotation method, electronic equipment and a readable storage medium. The data annotation method comprises the steps of obtaining a four-dimensional point cloud data set from a target database; performing data processing on the four-dimensional point cloud data set, and constructing a global point cloud map; and performing data labeling on the global point cloud map, and performing data export on the labeled global point cloud map. According to the method, the complete labeling process from the four-dimensional point cloud data set to the high-precision map is realized, the generated high-precision map data can be directly applied to the automatic driving system, and the labeling efficiency and the data quality are effectively 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, and in particular to a data annotation method, an electronic device, and a readable storage medium. Background Technology

[0002] High-precision maps, constructed with centimeter-level accuracy, precisely depict road environments and comprehensively cover core information such as traffic elements, boundary constraints, and road topology. They have become a core infrastructure for autonomous vehicles to achieve path planning and perception decision-making. The large-scale production of high-precision maps heavily relies on the accurate annotation of massive amounts of road data. Traditional annotation methods based on single images or independent point clouds have significant limitations: not only does the independence of single-frame data lead to a large number of repetitive annotations, resulting in low annotation efficiency; but it also struggles to handle annotation ambiguity and misjudgment caused by complex scenarios such as occlusion and blurring of road elements, severely restricting the production quality and iteration speed of high-precision maps. Summary of the Invention

[0003] The purpose of this application is to provide a data annotation method, electronic device and readable storage medium, which realizes the complete annotation process from four-dimensional point cloud dataset to high-precision map. The generated high-precision map data can be directly applied to autonomous driving system, effectively improving annotation efficiency and data quality.

[0004] To achieve the above objectives: In a first aspect, embodiments of this application provide a data annotation method, the method comprising: Obtain a four-dimensional point cloud dataset from the target database; The four-dimensional point cloud dataset is processed to construct a global point cloud map. The global point cloud map is annotated with data, and the annotated global point cloud map is exported.

[0005] In one embodiment, obtaining the four-dimensional point cloud dataset from the target database includes: Obtain the initial four-dimensional point cloud dataset imported by the user, and transfer the initial four-dimensional point cloud dataset to the initial database; Based on the dataset type of the initial four-dimensional point cloud dataset, the initial four-dimensional point cloud dataset in the initial database is parsed to obtain a four-dimensional point cloud dataset, and the four-dimensional point cloud dataset is transmitted to the target database to obtain the four-dimensional point cloud dataset from the target database.

[0006] In one embodiment, the step of processing the four-dimensional point cloud dataset to construct a global point cloud map includes: Filter out the dynamic point cloud data in the four-dimensional point cloud dataset to obtain the target four-dimensional point cloud dataset; Based on the target four-dimensional point cloud dataset, several local point cloud maps are constructed, and these local point cloud maps are combined through point cloud registration to generate a global point cloud map.

[0007] In one embodiment, filtering out dynamic point cloud data from the four-dimensional point cloud dataset to obtain the target four-dimensional point cloud dataset includes: If the four-dimensional point cloud dataset has been semantically annotated, then based on the results of the semantic annotation of each four-dimensional point cloud dataset, the dynamic point cloud data in the four-dimensional point cloud dataset is filtered out to obtain the target four-dimensional point cloud dataset. If the four-dimensional point cloud dataset has not been semantically labeled, then the point cloud data corresponding to each scene is determined according to the temporal characteristics of the four-dimensional point cloud dataset, wherein the point cloud data corresponding to the scene is continuous frame point cloud data collected in a single session. Based on the pose data of point cloud data corresponding to any scene, the point cloud data corresponding to any scene are transformed into point cloud data in the same spatial coordinate system. The four-dimensional point cloud data in the same spatial coordinate system is voxelized to determine the point cloud data occupancy status of each voxel in any scene. Based on the point cloud data occupancy status of each voxel in any scenario, dynamic voxels are identified, and the four-dimensional point cloud data within the dynamic voxels is filtered out to obtain the target four-dimensional point cloud dataset.

[0008] In one embodiment, the step of constructing several local point cloud maps based on the target four-dimensional point cloud dataset, and combining the several local point cloud maps through point cloud registration to generate a global point cloud map, includes: Determine the target four-dimensional point cloud data corresponding to each scenario, and overlay and fuse the target four-dimensional point cloud data corresponding to each scenario to construct an initial local point cloud map; Based on the loop closure detection mechanism, pose transformation is performed on the point cloud data of each initial local point cloud map to obtain several local point cloud maps. The various local point cloud maps are merged to generate a global point cloud map.

[0009] In one embodiment, after combining the plurality of local point cloud maps through point cloud registration to generate a global point cloud map, the method further includes: Based on the point cloud data contained in the generated global point cloud map and the target four-dimensional point cloud data corresponding to each scene, determine the pose transformation relationship; The pose transformation of the verification object in the verification frame is performed according to the pose transformation relationship, and the processed verification object is visualized and output to verify the global point cloud map.

[0010] In one embodiment, the step of annotating the global point cloud map and exporting the annotated global point cloud map includes: The global point cloud map is stored in layers; Geometric, semantic, and topological attributes are labeled for the hierarchically stored global point cloud map; Identify the target format in the map export command; The global point cloud map with completed annotations is converted according to the target format, and a map dataset in the target format is output.

[0011] Secondly, embodiments of this application provide a data annotation system, including: The data import module is used to obtain four-dimensional point cloud datasets from the target database; The data preprocessing module is used to process the four-dimensional point cloud dataset and construct a global point cloud map. The data annotation module is used to annotate the global point cloud map and export the annotated global point cloud map.

[0012] Thirdly, embodiments of this application provide an electronic device, including: a processor and a memory storing a computer program, wherein when the processor runs the computer program, the steps of the above-described data annotation method are implemented.

[0013] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described data annotation method.

[0014] This application provides a data annotation method, electronic device, and computer-readable storage medium. The method includes: obtaining a four-dimensional point cloud dataset from a target database; processing the four-dimensional point cloud dataset to construct a global point cloud map; annotating the global point cloud map; and exporting the annotated global point cloud map. This achieves a complete annotation process from a four-dimensional point cloud dataset to a high-precision map. The generated high-precision map data can be directly applied to autonomous driving systems, effectively improving annotation efficiency and data quality. Attached Figure Description

[0015] Figure 1 This is a flowchart illustrating a data annotation method provided in an embodiment of this application.

[0016] Figure 2 This is a schematic diagram illustrating the process of acquiring four-dimensional point cloud data as provided in an embodiment of this application.

[0017] Figure 3 This is a schematic diagram illustrating the process of generating a global point cloud map as provided in an embodiment of this application.

[0018] Figure 4 This is a schematic diagram illustrating the process of exporting a map dataset provided in an embodiment of this application.

[0019] Figure 5 This is a schematic diagram of the data annotation device provided in an embodiment of this application.

[0020] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0021] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. In the following description relating to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements.

[0022] It should be noted that, in this document, 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 limitations, an element defined 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. Furthermore, components, features, and elements with the same names in different embodiments of this application may have the same meaning or different meanings, the specific meaning of which must be determined by its interpretation in that specific embodiment or further in conjunction with the context of that specific embodiment.

[0023] It should be understood that although the terms first, second, third, etc., may be used herein to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this document, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if," as used herein, can be interpreted as "when," "when," or "in response to determination." Furthermore, as used herein, the singular forms "a," "an," and "the" are intended to also include the plural forms unless the context indicates otherwise. It should be further understood that the terms "comprising," "including," indicate the presence of the stated feature, step, operation, element, component, item, kind, and / or group, but do not exclude the presence, occurrence, or addition of one or more other features, steps, operations, elements, components, items, kinds, and / or groups. The terms "or" and "and / or" as used herein are to be interpreted as inclusive, or mean any one or any combination thereof. Therefore, "A, B, or C" or "A, B, and / or C" means "any one of the following: A; B; C; A and B; A and C; B and C; A, B, and C". Exceptions to this definition will only occur if the combination of elements, functions, steps, or operations is inherently mutually exclusive in some way.

[0024] It should be understood that although the steps in the flowcharts of this application's embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in the figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.

[0025] It should be noted that step designations such as S101 and S102 are used in this document for the purpose of more clearly and concisely describing the corresponding content, and do not constitute a substantial limitation on the order. In specific implementation, those skilled in the art may execute S102 first and then S101, etc., but these should all be within the protection scope of this application.

[0026] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.

[0027] In the following description, the use of suffixes such as "module," "part," or "unit" to denote elements is solely for the purpose of illustrative purposes and has no specific meaning in itself. Therefore, "module," "part," or "unit" may be used interchangeably.

[0028] High-precision maps, constructed with centimeter-level accuracy, precisely depict road environments and comprehensively cover core information such as traffic elements, boundary constraints, and road topology. They have become a core infrastructure for autonomous vehicles to achieve path planning and perception decision-making. The large-scale production of high-precision maps heavily relies on the accurate annotation of massive amounts of road data. Traditional annotation methods based on single images or independent point clouds have significant limitations: not only does the independence of single-frame data lead to a large number of repetitive annotations, resulting in low annotation efficiency; but it also struggles to handle annotation ambiguity and misjudgment caused by complex scenarios such as occlusion and blurring of road elements, severely restricting the production quality and iteration speed of high-precision maps.

[0029] Based on this, this application provides a data annotation method, a complete annotation process from a four-dimensional point cloud dataset to a high-precision map. The generated high-precision map data can be directly applied to autonomous driving systems, effectively improving annotation efficiency and data quality.

[0030] The data annotation method provided in this application can be applied to electronic devices with data processing capabilities, such as servers. Alternatively, the electronic device may include personal computers, tablets, laptops, portable computers, wearable electronic devices, augmented reality devices, virtual reality devices, in-vehicle computers, etc. The following embodiments do not impose special limitations on the specific form of the electronic device. The execution subject of the data annotation method provided in this application can be the aforementioned electronic device or a data annotation device, which can be integrated into the electronic device or the processor of the electronic device. For ease of explanation, the following descriptions of the embodiments in this application will use a server as the execution subject.

[0031] The server can first obtain a four-dimensional point cloud dataset from the target database, process the four-dimensional point cloud dataset, construct a global point cloud map, annotate the global point cloud map, and export the annotated global point cloud map.

[0032] In this way, the complete annotation process from four-dimensional point cloud datasets to high-precision maps can generate high-precision map data that can be directly applied to autonomous driving systems, effectively improving annotation efficiency and data quality.

[0033] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating a data annotation method provided in an embodiment of this application. The method includes the following steps: S101, Obtain a four-dimensional point cloud dataset from the target database.

[0034] In this context, a four-dimensional point cloud dataset refers to a collection of point cloud data that adds a temporal dimension to the spatial dimension. Specifically, traditional three-dimensional point cloud data only contains spatial coordinate information; each point in the point cloud has three spatial coordinate values ​​to describe its position in three-dimensional space. Four-dimensional point cloud data, in addition to these three spatial coordinate values, also includes a timestamp, which identifies the time the point cloud data was acquired. By introducing the temporal dimension, four-dimensional point cloud data can record the spatial scene state at different times, thus supporting temporal analysis and processing of dynamic scenes.

[0035] In this embodiment, the server can read a pre-stored four-dimensional point cloud dataset from a target database. This target database can be a relational database or a non-relational database; this embodiment does not limit the type of database. The four-dimensional point cloud dataset can be raw point cloud data of a road scene collected by sensor devices such as LiDAR, pre-processed, and then stored in the target database.

[0036] In one possible implementation, please refer to Figure 2 , Figure 2 This is a schematic diagram illustrating the process of acquiring four-dimensional point cloud data provided in an embodiment of this application. The process by which the server acquires a four-dimensional point cloud dataset from a target database may include: S1011: Obtain the initial four-dimensional point cloud dataset imported by the user and transfer the initial four-dimensional point cloud dataset to the initial database.

[0037] S1012, based on the dataset type of the initial four-dimensional point cloud dataset, parse the initial four-dimensional point cloud dataset in the initial database to obtain the four-dimensional point cloud dataset, and transmit the four-dimensional point cloud dataset to the target database to obtain the four-dimensional point cloud dataset from the target database.

[0038] Specifically, users can upload their locally stored initial 4D point cloud dataset to the server via their client devices. Upon receiving the initial 4D point cloud dataset, the server can store it in an initial database. This initial database can be a database used for temporary storage of raw data, such as an object storage service. The initial 4D point cloud dataset can be from different sources and in different formats, such as the nuScenes dataset format, the SemanticKITTI dataset format, the Waymo dataset format, etc.

[0039] After storing the initial 4D point cloud dataset in the initial database, the server can identify the dataset type. The dataset type can be identified through features such as file structure, file naming conventions, and metadata format. Based on the identified dataset type, the server calls the corresponding parsing program to parse the initial 4D point cloud dataset. The parsing process specifically includes extracting metadata information from the initial 4D point cloud dataset, such as the unique identifier of the 4D point cloud data, its scene identifier, timestamp information, pose data, and the storage path of the point cloud data in the initial database. The unique identifier distinguishes different point cloud datasets; the scene identifier identifies the acquisition scene to which the 4D point cloud data belongs; the timestamp records the acquisition time; and the pose data describes the sensor's position and orientation in space when the 4D point cloud data was acquired.

[0040] The server organizes the parsed metadata information and corresponding 4D point cloud data into a 4D point cloud dataset, and then transmits this dataset to a target database for storage. The target database can be a structured database used to store the parsed and organized point cloud data and its metadata. The server can subsequently read the 4D point cloud dataset directly from the target database without repeating the parsing process.

[0041] Using the above method, the server can be compatible with various initial four-dimensional point cloud datasets in different formats, and uniformly convert them into four-dimensional point cloud datasets for storage and processing, reducing the workload of data adaptation.

[0042] S102, process the four-dimensional point cloud dataset to construct a global point cloud map.

[0043] In this embodiment, after the server obtains the four-dimensional point cloud dataset, it needs to process the data to construct a global point cloud map for annotation. The purpose of this data processing is to integrate the scattered point cloud data collected at different times into a unified and complete spatial representation, thereby providing a foundation for subsequent annotation operations.

[0044] In one possible implementation, please refer to Figure 3 , Figure 3 This is a schematic diagram illustrating the process of generating a global point cloud map provided in an embodiment of this application. The process of the server processing the four-dimensional point cloud dataset to construct a global point cloud map may include: S1021, filter out the dynamic point cloud data in the four-dimensional point cloud dataset to obtain the target four-dimensional point cloud dataset.

[0045] S1022, Based on the target four-dimensional point cloud dataset, construct several local point cloud maps, and combine the several local point cloud maps through point cloud registration to generate a global point cloud map.

[0046] Dynamic point cloud data refers to the point cloud data corresponding to objects whose spatial positions change during the acquisition process, such as the point cloud data corresponding to moving vehicles or walking pedestrians. Since the spatial positions of dynamic objects differ at different times, directly projecting dynamic point cloud data onto the global coordinate system will create a trailing trajectory on the global point cloud map, compromising the integrity and accuracy of the static scene. Therefore, before constructing the global point cloud map, it is necessary to filter out dynamic point cloud data from the four-dimensional point cloud dataset.

[0047] The target four-dimensional point cloud dataset refers to the point cloud dataset remaining after filtering out dynamic point cloud data. This dataset mainly contains point cloud data corresponding to static scene elements, such as point cloud data of static objects like roads, buildings, and traffic signs.

[0048] A local point cloud map is a point cloud map constructed based on point cloud data from a single acquisition scene. A single acquisition scene typically corresponds to a continuous data acquisition process, during which a sensor moves along a specific path and continuously acquires multiple frames of point cloud data. By fusing multiple frames of point cloud data within the same scene, a local point cloud map corresponding to that scene can be obtained.

[0049] Because of potential time intervals and sensor pose drift between different data acquisition scenarios, simply overlaying local point cloud maps from different scenarios can lead to spatial misalignment. Therefore, the server needs to use point cloud registration technology to spatially align different local point cloud maps, eliminate positional deviations, and generate a complete global point cloud map.

[0050] Point cloud registration refers to the process of aligning different point cloud data into a unified coordinate system by calculating the spatial transformation relationship between them. This process typically includes two stages: coarse registration and fine registration. Coarse registration is used to obtain an initial spatial transformation estimate, while fine registration further optimizes the spatial transformation parameters based on coarse registration to improve alignment accuracy.

[0051] In a specific implementation, the process by which the server filters out dynamic point cloud data from the four-dimensional point cloud dataset to obtain the target four-dimensional point cloud dataset can include the following two methods: The first method: If the four-dimensional point cloud dataset has been semantically annotated, then based on the results of the semantic annotation of each four-dimensional point cloud dataset, the dynamic point cloud data in the four-dimensional point cloud dataset is filtered out to obtain the target four-dimensional point cloud dataset.

[0052] Semantic annotation refers to the process of assigning a semantic category label to each point or point cloud cluster in point cloud data. Semantic categories can include vehicles, pedestrians, roads, buildings, vegetation, etc. If the four-dimensional point cloud dataset has already been semantically annotated, then each point or point cloud cluster in the point cloud data has been labeled with its corresponding semantic category.

[0053] In this scenario, the server can directly identify dynamic point cloud data based on semantic category labels. Specifically, the server can predefine a dynamic semantic category set, which contains all semantic categories representing dynamic objects, such as vehicles, pedestrians, and bicycles. The server iterates through the point cloud data in the four-dimensional point cloud dataset, and for each point or point cloud cluster, checks whether its semantic category label belongs to the dynamic semantic category set. If it does, the point or point cloud cluster is marked as dynamic point cloud data and filtered out; otherwise, it is retained.

[0054] In this way, the server can accurately identify and filter out dynamic point cloud data, obtaining a target four-dimensional point cloud dataset containing only static scene elements.

[0055] The second method: If the semantic annotation of the four-dimensional point cloud dataset is not completed, the point cloud data corresponding to each scene is determined according to the temporal characteristics of the four-dimensional point cloud dataset. The point cloud data corresponding to the scene is the continuous frame point cloud data of a single acquisition. Based on the pose data of point cloud data corresponding to any scene, the point cloud data corresponding to any scene is transformed into point cloud data in the same spatial coordinate system. Voxelization is performed on four-dimensional point cloud data in the same spatial coordinate system to determine the point cloud data occupancy status of each voxel in any scene. Based on the point cloud data occupancy status of each voxel in any scene, dynamic voxels are identified, and the four-dimensional point cloud data within the dynamic voxels is filtered out to obtain the target four-dimensional point cloud dataset.

[0056] In this embodiment, if the four-dimensional point cloud dataset has not yet been semantically labeled, the server cannot directly identify dynamic point cloud data based on semantic category labels. In this case, the server can utilize the temporal characteristics of point cloud data to identify and filter dynamic point cloud data.

[0057] Based on the continuity of acquisition time and sensor trajectory, the 4D point cloud dataset contains point cloud data corresponding to several scenes. For example, scene 1 corresponds to 4D point cloud data from frames 1 to 20. Therefore, the server first determines the point cloud data corresponding to each scene in the 4D point cloud dataset based on the temporal characteristics of the dataset. The point cloud data corresponding to each scene includes multiple frames of point cloud data acquired during a continuous acquisition process. The timestamps of these point cloud data are continuous, and the sensor moves continuously along a specific path during the acquisition process.

[0058] For any given scene, the server acquires the point cloud data for each frame and the corresponding pose data. The pose data describes the spatial position and orientation of the sensor when acquiring each frame of point cloud data, typically including three-dimensional spatial coordinates and three-dimensional rotation angles. Based on the pose data, the server transforms the point cloud data for each frame of the scene to the same spatial coordinate system. This spatial coordinate system can be a global coordinate system or a local coordinate system for the scene. The transformation process is achieved by applying a pose transformation matrix, converting the point cloud data from the sensor coordinate system to a unified spatial coordinate system.

[0059] After the conversion, the server performs voxelization on the point cloud data in the same spatial coordinate system. Voxelization is the process of dividing a continuous 3D space into discrete 3D mesh units, each mesh unit being called a voxel. The server sets the size of the voxels, for example, each voxel has a side length of 0.1 meters, and then divides the spatial coordinate system into multiple voxels. The server iterates through the point cloud data corresponding to the scene, and for each point, determines its corresponding voxel based on its spatial coordinates and assigns the point to the corresponding voxel.

[0060] After voxelization is completed, the server determines the point cloud data occupancy status of each voxel. Point cloud data occupancy status refers to whether a voxel contains point cloud data. If a voxel contains at least one point cloud data point, its occupancy status is occupied; if a voxel does not contain any point cloud data points, its occupancy status is unoccupied.

[0061] Since the scene contains multiple frames of continuous point cloud data, the server can construct a temporal occupancy feature sequence for each voxel. Specifically, for each voxel, the server records the occupancy status of the voxel in each frame of point cloud data in chronological order, forming a temporal sequence. For example, if a voxel is occupied in frames 1, 3, and 5, but not occupied in frames 2 and 4, then the temporal occupancy feature sequence of that voxel can be represented as [1, 0, 1, 0, 1].

[0062] The voxels corresponding to static objects typically exhibit either continuous occupancy or continuous non-occupancy in their temporal occupancy feature sequence. For example, the voxel corresponding to the road surface is occupied in all frames, and its temporal occupancy feature sequence is [1, 1, 1, 1, 1]; while the voxels corresponding to the air region are not occupied in all frames, and their temporal occupancy feature sequence is [0, 0, 0, 0, 0].

[0063] For voxels corresponding to dynamic objects, due to the movement of the object in space, their temporal occupancy feature sequence usually shows frequent changes in occupancy status. For example, if a vehicle is located at a certain voxel position in the first frame and has moved to another position in the second frame, then the voxel is occupied in the first frame and not occupied in the second frame, and its temporal occupancy feature sequence may be [1, 0, 0, 0, 0].

[0064] Based on the above characteristics, the server can identify dynamic voxels according to the temporal occupancy feature sequence of voxels. Specifically, the server can calculate the number of occupancy state changes for each voxel. If the number of occupancy state changes for a voxel exceeds a preset threshold, the voxel is identified as a dynamic voxel. The preset threshold can be set according to the actual scenario, for example, it can be set to 2 times.

[0065] After the server identifies the dynamic voxels, it filters out all point cloud data points within the dynamic voxels, thus obtaining the target four-dimensional point cloud dataset. This target four-dimensional point cloud dataset only contains point cloud data corresponding to static scene elements.

[0066] Through the two methods described above, the server can effectively identify and filter out dynamic point cloud data in the four-dimensional point cloud dataset, laying the foundation for the subsequent construction of a high-quality global point cloud map.

[0067] After obtaining the target four-dimensional point cloud dataset, the server can construct several local point cloud maps based on the target four-dimensional point cloud dataset, and combine the several local point cloud maps through point cloud registration to generate a global point cloud map.

[0068] In one possible implementation, the server constructs several local point cloud maps based on the target four-dimensional point cloud dataset, and combines these local point cloud maps through point cloud registration to generate a global point cloud map. This process may include: Determine the target four-dimensional point cloud data corresponding to each scene, and overlay and fuse the target four-dimensional point cloud data corresponding to each scene to construct an initial local point cloud map; Based on the loop closure detection mechanism, pose transformation is performed on the point cloud data of each initial local point cloud map to obtain several local point cloud maps; the various local point cloud maps are merged to generate a global point cloud map.

[0069] Specifically, the server first determines the target four-dimensional point cloud data corresponding to each scene. Since the server has already divided the four-dimensional point cloud dataset into several scenes during the process of filtering out dynamic point cloud data, the server can directly obtain the target four-dimensional point cloud data corresponding to each scene.

[0070] For each scene, the server overlays and fuses multiple frames of target 4D point cloud data corresponding to that scene. Overlay fusion refers to the process of merging multiple frames of point cloud data within the same scene into a single point cloud dataset. Since the point cloud data of each frame has already been transformed to the same spatial coordinate system through pose data, the server can directly merge the points from each frame of point cloud data together to form an initial local point cloud map of the scene.

[0071] The initial local point cloud map may suffer from cumulative drift. Cumulative drift refers to the gradual decrease in the spatial accuracy of the point cloud map due to the accumulation of sensor pose estimation errors during long-term continuous acquisition. To eliminate cumulative drift, the server can optimize the initial local point cloud map based on a loop closure detection mechanism.

[0072] Loop closure detection is a mechanism that detects whether a sensor passes through the same spatial location at different times. If the sensor passes through the same location during data acquisition, the point cloud data at that location can be used for pose correction, thereby eliminating accumulated drift.

[0073] Specifically, the server iterates through the point cloud data of each frame corresponding to the scene and calculates the spatial similarity between any two frames of point cloud data. Spatial similarity can be measured by the degree of feature matching of the point cloud data. If the spatial similarity of two frames of point cloud data exceeds a preset threshold, and there is a time interval between the two frames, it is considered that the sensor has passed through the same spatial location at the corresponding time of these two frames, that is, a loop closure is detected.

[0074] After detecting a loop closure, the server can calculate a pose correction based on the point cloud data at the loop location. The pose correction describes the deviation between the current pose estimate and the true pose. The server applies the pose correction to each frame of point cloud data in the scene to adjust its pose, thereby eliminating cumulative drift. The adjusted point cloud data is then overlaid and fused again to obtain an optimized local point cloud map.

[0075] Through the loopback detection mechanism, the server can effectively improve the spatial accuracy and consistency of local point cloud maps.

[0076] After the server constructs local point cloud maps for each scene, these local point cloud maps need to be merged to generate a global point cloud map. Since the point cloud data for different scenes was collected at different times and spatial locations, there may be inconsistencies in the coordinate systems between the various local point cloud maps. Therefore, the server needs to use point cloud registration technology to align the various local point cloud maps to a unified global coordinate system.

[0077] The point cloud registration process may include the following steps: The first step is to initialize the pose estimation of the local point cloud map. The server can use the average pose of consecutive frames within the scene as the initial pose estimation of the local point cloud map corresponding to that scene. Specifically, the server calculates the average pose of the pose data of all frames corresponding to the scene to obtain the average pose of the scene, and uses this average pose as the initial pose of the local point cloud map.

[0078] The second step involves coarse registration between the local and global point cloud maps. Coarse registration establishes a preliminary spatial transformation relationship between the two maps. The server then extracts keypoints from both the local and global point cloud maps. Keypoints are points with significant geometric features, such as edge points and corner points. The server can employ feature extraction algorithms, such as curvature-based feature extraction algorithms, to extract keypoints from the point cloud data.

[0079] After extracting keypoints, the server constructs a spatial index structure, such as a KD-tree, to accelerate the matching between keypoints. The server traverses the keypoints in the local point cloud map. For each keypoint, it searches for the keypoint in the global point cloud map whose spatial location is closest to it, establishing a matching relationship. Based on the established matching relationship, the server calculates a preliminary spatial transformation matrix between the local and global point cloud maps. This spatial transformation matrix describes the rotation and translation transformations required to align the local point cloud map to the global point cloud map.

[0080] The third step is to refine the coarse registration result using the Iterative Closest Point Algorithm (TLP). The TLP is a commonly used point cloud registration algorithm. Its basic idea is to minimize the point-to-plane distance between the local point cloud map and the global point cloud map through iterative optimization.

[0081] Specifically, the server applies the spatial transformation matrix obtained from coarse registration to initially align the local point cloud map. Then, the server iterates through the points in the aligned local point cloud map, searching for the nearest point in the global point cloud map for each point and calculating the distance from that point to the surface of the global point cloud map. The server then adjusts the spatial transformation matrix using an optimization algorithm to minimize the sum of the distances from all points to the plane. This optimization process is performed iteratively until the spatial transformation matrix converges or a preset number of iterations is reached.

[0082] During the optimization process of the iterative nearest point algorithm, the server can also add regularization constraints to avoid overfitting. Regularization constraints can limit the variation of the spatial transformation matrix, ensuring the reasonableness of the optimization results.

[0083] The fourth step is to construct a factor graph model to integrate all the fine registration results. A factor graph model is a graph model used to represent the spatial constraints between multiple local point cloud maps. In the factor graph, each node represents the pose of a local point cloud map, and each edge represents the spatial constraint between two local point cloud maps.

[0084] The server constructs a factor graph model from all local point cloud maps and their fine registration results. For each local point cloud map, the server creates a node whose initial pose is the initial pose estimate of that local point cloud map. For any two spatially overlapping local point cloud maps, the server creates an edge based on their fine registration results, and the edge weight represents the confidence level of the spatial constraint.

[0085] The server optimizes the factor graph model using a global optimization algorithm. The goal of the global optimization algorithm is to minimize the sum of errors across all edges, i.e., to minimize the spatial constraint errors between all local point cloud maps. The optimization process adjusts the poses of each node to minimize the overall error of the factor graph. After optimization, the poses of each node represent the optimized poses of the local point cloud map.

[0086] The fifth step is to merge the optimized local point cloud maps into a global point cloud map. Based on the optimized poses of each local point cloud map, the server aligns them to a unified global coordinate system. Specifically, the server applies its optimized pose transformation matrix to each local point cloud map, transforming it to the global coordinate system. Then, the server merges the points from all the transformed local point cloud maps together to form the global point cloud map.

[0087] During the merging process, the server can also calculate and save the relative pose change data of each local point cloud map before and after optimization. The relative pose change data describes the difference between the initial pose and the optimized pose of each local point cloud map, and this data will be used in the subsequent result verification process.

[0088] Through the above steps, the server can accurately align and merge multiple local point cloud maps into a complete global point cloud map, providing a high-quality data foundation for subsequent annotation operations.

[0089] In one possible implementation, after combining several local point cloud maps through point cloud registration to generate a global point cloud map, the server can also perform a verification operation, specifically including the following steps: Based on the point cloud data contained in the generated global point cloud map and the target four-dimensional point cloud data corresponding to each scene, determine the pose transformation relationship; The calibration object of the calibration frame is processed according to the pose transformation relationship, and the processed calibration object is visualized and output to verify the global point cloud map.

[0090] In this context, a verification frame refers to a specific frame of point cloud data used to verify the quality of the global point cloud map. The verification object can be the image data corresponding to the frame of point cloud data, or the frame of point cloud data itself. By projecting the verification object onto the global point cloud map or vice versa, the server can check the alignment between the two, thereby evaluating the quality of the global point cloud map.

[0091] Specifically, the server first determines the pose transformation relationship. The pose transformation relationship describes the spatial transformation required for the target four-dimensional point cloud data corresponding to each scene to be transformed from its original coordinate system to the global point cloud map coordinate system. This pose transformation relationship can be obtained by comparing the pose data of the target four-dimensional point cloud data corresponding to each scene in the original coordinate system and the global point cloud map coordinate system.

[0092] During the construction of the global point cloud map, the server has optimized the poses of each local point cloud map and saved the relative pose change data before and after optimization. The server can use this relative pose change data, combined with the original pose data, to calculate the pose transformation relationship of the target four-dimensional point cloud data for each scene.

[0093] For any given verification frame, the server acquires the original pose data of that frame, as well as the pose transformation relationship of the scene to which the frame belongs. The server then corrects the original pose of the verification frame based on the pose transformation relationship, obtaining the corrected pose data. The corrected pose data represents the pose of the verification frame in the global point cloud map coordinate system.

[0094] The server performs pose transformation processing on the verification object of the verification frame based on the corrected pose data. If the verification object is image data, the server can project the point cloud data in the global point cloud map onto the image. The projection process requires parameters such as the camera's intrinsic parameter matrix, the camera's extrinsic parameter matrix relative to the sensor, and the sensor's pose matrix. Based on these parameters, the server calculates the projected position of each point in the global point cloud map onto the image and draws that point on the image.

[0095] The server then visualizes the processed verification data, for example, displaying an image overlaid with point cloud projections on the user interface. Users can judge the quality of the global point cloud map by observing the alignment between the point cloud projections and the actual scene elements in the image. If the point cloud projections closely match the scene elements in the image, the global point cloud map is of high quality; if there is a significant deviation, the quality of the global point cloud map needs improvement, and the server can re-register the point cloud or adjust relevant parameters.

[0096] Through the above verification process, the server can promptly detect and correct quality issues in the global point cloud map, ensuring the accuracy of subsequent annotation operations.

[0097] S103, perform data annotation on the global point cloud map, and export the annotated global point cloud map data.

[0098] In this embodiment of the application, after the server completes the construction of the global point cloud map, it can perform data annotation on the global point cloud map. The purpose of data annotation is to identify various elements in the road environment on the global point cloud map, such as lane lines, curbs, traffic signs, etc., and to assign geometric attributes, semantic attributes, and topological attributes to these elements.

[0099] In one possible implementation, please refer to Figure 4 , Figure 4 This is a schematic diagram illustrating the process of exporting a map dataset provided in an embodiment of this application. The process of the server annotating a global point cloud map and exporting the annotated global point cloud map may include: S1031, store the global point cloud map in layers.

[0100] S1032, annotates the geometric, semantic and topological attributes of the hierarchically stored global point cloud map.

[0101] S1033, Identify the target format in the map export command.

[0102] S1034: Convert the format of the completed annotation global point cloud map according to the target format, and output the map dataset corresponding to the target format.

[0103] Specifically, since a global point cloud map may contain massive amounts of point cloud data, loading all the point cloud data into memory at once could lead to memory overflow or slow operation. To support efficient processing and rendering of large-scale point cloud maps, the server can store the global point cloud map in layers.

[0104] The hierarchical storage uses an octree structure. An octree is a tree-like data structure used for recursively partitioning three-dimensional space. The root node of an octree represents the entire three-dimensional space, and each node can have eight child nodes, corresponding to the eight subspaces obtained by equally dividing the space represented by that node along the three coordinate axes. Through recursive partitioning, an octree can divide three-dimensional space into spatial units of different levels, with each spatial unit corresponding to a node.

[0105] The server constructs an octree structure based on the point cloud data from the global point cloud map. First, the server determines the spatial extent of the global point cloud map and creates the root node of the octree. Then, the server traverses the point cloud data of the global point cloud map, assigning each point to the corresponding octree node. If the number of point cloud data points contained in a node exceeds a preset threshold, the server subdivides that node into eight child nodes and reallocates the point cloud data among the child nodes. This process is repeated recursively until the number of point cloud data points contained in all nodes does not exceed the preset threshold, or a preset maximum level is reached.

[0106] The octree structure supports multi-resolution representation. The density of point cloud data varies at different levels of the octree. Top-level nodes correspond to a larger spatial range and contain sparser point cloud data; bottom-level nodes correspond to a smaller spatial range and contain denser point cloud data. The server can dynamically select and load octree nodes at different levels based on the current viewpoint and zoom level, thereby achieving detailed rendering. When the user zooms in, the server loads lower-level nodes, displaying denser point cloud data; when the user zooms out, the server loads higher-level nodes, displaying sparser point cloud data.

[0107] By using an octree-based hierarchical storage and dynamic loading mechanism, the server can effectively avoid memory overflow issues and ensure the real-time interactive performance of the front-end annotation interface.

[0108] After the server stores the global point cloud map in layers, it can provide users with a labeling interface, through which users can label the global point cloud map. The labeling process includes three aspects: geometric attribute labeling, semantic attribute labeling, and topological attribute labeling.

[0109] Geometric attribute annotation is used to annotate the spatial location and geometric shape of road surface elements. Geometric attributes are mainly composed of three basic geometric elements: points, lines, and polygons. Users can use annotation tools to annotate points, lines, and polygons on the global point cloud map.

[0110] Point annotations are used to identify specific spatial locations, such as the location of traffic signs or intersections. Users select the point annotation tool on the annotation interface, and then click on the location to be annotated on the global point cloud map. The server records the 3D coordinates of that location and generates a point object.

[0111] Line annotations are used to identify road surface elements with linear structures, such as lane lines and curbs. Users select the line annotation tool on the annotation interface and then click on several locations sequentially on the global point cloud map. The server connects these locations into a polyline based on the order of the user's clicks, generating a line object. The line object has a vector direction, which is determined by the order in which the user clicks the locations.

[0112] Polygon annotation is used to identify road surface elements with a polygonal structure, such as parking areas and pedestrian crossings. Users select the polygon annotation tool on the annotation interface and then click on several locations sequentially on the global point cloud map. The server connects these locations into a polygon based on the order of the user's clicks, generating a polygon object. This polygon object also has a vector direction, determined by the order in which the user clicks.

[0113] After completing the geometric attribute annotation, users need to further annotate the annotated objects with semantic attributes. Semantic attributes are used to describe the category and attributes of the road surface elements represented by the annotated objects.

[0114] Taking lane lines as an example, after completing the geometric attribute annotation of the lane lines, users need to define the semantic attributes of the lane lines. Semantic attributes can include the type of lane lines, such as single solid line, double solid line, single dashed line, double dashed line, etc. Users select the lane line object on the annotation interface, and then select the corresponding type from the semantic attribute list. The server then associates this type information with the lane line object.

[0115] In addition, semantic attributes can also include lane line attribution information, such as which lane line is the left or right boundary of. Users can set this attribution information through the annotation interface, and the server records it in the attributes of the lane line object.

[0116] After completing the geometric and semantic attribute annotations, the server can provide auxiliary functions to help users quickly generate lane centerlines. The lane centerline is the centerline located between the left and right boundaries of the lane, used to represent the driving path of the lane.

[0117] Specifically, the user selects two pre-marked lane lines or roadside lines, which represent the left and right boundaries of a lane, respectively. After receiving the user's selection, the server calculates the centerline between these two lines using an interpolation algorithm. The interpolation algorithm can be linear interpolation, where for each pair of corresponding points on the two lines, the midpoint is calculated, and all midpoints are connected to form the centerline. After generating the lane centerline, the server automatically assigns a unique lane identifier and automatically fills in the lane's left and right boundary attribute information, setting the two lines selected by the user as the left and right boundaries of the lane, respectively.

[0118] This auxiliary function eliminates the need for users to manually mark lane center lines, significantly improving marking efficiency.

[0119] After generating the lane centerlines, users also need to annotate the lanes with topological attributes. Topological attributes are used to describe the connectivity between lanes and clarify the drivable paths of vehicles between different lanes.

[0120] The topology attribute consists of two parts: the set of lanes that the starting point connects to and the set of lanes that the ending point reaches. The set of lanes that the starting point connects to refers to which lanes the starting point of the lane can enter from; the set of lanes that the ending point reaches refers to which lanes the ending point of the lane can reach.

[0121] Users select a lane on the labeling interface and then set the set of lanes connecting to its starting point and the set of lanes reaching its ending point. The server records these topological relationships in the properties of the lane object.

[0122] By annotating topological attributes, the server can construct a complete lane network topology map, providing support for path planning in autonomous driving systems.

[0123] After completing geometric, semantic, and topological attribute annotations, users can trigger a map export operation. Upon receiving the map export command, the server identifies the target format specified in the command. The target format can be the map format of the nuScenes dataset, the map format of the Waymo dataset, the Lanelet2 format, the OpenDRIVE format, etc.

[0124] The server performs format conversion on the annotated global point cloud map according to the target format. The format conversion process includes organizing and encoding the geometric, semantic, and topological attributes of the annotated objects according to the data structure and encoding rules of the target format.

[0125] For example, if the target format is the nuScenes dataset map format, the server needs to convert the labeled objects into nuScenes-defined map elements, such as converting lane lines into nuScenes line objects and lanes into nuScenes lane objects. The server then generates the corresponding map file, such as a JSON file, based on the nuScenes data format specifications.

[0126] After the server completes the format conversion, it outputs the converted map dataset. Users can download the map dataset and use it directly for training or testing autonomous driving models without any additional data adaptation work.

[0127] Through the above process, the server realizes the complete annotation process from four-dimensional point cloud dataset to high-precision map. The generated high-precision map data can be directly applied to autonomous driving system, effectively improving annotation efficiency and data quality.

[0128] In one possible implementation, the server can also support high-precision map annotation based on other types of completed annotation results. For example, if the four-dimensional point cloud dataset has completed object detection annotation and detected targets such as traffic signs and traffic lights on the road, the server can automatically convert these detection results into point objects in the high-precision map and attach corresponding semantic attributes, thereby reducing the user's manual annotation workload.

[0129] Specifically, the server can obtain the target detection annotation results corresponding to the four-dimensional point cloud dataset. These annotation results include information such as the category, location, and size of each detected target. The server iterates through the target detection annotation results, and for each detected target, determines whether its category belongs to the element category that needs to be annotated in the high-precision map, such as traffic signs or traffic lights.

[0130] If the target belongs to the category of elements that need to be labeled in the high-definition map, the server extracts the target's location information and converts it into 3D coordinates in the global point cloud map coordinate system. The server creates a point object in the global point cloud map, with the point object's location being the target's 3D coordinates and its semantic attribute being the target's category. The server then adds this point object to the high-definition map's labeling results.

[0131] Through the above methods, the server can achieve linkage between different annotation tasks, make full use of existing annotation results, and improve the efficiency of high-precision map annotation.

[0132] In one possible implementation, the server can also support multi-user collaborative annotation. Multi-user collaborative annotation refers to multiple users simultaneously annotating the same global point cloud map, improving annotation efficiency through division of labor and cooperation.

[0133] The server can assign different annotation areas or different annotation tasks to each user. For example, user A is responsible for annotating lane lines, and user B is responsible for annotating traffic signs. The server synchronizes the annotation results of each user in real time to ensure that all users see a consistent global point cloud map.

[0134] In multi-user collaborative annotation, the server needs to handle potential annotation conflicts. Annotation conflicts occur when multiple users perform inconsistent annotations on the same object. The server can use a locking mechanism to avoid annotation conflicts. Specifically, when a user begins annotating an object, the server locks that object, preventing other users from annotating it simultaneously. Once the user completes the annotation and submits it, the server releases the lock, allowing other users to continue annotating.

[0135] Through a multi-user collaborative annotation mechanism, the server can make full use of the annotation capabilities of multiple users, significantly shortening the annotation cycle of large-scale high-precision maps.

[0136] In summary, the data annotation method provided in this application achieves high-precision map annotation based on a four-dimensional dataset by obtaining a four-dimensional point cloud dataset from a target database, processing the four-dimensional point cloud dataset to construct a global point cloud map, and then annotating and exporting the global point cloud map. This method effectively overcomes the annotation ambiguity and insufficient accuracy caused by occlusion and blurring in single-frame images through temporal information fusion and multi-frame data association. It directly annotates based on the global point cloud map, significantly reducing repetitive annotation work in local areas, greatly reducing annotation time costs, and improving the production quality and iteration speed of high-precision maps.

[0137] This application also provides a data annotation device; please refer to [link / reference]. Figure 5 , Figure 5 This is a schematic diagram of the data annotation apparatus provided in an embodiment of this application. This apparatus can be integrated into a server or other electronic device to perform the data annotation method described above. Figure 5 As shown, the data annotation device includes: Data import module 501 is used to obtain a four-dimensional point cloud dataset from the target database; Data preprocessing module 502 is used to process the four-dimensional point cloud dataset and construct a global point cloud map; The data annotation module 503 is used to annotate the global point cloud map and export the annotated global point cloud map.

[0138] The present invention also provides an electronic device, please refer to [link / reference]. Figure 6 , Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 6 As shown, the electronic device includes: a processor 610 and a memory 611 storing a computer program; wherein, Figure 6 The processor 610 shown in the diagram does not indicate that there is only one processor 610, but only indicates the positional relationship of the processor 610 relative to other devices. In practical applications, there can be one or more processors 610; similarly, Figure 6 The memory 611 shown in the diagram has the same meaning, that is, it is only used to indicate the positional relationship of memory 611 relative to other devices. In practical applications, there can be one or more memories 611. When the processor 610 runs the computer program, it implements the data annotation method applied to the above-mentioned device.

[0139] The device may also include at least one network interface 612. The various components of the device are coupled together via a bus system 613. It is understood that the bus system 613 is used to implement communication between these components. In addition to a data bus, the bus system 613 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 6 The general designated all buses as Bus System 613.

[0140] The memory 611 can be volatile or non-volatile, or both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); the magnetic surface memory can be disk storage or magnetic tape storage. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 611 described in the embodiments of the present invention is intended to include, but is not limited to, these and any other suitable types of memory.

[0141] The memory 611 in this embodiment of the invention is used to store various types of data to support the operation of the device. Examples of this data include: any computer programs used to operate on the device, such as operating systems and applications; contact data; phonebook data; messages; pictures; videos, etc. The operating system includes various system programs, such as the framework layer, core library layer, driver layer, etc., used to implement various basic services and handle hardware-based tasks. Applications can include various applications, such as media players, browsers, etc., used to implement various application services. Here, the program implementing the method of this embodiment of the invention can be included in the application.

[0142] This embodiment also provides a computer-readable storage medium storing a computer program. The computer-readable storage medium can be a magnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM), etc.; it can also be various devices including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc. When the computer program stored in the computer-readable storage medium is executed by a processor, it implements the above-described data annotation method. For the specific steps implemented when the computer program is executed by the processor, please refer to [link to relevant documentation]. Figure 1 The description of the illustrated embodiments will not be repeated here.

[0143] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0144] In this document, the terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, which includes not only the elements listed but also other elements not expressly listed.

[0145] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A data annotation method, characterized in that, include: Obtain a four-dimensional point cloud dataset from the target database; The four-dimensional point cloud dataset is processed to construct a global point cloud map. The global point cloud map is annotated with data, and the annotated global point cloud map is exported.

2. The data annotation method according to claim 1, characterized in that, The process of obtaining the four-dimensional point cloud dataset from the target database includes: Obtain the initial four-dimensional point cloud dataset imported by the user, and transfer the initial four-dimensional point cloud dataset to the initial database; Based on the dataset type of the initial four-dimensional point cloud dataset, the initial four-dimensional point cloud dataset in the initial database is parsed to obtain a four-dimensional point cloud dataset, and the four-dimensional point cloud dataset is transmitted to the target database to obtain the four-dimensional point cloud dataset from the target database.

3. The data annotation method according to claim 1, characterized in that, The step of processing the four-dimensional point cloud dataset to construct a global point cloud map includes: Filter out the dynamic point cloud data in the four-dimensional point cloud dataset to obtain the target four-dimensional point cloud dataset; Based on the target four-dimensional point cloud dataset, several local point cloud maps are constructed, and these local point cloud maps are combined through point cloud registration to generate a global point cloud map.

4. The data annotation method according to claim 3, characterized in that, The process of filtering out dynamic point cloud data from the four-dimensional point cloud dataset to obtain the target four-dimensional point cloud dataset includes: If the four-dimensional point cloud dataset has been semantically annotated, then based on the results of the semantic annotation of each four-dimensional point cloud dataset, the dynamic point cloud data in the four-dimensional point cloud dataset is filtered out to obtain the target four-dimensional point cloud dataset.

5. The data annotation method according to claim 3, characterized in that, The process of filtering out dynamic point cloud data from the four-dimensional point cloud dataset to obtain the target four-dimensional point cloud dataset includes: If the four-dimensional point cloud dataset has not been semantically labeled, then the point cloud data corresponding to each scene is determined according to the temporal characteristics of the four-dimensional point cloud dataset, wherein the point cloud data corresponding to the scene is continuous frame point cloud data collected in a single session. Based on the pose data of point cloud data corresponding to any scene, the point cloud data corresponding to any scene are transformed into point cloud data in the same spatial coordinate system. The four-dimensional point cloud data in the same spatial coordinate system is voxelized to determine the point cloud data occupancy status of each voxel in any scene. Based on the point cloud data occupancy status of each voxel in any scenario, dynamic voxels are identified, and the four-dimensional point cloud data within the dynamic voxels is filtered out to obtain the target four-dimensional point cloud dataset.

6. The data annotation method according to claim 4 or 5, characterized in that, The step of constructing several local point cloud maps based on the target four-dimensional point cloud dataset, and combining the several local point cloud maps through point cloud registration to generate a global point cloud map includes: Determine the target four-dimensional point cloud data corresponding to each scenario, and overlay and fuse the target four-dimensional point cloud data corresponding to each scenario to construct an initial local point cloud map; Based on the loop closure detection mechanism, pose transformation is performed on the point cloud data of each initial local point cloud map to obtain several local point cloud maps. The various local point cloud maps are merged to generate a global point cloud map.

7. The data annotation method according to claim 6, characterized in that, After combining the plurality of local point cloud maps through point cloud registration to generate a global point cloud map, the method further includes: Based on the point cloud data contained in the generated global point cloud map and the target four-dimensional point cloud data corresponding to each scene, determine the pose transformation relationship; The pose transformation of the verification object in the verification frame is performed according to the pose transformation relationship, and the processed verification object is visualized and output to verify the global point cloud map.

8. The data annotation method according to claim 1, characterized in that, The step of annotating the global point cloud map and exporting the annotated global point cloud map includes: The global point cloud map is stored in layers; Geometric, semantic, and topological attributes are labeled for the hierarchically stored global point cloud map; Identify the target format in the map export command; The global point cloud map with completed annotations is converted according to the target format, and a map dataset in the target format is output.

9. An electronic device, characterized in that, include: A processor and a memory storing a computer program, wherein, when the processor executes the computer program, the steps of the data annotation method according to any one of claims 1 to 8 are implemented.

10. A computer-readable storage medium, characterized in that, The device contains a computer program that, when executed by a processor, implements the steps of the data annotation method according to any one of claims 1 to 8.