Map data processing method and device, equipment, medium and product
By using virtual ground control points to segment and align map data in high-precision map production, the ghosting problem caused by inconsistent positions of point cloud data from different batches was solved, and efficient position alignment processing was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AUTONAVI SOFTWARE CO LTD
- Filing Date
- 2022-09-20
- Publication Date
- 2026-07-07
Smart Images

Figure CN115601405B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of electronic map technology, and in particular to a map data processing method, apparatus, equipment, medium and product. Background Technology
[0002] In high-precision map production, data collected by one data collection vehicle in one day is typically referred to as one project. Multiple projects can be aggregated into a batch, with each batch corresponding to roads in a specific area. To maintain data continuity, there are boundary areas between adjacent batches, meaning that both adjacent batches collected map data on roads within this boundary area. Point cloud data from different batches is usually collected by different data collection vehicles, or by the same vehicle at different times. During the collection process, factors such as navigation equipment accuracy and road conditions can cause inconsistencies in the position coordinates of the same object's point cloud data, leading to ghosting issues between different batches. Therefore, point cloud data alignment is necessary between different batches. If there are many batches collecting data in a particular area, a serial processing method is often used, sequentially aligning the point cloud data between adjacent batches until all annotated point cloud data is aligned. This results in accumulated waiting time during batch alignment, causing the overall data processing cycle to be excessively long. Summary of the Invention
[0003] In order to solve the above-mentioned technical problems, or at least partially solve the above-mentioned technical problems, this disclosure provides a method, apparatus, device, medium and product for processing map data.
[0004] Firstly, this disclosure provides a method for processing map data, including:
[0005] Acquire map data of a first region and map data of a second region. The first region and the second region were collected in different batches and there are overlapping border areas. The map data includes point cloud data.
[0006] Obtain a pre-set virtual ground control point, wherein the virtual ground control point is located in a record block adjacent to the second region in the first region;
[0007] Based on the virtual ground control points, the map data corresponding to the record block is segmented to obtain the map data of the first segmented region and the map data of the second segmented region.
[0008] Using the point cloud data associated with the virtual ground control points as a reference, the point cloud data in the segmented first region and the point cloud data in the segmented second region are aligned in position.
[0009] Secondly, this disclosure also provides a map data processing apparatus, comprising:
[0010] The first acquisition module is used to acquire map data of a first region and map data of a second region. The first region and the second region were acquired in different batches and there are overlapping areas. The map data includes point cloud data.
[0011] The second acquisition module is used to acquire a pre-set virtual ground control point, wherein the virtual ground control point is located in a recording block adjacent to the second region in the first region;
[0012] The segmentation module is used to segment the map data corresponding to the record block based on the virtual ground control point to obtain the map data of the first segmented region and the map data of the second segmented region.
[0013] The alignment module is used to align the point cloud data in the segmented first region and the point cloud data in the segmented second region with the point cloud data associated with the virtual ground control point as a reference.
[0014] Thirdly, this disclosure also provides an electronic device, including: a memory and a processor.
[0015] The memory is used to store the processor-executable instructions;
[0016] The processor is used to read the executable instructions from the memory and execute the executable instructions to implement any of the above-described map data processing methods.
[0017] Fourthly, this disclosure also provides a computer-readable storage medium storing a computer program that is executed by a processor to implement any of the above-described map data processing methods.
[0018] Fifthly, this disclosure also provides a computer program product for executing any of the above-described map data processing methods.
[0019] Compared with the prior art, the technical solution provided in this disclosure has at least the following advantages: In the technical solution of this disclosure, the map data corresponding to the recording block is segmented by virtual ground control points, resulting in a new first region and a second region. The virtual control points serve as the junction positions of the two regions after segmentation, and the positions of their point cloud data are fixed. They can also serve as the reference for position alignment between the two regions, re-constraining the position alignment of each region. The point cloud data corresponding to the segmented first region and the point cloud data of the segmented second region are translated to ensure that the two regions meet the alignment accuracy requirements at the virtual ground control points. This achieves decoupling of data alignment between different regions, allows for simultaneous position alignment of multiple regions, and shortens the data waiting period. Attached Figure Description
[0020] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0021] Figure 1 This is a schematic diagram of the structure of the map data collected in this embodiment of the disclosure;
[0022] Figure 2 A flowchart illustrating a map data processing method provided in an embodiment of this disclosure;
[0023] Figure 3 for Figure 2 The illustrated method for processing map data is a detailed flowchart of step S230.
[0024] Figure 4 for Figure 2 The illustrated map data processing method shows another detailed flowchart of S230.
[0025] Figure 5 for Figure 2 The diagram illustrates a detailed process for "segmenting map data corresponding to record blocks based on virtual ground control points" in the map data processing method shown.
[0026] Figure 6 This is a schematic diagram illustrating the principle of segmenting map data corresponding to a record block based on virtual ground control points, as provided in an embodiment of this disclosure.
[0027] Figure 7 A flowchart illustrating another map data processing method provided in this embodiment of the disclosure;
[0028] Figure 8A flowchart illustrating another map data processing method provided in this disclosure embodiment;
[0029] Figure 9 This is a schematic diagram of the structure of a map data processing apparatus provided in an embodiment of the present disclosure;
[0030] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0031] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0032] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0033] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0034] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0035] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0036] Figure 1 This is a schematic diagram of the structure of the map data collected in this embodiment of the disclosure, where the dashed line represents batch 1 and the solid line represents batch 2. For example... Figure 1As shown, this illustrates the map data collection in two batches: Batch 1 and Batch 2. Batch 1 and Batch 2 could have been collected by different data collection vehicles, or by the same vehicle at different times. Figure 1 As can be seen, batch 1 and batch 2 are connected by several border areas. To solve the ghosting problem in the point cloud data between batch 1 and batch 2, it is necessary to align the point cloud data of batch 1 and batch 2. Each batch 1 and batch 2 may include one or more projects, the number of projects depending on the number of days used to collect the map data for each batch; and each project can be further divided according to preset conditions, such as dividing according to a certain preset distance on the road to obtain multiple map data blocks, which can be called record blocks. The preset distance can be 1000 meters, 800 meters or 500 meters, etc.; the border areas between adjacent batches can be less than the distance of one record, equal to the distance of one record or including the distance of several records, etc., depending on the actual needs. This embodiment does not impose any restrictions.
[0037] As described in the background section, when performing position alignment of point cloud data, the existing technology uses a serial method to perform position alignment across multiple batches, which causes the alignment cycle of each batch of point cloud data to accumulate, resulting in an excessively long data processing cycle.
[0038] To address the aforementioned technical problems, this disclosure provides a method, apparatus, device, medium, and product for processing map data. The method includes: acquiring map data of a first region and a second region, wherein the first and second regions were collected in different batches and have overlapping border areas; the map data includes point cloud data; acquiring pre-set virtual ground control points located in recording blocks adjacent to the second region within the first region; segmenting the map data corresponding to the recording blocks based on the virtual ground control points to obtain segmented map data of the first region and segmented map data of the second region; and aligning the point cloud data of the second region with the point cloud data associated with the virtual ground control points as a reference. Thus, by segmenting the map data corresponding to the recording blocks containing the virtual ground control points, new first and second regions are obtained. The virtual control points serve as the border positions of the two segmented regions, and their point cloud data positions are fixed. They can also serve as a reference for position alignment within the two regions, re-constraining the position alignment within each region, transforming the position alignment of two different regions into position alignment within the same region. This eliminates the need to consider the influence between regions, achieving decoupling of data alignment between different regions and shortening the data waiting period.
[0039] The following is combined Figures 1-10 The present disclosure provides an exemplary description of a map data processing method, apparatus, device, medium, and product.
[0040] Figure 2 This is a flowchart illustrating a map data processing method provided in an embodiment of the present disclosure. This method is applicable to the positional alignment processing of different batches of map data. The map data processing method can be executed by a map data processing device, which can be implemented using software and / or hardware and can be integrated into any server or terminal device with computing capabilities.
[0041] like Figure 2 As shown, the method for processing this map data includes:
[0042] S210. Obtain map data of the first region and map data of the second region. The first region and the second region were collected in different batches and there are overlapping areas. The map data includes point cloud data.
[0043] In order to ensure the integrity of map data, the data acquisition device usually collects data over a certain distance beyond the preset collection range. Therefore, when aligning the map data of the first area and the map data of the second area, there is a certain degree of overlap between the two areas. The data acquisition device repeatedly collects data from the overlap area when collecting the map data of the first area and the map data of the second area.
[0044] Point cloud data includes at least the position coordinates of objects in the acquisition area in a three-dimensional coordinate system.
[0045] S220. Obtain a pre-set virtual ground control point, which is located in the record block of the second region adjacent to the first region.
[0046] The virtual ground control point (GCP) is pre-set before the data acquisition equipment begins collecting data. When the acquisition equipment collects map data, it typically performs a round trip, resulting in the virtual ground control point being collected twice – once up and once down. Therefore, in the map data, the virtual ground control point can be considered as a point with the same name collected in both the up and down trips. A real-time kinematic (RTK) high-precision positioning device can be used. Preferably, the virtual ground control point is located in an open area to reduce the influence of other objects in the surrounding environment on the coordinate acquisition results.
[0047] When the data acquisition device collects map data, it needs to collect map data corresponding to virtual ground control points. Simultaneously, it extends outwards by a preset distance from the virtual ground control points and continues collecting map data corresponding to that preset distance. This extended distance can be less than one recording block or slightly longer, exceeding one or two complete recording blocks. Therefore, the distance between the virtual ground control point and the edge of the adjacent second region of the first region can be equal to or less than one recording block, meaning the virtual ground control point is located in the first recording block of the adjacent second region of the first region; or, the distance between the virtual ground control point and the edge of the adjacent second region of the first region is greater than one recording block, meaning the virtual ground control point is located in the Nth recording block of the adjacent second region of the first region, where N is an integer greater than 1.
[0048] S230. Based on virtual ground control points, the map data corresponding to the record block is segmented to obtain the map data of the first segmented area and the map data of the second segmented area.
[0049] In this process, the map data corresponding to the record block where the virtual ground control point is located is segmented, dividing the first region into two parts. The map data between the virtual ground control point and the edge of the second region adjacent to the first region is deleted from the map data of the first region, and the map data of this part is added to the map data of the second region. In this way, the virtual ground control point becomes the edge position of the segmented first region and the segmented second region, and the edge position is the alignment position.
[0050] S240. Using the point cloud data associated with the virtual ground control points as a reference, perform positional alignment on the point cloud data in the first segmented region and the point cloud data in the second segmented region.
[0051] In this step, the position of the point cloud data associated with the virtual ground control point is fixed. Therefore, the point cloud data corresponding to the virtual ground control point can be used as a reference for position alignment between the two regions, re-constraining the position alignment within each region. Thus, while the virtual ground control point remains stationary, the point cloud data corresponding to the segmented first region and the segmented second region are translated to ensure that the two regions meet the alignment accuracy requirements at the virtual ground control point. The map data of the segmented second region includes the map data discarded from the first region in S230 (map data between the virtual ground control point and the edge of the first region adjacent to the second region) and the map data of the second region before segmentation. Position alignment within the segmented second region is crucial. This achieves decoupling of alignment between different regions, allowing for simultaneous position alignment of multiple regions and reducing waiting time.
[0052] It should be noted that, in combination Figure 1There may be multiple border areas between two batches, so there are also multiple alignment positions between the two batches. According to the above method steps, each border area has a corresponding virtual ground control point. The map data corresponding to the record block where the virtual ground control point is located is physically segmented, the map data of the two areas are recombined, and the virtual ground control point is the new border position. This realizes the alignment decoupling of different border areas and shortens the data waiting period.
[0053] This disclosure provides a method for processing map data, including: acquiring map data of a first region and map data of a second region, wherein the first region and the second region were collected in different batches and have overlapping border areas, and the map data includes point cloud data; acquiring pre-set virtual ground control points, wherein the virtual ground control points are located in record blocks adjacent to the second region in the first region; segmenting the map data corresponding to the record blocks based on the virtual ground control points to obtain segmented map data of the first region and segmented map data of the second region; and aligning the point cloud data of the second region with the point cloud data associated with the virtual ground control points as a reference. Therefore, by using virtual ground control points to segment the map data corresponding to the record block, new first and second regions are obtained. The virtual control points serve as the junctions of the two regions, and their point cloud data positions are fixed. They can also serve as the reference for position alignment between the two regions, re-constraining the position alignment of each region. The point cloud data corresponding to the segmented first region and the segmented second region are translated to ensure that the two regions meet the alignment accuracy requirements at the virtual ground control points. This achieves decoupling of data alignment between different regions, allows for simultaneous position alignment of multiple regions, and shortens the data waiting period.
[0054] In some embodiments, the distance between the virtual ground control point and the edge of the first region adjacent to the second region is greater than a set distance, and the edge region is set between the virtual ground control point and the edge of the first region adjacent to the second region.
[0055] The distance setting can be flexibly configured according to the needs of the map data processing method, and is not limited here.
[0056] Thus, the junction area is set between the virtual ground control point and the edge of the first area adjacent to the second area. The distance between the virtual ground control point and the edge of the first area adjacent to the second area is long enough to make the junction area have a larger range, that is, a larger area for repeated acquisition, which is beneficial for position alignment processing in the segmented second area.
[0057] In some embodiments, such as Figure 3 As shown, Figure 2The illustrated map data processing method shows a detailed flowchart of step S230. (Refer to...) Figure 3 The virtual ground control point is located in the first record block adjacent to the second region in the first region; "based on the virtual ground control point, the map data corresponding to the record block is segmented to obtain the segmented map data of the first region and the segmented map data of the second region", including:
[0058] S310. The map data corresponding to the first recording block is segmented based on the virtual ground control points to obtain the map data corresponding to the first recording sub-block of the adjacent second area.
[0059] The virtual ground control point is located in the first recording block adjacent to the second region of the first region, that is, the distance between the virtual ground control point and the edge of the second region adjacent to the first region is equal to or less than the distance corresponding to one recording block.
[0060] In this step, the map data of the first region is divided into two parts based on the point cloud data associated with the virtual ground control points. The map data between the virtual ground control points and the edge of the first region adjacent to the second region is the map data corresponding to the first record sub-block of the adjacent second region.
[0061] S320. Delete the map data corresponding to the first record sub-block of the adjacent second region from the map data of the first region to obtain the map data of the segmented first region.
[0062] In this step, the map data corresponding to the first record sub-block of the adjacent second region obtained in S310 is deleted from the map data of the first region before segmentation, so as to obtain the map data of the first region after segmentation.
[0063] S330. Add the map data corresponding to the first record sub-block of the adjacent second region to the map data of the second region to obtain the map data of the segmented second region.
[0064] In this step, based on the map data of the second region before segmentation, the map data corresponding to the first record sub-block of the adjacent second region obtained in S310 is added to obtain the map data of the second region after segmentation.
[0065] In some embodiments, such as Figure 4 As shown, Figure 2 The illustrated map data processing method shows another detailed flowchart of step S230. (Refer to...) Figure 4The virtual ground control point is located in the Nth record block adjacent to the second region in the first region, where N is an integer greater than 1; "Based on the virtual ground control point, the map data corresponding to the target record block is segmented to obtain the segmented map data of the first region and the segmented map data of the second region", including:
[0066] S410. The map data corresponding to the Nth record block is segmented based on the virtual ground control point to obtain the map data corresponding to the Nth record sub-block in the adjacent second region.
[0067] The virtual ground control point is located in the Nth record block adjacent to the second region of the first region, meaning that the distance between the virtual ground control point and the edge of the second region adjacent to the first region is greater than the distance corresponding to one record block. Along the edge of the second region adjacent to the first region towards the virtual ground control point, the count number of the record block increases sequentially, meaning that the count number of the record block at the outermost edge of the second region adjacent to the first region is 1, and the count numbers are 2, ..., N, where N > 1 and is an integer.
[0068] In this step, based on the point cloud data associated with the virtual ground control points, the map data of the first region is divided into two parts: the map data between the virtual ground control points and the edge of the first region adjacent to the second region, including the Nth record sub-block of the adjacent second region and the map data corresponding to the N-1 record blocks of the adjacent second region; wherein, the map data corresponding to the Nth record sub-block of the adjacent second region only includes the virtual ground control points and the part of the Nth record sub-block that is adjacent to the second region.
[0069] S420. Delete the map data corresponding to the Nth record sub-block and the N-1 record blocks adjacent to the second region from the map data of the first region to obtain the map data of the segmented first region.
[0070] In this step, the map data corresponding to the Nth record sub-block of the adjacent second region obtained in S410 is deleted from the map data of the first region before segmentation, and the map data corresponding to the N-1 record blocks of the adjacent second region are also deleted, thereby obtaining the map data of the first region after segmentation.
[0071] S430. Add the map data corresponding to the Nth record sub-block and the N-1 record blocks adjacent to the second region to the map data of the second region to obtain the map data of the segmented second region.
[0072] In this step, based on the map data of the second region before segmentation, the map data corresponding to the Nth record sub-block of the adjacent second region obtained by S410 and the N-1th record sub-block of the adjacent second region are added to obtain the map data of the second region after segmentation.
[0073] For example, such as Figure 1 As shown, the dashed line represents batch 1, and the solid line represents batch 2. There are four adjacent regions between batch 1 and batch 2, and the virtual ground control points corresponding to these four regions are A, B, C, and D, respectively. Taking virtual ground control point A as an example, along the edge of batch 1 adjacent to batch 2 towards the virtual ground control point (from top to bottom in the figure), virtual ground control point A is located in the third record block adjacent to batch 2 of batch 1. Based on virtual ground control point A, the map data corresponding to the third record block is divided into two parts to obtain the map data corresponding to the third record sub-block of adjacent batch 2. The map data corresponding to the third record sub-block of adjacent batch 2, as well as the map data corresponding to the first and second record blocks, are deleted from the map data of batch 1. The map data corresponding to the third record sub-block of adjacent batch 2, as well as the map data corresponding to the first and second record blocks, are added to the map data of batch 2. Figure 1 The map data within the square box is deleted from the map data of batch 1 and added to the map data of batch 2.
[0074] In some embodiments, such as Figure 5 As shown, Figure 2 The illustrated map data processing method shows a detailed flowchart of "segmenting map data corresponding to record blocks based on virtual ground control points." (Refer to...) Figure 5 The map data also includes trajectory data and photo data. "Map data corresponding to record blocks is segmented based on virtual ground control points," including:
[0075] S510. Obtain the target trajectory point corresponding to the virtual ground control point, as well as the timestamp of the target trajectory point, and segment the trajectory data corresponding to the recording block based on the target trajectory point.
[0076] In addition to point cloud data, map data also includes trajectory data and photo data. Trajectory data can be collected by inertial navigation equipment. During vehicle movement, the inertial navigation equipment continuously collects trajectory data at a set frequency. The collected trajectory data consists of several dispersed trajectory points, each of which includes at least position coordinates and a timestamp. Point cloud data is collected by lidar equipment using a scanning method. Each scan collects a point cloud, and a feature point can be selected from the point cloud according to pre-set rules as a point cloud representation point. This point cloud representation point can be the center point of the point cloud. The point cloud representation point also has corresponding time information to represent its collection time. Photo data is collected by photographic equipment. It is exposed once at set intervals to generate a photo data exposure point. The photo data exposure point also has corresponding time information to represent its exposure time.
[0077] Because the acquisition devices used to collect trajectory data, point cloud data, and photo data differ, as do the acquisition frequencies and times, the order of acquisition frequency from highest to lowest is: trajectory data > point cloud data > photo data. This results in differences in the sparsity of the various types of map data collected. Figure 6 The diagram shown illustrates the principle of segmenting map data corresponding to a record block based on virtual ground control points, as provided in an embodiment of this disclosure. (Refer to...) Figure 6 In the map data collected within the same road segment, the number of trajectory points was the largest, the number of photo data exposure points was the smallest, and the number of point cloud representation points was in the middle.
[0078] In this step, combined Figure 6 Based on the location coordinates of the virtual ground control point, the target trajectory point corresponding to the location coordinates of the virtual ground control point is obtained in the trajectory representation, and the timestamp corresponding to the target trajectory point is obtained; with the target trajectory point as the reference, the trajectory data corresponding to the recording block where the virtual ground control point is located is segmented, and the recording block is segmented into two parts; the target trajectory point is repeatedly stored in the two parts.
[0079] S520: Obtain the corresponding point cloud representation points based on the timestamps of the target trajectory points, and segment the point cloud data corresponding to the record block based on the point cloud representation points.
[0080] In this step, combined Figure 6 Based on the timestamp of the target trajectory point, the point cloud representation point with the closest corresponding time to the timestamp is found in the point cloud data; then, based on the point cloud representation point, the point cloud data corresponding to the record block where the virtual ground control point is located is segmented, and the record block is segmented into two parts; based on the local point cloud index (point cloud file name) of the point cloud representation point, the point cloud library is regrouped.
[0081] S530: Obtain the corresponding photo data exposure point based on the timestamp of the target trajectory point, and segment the photo data corresponding to the recording block based on the photo data exposure point.
[0082] In this step, combined Figure 6 Based on the timestamp of the target trajectory point, the photo data exposure point with the closest corresponding time to that timestamp is found in the photo data; then, based on the photo data exposure point, the photo data corresponding to the recording block where the virtual ground control point is located is segmented, and the recording block is segmented into two parts; the photos are regrouped according to the file name corresponding to the photo data exposure point.
[0083] In some embodiments, such as Figure 7 The diagram shown is a flowchart illustrating another map data processing method provided in this embodiment of the present disclosure. (Refer to...) Figure 7"Using the point cloud data associated with virtual ground control points as a reference, positional alignment is performed on the point cloud data within the segmented first region and the point cloud data within the segmented second region," including:
[0084] S740. Using the alignment adjustment algorithm, the position coordinates of the point cloud data within a preset distance of the virtual ground control point are used as strong constraints to align the position of the point cloud data in the segmented second region.
[0085] In this step, the position coordinates of the point cloud data, which serve as a strong constraint, cannot be moved; the offset at the corresponding position coordinates of the point cloud data is 0. The preset distance can be set to a value equal to or greater than zero. If the preset distance is zero, the position coordinates of the point cloud data at the virtual ground control point are used as the strong constraint, controlling the immobility of the point cloud data's position coordinates, i.e., the offset at the virtual ground control point position is 0. If the preset distance is greater than zero, the position coordinates of the point cloud data within the preset distance of the virtual ground control point are used as the strong constraint, controlling the immobility of the point cloud data within the preset distance of the virtual ground control point, i.e., controlling the corresponding offset within the preset distance of the virtual ground control point to be 0. For example, if the preset distance is set to 30m, a segment of map data within 30 meters of the virtual ground control point is used as the strong constraint, and the position coordinates of the corresponding point cloud data cannot be moved. In practice, a building or another object on either side of a road is usually chosen as the virtual ground control point, using the object itself as a reference, or extending the preset distance further. If the preset distance is extended, the reference position includes more map data, i.e., it has more referenceable position coordinates, which is more beneficial for calculation. The alignment adjustment algorithm in this step can be processed using mature algorithms in existing technology. It can be implemented simply by adding strong constraints during the specific calculation process.
[0086] For example, such as Figure 8 As shown, this is an embodiment of a map data processing method provided by this disclosure. (Refer to...) Figure 8 The methods for processing this map data include:
[0087] S810, Create Batch.
[0088] A city can be divided into multiple administrative regions, each administrative region corresponds to a batch, and a batch includes one or more projects. A project is a collection vehicle collecting data for one day. Before processing the map data, the collected map data needs to be uploaded separately according to the batch. Before aligning the map data between different batches, it is necessary to manually determine whether the batches are decoupled.
[0089] S820, is batch decoupling required?
[0090] If it is determined that batch decoupling is required, i.e., the determination result is yes, then S830 is executed.
[0091] It should be noted that the number of batches in a city's secondary road network is generally less than 10, and the edge relationships are relatively simple, so this method is suitable for secondary road networks. However, tertiary road networks usually include dozens of batches, and the edge relationships are complex. If this method is used, the manual judgment logic is complicated. Therefore, this method is only theoretically feasible for tertiary road networks, and the actual application process is complicated.
[0092] S830, manual virtual ground control point marking.
[0093] Specifically, the system loads the trajectory data for the corresponding batch, loads the corresponding points of historical ground control points through the interface, and reads the associated attribute information of the ground control points. Based on the associated attribute information, the system filters the historical ground control points. If the distance from a historical ground control point to both ends of its recording block is greater than a preset distance (e.g., 30 meters), then the historical ground control point is determined as a virtual ground control point, and a marker is marked at the location of the candidate ground control point. Since the data acquisition device usually collects map data in a round trip, the virtual ground control point has corresponding points. The system selects the trajectory auxiliary point in the edge direction and finds the corresponding uplink and downlink points of the virtual ground control point to determine another virtual ground control point. The two virtual ground control points form an uplink and downlink point pair, and the virtual ground control point is bound to the uplink and downlink point pair.
[0094] S840, Update database.
[0095] The virtual ground control point association information table is stored in the database. After binding the virtual ground control point with the uplink and downlink points of the same name, the virtual ground control point association information table is updated.
[0096] S850, batch recombination.
[0097] Based on the global map, the overlapping areas between different batches are identified; using virtual ground control points as a reference, the overlapping positions between batches are constrained. When the overlapping positions between batches change, the map data of the two batches are recombined.
[0098] S860, map data segmentation based on virtual ground control points.
[0099] Obtain virtual ground control points near the border area. Using the virtual ground control points as a reference, segment the map data of the current batch. Discard part of the map data in the current batch. The discarded part is the map data of the adjacent and bordering batches in the current batch, including the map data corresponding to the border area that was collected repeatedly. Add the map data discarded in the current batch to the map data of the batches that are bordered by the current batch.
[0100] S870, trajectory matching.
[0101] Due to duplicate data collection between different batches, overlapping areas exist between them, which are the regions requiring position alignment. These overlapping area point clouds exhibit ghosting, necessitating focused alignment. Before position alignment, based on the global map, the overlapping areas of duplicate data collection between different batches are identified. The trajectory matching module is then used to calculate the duplicated point cloud data and trajectory data, thus pinpointing the data information requiring alignment.
[0102] S880, alignment of positions within each batch.
[0103] This step uses the position coordinates of the point cloud data associated with the virtual ground control points as a strong constraint to implement the application of correction vectors for the artificial virtual ground control points, and achieves positional alignment of the point cloud data within each of the recombined annotations. For details, please refer to the explanation at S740, which will not be repeated here.
[0104] Based on the same inventive concept, this disclosure also provides a map data processing apparatus. This apparatus can execute the steps of any map data processing method provided in this disclosure, and has the corresponding functional modules and beneficial effects of the method. To avoid repetition, these will not be described again here. This apparatus can be implemented in software and / or hardware, and can be integrated into any server or terminal device with computing power.
[0105] Figure 9 This is a schematic diagram of a map data processing apparatus provided in an embodiment of the present disclosure. (Refer to...) Figure 9 The map data processing device 900 includes: a first acquisition module 901, used to acquire map data of a first region and map data of a second region, wherein the first region and the second region were acquired in different batches and there are overlapping areas, and the map data includes point cloud data; a second acquisition module 902, used to acquire pre-set virtual ground control points, wherein the virtual ground control points are located in the recording blocks adjacent to the second region in the first region; a segmentation module 903, used to segment the map data corresponding to the recording blocks based on the virtual ground control points to obtain the segmented map data of the first region and the segmented map data of the second region; and an alignment module 904, used to align the point cloud data in the segmented first region and the segmented point cloud data of the second region with the point cloud data associated with the virtual ground control points as a reference.
[0106] In some embodiments, the distance between the virtual ground control point and the edge of the first region adjacent to the second region is greater than a set distance, and the edge region is set between the virtual ground control point and the edge of the first region adjacent to the second region.
[0107] In some embodiments, the virtual ground control point is located in the first record block adjacent to the second region of the first region; the segmentation module is used to segment the map data corresponding to the record block based on the virtual ground control point to obtain the segmented map data of the first region and the segmented map data of the second region, including: segmenting the map data corresponding to the first record block based on the virtual ground control point to obtain the map data corresponding to the first record sub-block adjacent to the second region; deleting the map data corresponding to the first record sub-block adjacent to the second region from the map data of the first region to obtain the segmented map data of the first region; and adding the map data corresponding to the first record sub-block adjacent to the second region to the map data of the second region to obtain the segmented map data of the second region.
[0108] In some embodiments, the virtual ground control point is located in the Nth record block adjacent to the second region of the first region, where N is an integer greater than 1. The segmentation module is used to segment the map data corresponding to the target record block based on the virtual ground control point to obtain the segmented map data of the first region and the segmented map data of the second region, including: segmenting the map data corresponding to the Nth record block based on the virtual ground control point to obtain the map data corresponding to the Nth record sub-block adjacent to the second region; deleting the map data corresponding to the Nth record sub-block and the N-1 record blocks adjacent to the second region from the map data of the first region to obtain the segmented map data of the first region; and adding the map data corresponding to the Nth record sub-block and the N-1 record blocks adjacent to the second region to the map data of the second region to obtain the segmented map data of the second region.
[0109] In some embodiments, the map data further includes trajectory data and photo data. The segmentation module is used to segment the map data corresponding to the recording block based on virtual ground control points, including: obtaining target trajectory points corresponding to the virtual ground control points and the timestamps of the target trajectory points; segmenting the trajectory data corresponding to the recording block based on the target trajectory points; obtaining corresponding point cloud representation points based on the timestamps of the target trajectory points; segmenting the point cloud data corresponding to the recording block based on the point cloud representation points; obtaining corresponding photo data exposure points based on the timestamps of the target trajectory points; and segmenting the photo data corresponding to the recording block based on the photo data exposure points.
[0110] In some embodiments, the alignment module is used to perform position alignment on the point cloud data of the second region based on the point cloud data associated with the virtual ground control point, including: using an alignment adjustment algorithm to use the position coordinates of the point cloud data within a preset distance of the virtual ground control point as a strong constraint condition to perform position alignment on the point cloud data of the segmented second region.
[0111] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure. It is used to exemplarily illustrate an electronic device that implements any map data processing method in the embodiments of the present disclosure and should not be construed as a specific limitation on the embodiments of the present disclosure.
[0112] like Figure 10 As shown, the electronic device 1000 may include a processor (e.g., a central processing unit, a graphics processing unit, etc.) 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1008 into a random access memory (RAM) 1003. The RAM 1003 also stores various programs and data required for the operation of the electronic device 1000. The processor 1001, ROM 1002, and RAM 1003 are interconnected via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.
[0113] Typically, the following devices can be connected to the I / O interface 1005: input devices 1006 including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 1007 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1008 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. Communication device 1009 allows electronic device 1000 to communicate wirelessly or wiredly with other devices to exchange data. Although an electronic device 1000 with various devices is shown, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0114] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 1009, or installed from storage device 1008, or installed from ROM 1002. When the computer program is executed by processor 1001, it can perform the functions defined in any of the trajectory segmentation-based data processing methods provided in embodiments of this disclosure.
[0115] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0116] In some implementations, the client and server can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol), and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0117] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0118] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:
[0119] The process involves acquiring map data for a first region and a second region. The first and second regions were collected in different batches and have overlapping border areas. The map data includes point cloud data. Pre-set virtual ground control points are acquired, located in record blocks adjacent to the second region within the first region. The map data corresponding to the record blocks is segmented based on the virtual ground control points to obtain segmented map data for the first and second regions. The point cloud data of the second region is then aligned with the point cloud data associated with the virtual ground control points.
[0120] In embodiments of this disclosure, computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof. These programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on a computer, partially on a computer, as a standalone software package, partially on a computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0121] The flowcharts and structural diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in the flowchart or structural diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated 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 the structural and / or flowchart diagrams, and combinations of blocks in the structural and / or flowchart diagrams, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0122] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.
[0123] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0124] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0125] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0126] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A method for processing map data, comprising: Acquire map data of a first region and map data of a second region. The first region and the second region were collected in different batches and there are overlapping border areas. The map data includes point cloud data. Acquire a pre-set virtual ground control point, wherein the virtual ground control point is located in a recording block adjacent to the second region in the first region, and the virtual ground control point is set in an open area; Based on the virtual ground control points, the map data corresponding to the record block is segmented to obtain the map data of the first segmented region and the map data of the second segmented region. Using the point cloud data associated with the virtual ground control points as a reference, the point cloud data in the segmented first region and the point cloud data in the segmented second region are aligned in position. The virtual ground control point is located in the first recording block adjacent to the second region in the first region; The step of segmenting the map data corresponding to the recorded block based on the virtual ground control points to obtain map data of the segmented first region and map data of the segmented second region includes: The map data corresponding to the first recording block is segmented based on the virtual ground control point to obtain the map data corresponding to the first recording sub-block of the adjacent second region; The map data corresponding to the first record sub-block of the adjacent second region is deleted from the map data of the first region to obtain the map data of the segmented first region; The map data corresponding to the first record sub-block of the adjacent second region is added to the map data of the second region to obtain the map data of the segmented second region.
2. The method according to claim 1, wherein, The distance between the virtual ground control point and the edge of the second region adjacent to the first region is greater than a set distance, and the connecting area is set between the virtual ground control point and the edge of the second region adjacent to the first region.
3. The method according to claim 1, wherein the virtual ground control point is located in the Nth record block adjacent to the second region in the first region, where N is an integer greater than 1; The step of segmenting the map data corresponding to the recorded block based on the virtual ground control points to obtain map data of the segmented first region and map data of the segmented second region includes: The map data corresponding to the Nth record block is segmented based on the virtual ground control point to obtain the map data corresponding to the Nth record sub-block in the adjacent second region; The map data corresponding to the Nth record sub-block and the N-1 record blocks adjacent to the second region are deleted from the map data of the first region to obtain the map data of the segmented first region; The map data corresponding to the Nth record sub-block and the N-1 record blocks adjacent to the second region are added to the map data of the second region to obtain the map data of the segmented second region.
4. The method according to claim 1, wherein, The map data also includes trajectory data and photo data. The segmentation of the map data corresponding to the recorded block based on the virtual ground control points includes: Obtain the target trajectory point corresponding to the virtual ground control point, and the timestamp of the target trajectory point; and segment the trajectory data corresponding to the recording block based on the target trajectory point. Based on the timestamp of the target trajectory point, obtain the corresponding point cloud representation point, and segment the point cloud data corresponding to the record block based on the point cloud representation point; Based on the timestamp of the target trajectory point, the corresponding photo data exposure point is obtained, and the photo data corresponding to the recording block is segmented based on the photo data exposure point.
5. The method according to claim 1, wherein, The step of aligning the point cloud data of the second region with the point cloud data associated with the virtual ground control points as a reference includes: Using an alignment adjustment algorithm, the position coordinates of the point cloud data within a preset distance of the virtual ground control point are used as strong constraints to align the position of the point cloud data in the segmented second region.
6. A map data processing apparatus, comprising: The first acquisition module is used to acquire map data of a first region and map data of a second region. The first region and the second region were acquired in different batches and there are overlapping areas. The map data includes point cloud data. The second acquisition module is used to acquire a pre-set virtual ground control point, wherein the virtual ground control point is located in a recording block adjacent to the second region in the first region, and the virtual ground control point is set in an open area. The segmentation module is used to segment the map data corresponding to the record block based on the virtual ground control point to obtain the map data of the first segmented region and the map data of the second segmented region. The alignment module is used to align the point cloud data in the segmented first region and the point cloud data in the segmented second region with the point cloud data associated with the virtual ground control point as a reference. The virtual ground control point is located in the first recording block adjacent to the second region in the first region; The map data corresponding to the recorded block is segmented based on the virtual ground control points to obtain map data of the segmented first region and map data of the segmented second region, including: The map data corresponding to the first recording block is segmented based on the virtual ground control point to obtain the map data corresponding to the first recording sub-block of the adjacent second region; The map data corresponding to the first record sub-block of the adjacent second region is deleted from the map data of the first region to obtain the map data of the segmented first region; The map data corresponding to the first record sub-block of the adjacent second region is added to the map data of the second region to obtain the map data of the segmented second region.
7. An electronic device, comprising: Memory and processor The memory is used to store the processor-executable instructions; The processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the map data processing method as described in any one of claims 1 to 5.
8. A computer-readable storage medium storing a computer program that is executed by a processor to implement a method for processing map data as described in any one of claims 1 to 5.
9. A computer program product for performing a method for processing map data as described in any one of claims 1 to 5.