Vector and crowd-sourced update processing method, apparatus, device, and program product
Patent Information
- Application Number
- CN202211419346.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-14
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2042-11-14
AI Technical Summary
[0005]为了解决上述高精地图更新过程中因数据量较大而造成待更新地图矢量的获取效率低的技术问题,本公开提供了一种地图矢量处理矢量和众包更新的处理方法、装置、设备和程序产品
[0028] Compared with the prior art, the map vector processing technical solution provided in this disclosure has at least the following advantages: it can expand the vector to be processed and the trajectory of the data collection vehicle based on the planar distance threshold determined by the map reconstruction range to obtain the vector coverage range and the trajectory coverage range, so as to take into account the positioning error of the trajectory of the data collection vehicle and the vector to be processed, and determine whether to retain the vector to be processed by the area overlap of the two ranges. This realizes more accurate and faster screening of the local vectors to be processed involved in the business requirements based on the trajectory of the data collection vehicle, reducing the redundant vectors participating in the subsequent vector matching difference process, thereby improving the efficiency of the subsequent vector matching difference.
Smart Images

Figure CN115794844B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of map technology, and in particular to a method, apparatus, device, and program product for processing map vectors and crowdsourced updates. Background Technology
[0002] The current environment is changing rapidly. In order to ensure that high-precision maps can reflect necessary environmental changes (such as traffic) in a timely manner, high-precision maps need to be updated promptly.
[0003] Currently, when maps are updated, a new version of a high-precision map is often obtained covering the entire region, a specific mesh area, or a specific administrative division. Then, vector matching and differential processing are performed between the new and old versions of the high-precision map to obtain the changed map vectors to be updated.
[0004] However, the amount of data involved in the vector differential processing of the new and old versions of the map is often large. When the map update range is small, it will cause redundant calculations, resulting in low efficiency in obtaining the map vectors to be updated. Summary of the Invention
[0005] To address the technical problem of low efficiency in acquiring map vectors to be updated due to the large amount of data during the high-precision map update process, this disclosure provides a method, apparatus, device, and program product for map vector processing and crowdsourced updates.
[0006] In a first aspect, embodiments of this disclosure provide a map vector processing method, including:
[0007] Obtain the trajectory of the data collection vehicle and the corresponding vector to be processed;
[0008] Based on a planar distance threshold, the vector coverage area of the vector to be processed and the trajectory coverage area of the data acquisition vehicle are determined; wherein, the planar distance threshold is determined based on the data acquisition range and / or the map reconstruction range;
[0009] If the area overlap between the vector coverage area and the trajectory coverage area is greater than a preset overlap threshold, then the vector to be processed is retained.
[0010] Secondly, embodiments of this disclosure provide a crowdsourcing update processing method, including:
[0011] Acquire point cloud data, crowdsourced data, and data collection vehicle trajectory of the target area simultaneously;
[0012] Based on the point cloud data, a new version of vector library data corresponding to the target area is generated. Based on the data collection vehicle trajectory, the new version of vector library data, the old version of vector library data corresponding to the target area, and a planar distance threshold, the high-precision updated vector that has changed in the target area is determined according to the map vector processing method described in any embodiment of this disclosure. The planar distance threshold is determined based on the crowdsourced reconstruction range.
[0013] Based on the crowdsourced data, determine the crowdsourced update vector that has changed in the target area;
[0014] The accuracy of the crowdsourced update vector is evaluated using the high-precision update vector as the truth value.
[0015] Thirdly, embodiments of this disclosure also provide a map vector processing apparatus, including:
[0016] The data acquisition module is used to acquire the trajectory of the data collection vehicle and the vector to be processed corresponding to the trajectory of the data collection vehicle;
[0017] The coverage determination module is used to determine the vector coverage of the vector to be processed and the trajectory coverage of the data collection vehicle trajectory based on a planar distance threshold; wherein the planar distance threshold is determined based on the data collection range and / or the map reconstruction range;
[0018] The vector processing module is used to retain the vector to be processed if the area overlap between the vector coverage area and the trajectory coverage area is greater than a preset overlap threshold.
[0019] Fourthly, embodiments of this disclosure also provide a crowdsourcing update processing apparatus, comprising:
[0020] The synchronous acquisition module is used to acquire point cloud data, crowdsourced data, and the trajectory of the acquisition vehicle in the target area for synchronous acquisition;
[0021] The high-precision updated vector determination module is used to generate new version vector library data corresponding to the target area based on the point cloud data, and determine the high-precision updated vector that has changed in the target area based on the trajectory of the acquisition vehicle, the new version vector library data, the old version vector library data corresponding to the target area, and a planar distance threshold, according to the map vector processing method described in any embodiment of this disclosure; wherein, the planar distance threshold is determined based on the crowdsourced reconstruction range;
[0022] A crowdsourced update vector determination module is used to determine the changed crowdsourced update vector in the target area based on the crowdsourced data;
[0023] The crowdsourced update evaluation module is used to evaluate the accuracy of the crowdsourced update vector using the high-precision update vector as the truth value.
[0024] Fifthly, embodiments of this disclosure also provide an electronic device, including:
[0025] A memory and a processor, wherein the memory is used to store executable instructions of the processor;
[0026] The processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the map vector processing method or crowdsourcing update processing method provided in any embodiment of this disclosure.
[0027] Sixthly, this disclosure also provides a computer program product for executing the map vector processing method or crowdsourcing update processing method provided in any embodiment of this disclosure.
[0028] Compared with the prior art, the map vector processing technical solution provided in this disclosure has at least the following advantages: it can expand the vector to be processed and the trajectory of the data collection vehicle based on the planar distance threshold determined by the map reconstruction range to obtain the vector coverage range and the trajectory coverage range, so as to take into account the positioning error of the trajectory of the data collection vehicle and the vector to be processed, and determine whether to retain the vector to be processed by the area overlap of the two ranges. This realizes more accurate and faster screening of the local vectors to be processed involved in the business requirements based on the trajectory of the data collection vehicle, reducing the redundant vectors participating in the subsequent vector matching difference process, thereby improving the efficiency of the subsequent vector matching difference.
[0029] Compared with the prior art, the technical solution for crowdsourced update processing provided in this disclosure has at least the following advantages: it can use high-precision point cloud data collected synchronously with crowdsourced data to generate high-precision update vectors that have undergone current changes relative to the old version of the high-precision map, and use them as the true value for the accuracy evaluation of the crowdsourced update vectors corresponding to the crowdsourced data. This avoids the problems of high manual cost, low efficiency and unstable accuracy in obtaining the true value of the evaluation caused by manually annotating the current change vectors in the crowdsourced data, and improves the authenticity and accuracy of the evaluation true value, thereby improving the accuracy of the crowdsourced update accuracy evaluation. Attached Figure Description
[0030] 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.
[0031] Figure 1 A schematic flowchart illustrating a map vector processing method provided in an embodiment of this disclosure;
[0032] Figure 2A schematic diagram illustrating a vector coverage area and a trajectory coverage area provided in an embodiment of this disclosure;
[0033] Figure 3 A schematic flowchart of another map vector processing method provided in this embodiment of the disclosure;
[0034] Figure 4 A schematic diagram of a discontinuous local envelope provided for an embodiment of this disclosure;
[0035] Figure 5 A schematic diagram of a continuous trajectory envelope provided for an embodiment of this disclosure;
[0036] Figure 6 A flowchart illustrating a crowdsourcing update processing method provided in an embodiment of this disclosure;
[0037] Figure 7 A schematic diagram of a high-precision update vector provided in an embodiment of this disclosure;
[0038] Figure 8 A flowchart illustrating another crowdsourcing update processing method provided in this embodiment of the disclosure;
[0039] Figure 9 This is a schematic diagram of the structure of a map vector processing device provided in an embodiment of the present disclosure;
[0040] Figure 10 This is a schematic diagram of the structure of a crowdsourcing update processing device provided in an embodiment of the present disclosure;
[0041] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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".
[0046] In related technologies, when a map is updated, a new version of a high-precision map covering a relatively large area is often acquired. Then, this new high-precision map is compared with the old version of the high-precision map within the corresponding area using vector matching and differential processing to obtain the changed map vectors to be updated. However, the amount of data involved in this vector differential processing between the old and new map versions is often large, which can lead to redundant calculations when the map update area is small.
[0047] For example, when reading vectors from a map data master database, the vectors are often read from a grid mesh covering an area of approximately 5km x 5km, while the trajectory length of the data collection vehicle is generally around 1km. If the map vector processing is only for a small area of data collected by the data collection vehicle, then related technologies will obtain all vectors from at least one grid mesh for processing. This results in most of the obtained vectors not being the actual vectors needed, leading to low efficiency in map vector processing.
[0048] Based on the above, this disclosure provides a map vector processing method that determines a planar distance threshold based on the map reconstruction range, and expands the collection of vehicle trajectories and vectors to be processed based on the planar distance threshold to obtain the trajectory coverage range and vector coverage range. Then, the vectors to be processed corresponding to the vector coverage ranges that intersect with the trajectory coverage range are selected to obtain the vectors that need to participate in vector matching and differential processing. This method can take into account positioning errors and ensure that the vectors selected later are within the scope of business requirements. At the same time, it can reduce redundant vectors in the selected vectors, thereby improving the efficiency of subsequent vector matching and differential processing.
[0049] Figure 1This is a flowchart illustrating a map vector processing method provided in an embodiment of this disclosure. This map vector processing method is applicable to scenarios where vectors in an electronic map are locally filtered using the trajectory of a collected vehicle. The aforementioned electronic map can be a high-precision / high-definition map with high map accuracy, or a regular electronic map / navigation map with relatively low map accuracy. This map vector processing method can be executed by a map vector processing device, which can be implemented using software and / or hardware and can be integrated into an electronic device with a certain computing power. This electronic device can be, for example, a mobile terminal with a certain computing power, such as a laptop computer or mobile workstation, or a fixed terminal, such as an in-vehicle device, desktop computer, or server.
[0050] like Figure 1 As shown, the map vector processing method provided in this embodiment may include:
[0051] S110. Obtain the trajectory of the data collection vehicle and the corresponding vector to be processed.
[0052] The data collection vehicle trajectory refers to the driving trajectory of a vehicle equipped with data collection devices (such as cameras, LiDAR, etc.), which can be obtained through the positioning device on the vehicle. The data collection vehicle trajectory can be represented as multiple trajectory positioning points (referred to as trajectory points) arranged in time stamp order. The vector to be processed is the vector that needs to undergo vector filtering, vector truncation, and reconstruction. It can be a vector from an older version of the electronic map or a vector from a newer version.
[0053] Specifically, in order to achieve the function of local vector filtering based on the trajectory of the data collection vehicle, the electronic device can first obtain the trajectory of the data collection vehicle. For example, the electronic device can read the trajectory of the data collection vehicle corresponding to the data collection vehicle from internal or external storage media; or, the electronic device can send a request to the data collection vehicle to obtain the trajectory of the data collection vehicle; or, the electronic device can receive the trajectory of the data collection vehicle reported by the data collection vehicle.
[0054] Then, the electronic device can obtain one or more vectors corresponding to the trajectory of the data collection vehicle from the electronic map. For example, the electronic device can locate the corresponding mesh in the electronic map based on the position of the data collection vehicle trajectory, and extract each vector from the located mesh; each vector can be used as a vector to be processed. Alternatively, the electronic device can acquire map reconstruction data (such as point cloud data, images, etc.) collected by the data collection vehicle while acquiring its trajectory, and use a data processing algorithm corresponding to the map reconstruction data (such as an algorithm for extracting vectors from point cloud data / images) to process the map reconstruction data to obtain one or more vectors, each of which can be used as a vector to be processed.
[0055] It should be noted that for linear features with a large extension range, such as lane lines, the corresponding vector to be processed is a linear vector; while for areal features with a small extension range, such as ground markings, traffic signs, and billboards, they can be simplified into point vectors during the vector screening and filtering process, for example, by determining the point vector based on the location information of the center point of the areal feature.
[0056] S120. Based on the planar distance threshold, determine the vector coverage range of the vector to be processed and the trajectory coverage range of the acquisition vehicle trajectory.
[0057] Among them, the planar distance threshold refers to the distance threshold on a two-dimensional plane, which is a pre-set distance threshold.
[0058] In one example, to ensure that the vectors to be processed in subsequent screenings fall within the coverage area of the data acquisition device mounted on the acquisition vehicle, the planar distance threshold can be determined based on the data acquisition range. For instance, if the acquisition vehicle is equipped with a LiDAR, the planar distance threshold can be determined based on the effective detection range of the LiDAR.
[0059] In another example, in scenarios requiring vector matching difference, such as map updating, road network mining and reconstruction, a planar distance threshold can be determined based on the map reconstruction range of the relevant algorithm to ensure that the subsequently selected vectors are valid vectors required by the scenario. For example, a planar distance value can be determined as the planar distance threshold based on the reconstruction capability of the algorithm used when reconstructing maps using point cloud data / crowdsourced images.
[0060] In another example, to balance the various requirements mentioned above, the planar distance threshold can be jointly determined based on the data acquisition range and the map reconstruction range. For instance, for scenarios with high requirements for accuracy and computational speed, the planar distance threshold can be determined based on the intersection of the data acquisition range and the map reconstruction range; while for scenarios with high requirements for data comprehensiveness but relatively low requirements for accuracy and computational speed, the planar distance threshold can be determined based on the union of the data acquisition range and the map reconstruction range.
[0061] Specifically, in this embodiment of the disclosure, the overlap information between two regions on a two-dimensional plane is used to filter vectors. Therefore, the electronic device needs to first determine the planar region corresponding to the trajectory of the acquisition vehicle (i.e., the trajectory coverage area) and the planar region corresponding to the vector to be processed (i.e., the vector coverage area).
[0062] In some embodiments, in order to ensure the effectiveness of the selected vectors and take into account both the positioning error of the vehicle trajectory and the error of the vector to be processed, the electronic device can perform outward expansion processing on the vehicle trajectory and the vector to be processed based on a planar distance threshold to obtain the trajectory coverage range and the vector coverage range.
[0063] For example, based on this embodiment, the above S120 may specifically include: determining the vector enclosure range of the vector to be processed and the trajectory enclosure range of the acquisition vehicle trajectory; expanding the vector enclosure range and the trajectory enclosure range outward based on the planar distance threshold to obtain the vector coverage range and the trajectory coverage range.
[0064] Specifically, see Figure 2 For the data acquisition vehicle trajectory 210, the electronic device can first determine the minimum bounding rectangle of the data acquisition vehicle trajectory 210 as the trajectory enclosure range 211. Then, the electronic device calculates 1 / 2 * the plane distance threshold to obtain the outward expansion distance 220, and expands the trajectory enclosure range 211 outward by the outward expansion distance 220 to obtain the trajectory coverage range 212.
[0065] for Figure 2 The example is the lane line vector 230 to be processed. The electronic device can also first determine the smallest bounding rectangle of lane line vector 230 as the vector's enclosing range. Because... Figure 2 The lane line vector 230 in the diagram is a straight line, and its minimum bounding rectangle is the range of the vector itself. Figure 2 In the example, the vector's bounding area is the vector to be processed itself. Then, the electronic device extends the lane line vector 230 outward by a distance 220 to obtain the vector coverage area 231.
[0066] It should be noted that for point vectors, they can be expanded outward to obtain a circular area as their vector coverage area, as described above; or they can be directly retained without filtering.
[0067] In other embodiments, if both the positioning accuracy of the vehicle trajectory and the accuracy of the vector to be processed are high, the electronic device can expand the vehicle trajectory according to the planar distance threshold to obtain the trajectory coverage range, while the coverage range of the vector to be processed itself is determined as the vector coverage range.
[0068] S130. If the area overlap between the vector coverage area and the trajectory coverage area is greater than the preset overlap threshold, then the vector to be processed is retained.
[0069] The preset overlap threshold is a pre-set critical value for area overlap, which can be 0 or an empirical value greater than 0.
[0070] Specifically, considering that area overlap can characterize the degree of overlap between two regions, the greater the area overlap, the higher the degree of overlap, the electronic device can calculate the area overlap (Intersection over Union, IOU) between the vector coverage area and the trajectory coverage area. Then, it is determined whether the calculated area overlap is greater than a preset overlap threshold.
[0071] If the area overlap is less than or equal to the preset overlap threshold, it means that the vector coverage area and the trajectory coverage area do not intersect. It can be considered that the vector to be processed and the trajectory of the data collection vehicle are unrelated, that is, the vector to be processed does not belong to the local vector corresponding to the trajectory of the data collection vehicle, so the vector to be processed can be removed.
[0072] If the area overlap is greater than the preset overlap threshold, it means that the vector coverage area and the trajectory coverage area intersect. It can be considered that the vector to be processed belongs to the local vector corresponding to the trajectory of the acquisition vehicle, and the vector to be processed can be retained.
[0073] It should be noted that, in the above embodiment of the threshold for the outward plane distance of the data collection vehicle trajectory, since the vector coverage area is the vector to be processed itself, the electronic device can calculate the spatial intersection relationship between the vector to be processed and the trajectory coverage area as the area overlap between the two. If there is a spatial intersection relationship, the area overlap is considered to be greater than the preset overlap threshold; conversely, if there is no spatial intersection relationship, the area overlap is considered to be less than or equal to the preset overlap threshold.
[0074] It should also be noted that if there are multiple vectors to be processed, the above S110 to S130 processes can be performed on each vector to complete the filtering of each vector.
[0075] This disclosure provides a map vector processing method, which includes: acquiring a data collection vehicle trajectory and a corresponding vector to be processed; determining the vector coverage area of the vector to be processed and the trajectory coverage area of the data collection vehicle trajectory based on a planar distance threshold; wherein the planar distance threshold is determined based on the data collection range and / or the map reconstruction range; if the area overlap between the vector coverage area and the trajectory coverage area is greater than a preset overlap threshold, the vector to be processed is retained. In this way, the planar distance threshold corresponding to the data collection vehicle trajectory and the map reconstruction range can be used to more accurately and quickly filter the local vectors to be processed involved in business requirements, avoiding the problem of excessive computation caused by directly calculating the point-to-line distances between each sampling point contained in the vector to be processed and the data collection vehicle trajectory, reducing redundant vectors in the subsequent vector matching and differencing process, thereby improving the efficiency of subsequent vector matching and differencing.
[0076] In some embodiments, considering that the precision of the vectors to be processed selected solely based on area overlap may not be sufficient to meet the needs of certain high-precision services, such as when only a portion of the vectors to be processed fall within the local range of the service requirements, then only that portion of the vectors needs to be included in subsequent calculations. However, the aforementioned method of retaining the vectors to be processed would involve the entire vector in subsequent calculations, which would also lead to some degree of redundant calculations. Therefore, to further improve the accuracy of vector selection, embodiments of this disclosure can further refine the filtering of sampling points contained in the selected vectors to be processed, based on the selection methods described in the above embodiments. Figure 3 As shown, the map vector processing method in this embodiment includes:
[0077] S310. Obtain the trajectory of the data collection vehicle and the corresponding vector to be processed.
[0078] S320. Based on the planar distance threshold, determine the vector coverage range of the vector to be processed and the trajectory coverage range of the acquisition vehicle trajectory.
[0079] S330. If the area overlap between the vector coverage area and the trajectory coverage area is greater than the preset overlap threshold, then the vector to be processed is retained.
[0080] S340. If it is determined that the point cloud sampling point corresponding to the vector to be processed falls within the trajectory envelope corresponding to the trajectory of the acquisition vehicle, then the point cloud sampling point is retained.
[0081] Point cloud sampling points are data collected using LiDAR, representing the vector data to be processed. The trajectory envelope is the envelope range corresponding to the trajectory of the data acquisition vehicle, which can be composed of multiple local envelopes. Each local envelope can be determined based on the line segment (called the trajectory line segment) formed by two adjacent trajectory points in the trajectory of the data acquisition vehicle and a planar distance threshold.
[0082] Specifically, since both the vector to be processed and the trajectory of the acquisition vehicle are stored as points rather than intuitive curves, this embodiment simplifies the curve-curve calculation relationship between the vector to be processed and the trajectory of the acquisition vehicle to a point-line calculation relationship between a point in the vector to be processed and a trajectory line segment formed by two adjacent points in the trajectory of the acquisition vehicle, in order to perform more refined vector filtering. That is, by calculating the vertical distance (which can be called the perpendicular distance) between each point cloud sampling point corresponding to the vector to be processed and the corresponding trajectory line segment of the acquisition vehicle, and by using the relationship between this perpendicular distance and a planar distance threshold, it can be determined whether the corresponding point cloud sampling point is within the local range corresponding to the trajectory of the acquisition vehicle.
[0083] like Figure 4As shown, the above judgment process can be intuitively understood as follows: for each trajectory segment formed by two adjacent trajectory points, a local envelope with a perpendicular relationship to the trajectory segment is constructed based on the planar distance threshold. If the point cloud sampling point falls within the local envelope, then the point cloud sampling point should be retained; conversely, if the point cloud sampling point does not fall within the local envelope, then the point cloud sampling point should be discarded.
[0084] However, when the angle between adjacent trajectory segments of the data acquisition vehicle is large, discontinuities in the adjacent local envelopes may occur. For example... Figure 4 As shown, envelope discontinuities 410, where the envelopes are not covered, appear between the first and second local envelopes, between the second and third local envelopes, and between the third and fourth local envelopes. In this case, if a point cloud sampling point happens to be located at the position corresponding to this corner, it may be impossible to determine the corresponding trajectory segment for that point cloud sampling point, making it impossible to calculate the perpendicular distance. Consequently, fine filtering of that point cloud sampling point is impossible, easily leading to the omission of such point cloud sampling points. For example... Figure 4 As shown, the sixth point cloud sampling point 420, which is located at the bend between the third and fourth local envelopes, is not within the local envelope corresponding to any trajectory line segment, but is in the envelope discontinuity region 410. Therefore, it is impossible to perform the processing logic of whether to retain the sixth point cloud sampling point 420, thus missing the sixth point cloud sampling point 420.
[0085] Based on the above, this embodiment constructs local envelopes corresponding to trajectory segments in the vehicle's trajectory, based on the concept of continuity between adjacent local envelopes. This results in a continuously continuous trajectory envelope, meaning there are no discontinuous regions between adjacent local envelopes. Consequently, each point cloud sampling point in the vector to be processed will not lack a corresponding trajectory segment, allowing for the execution of fine-tuning logic for each point cloud sampling point, thus ensuring the comprehensiveness and accuracy of the fine-tuning of the vector to be processed.
[0086] Based on the above, the electronic device can determine whether each point cloud sampling point in the vector to be processed falls within the local envelope of the corresponding trajectory line segment. If the determination result is yes, the point cloud sampling point can be retained; if the determination result is no, the point cloud sampling point is discarded. After such a processing flow, at least one point cloud sampling point that can be retained in the vector to be processed can be obtained.
[0087] It should be noted that for point-like vectors such as ground markings, traffic signs, and billboards that have been retained after area overlap filtering, the above method can also be used to determine whether to retain the point-like vectors.
[0088] In some embodiments, the electronic device can perform fine filtering of point cloud sampling points by calculating the mathematical expression of the trajectory envelope. That is, determining whether the point cloud sampling point corresponding to the vector to be processed falls within the trajectory envelope corresponding to the trajectory of the acquisition vehicle includes: for every two adjacent trajectory points in the trajectory of the acquisition vehicle, determining the envelope width based on a planar distance threshold, and generating a rectangular envelope with an envelope width that is parallel to the trajectory segment formed by the two adjacent trajectory points and centered on the trajectory segment; determining the envelope radius based on a planar distance threshold, and generating a semi-circular envelope with an envelope radius that is perpendicular to the trajectory segment at the target trajectory point among the two adjacent trajectory points; and determining whether the position of the point cloud sampling point is within the position range of the trajectory envelope.
[0089] Specifically, in this embodiment, the electronic device can generate a local envelope for each trajectory segment based on a planar distance threshold, and these local envelopes constitute the trajectory envelope of the acquisition vehicle trajectory. In order to obtain a trajectory envelope in which adjacent local envelopes are continuous, in this embodiment, based on each original rectangular local envelope (called a rectangular envelope), a new local envelope can be formed by expanding outward in any unidirectional direction along the trajectory trend by a semicircle with a radius equal to the planar distance threshold.
[0090] See Figure 5 For the first two adjacent trajectory points in the acquisition vehicle trajectory, the electronic device can perform the following local envelope construction process: On the one hand, the electronic device determines twice the planar distance threshold as the envelope width and the length of the trajectory line segment 510 constructed from the two adjacent trajectory points as the envelope length; then, with the trajectory line segment 510 as the center line and the aforementioned envelope width and envelope length as the side length, a rectangular envelope 520 parallel to the trajectory line segment 510 is generated; on the other hand, the electronic device determines the planar distance threshold as the envelope radius and, with one endpoint of the trajectory line segment 510 (i.e., the target trajectory point) as the center, a semi-circular envelope 530 convex to the rectangular envelope 520 is generated. Thus, the rectangular envelope 520 and the semi-circular envelope 530 constitute the local envelope of the two adjacent trajectory points corresponding to the trajectory line segment 510.
[0091] Following the above process, a corresponding local envelope can be generated for every two adjacent trajectory points, thus generating a trajectory envelope for the entire data acquisition vehicle trajectory.
[0092] It should be noted that during the generation of each local envelope, the target trajectory points are always selected from endpoints in the same direction. For example, if the first trajectory segment selects an endpoint in the direction away from the next trajectory segment as its center, then the endpoint in the direction away from the next trajectory segment will be selected as the center for each subsequent trajectory segment. Additionally, it is possible to generate only a semicircular envelope on one side of the rectangular envelope, or to generate semicircular envelopes on both sides of the rectangular envelope.
[0093] pass Figure 5 As can be seen, because the rectangular envelope and the semicircular envelope share a common edge, and the envelope width of the rectangular envelope is equal to the envelope diameter of the semicircular envelope, the semicircular envelope is tangent to the rectangular envelope of the previous trajectory segment. Thus, the semicircular envelope precisely covers the discontinuous area between adjacent rectangular envelopes, ensuring that the trajectory envelope of the data acquisition vehicle is continuous and smooth. In this case, the sixth point cloud sampling point 540, located at the bend between the third and fourth rectangular envelopes, will fall within the semicircular envelope of the fourth local envelope, thus preventing it from being missed. After the electronic device constructs the trajectory envelope, the location range covered by the trajectory envelope can be determined. At this point, for each point cloud sampling point, it can be directly determined whether its coordinate position is within the location range of the trajectory envelope. If the judgment result is yes, then it can be determined that the point cloud sampling point falls within the trajectory envelope corresponding to the trajectory of the data collection vehicle and should be retained; otherwise, if the judgment result is no, then it can be determined that the point cloud sampling point does not fall within the trajectory envelope corresponding to the trajectory of the data collection vehicle and should be removed.
[0094] In other embodiments, the electronic device can simplify the generation and subsequent judgment process of the complex mathematical expression of the trajectory envelope into a process of point-to-line distance and distance comparison. Therefore, the above determination of whether the point cloud sampling point corresponding to the vector to be processed falls within the trajectory envelope corresponding to the acquisition vehicle trajectory can be implemented as follows: for each point cloud sampling point, perform the following steps A to D: point-to-line distance calculation and distance comparison.
[0095] Step A: Determine the two adjacent trajectory points corresponding to the point cloud sampling points from the trajectory of the data collection vehicle.
[0096] Specifically, the electronic device can select the two adjacent trajectory points that are closest to the point cloud sampling point from multiple trajectory points. For example, the electronic device can first calculate the distance between the point cloud sampling point and each trajectory point. Then, it can sort these distances in ascending order and select the two distances that appear first in the sorted order. If there is a value in the sorted distance list that is equal to the two distances that appear first in the sorted order, then two adjacent distances can be randomly selected from these values. The trajectory points corresponding to these two selected distances can then be determined as the two adjacent trajectory points corresponding to the point cloud sampling point.
[0097] Step B: If the point cloud sampling point is within the vertical range of the trajectory segment formed by two adjacent trajectory points, then determine the vertical distance between the point cloud sampling point and the trajectory segment, and use it as the point-to-line distance between the point cloud sampling point and the trajectory of the collection vehicle.
[0098] Specifically, with Figure 5Taking the third point cloud sampling point 550 as an example, the electronic device can determine that its two adjacent trajectory points are the second and third trajectory points from top to bottom. Since the third point cloud sampling point 550 is located within the vertical range (i.e., the vertical range) of the trajectory line segment formed by the second and third trajectory points, the electronic device can calculate the perpendicular distance between the point cloud sampling point and the trajectory line segment formed by the second and third trajectory points, which is used as the point-to-line distance between the third point cloud sampling point 550 and the trajectory of the data collection vehicle.
[0099] Step C: If the point cloud sampling point is not within the vertical range, then based on the target trajectory point among two adjacent trajectory points, determine a substitute trajectory point from the trajectory of the data collection vehicle, and determine the perpendicular distance between the point cloud sampling point and the target straight line as the point-to-line distance.
[0100] The target straight line is determined based on the target trajectory point and the substitute trajectory point.
[0101] Specifically, with Figure 5 Taking the sixth point cloud sampling point 540 as an example, the electronic device can determine that its two adjacent trajectory points are the last two trajectory points from top to bottom. From Figure 5 As can be seen, the sixth point cloud sampling point 540 is not within the vertical range of the trajectory segment formed by the last two trajectory points. Therefore, the perpendicular distance between the sixth point cloud sampling point 540 and this trajectory segment cannot be directly calculated. In this case, given the aforementioned semi-circular envelope concept, the sixth point cloud sampling point 540 will fall within the semi-circular envelope. At this point, the electronic device can identify another adjacent trajectory point on the side where the target trajectory point / semi-circular envelope is located as a substitute trajectory point, and then re-identify the target trajectory point and the substitute trajectory point as two adjacent trajectory points corresponding to the point cloud sampling point. That is, the second-to-last trajectory point and the third-to-last trajectory point are re-identified as two adjacent trajectory points corresponding to the sixth point cloud sampling point 540. Then, the perpendicular distance between the sixth point cloud sampling point 540 and the trajectory segment or target straight line formed by the second-to-last and third-to-last trajectory points is calculated as the point-to-line distance between the sixth point cloud sampling point 540 and the trajectory of the data collection vehicle.
[0102] Step D: If the distance between the points and lines is less than or equal to the plane distance threshold, then the point cloud sampling points are determined to fall within the trajectory envelope.
[0103] Specifically, the electronic device compares the calculated point-to-line distance with the planar distance threshold. If the point-to-line distance is greater than the planar distance threshold, it indicates that the point cloud sampling point is not within the local range corresponding to the trajectory of the acquisition vehicle, and the point cloud sampling point is removed from the vector to be processed. If the point-to-line distance is less than or equal to the planar distance threshold, it indicates that the point cloud sampling point is within the local range corresponding to the trajectory of the acquisition vehicle, and the point cloud sampling point is retained.
[0104] By repeating steps A through D above, each point cloud sampling point in the vector to be processed can be finely filtered to obtain at least one retained point cloud sampling point.
[0105] S350. Generate the target vector based on the retained point cloud sampling points in the vector to be processed.
[0106] Specifically, after the above steps, at least one retained point cloud sampling point within the local range corresponding to the trajectory of the data acquisition vehicle in the vector to be processed can be obtained. The target vector required for the actual business can then be generated based on these retained point cloud sampling points. For example, the target vector can be obtained by truncating / correcting the vector to be processed based on the retained point cloud sampling points; or, a new vector can be directly constructed from the retained point cloud sampling points as the target vector.
[0107] In some embodiments, in addition to fine-filtering the point cloud sampling points from the dimension of the two-dimensional planar distance described above, other dimensions can be superimposed to finely filter the point cloud sampling points to further improve the filtering accuracy, thereby further reducing redundant vectors and further improving the accuracy of the target vector. In this embodiment, S350 includes: filtering each retained point cloud sampling point based on a preset dimension threshold, and generating a target vector based on the filtered point cloud sampling points.
[0108] The preset dimension threshold is a pre-set critical value in dimensions other than two-dimensional planar distance, used for filtering point cloud sampling points. In this embodiment, the preset dimension threshold includes at least one of a preset height threshold, a preset angle threshold, and a preset feature type. The preset height threshold is a critical value for the height of the point cloud sampling point above the ground, which can be determined based on positioning accuracy and / or the height range of overpasses; for example, it can be set to 3m. The preset angle threshold is a critical value for the angle between the vector to be processed and the trajectory of the data collection vehicle; for example, it can be set to 135 degrees to retain some intersection vectors. The preset feature type refers to a pre-set type of map feature that needs to be processed for map reconstruction.
[0109] Specifically, the electronic device can further filter the retained point cloud sampling points obtained above based on preset dimension thresholds. For example, when the preset dimension threshold is a preset height threshold, the electronic device can remove retained point cloud sampling points with elevation values greater than or equal to the preset height threshold, thereby removing point cloud sampling points in the overpass scene. When the preset dimension threshold is a preset angle threshold, the electronic device can construct a vector using the retained point cloud sampling points that still need to be filtered and the point cloud sampling points that have been determined to be used in the end, and calculate the angle between the constructed vector and the trajectory of the data collection vehicle; if the angle is greater than or equal to the preset angle threshold, the retained point cloud sampling point is removed, thereby removing point cloud sampling points on the opposite lane, etc. When the preset dimension threshold is a preset feature type, the electronic device can remove retained point cloud sampling points that do not belong to the preset feature type.
[0110] By using at least one of the methods described above, the retained point cloud sampling points can be filtered again to obtain more refined point cloud sampling points (referred to as filtered point cloud sampling points). Then, the filtered point cloud sampling points are used to generate the target vector corresponding to the vector to be processed.
[0111] The map vector processing method provided in the above embodiments of this disclosure can, on the basis of obtaining the vector to be processed by coarse filtering based on area overlap, further determine whether each point cloud sampling point in the vector to be processed is within the local range corresponding to the trajectory of the data collection vehicle by the relationship between the point cloud sampling points in the vector to be processed and the continuous trajectory envelope corresponding to the trajectory of the data collection vehicle. This completes the fine filtering processing of the point cloud sampling points contained in the vector to be processed. It realizes the replacement of the method of calculating all point-line distances to filter local vectors in related technologies by using a combination of coarse and fine filtering. This can not only greatly reduce the amount of calculation and improve the efficiency of vector filtering, but also further improve the accuracy of vector filtering and further reduce redundant vectors.
[0112] Figure 6 This is a flowchart illustrating a crowdsourced update processing method provided in an embodiment of this disclosure. This crowdsourced update processing method is applicable to scenarios where the accuracy of crowdsourced updates needs to be evaluated. The crowdsourced update accuracy refers to the degree of difference between the vector obtained when updating a high-precision map using crowdsourced data (which can be called a crowdsourced vector) and the vector corresponding to the changed information in the real world (i.e., current changes). This crowdsourced update processing method can be executed by a crowdsourced update processing device, which can be implemented using software and / or hardware and can be integrated into an electronic device with a certain computing power. This electronic device can be, for example, a mobile terminal with a certain computing power such as a laptop computer or mobile workstation, or a fixed terminal such as an in-vehicle device, desktop computer, or server.
[0113] like Figure 6As shown, the crowdsourcing update processing method provided in this embodiment may include:
[0114] S610: Acquire point cloud data, crowdsourced data, and collection vehicle trajectory of the target area collected synchronously.
[0115] Specifically, in order to improve the update efficiency of high-precision maps, crowdsourcing can be used to update high-precision maps. This crowdsourcing update method involves at least one user collecting map-related data (referred to as crowdsourced data) through sensors on their devices, uploading the collected data to a crowdsourcing update system, obtaining update vectors that have undergone current changes (referred to as crowdsourced update vectors), and integrating them with the old version of the map to ultimately obtain a new version of the high-precision map.
[0116] To ensure the accuracy of crowdsourced updates, the ground truth values corresponding to certain crowdsourced update vectors can be obtained to evaluate the accuracy of these vectors, thereby indirectly evaluating the data processing accuracy of the crowdsourced update system.
[0117] In this embodiment, to obtain more accurate ground truth, a high-precision LiDAR and sensors (such as vision sensors) required for crowdsourced data collection can be installed in the same data acquisition vehicle, and the LiDAR and vision sensors are configured for synchronous data acquisition. In this way, the operation of the LiDAR and vision sensors in the data acquisition vehicle can simultaneously acquire high-precision point cloud data and lower-precision crowdsourced data in a certain area (i.e., the target area). Simultaneously, to reduce redundant vectors in subsequent processing, the electronic equipment can simultaneously obtain the trajectory of the data acquisition vehicle.
[0118] S620. Generate new version vector library data corresponding to the target area based on point cloud data, and determine the high-precision updated vector that has changed in the target area based on the acquisition vehicle trajectory, the new version vector library data, the old version vector library data corresponding to the target area and the planar distance threshold, according to the map vector processing method described in any embodiment of this disclosure.
[0119] The new and old versions of the vector library data refer to the collections of map vectors from the new and old versions, respectively, which can be either the parent map data library or the map data product library. The planar distance threshold is determined based on the crowdsourced reconstruction range. This crowdsourced reconstruction range refers to the map reconstruction range achievable by the relevant algorithms in the crowdsourced update system, for example, 10m. High-precision update vectors refer to vectors in the high-precision map that exhibit current changes.
[0120] Specifically, the electronic device first generates a new version of the vector library data for the target area using point cloud data, following the high-precision map generation process. Then, using the map vector processing method described in any of the above embodiments of this disclosure, vector filtering and vector matching differential processing are performed on the new and old versions of the vector library data to obtain the high-precision updated vectors in the target area that have undergone current changes.
[0121] In some embodiments, S620 may be implemented as steps E and F as follows:
[0122] Step E: Based on the vehicle trajectory, the planar distance threshold, the new version of the vector library data, and the old version of the vector library data, generate the new version of the high-precision map vector and the old version of the high-precision map vector corresponding to the vehicle trajectory according to the map vector processing method described in any embodiment of this disclosure.
[0123] The new version of high-precision map vectors refers to a collection of high-precision map vectors from the latest version. The old version of high-precision map vectors refers to a collection of high-precision map vectors from the previous version.
[0124] Specifically, the electronic device performs vector filtering on the old version vector library data using the data collection vehicle trajectory and planar distance threshold according to the map vector processing method described in any of the above embodiments of this disclosure, and obtains the old version high-precision map vector in the local area corresponding to the data collection vehicle trajectory.
[0125] See Figure 7 (a) The electronic device can obtain an old high-precision map vector containing a certain road vector and its surrounding "Pole 1", "Pole 2", "Pole 3" and "Pole 4".
[0126] Similarly, the electronic device, according to the map vector processing method described in any of the above embodiments of this disclosure, uses the vehicle trajectory and planar distance threshold to perform vector filtering on the new version of the vector library data to obtain the new version of the high-precision map vector in the local area corresponding to the vehicle trajectory.
[0127] See Figure 7 (b) The electronic device can obtain a new high-precision map vector containing a certain road vector and its surrounding "pole 2", "pole 4" and "pole 5".
[0128] Step F: Perform vector matching between the new version of the high-precision map vector and the old version of the high-precision map vector to determine the high-precision update vector that has changed from the old version of the high-precision map vector.
[0129] Specifically, the electronic device performs vector matching differential processing on the vectors of the new version of the high-precision map and the old version of the high-precision map to obtain the updated high-precision vectors that have undergone current changes in the new version of the high-precision map. The processing method of this vector matching differential processing is not limited. For example, it can be a method of matching vectors one by one according to vector position and vector type, or a method of multi-dimensional and accurate matching according to the multi-dimensional attribute information of vectors, etc.
[0130] For example, electronic devices Figure 7 (a) shows the vector of the old version of the high-precision map and Figure 7 (b) The vectors of the new high-precision map shown are subjected to vector matching and differential processing to obtain the following: Figure 7 (c) shows the high-precision updated vector, in which "Pole 1" and "Pole 3" carry deletion tags, while "Pole 5" carries addition tags. The remaining road vectors, "Pole 2" and "Pole 4" can be left unprocessed or carry no-change tags.
[0131] S630. Determine the crowdsourced update vector that has changed in the target area based on crowdsourced data.
[0132] Specifically, the electronic device uses crowdsourced data to generate crowdsourced update vectors that show current changes in the target area, following the crowdsourced map generation process.
[0133] S640. Using the high-precision update vector as the true value, evaluate the accuracy of the crowdsourced update vector.
[0134] Specifically, the electronic device uses the high-precision update vector as the ground truth to evaluate the accuracy of the crowdsourced update vector. For example, it can compare and statistically analyze the differences between various dimensions in the high-precision update vector, such as vector position, vector attributes, and vector-carried tags, and evaluate the update accuracy of the crowdsourced update system based on the results of the difference statistics.
[0135] The crowdsourcing update processing method provided in this embodiment can use high-precision point cloud data collected synchronously with crowdsourcing data to generate high-precision update vectors that have undergone current changes relative to the old version of the high-precision map, and use them as the true value for the accuracy evaluation of the crowdsourcing update vectors corresponding to the crowdsourcing data. This avoids the problems of high manual cost, low efficiency and unstable accuracy in obtaining the true value of the evaluation caused by manually annotating the current change vectors in the crowdsourcing data, and improves the authenticity and accuracy of the evaluation true value, thereby improving the accuracy of the crowdsourcing update accuracy evaluation.
[0136] In some embodiments, step G in the above embodiments can be further refined to increase the accuracy of vector matching difference. (Refer to...) Figure 8 The crowdsourced update processing method specifically includes:
[0137] S810: Acquire point cloud data, crowdsourced data, and collection vehicle trajectory of the target area collected synchronously.
[0138] S820. Based on the vehicle trajectory, planar distance threshold, new version vector library data, and old version vector library data, generate new version high-precision map vectors corresponding to the vehicle trajectory according to the map vector processing method described in any embodiment of this disclosure.
[0139] S830. Use the new version of high-precision map vectors and the old version of high-precision map vectors to perform cross vector matching to generate new version reference vector pairs and old version reference vector pairs.
[0140] Specifically, the electronic device uses the vectors of the new version of the high-precision map as the reference data to perform vector matching on the number of old version high-precision maps, and can obtain a matching result containing at least one set of successfully matched vector pairs, which is called the new version reference vector pair.
[0141] Similarly, electronic devices use the old version of the high-precision map vectors as the reference data to perform vector matching on the new version of the high-precision map, and can obtain a matching result containing at least one set of successfully matched vector pairs, which is called the old version reference vector pair.
[0142] It should be noted that in the process of vector matching differential processing, for linear features such as lane lines, their corresponding vectors are still linear vectors. However, for areal features such as ground markings, traffic signs, and billboards, in order to improve matching accuracy, they need to be processed into areal vectors. For example, the vertex information of areal features can be used to construct the corresponding areal vectors.
[0143] Based on this, both the new and old versions of the reference vector pairs are vector matching processes based on the vectors corresponding to the actual geometric types of ground features (such as point, line, and area). Therefore, the successfully matched vector pairs in the new and old versions of the reference vector pairs can include at least one of point vector pairs, line vector pairs, and area vector pairs.
[0144] S840. If there is a common vector pair between the new version of the reference vector pair and the old version of the reference vector pair, then the common vector pair is determined as a matching vector pair.
[0145] Specifically, for a given vector, if there is only one identical vector pair in the new and old versions of the reference vector pair, for example, for the vector "new id1", there is only one vector pair in the new version of the reference vector pair identified as "new id1-old id2" and only one vector pair in the old version of the reference vector pair identified as "old id2-new id1", then the vector pair is an identical vector pair. It can be considered that the new and old vectors contained in the vector pair are completely matched, and the vector pair can be determined as a successfully matched vector pair (i.e., a matched vector pair).
[0146] S850. If there are multiple identical vector pairs in the new version of the reference vector pair and the old version of the reference vector pair, then the vector pairs whose area overlap satisfies the preset overlap condition are determined as the matching vector pairs.
[0147] Among them, the preset overlap condition is a pre-set condition related to the area overlap, such as a critical value of area overlap or a comparison result of area overlap.
[0148] Specifically, for linear vectors, after the filtering and selection processes described in the above embodiments, there can be at most one identical vector pair, so it can be processed according to S840. However, for planar vectors, since the vector filtering and selection process only considers the corresponding point information and ignores the planar information, after considering the planar information during the vector matching process and processing by the vector matching algorithm, there may be multiple identical vector pairs. That is, for a certain vector, if there are multiple identical vector pairs in the new version reference vector pair and the old version reference vector pair, for example, for the vector "new id1", the new version reference vector pair has vector pairs identified as "new id1-old id2" and "new id1-old id3", and the old version reference vector pair has vector pairs identified as "old id2-new id1" and "old id3-new id1", then the vector has multiple identical vector pairs, and the matching vector corresponding to the vector "new id1" cannot be directly determined.
[0149] At this point, further filtering can be performed based on the area overlap between the two vectors in each identical vector pair. For example, when the preset overlap condition is the comparison result of area overlap, the area overlap of the two identical vector pairs can be compared, and the identical vector pair with the larger area overlap can be determined as the matching vector pair for vector "new id1".
[0150] S860. In the new version of the high-precision map vector, the vector corresponding to the matching vector pair is marked as an unchanged vector, the vector that fails to match, exists in the new version of the high-precision map vector, and does not exist in the old version of the high-precision map vector is marked as a newly added vector, and the vector that fails to match, does not exist in the new version of the high-precision map vector, and exists in the old version of the high-precision map vector is marked as a deleted vector, and a high-precision update vector is generated.
[0151] Specifically, according to S830 and S840 above, it can be determined whether each vector in the new version of the high-precision map vector and the old version of the high-precision map vector has a successfully matched high-precision vector. If so, the high-precision vector is considered unchanged. If not, when a vector in the new version of the high-precision map vector has no matching vector, it is considered a newly added vector, and when a vector in the old version of the high-precision map vector has no matching vector, it is considered a deleted vector. In this way, the high-precision updated vector can be obtained.
[0152] S870. Determine the crowdsourced update vector that has changed in the target area based on crowdsourced data.
[0153] S880: Using the high-precision update vector as the truth value, the accuracy of the crowdsourced update vector is evaluated.
[0154] Figure 9 This is a schematic diagram of a map vector processing device provided in an embodiment of the present disclosure. The device can be implemented in software and / or hardware and can be integrated into any electronic device with a certain computing power.
[0155] like Figure 9 As shown, the map vector processing apparatus 900 provided in this embodiment may include:
[0156] Data acquisition module 910 is used to acquire the trajectory of the data acquisition vehicle and the corresponding vector to be processed.
[0157] The coverage determination module 920 is used to determine the vector coverage of the vector to be processed and the trajectory coverage of the acquisition vehicle based on a planar distance threshold; wherein, the planar distance threshold is determined based on the data acquisition range and / or the map reconstruction range;
[0158] The vector processing module 930 is used to retain the vector to be processed if the area overlap between the vector coverage area and the trajectory coverage area is greater than a preset overlap threshold.
[0159] In some embodiments, the map vector processing apparatus 900 further includes a target vector determination module, which includes:
[0160] The point cloud sampling point filtering submodule is used to retain the vector to be processed if the area overlap between the vector coverage area and the trajectory coverage area is greater than a preset overlap threshold. If it is determined that the point cloud sampling point corresponding to the vector to be processed falls within the trajectory envelope corresponding to the trajectory of the acquisition vehicle, the point cloud sampling point is retained. Among them, the adjacent local envelopes in the trajectory envelope are continuous, and the local envelope is the envelope corresponding to two adjacent trajectory points determined based on the planar distance threshold.
[0161] The target vector determination submodule is used to generate a target vector based on each retained point cloud sampling point in the vector to be processed.
[0162] In one example, the point cloud sampling point filtering submodule is specifically used for:
[0163] For each pair of adjacent trajectory points in the data acquisition vehicle trajectory, the envelope width is determined based on a planar distance threshold, and a rectangular envelope with an envelope width is generated that is parallel to the trajectory segment formed by the two adjacent trajectory points and centered on the trajectory segment. The envelope radius is determined based on a planar distance threshold, and a semi-circular envelope with an envelope radius that is perpendicular to the trajectory segment is generated at the target trajectory point in the two adjacent trajectory points. The rectangular envelope and the semi-circular envelope constitute the local envelope of the two adjacent trajectory points, and each local envelope constitutes the trajectory envelope.
[0164] Determine whether the location of the point cloud sampling point is within the location range of the trajectory envelope.
[0165] In another example, the point cloud sampling point filtering submodule is specifically used for:
[0166] Determine two adjacent trajectory points corresponding to point cloud sampling points from the trajectory of the data collection vehicle;
[0167] If a point cloud sampling point is located within the vertical range of a trajectory segment formed by two adjacent trajectory points, then the vertical distance between the point cloud sampling point and the trajectory segment is determined as the point-to-line distance between the point cloud sampling point and the trajectory of the data collection vehicle.
[0168] If the point cloud sampling point is not within the vertical range, a substitute trajectory point is determined from the trajectory of the data collection vehicle based on the target trajectory point among two adjacent trajectory points, and the perpendicular distance between the point cloud sampling point and the target straight line is determined as the point-to-line distance; wherein, the target straight line is determined based on the target trajectory point and the substitute trajectory point;
[0169] If the distance between the points and lines is less than or equal to the plane distance threshold, then the point cloud sampling points are determined to fall within the trajectory envelope.
[0170] In some embodiments, the target vector determination submodule is specifically used for:
[0171] The retained point cloud sampling points are filtered based on a preset dimension threshold, and a target vector is generated based on the filtered point cloud sampling points; wherein, the preset dimension threshold includes at least one of a preset height threshold, a preset included angle threshold, and a preset feature type.
[0172] In some embodiments, the coverage determination module 920 is specifically used for:
[0173] Determine the bounding range of the vector to be processed and the bounding range of the trajectory of the data acquisition vehicle;
[0174] Based on the planar distance threshold, the vector enclosure range and the trajectory enclosure range are expanded outward to obtain the vector coverage range and the trajectory coverage range, respectively.
[0175] The map vector processing apparatus provided in this disclosure can execute the map vector processing method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects for executing the method. Content not described in detail in the apparatus embodiments of this disclosure can be referred to the description in any method embodiment of this disclosure.
[0176] Figure 10 This is a schematic diagram of a crowdsourcing update processing device provided in an embodiment of the present disclosure. The device can be implemented in software and / or hardware and can be integrated into any electronic device with a certain computing power.
[0177] like Figure 10 As shown, the crowdsourcing update processing device 1000 provided in this embodiment may include:
[0178] The synchronous acquisition module 1010 is used to acquire point cloud data, crowdsourced data, and the trajectory of the acquisition vehicle in the target area for synchronous acquisition.
[0179] The high-precision updated vector determination module 1020 is used to generate new version vector library data corresponding to the target area based on point cloud data, and determine the high-precision updated vector that has changed in the target area based on the acquisition vehicle trajectory, the new version vector library data, the old version vector library data corresponding to the target area, and the planar distance threshold, according to the map vector processing method described in any embodiment of this disclosure; wherein, the planar distance threshold is determined based on the crowdsourced reconstruction range;
[0180] Crowdsourced update vector determination module 1030 is used to determine the changed crowdsourced update vector in the target area based on crowdsourced data;
[0181] The crowdsourced update evaluation module 1040 is used to evaluate the accuracy of the crowdsourced update vector using the high-precision update vector as the truth value.
[0182] In some embodiments, the high-precision update vector determination module 1020 includes:
[0183] The high-precision map vector generation submodule is used to generate new high-precision map vectors and old high-precision map vectors corresponding to the data collection vehicle trajectory based on the data collection vehicle trajectory, planar distance threshold, new version vector library data and old version vector library data, according to the map vector processing method described in any embodiment of this disclosure;
[0184] The high-precision update vector determination submodule is used to perform vector matching between the new version of the high-precision map vector and the old version of the high-precision map vector to determine the high-precision update vector that has changed from the old version of the high-precision map vector.
[0185] Furthermore, the high-precision update vector determination submodule is specifically used for:
[0186] Cross-vector matching is performed using the vectors of the new version of the high-precision map and the vectors of the old version of the high-precision map to generate new and old reference vector pairs;
[0187] If there is a common vector pair between the new and old versions of the reference vector pair, then the common vector pair is identified as a matching vector pair.
[0188] If there are multiple identical vector pairs in the new version of the reference vector pair and the old version of the reference vector pair, then the vector pairs whose area overlap meets the preset overlap condition will be determined as the matching vector pairs.
[0189] In the new version of the high-precision map vector, the vectors corresponding to the matching vector pairs are marked as unchanged vectors. Vectors that fail to match, exist in the new version of the high-precision map vector, but do not exist in the old version of the high-precision map vector are marked as newly added vectors. Vectors that fail to match, do not exist in the new version of the high-precision map vector, but exist in the old version of the high-precision map vector are marked as deleted vectors, and high-precision update vectors are generated.
[0190] The crowdsourcing update processing apparatus provided in this disclosure can execute the crowdsourcing update processing method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects for executing the method. Content not described in detail in the apparatus embodiments of this disclosure can be referred to the description in any of the above method embodiments of this disclosure.
[0191] Figure 11 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 the map vector processing method or crowdsourcing update processing method in any embodiment of the present disclosure, and should not be construed as a specific limitation on the embodiments of the present disclosure.
[0192] like Figure 11 As shown, electronic device 1100 may include a processor (e.g., central processing unit, graphics processor, etc.) 1101, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1102 or a program loaded from storage device 1108 into random access memory (RAM) 1103. RAM 1103 also stores various programs and data required for the operation of electronic device 1100. Processor 1101, ROM 1102, and RAM 1103 are interconnected via bus 1104. Input / output (I / O) interface 1105 is also connected to bus 1104.
[0193] Typically, the following devices can be connected to I / O interface 1105: input devices 1106 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 1107 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1108 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1109. Communication device 1109 allows electronic device 1100 to communicate wirelessly or wiredly with other devices to exchange data. Although an electronic device 1100 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.
[0194] 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 map vector processing method or crowdsourcing update processing method provided in any of the embodiments of this disclosure. In such embodiments, the computer program can be downloaded and installed from a network via communication device 1109, or installed from storage device 1108, or installed from ROM 1102. When the computer program is executed by processor 1101, it can perform the functions defined in the map vector processing method or crowdsourcing update processing method provided in any embodiment of this disclosure.
[0195] 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.
[0196] 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.
[0197] 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.
[0198] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the map vector processing method or crowdsourcing update processing method provided in any embodiment of this disclosure.
[0199] 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).
[0200] The flowcharts and block 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 a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions 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 block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, 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.
[0201] 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.
[0202] 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.
[0203] In the context of this disclosure, a computer-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of computer-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, 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 devices, magnetic storage devices, or any suitable combination of the foregoing.
[0204] 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.
[0205] 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.
[0206] 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 map vector processing method, characterized in that, include: Obtain the trajectory of the data collection vehicle and the corresponding vector to be processed; Determine the vector bounding range of the vector to be processed and the trajectory bounding range of the acquisition vehicle trajectory; Based on a planar distance threshold, the vector enclosure range and the trajectory enclosure range are expanded outward to obtain the vector coverage range and the trajectory coverage range, respectively; wherein, the planar distance threshold is determined based on the data acquisition range and / or the map reconstruction range; If the area overlap between the vector coverage area and the trajectory coverage area is greater than a preset overlap threshold, then the vector to be processed is retained.
2. The method according to claim 1, wherein, If the area overlap between the vector coverage area and the trajectory coverage area is greater than a preset overlap threshold, then after retaining the vector to be processed, the method further includes: If it is determined that the point cloud sampling point corresponding to the vector to be processed falls within the trajectory envelope corresponding to the trajectory of the acquisition vehicle, then the point cloud sampling point is retained; wherein, adjacent local envelopes in the trajectory envelope are continuous, and the local envelope is the envelope corresponding to two adjacent trajectory points determined based on the planar distance threshold; A target vector is generated based on each of the retained point cloud sampling points in the vector to be processed.
3. The method according to claim 2, wherein, Determining whether the point cloud sampling point corresponding to the vector to be processed falls within the trajectory envelope corresponding to the trajectory of the acquisition vehicle includes: For every two adjacent trajectory points in the data collection vehicle trajectory, the envelope width is determined based on the planar distance threshold, and a rectangular envelope with the envelope width is generated that is parallel to the trajectory segment formed by the two adjacent trajectory points, with the trajectory segment as the center line. The envelope radius is also determined based on the planar distance threshold, and a semi-circular envelope with the envelope radius is generated at the target trajectory point among the two adjacent trajectory points that is perpendicular to the trajectory segment. The rectangular envelope and the semi-circular envelope constitute the local envelope of the two adjacent trajectory points, and each local envelope constitutes the trajectory envelope. Determine whether the location of the point cloud sampling point is within the location range of the trajectory envelope.
4. The method according to claim 2, wherein, Determining whether the point cloud sampling point corresponding to the vector to be processed falls within the trajectory envelope corresponding to the trajectory of the acquisition vehicle includes: Determine two adjacent trajectory points corresponding to the point cloud sampling points from the trajectory of the data collection vehicle; If the point cloud sampling point is within the vertical range of the trajectory segment formed by the two adjacent trajectory points, then the vertical distance between the point cloud sampling point and the trajectory segment is determined as the point-to-line distance between the point cloud sampling point and the trajectory of the collection vehicle. If the point cloud sampling point is not within the vertical range, then based on the target trajectory point among the two adjacent trajectory points, a substitute trajectory point is determined from the trajectory of the data collection vehicle, and the perpendicular distance between the point cloud sampling point and the target straight line is determined as the point-to-line distance; wherein, the target straight line is determined based on the target trajectory point and the substitute trajectory point; If the distance between the points and lines is less than or equal to the plane distance threshold, then it is determined that the point cloud sampling point falls within the trajectory envelope.
5. The method according to any one of claims 2 to 4, wherein, The process of generating a target vector based on each retained point cloud sampling point in the vector to be processed includes: The retained point cloud sampling points are filtered based on a preset dimension threshold, and the target vector is generated based on the filtered point cloud sampling points; wherein, the preset dimension threshold includes at least one of a preset height threshold, a preset included angle threshold, and a preset feature type.
6. A crowdsourced update processing method, characterized in that, include: Acquire point cloud data, crowdsourced data, and data collection vehicle trajectory of the target area simultaneously; Based on the point cloud data, a new version of vector library data corresponding to the target area is generated. Based on the data collection vehicle trajectory, the new version of vector library data, the old version of vector library data corresponding to the target area, and a planar distance threshold, the high-precision updated vector that has changed in the target area is determined according to the map vector processing method as described in any one of claims 1 to 5; wherein, the planar distance threshold is determined based on the crowdsourced reconstruction range. Based on the crowdsourced data, determine the crowdsourced update vector that has changed in the target area; The accuracy of the crowdsourced update vector is evaluated using the high-precision update vector as the truth value.
7. The method according to claim 6, wherein, The step of generating new vector library data corresponding to the target area based on the point cloud data, and determining the high-precision updated vectors that have changed in the target area based on the acquisition vehicle trajectory, the new vector library data, the old vector library data corresponding to the target area, and the planar distance threshold, according to the map vector processing method as described in any one of claims 1 to 5, includes: Based on the data collection vehicle trajectory, the planar distance threshold, the new version vector library data, and the old version vector library data, the new version high-precision map vector and the old version high-precision map vector corresponding to the data collection vehicle trajectory are generated respectively according to the map vector processing method as described in any one of claims 1 to 5. Vector matching is performed on the new high-precision map vector and the old high-precision map vector to determine the high-precision update vector in which the new high-precision map vector has changed relative to the old high-precision map vector.
8. The method according to claim 7, wherein, The step of performing vector matching between the new high-precision map vector and the old high-precision map vector to determine the high-precision update vector in which the new high-precision map vector has changed relative to the old high-precision map vector includes: Cross-vector matching is performed using the new version of the high-precision map vectors and the old version of the high-precision map vectors to generate new version reference vector pairs and old version reference vector pairs; If there is a common vector pair between the new version of the reference vector pair and the old version of the reference vector pair, then the common vector pair is determined as a matching vector pair; If there are multiple identical vector pairs in the new version of the reference vector pair and the old version of the reference vector pair, then the vector pairs whose area overlap satisfies the preset overlap condition are determined as the matching vector pairs. In the new version of the high-precision map vector, the vector corresponding to the matching vector pair is marked as an unchanged vector, the vector that fails to match, exists in the new version of the high-precision map vector, and does not exist in the old version of the high-precision map vector is marked as a newly added vector, and the vector that fails to match, does not exist in the new version of the high-precision map vector, and exists in the old version of the high-precision map vector is marked as a deleted vector, thus generating the high-precision update vector.
9. A map vector processing device, characterized in that, include: The data acquisition module is used to acquire the trajectory of the data collection vehicle and the vector to be processed corresponding to the trajectory of the data collection vehicle; The coverage area determination module is used to determine the vector enclosure range of the vector to be processed and the trajectory enclosure range of the acquisition vehicle trajectory, and expand the vector enclosure range and the trajectory enclosure range outward based on a planar distance threshold to obtain the vector coverage area and the trajectory coverage area; wherein, the planar distance threshold is determined based on the data acquisition range and / or the map reconstruction range; The vector processing module is used to retain the vector to be processed if the area overlap between the vector coverage area and the trajectory coverage area is greater than a preset overlap threshold.
10. A crowdsourced update processing device, characterized in that, include: The synchronous acquisition module is used to acquire point cloud data, crowdsourced data, and the trajectory of the acquisition vehicle in the target area for synchronous acquisition; A high-precision updated vector determination module is used to generate new version vector library data corresponding to the target area based on the point cloud data, and determine the high-precision updated vector that has changed in the target area based on the acquisition vehicle trajectory, the new version vector library data, the old version vector library data corresponding to the target area, and a planar distance threshold, according to the map vector processing method as described in any one of claims 1 to 5; wherein, the planar distance threshold is determined based on the crowdsourced reconstruction range; A crowdsourced update vector determination module is used to determine the changed crowdsourced update vector in the target area based on the crowdsourced data; The crowdsourced update evaluation module is used to evaluate the accuracy of the crowdsourced update vector using the high-precision update vector as the truth value.
11. An electronic device, characterized in that, include: A memory and a processor, wherein the memory is used to store executable instructions of the processor; The processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the map vector processing method as described in any one of claims 1 to 5 or the crowdsourcing update processing method as described in any one of claims 6 to 8.
12. A computer program product, characterized in that, The computer program product is used to execute the map vector processing method according to any one of claims 1 to 5 or the crowdsourced update processing method according to any one of claims 6 to 8.
Citation Information
Patent Citations
Road update method
CN105241465A
Vector data updating range determination method and device, electronic equipment and storage medium
CN114528305A