Vector map data smoothing processing method, device, equipment and storage medium
Through the vector map data smoothing processing method, jump points are automatically identified and processed and vector point coordinates are adjusted, which solves the problems of unsmoothing and folding angles of high-precision map data, and improves processing efficiency and data quality.
Patent Information
- Application Number
- CN202410675433.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-28
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-05-28
AI Technical Summary
High-precision maps may experience data non-smoothing and folding problems during data processing and compilation. The existing technology relies on manual identification and repair, which is inefficient and prone to errors.
A data smoothing processing method for vector maps is proposed. By determining the vertex in the vector line as a jump point, calculating the jump distance and smoothing distance, and adjusting the vector point coordinates on the side of the jump point to restore the smoothness of the geometric curve. .
The automatic smoothing processing of geometric curves in vector maps is realized, which improves efficiency, reduces manual workload, and significantly improves the continuity and smoothness of data.
Smart Images

Figure CN118396884B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, and in particular to a method, device, electronic device, and storage medium for smoothing data of a vector map. Background Art
[0002] High-precision maps play a crucial role in intelligent driving applications. They not only provide key information for autonomous driving systems' intelligent algorithms, such as positioning, perception, and planning and control, but also render and display them in the intelligent cockpit system's interactive interface with the user's HMI (Human-Machine Interface), providing users with intuitive and easy-to-understand information about the driving environment.
[0003] High-precision maps (HD maps) are vector maps that provide detailed data on roads, lanes, and lane markings down to the centimeter level, helping autonomous driving systems achieve precise positioning, perception, and planning control. However, HD maps can encounter challenges during data processing and compilation, such as data non-smoothing and corner folding.
[0004] In the related art, the uneven corner positions are generally identified and repaired manually. The manual repair method is not only inefficient but also prone to errors. Summary of the Invention
[0005] The present disclosure proposes a data smoothing processing method, device, electronic device and storage medium for a vector map, aiming to solve one of the technical problems in the related art at least to a certain extent.
[0006] The first embodiment of the present disclosure provides a data smoothing method for a vector map, comprising:
[0007] In response to determining that any inflection point in a vector line is a jump point, determining a jump distance corresponding to the jump point, wherein the vector line is located in a vector map;
[0008] Determining a smoothing distance according to the jump distance and a preset smoothing coefficient;
[0009] Based on the smoothing distance, the coordinates of at least one vector point on the first side of the jump point are adjusted, wherein the index value of the vector point on the first side of the jump point is smaller than the index value of the jump point.
[0010] A second embodiment of the present disclosure provides a data smoothing processing device for a vector map, comprising:
[0011] a first determining module, configured to determine a jump distance corresponding to a jump point in response to determining that any inflection point in a vector line is a jump point, wherein the vector line is located in a vector map;
[0012] A second determining module is used to determine a smoothing distance according to the jump distance and a preset smoothing coefficient;
[0013] An adjustment module is configured to adjust the coordinates of at least one vector point on a first side of the jump point based on the smoothing distance, wherein the index value of the vector point on the first side of the jump point is smaller than the index value of the jump point.
[0014] An embodiment of the third aspect of the present disclosure proposes an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the data smoothing processing method of the vector map of the embodiment of the present disclosure.
[0015] The fourth aspect of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to execute the vector map data smoothing processing method disclosed in the embodiment of the present disclosure.
[0016] In the disclosed embodiment, the device, in response to identifying any inflection point in a vector line as a jump point, determines the jump distance corresponding to the jump point, where the vector line is located in a vector map. The smoothing distance is then determined based on the jump distance and a preset smoothing coefficient. The coordinates of at least one vector point on a first side of the jump point are then adjusted based on the smoothing distance. This effectively restores the smoothness of geometric curves in the vector map, automates discovery and processing, improves efficiency, and significantly reduces manual workload.
[0017] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure, in which:
[0019] Figure 1 1 is a flow chart of a method for smoothing vector map data according to the first embodiment of the present disclosure;
[0020] Figure 2 is a vector line schematic diagram including a jump point provided according to an embodiment of the present disclosure;
[0021] Figure 3 2 is a flow chart of a method for smoothing vector map data according to a second embodiment of the present disclosure;
[0022] Figure 4 3 is a flow chart of a method for smoothing vector map data according to a third embodiment of the present disclosure;
[0023] Figure 5 is a schematic diagram of a predecessor curve provided according to an embodiment of the present disclosure;
[0024] Figure 6 is a schematic diagram of a data smoothing processing device for a vector map according to an embodiment of the present disclosure;
[0025] Figure 7 It is a block diagram of an electronic device used to implement the data smoothing processing method of a vector map according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0026] Some embodiments of the present disclosure will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. Various changes, modifications and equivalents of the methods, devices and / or systems described herein will become apparent after understanding the present disclosure. For example, the order of operations described herein is merely an example and is not limited to those orders set forth herein, but may be changed as becomes apparent after understanding the present disclosure, except for operations that must be performed in a specific order. In addition, for the sake of clarity and brevity, descriptions of features known in the art may be omitted.
[0027] The embodiments described in the following examples of the present disclosure do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0028] Several application scenarios of the embodiments of the present disclosure are described below.
[0029] When collecting HD map data, different collection equipment, different collection times, or different collection environments can lead to differences in data quality. Especially at the boundaries of adjacent areas, changes in collection conditions can cause discontinuity or uneven data.
[0030] During the processing of map data, if adjacent areas use different absolute position reference points, mismatches may occur when merging these data, resulting in data jumps at the boundaries.
[0031] In addition, various algorithms and calculation parameters may be used during data processing and compilation. If different calculation parameters are used for adjacent regions, data discontinuities or unevenness may occur at the boundaries between these regions.
[0032] In related technologies, judgment and processing are performed through specific vehicle-side software, but the compatibility solution of the vehicle-side software can only process data with a small deformation amplitude, while positions with a large deformation amplitude cannot be accurately processed.
[0033] The data smoothing processing method for vector maps proposed in the embodiment of the present disclosure can be used for smooth repair of data in high-precision maps, which can restore the smoothness of geometric curves to a great extent and enhance the functional experience of intelligent driving.
[0034] It should be noted that the executor of the data smoothing processing method of the vector map of this embodiment can be a data smoothing processing device of the vector map, which can be implemented by software and / or hardware. The executor of the image processing method of the embodiment of the present disclosure can be any type of electronic device, such as a mobile phone, a notebook, a desktop computer, a vehicle-mounted terminal, a wearable device, etc., or it can also be a server, which is not limited here.
[0035] Figure 1 FIG. 1 is a flow chart of a method for smoothing vector map data according to the first embodiment of the present disclosure. Figure 1 As shown, the method includes:
[0036] S101: In response to determining that any inflection point in a vector line is a jump point, determining a jump distance corresponding to the jump point, wherein the vector line is located in a vector map.
[0037] The vector map may be a vector map of any geographical area, or a comprehensive vector map composed of vector maps of multiple geographical areas. The vector map may include one layer or multiple layers.
[0038] The vector line may be a curve with a direction. In the embodiment of the present disclosure, traffic lines such as roads, lanes, lane lines, etc. may be represented in the vector map in the form of vector lines.
[0039] Any inflection point can be any corner point in the vector line.
[0040] The jump point may be any inflection point that satisfies a preset jump condition.
[0041] like Figure 2 As shown, in the vector line S2, B1 is the starting point of the vector line S2, that is, the moving direction of the path on the vector line S2 is B1→B2→B3→B4→B5→B6→B7.
[0042] Among them, the original forward direction corresponding to B4 is the direction from vector point B3 to B4. Figure 2L1 is the extension line from vector point B3 to B4. The current direction of B4 is from vector point B4 to B5. Figure 2 Where L2 is the line segment from vector point B4 to B5. L3 is the extension of the line segment from vector point B4 to B5. L4 is the line segment from vector point B5 to B6.
[0043] The angle between L1 and L2 is ∠a1, and the angle between L3 and L4 is ∠a2. The angle between L1 and L2 is denoted as ∠a3. If both ∠a1 and ∠a2 are greater than a first preset threshold, and ∠a3 is less than a second preset threshold, then B5 meets the preset transition condition and can be used as the transition point in vector line S2.
[0044] The first threshold and the second threshold can be set according to actual experience, and the present disclosure does not limit them. The first threshold and the second threshold can be the same or different.
[0045] As a possible implementation manner, the value range of the first threshold and the second threshold may be (0°, 90°), which is not limited here.
[0046] The jump distance may be a deviation distance of a vector point in the forward direction of the original line segment.
[0047] like Figure 2 As shown, any inflection point A5 is a fixed jumping point on vector line S1, and the direction from vector point A3 to A4 is the forward direction of the original line segment. The line between vector points A3 and A4 is called the first line. A perpendicular line can be drawn from A5 to the first line, with the foot of the perpendicular being point P.
[0048] The distance from the jump point A5 to the first straight line is the distance that the vector point deviates from the original moving direction. The length of the line segment between point P and the jump point A5 can be used as the jump distance.
[0049] S102: Determine a smoothing distance according to the jump distance and a preset smoothing coefficient.
[0050] The smoothing coefficient is a key factor that determines the smoothing distance. The value of the smoothing coefficient can be set based on experience and is not limited here. As a possible implementation, the smoothing coefficient can be a value greater than 1, such as 3, 4, etc., which is not limited here.
[0051] The smoothing distance is used to reduce the volatility of the vector line, making the vector line smooth and stable, and achieving smooth restoration of the curve transition properties. In the embodiment of the present disclosure, the size of the smoothing distance can be calculated from the jump distance and the smoothing coefficient.
[0052] Optionally, you can multiply the jump distance and the smoothing coefficient to calculate the smoothing distance, which can be calculated by referring to the following formula:
[0053] smooth_length=jump_distance*smooth_scale.
[0054] Among them, smooth_length refers to the smoothing distance, jump_distance refers to the jump distance, and smooth_scale refers to the smoothing coefficient.
[0055] S103: Adjust the coordinates of at least one vector point on the first side of the jump point based on the smoothing distance, wherein the index value of the vector point on the first side of the jump point is smaller than the index value of the jump point.
[0056] The index value refers to a value used to uniquely identify and locate the position of each vector point in the vector line. It can be an integer, starting from the starting point of the vector line (starting vector point), and increasing or decreasing in sequence.
[0057] Optionally, in the embodiment of the present disclosure, the index value of each vector point may be increased in sequence starting from the starting point of the vector line.
[0058] The index value uniquely identifies each vector point in a vector line, significantly improving operational efficiency. Using the index value, you can quickly locate a specific vector point in a vector line, thereby retrieving or modifying the data item at that location. In the disclosed embodiments, the index value can represent the relative position or order of each vector point in a sequence. For example, vector points with smaller index values are placed first, while vector points with larger index values are placed last. This is not a limitation.
[0059] like Figure 2 As shown in the figure, for vector line S1, the index values corresponding to vector points A1, A2, A3, A4, A5, A6, and A7 are 1, 2, 3, 4, 5, 6, and 7, respectively. Among them, the index value corresponding to vector point A1 is 1, indicating that A1 is the starting point of vector line S1, that is, the path direction on vector line S1 is A1→A2→A3→A4→A5→A6→A7. There are many more vector points in vector line S1, which are not listed here one by one.
[0060] In the embodiment of the present disclosure, the first side may be the rear side of the transition point. The index values of the vector points behind the transition point are smaller than the index value of the transition point, indicating that the vector points on the first side are arranged after the transition point. The index values of the vector points in front of the transition point are larger than the index value of the transition point.
[0061] When A5 is a jump point in vector line S1, since the index values corresponding to A1, A2, A3, and A4 are 1, 2, 3, and 4, respectively, which are smaller than the index value "5" corresponding to A5, it means that A1, A2, A3, and A4 are located on the first side of jump point A5 in vector line S1.
[0062] As a possible implementation method, in the disclosed embodiment, the coordinate adjustment amount for each vector point on the first side of the transition point can be calculated based on the smoothed distance in descending order of index value. The coordinates of each vector point can then be adjusted based on the corresponding coordinate adjustment amount.
[0063] Furthermore, during the sequential calculation process, if it is determined that the coordinate adjustment amount of any vector point is zero, the calculation can be terminated, and the vector line is smoothed.
[0064] In the disclosed embodiment, the device, in response to identifying any inflection point in a vector line as a jump point, determines the jump distance corresponding to the jump point, where the vector line is located in a vector map. The smoothing distance is then determined based on the jump distance and a preset smoothing coefficient. The coordinates of at least one vector point on a first side of the jump point are then adjusted based on the smoothing distance. This effectively restores the smoothness of geometric curves in the vector map, automates discovery and processing, improves efficiency, and significantly reduces manual workload.
[0065] Figure 3 FIG. 1 is a flow chart of a method for smoothing vector map data according to the second embodiment of the present disclosure. Figure 3 As shown, the method includes:
[0066] S201: In response to determining that any inflection point in a vector line is a jump point, a first straight line is determined according to a first vector point and a second vector point on a first side of the jump point, wherein the first vector point and the second vector point are adjacent, and the first vector point and the jump point are adjacent.
[0067] like Figure 2 As shown, on the vector line S1, if any inflection point A5 is determined to be a jumping point, since A4 and A3 are located on the first side of the jumping point A5, and A4 and A3 are adjacent, A4 and A5 are adjacent, the vector point A4 can be used as the first vector point and the vector point A3 can be used as the second vector point.
[0068] Among them, the straight line where the first vector point and the second vector point are located is also the straight line where A4 and A3 are located.
[0069] Specifically, the straight line where the first vector point and the second vector point are located can be used as the first straight line.
[0070] like Figure 2As shown, the straight line where A4 and A3 are located can be used as the first straight line.
[0071] S202: Determine the projection distance of the jump point on the first straight line, and use the projection distance as the jump distance corresponding to the jump point.
[0072] The projection distance may be the distance between the jump point and the first straight line. Specifically, a perpendicular line may be drawn from the jump point to the first straight line, and then the perpendicular line segment may be used as the projection distance.
[0073] For example, if Figure 2 As shown in the figure, if A5 is the transition point, a perpendicular line is drawn from A5 to the first line, with the foot of the perpendicular being point P. Point P is then the projection of the transition point on the first line. The length of the line segment between transition point A5 and point P is the projection distance corresponding to the transition point. Furthermore, the projection distance can be used as the transition distance corresponding to the transition point, that is, the length of the line segment between transition point A5 and point P.
[0074] S203: Determine a smoothing distance according to the jump distance and a preset smoothing coefficient.
[0075] It should be noted that the specific implementation of step S203 can refer to the above embodiment and will not be described in detail here.
[0076] S204: Based on the smoothing distance, with the jump point as the starting point, the coordinate adjustment amount corresponding to each vector point on the first side of the jump point is calculated in sequence.
[0077] The coordinate adjustment amount includes a horizontal coordinate adjustment amount and a vertical coordinate adjustment amount.
[0078] Optionally, when calculating the coordinate adjustment amount corresponding to each vector point, you can first determine the path length between any vector point on the first side of the jump point and the jump point, and then determine the adjustment coefficient corresponding to any vector point based on the path length and the smoothing distance. Finally, calculate the coordinate adjustment amount corresponding to any vector point based on the horizontal coordinate change value, vertical coordinate change value and adjustment coefficient of the jump point.
[0079] The path length between any vector point on the first side of the jump point and the jump point refers to the total distance of all line segments between the any vector point and the jump point.
[0080] For example, let the path length between A2 and the jump point A5 be L, the path length between A2 and A3 be L1, the path length between A3 and A4 be L2, and the path length between A4 and A5 be L3, then L=L1+L2+L3, which is not limited here.
[0081] The adjustment coefficient can be used to adjust the horizontal coordinate change amount and the vertical coordinate change amount of the jump point to obtain the horizontal coordinate adjustment amount and the vertical coordinate adjustment amount.
[0082] As a possible implementation method, when calculating the adjustment coefficient corresponding to any vector point, it can be calculated using the following formula: Scale(i)=1-distance(i, index) / smooth_length.
[0083] Where Scale(i) is the adjustment coefficient corresponding to vector point i, i is the index of any vector point on the first side of the transition point, index is the index of the transition point, smooth_length is the smoothing distance, and distance(i, index) is the path length between the transition point and vector point i.
[0084] For example, if Figure 2 As shown, in vector line S1, vector point A5 is a jumping point. When calculating the coordinate adjustment amount corresponding to A4, the path length between A5 and A4 can be determined first, recorded as distance(4, 5), and then the adjustment coefficient Scale(4) corresponding to vector point A4 can be determined as 1-distance(4, 5) / smooth_length.
[0085] Furthermore, when calculating the horizontal coordinate adjustment amount and the vertical coordinate adjustment amount corresponding to any vector point, the adjustment coefficient corresponding to any vector point and the horizontal coordinate change amount can be multiplied to obtain the horizontal coordinate adjustment amount, and the adjustment coefficient corresponding to any vector point and the vertical coordinate change amount can be multiplied to obtain the vertical coordinate adjustment amount. The following formula can be referred to:
[0086] dx(i)=D X *Scale(i),dy(i)=D Y *Scale(i).
[0087] Among them, dx(i) is the horizontal coordinate adjustment amount of the vector point with index value i, D X and D Y The horizontal and vertical coordinate change values of the jump point are respectively, and Scale(i) is the adjustment coefficient of the vector point with index value i.
[0088] Optionally, when determining the horizontal coordinate change value and the vertical coordinate change value of the jump point, the first straight line can be determined based on the first vector point and the second vector point on the first side of the jump point, and then the projection point of the jump point on the first straight line can be determined. Thereafter, the horizontal coordinate change value of the jump point can be determined based on the horizontal coordinate of the projection point and the horizontal coordinate of the jump point. Finally, the vertical coordinate change value of the jump point can be determined based on the vertical coordinate of the projection point and the vertical coordinate of the jump point.
[0089] The horizontal coordinate change amount may be a change amount of the horizontal coordinate of the jump point relative to the horizontal coordinate of the projection point.
[0090] The vertical coordinate change amount may be a change amount of the vertical coordinate of the jump point relative to the vertical coordinate of the projection point.
[0091] Optionally, the vertical coordinate change value and the horizontal coordinate change value of the jump point can be calculated according to the following formula:
[0092] Dx=x1-x2, Dy=y1-y2.
[0093] Among them, Dx is the horizontal coordinate change value of the jump point, x1 is the horizontal coordinate of the jump point, x2 is the horizontal coordinate of the projection point, Dy is the vertical coordinate change value of the jump point, y1 is the vertical coordinate of the jump point, and y2 is the vertical coordinate of the projection point.
[0094] For example, if Figure 2 As shown, in the vector line S1, the jump point is A5, and the projection point of the jump point on the first straight line is point P. Then, according to the horizontal coordinate x of point P, p and the horizontal coordinate x of the jump point A5 A5 Calculate the change in the horizontal coordinate of A5 based on the vertical coordinate y of point P p and the vertical coordinate y of the jump point A5 A5 Calculate the vertical coordinate change value of A5 using the following formula:
[0095] Dx=x A5 -x p , Dy=y A5 -y p .
[0096] It should be noted that the above examples are merely illustrative and do not constitute a limitation to the present disclosure.
[0097] S205: When it is determined that the coordinate adjustment amount of the Nth vector point on the first side of the jump point is zero, the coordinates of N-1 vector points between the Nth vector point and the jump point are adjusted, where N is a positive number greater than 1.
[0098] For example, if Figure 2 As shown, in vector line S1, if it is determined that the coordinate adjustment amount of the fourth vector point on the first side of jump point A5 is zero, that is, the coordinate adjustment amount of vector point A1 is 0, then the coordinates of the three vector points (A2, A3, A4) between vector point A1 and vector point A5 can be adjusted.
[0099] If in vector point S2, if it is determined that the coordinate adjustment amount of the third vector point on the first side of the jump point B5 is zero, that is, the coordinate adjustment amount of vector point B2 is 0, then the coordinates of the two vector points (B3, B4) between vector point B2 and vector point B5 can be adjusted.
[0100] For example, if the coordinate adjustment amounts corresponding to any vector point X to be adjusted are dx(i) and dy(i), the coordinates of the adjusted vector point X can be calculated according to the following formula:
[0101] x(i)'=dx(i)+x(i), y(i)'=dy(i)+y(i).
[0102] Where x(i) is the original horizontal coordinate of vector point X before adjustment, dx(i) is the horizontal coordinate adjustment amount corresponding to vector point X, x(i)' is the horizontal coordinate of vector point X after adjustment, y(i) is the original vertical coordinate of vector point X before adjustment, dy(i) is the vertical coordinate adjustment amount corresponding to vector point X, and y(i)' is the vertical coordinate of vector point X after adjustment.
[0103] It should be noted that the above examples are merely illustrative of the present disclosure and do not constitute a limitation to the present disclosure.
[0104] In the embodiment of the present disclosure, first, in response to determining that any inflection point in a vector line is a jump point, a first straight line is determined based on a first vector point and a second vector point on a first side of the jump point, wherein the first vector point and the second vector point are adjacent, and the first vector point and the jump point are adjacent. Then, a projection distance of the jump point on the first straight line is determined, and the projection distance is used as the jump distance corresponding to the jump point. Then, a smoothing distance is determined based on the jump distance and a preset smoothing coefficient. Then, based on the smoothing distance, the coordinate adjustment amount corresponding to each vector point on the first side of the jump point is calculated in sequence with the jump point as the starting point. When the coordinate adjustment amount of the Nth vector point on the first side of the jump point is determined to be zero, the coordinates of the N-1 vector points between the Nth vector point and the jump point are adjusted, where N is a positive number greater than 1. Thus, by determining the jump point and calculating its corresponding smoothing distance, and then adjusting the coordinates of the vector points near the jump point based on this smoothing distance, the discontinuity and mutation in the vector line can be significantly reduced, making the entire vector line smoother. While maintaining the overall characteristics of the vector line, unnecessary details and noise are reduced. Smoothed vector lines are more continuous and smooth, enhancing visualization and making it easier for users to understand and analyze data. Automatic processing algorithms identify and smooth abnormal transition points in HD maps, significantly improving processing efficiency and smoothing accuracy. This system can be adapted to various hardware systems with varying computing power configurations, depending on project needs, and can be deployed both in the cloud and onboard, achieving high efficiency and low cost.
[0105] Figure 4FIG. 1 is a flow chart of a method for smoothing vector map data according to the third embodiment of the present disclosure. Figure 4 As shown, the method includes:
[0106] S301: In response to determining that any inflection point in a vector line is a jump point, determining a jump distance corresponding to the jump point, wherein the vector line is located in a vector map.
[0107] S302: Determine a smoothing distance according to the jump distance and a preset smoothing coefficient.
[0108] S303: Based on the smoothing distance, with the jump point as the starting point, the coordinate adjustment amount corresponding to each vector point on the first side of the jump point is calculated in sequence.
[0109] It should be noted that the specific implementation of steps S301-S303 can refer to the above embodiment and will not be described in detail here.
[0110] S304: When it is determined that the coordinate adjustment amount corresponding to the initial vector point is not zero, determine one or more predecessor curves connected to the initial vector point.
[0111] The predecessor curve may be a curve connected to the current vector line with the initial vector point as an endpoint, and the direction of the predecessor curve is the same as the direction of the current vector line.
[0112] The initial vector point is the starting point in the vector line, and the corresponding index value is the minimum value of each vector point in the vector line.
[0113] like Figure 5 As shown in the figure, if vector point C1 is the initial vector point in the vector line M1, then the predecessor curves M2 and M3 connected to vector point C1 can be further determined. In other words, vector point C1 is the bifurcation point, and two branches, M2 and M3, emerge from the bifurcation point.
[0114] There may be one or more predecessor curves connected to the initial vector point, which is not limited here.
[0115] In vector line M4, if vector point F1 is the initial vector point in the vector line, then the predecessor curve connected to vector point F1 can be further determined to be M6. Although vector lines M5 and M4 are connected at the endpoints of F1 (G1), vector lines M5 and M4 have different path directions, so only M6 is the predecessor curve of vector line M4.
[0116] S305: Adjust the coordinates of the initial vector point and each vector point between the initial vector point and the jump point.
[0117] For example, if Figure 5 As shown, if Cn is the jump point and C1 is the initial vector point, the coordinates of n-1 vector points such as C1, C2, C3...Cn-1 can be adjusted.
[0118] It should be noted that the specific process of adjusting the coordinates of any vector point can refer to the above embodiment and will not be described in detail here.
[0119] S306: Based on the smoothing distance, taking the initial vector point as the starting point, sequentially calculating the coordinate adjustment amount of each vector point on each predecessor curve.
[0120] For example, if Figure 5 As shown, C1 is the initial vector point, then D can be calculated on the predecessor curve M2 in sequence. N and D N-1 The coordinate adjustment amount is calculated on the predecessor curve M3. N and E N-1 The coordinate adjustment amount.
[0121] It should be noted that the specific process of calculating the coordinate adjustment amount of any vector point on the predecessor curve can refer to the above embodiment and will not be described in detail here.
[0122] S307: When it is determined that the coordinate adjustment amount of any vector point K on the predecessor curve is zero, the coordinates of each vector point between the any vector point K and the initial vector point are adjusted.
[0123] For example, if Figure 5 As shown, if D on the predecessor curve M2 N-1 The coordinate adjustment amount is zero, then based on D N The coordinate adjustment amount of D N Make adjustments if E on the predecessor curve M3 N-1 The coordinate adjustment amount is zero, then based on E N The coordinate adjustment amount of E N Adjustments are made and are not limited here.
[0124] As a possible scenario, Figure 5 As shown in the figure, since the predecessor curves of M4 and M5 are both M6, when the vector line M5 is smoothed, the coordinates of the vector points on the predecessor curve M6 are also adjusted. Then, if the vector line M4 needs to be smoothed, the coordinates of the vector points on the predecessor curve M6 are not adjusted.
[0125] In an embodiment of the present disclosure, first, in response to determining that any inflection point in a vector line is a jump point, a jump distance corresponding to the jump point is determined, wherein the vector line is located in a vector map. Then, based on the jump distance and a preset smoothing coefficient, a smoothing distance is determined. Then, based on the smoothing distance, starting from the jump point, a coordinate adjustment amount corresponding to each vector point on a first side of the jump point is calculated in sequence. If the coordinate adjustment amount corresponding to the initial vector point is not zero, one or more predecessor curves connected to the initial vector point are determined. Then, the coordinates of the initial vector point and each vector point between the initial vector point and the jump point are adjusted. Then, based on the smoothing distance, starting from the initial vector point, a coordinate adjustment amount for each vector point on each predecessor curve is calculated in sequence. Finally, if the coordinate adjustment amount of any vector point K on the predecessor curve is zero, the coordinates of each vector point between any vector point K and the initial vector point are adjusted. Thus, by iteratively processing the current curve and the predecessor curve, a smooth transition can be achieved where jump points or data discontinuities occur, thereby improving the continuity and smoothness of the entire road network. When a curve does not meet the smoothing end conditions due to its short length, by introducing its predecessor curve for smoothing, the smoothness of the entire area can be optimized. When encountering multiple predecessor curves (such as bifurcation points), by processing multiple branches in parallel, it can be ensured that each branch can be properly smoothed. In this way, complex road network structures can be handled to ensure smooth transitions at connection points. The smoothed road network data is more accurate, continuous and smooth, which can improve the quality and use of map data. In applications such as autonomous driving and path planning, high-quality map data can be provided to ensure the accuracy and security of the algorithm. In summary, it is possible to improve the continuity and smoothness of the road network, handle complex connection relationships, achieve flexibility and adaptability, improve map data quality, and optimize user experience.
[0126] Figure 6 FIG. 1 is a schematic diagram of a data smoothing processing device for a vector map according to another embodiment of the present disclosure. Figure 6 As shown, the data smoothing processing device 600 of the vector map includes:
[0127] A first determining module 610 is configured to determine a jump distance corresponding to a jump point in response to determining that any inflection point in a vector line is a jump point, wherein the vector line is located in a vector map;
[0128] A second determining module 620 is configured to determine a smoothing distance based on the jump distance and a preset smoothing coefficient;
[0129] The adjustment module 630 is configured to adjust the coordinates of at least one vector point on the first side of the jump point based on the smoothing distance, wherein the index value of the vector point on the first side of the jump point is smaller than the index value of the jump point.
[0130] Optionally, the first determining module 610 is specifically configured to:
[0131] Determine a first straight line according to a first vector point and a second vector point on a first side of the jump point, wherein the first vector point and the second vector point are adjacent, and the first vector point and the jump point are adjacent;
[0132] A projection distance of the jump point on the first straight line is determined, and the projection distance is used as the jump distance corresponding to the jump point.
[0133] Optionally, the adjustment module 630 includes:
[0134] a first calculating unit, configured to calculate, based on the smoothing distance and with the jump point as a starting point, a coordinate adjustment amount corresponding to each vector point on a first side of the jump point;
[0135] The first adjustment unit is used to adjust the coordinates of N-1 vector points between the Nth vector point and the jump point when it is determined that the coordinate adjustment amount of the Nth vector point on the first side of the jump point is zero, where N is a positive number greater than 1.
[0136] Optionally, the first computing unit includes a computing subunit, wherein the computing subunit is configured to:
[0137] Determine the path length between any vector point on the first side of the jump point and the jump point;
[0138] Determining an adjustment coefficient corresponding to any vector point based on the path length and the smoothing distance;
[0139] The coordinate adjustment amount corresponding to any vector point is calculated according to the horizontal coordinate change value, the vertical coordinate change value and the adjustment coefficient of the jump point.
[0140] Optionally, the computing subunit is further configured to:
[0141] Determine a first straight line according to a first vector point and a second vector point on a first side of the jump point;
[0142] Determining a projection point of the jump point on the first straight line;
[0143] Determine the change value of the abscissa of the jump point according to the abscissa of the projection point and the abscissa of the jump point;
[0144] According to the ordinate of the projection point and the ordinate of the jump point, a change value of the ordinate of the jump point is determined.
[0145] Optionally, the adjustment module 630 is specifically configured to:
[0146] Based on the smoothing distance, taking the jump point as a starting point, sequentially calculating the coordinate adjustment amount corresponding to each vector point on the first side of the jump point;
[0147] When it is determined that the coordinate adjustment amount corresponding to the initial vector point is not zero, determining one or more predecessor curves connected to the initial vector point;
[0148] Adjusting the coordinates of the initial vector point and each vector point between the initial vector point and the jump point;
[0149] Based on the smoothing distance, taking the initial vector point as the starting point, sequentially calculating the coordinate adjustment amount of each vector point on each successor curve;
[0150] When it is determined that the coordinate adjustment amount of any vector point K on the predecessor curve is zero, the coordinates of each vector point between the any vector point K and the initial vector point are adjusted.
[0151] In the disclosed embodiment, the device, in response to identifying any inflection point in a vector line as a jump point, determines the jump distance corresponding to the jump point, where the vector line is located in a vector map. The smoothing distance is then determined based on the jump distance and a preset smoothing coefficient. The coordinates of at least one vector point on a first side of the jump point are then adjusted based on the smoothing distance. This effectively restores the smoothness of geometric curves in the vector map, automates discovery and processing, improves efficiency, and significantly reduces manual workload.
[0152] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0153] Figure 7 A block diagram of an exemplary computer device suitable for implementing embodiments of the present disclosure is shown. Figure 7 The computer device 12 shown is only an example and should not bring any limitation to the functionality and scope of use of the embodiments of the present disclosure.
[0154] like Figure 7 As shown, computer device 12 is implemented as a general-purpose computing device. Components of computer device 12 may include, but are not limited to, one or more processors or processing units 16, system memory 28, and a bus 18 that connects various system components (including system memory 28 and processing unit 16).
[0155] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. Examples of such architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnection (PCI) bus.
[0156] The computer device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the computer device 12, including volatile and non-volatile media, removable and non-removable media.
[0157] The memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be configured to read and write non-removable, non-volatile magnetic media ( Figure 7 Not shown, often called a "hard drive").
[0158] although Figure 7 Although not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a Compact Disc Read Only Memory (hereinafter referred to as: CD-ROM), a Digital Video Disc Read Only Memory (hereinafter referred to as: DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the various embodiments of the present disclosure.
[0159] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may include an implementation of a network environment. Program modules 42 generally implement the functions and / or methods of the embodiments described herein.
[0160] The computer device 12 can also communicate with one or more external devices 14 (e.g., a keyboard, pointing device, display 24, etc.), one or more devices that enable a user to interact with the computer device 12, and / or any device that enables the computer device 12 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). This communication can occur via an input / output (I / O) interface 22. Furthermore, the computer device 12 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with the other modules of the computer device 12 via a bus 18. It should be understood that, although not shown, other hardware and / or software modules can be used in conjunction with the computer device 12, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0161] The processing unit 16 executes various functional applications and data processing by running programs stored in the system memory 28 , such as implementing the data smoothing processing method of the vector map mentioned in the above embodiment.
[0162] Other embodiments of the present disclosure will readily occur to those skilled in the art after consideration of the specification and practice of the applications disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the following claims.
[0163] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes can be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
[0164] It should be noted that, in the description of this disclosure, the terms "first", "second", etc. are used for descriptive purposes only and should not be understood as indicating or implying relative importance. In addition, in the description of this disclosure, unless otherwise specified, the meaning of "plurality" is two or more.
[0165] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present disclosure includes additional implementations in which functions may be performed out of the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present disclosure belong.
[0166] It should be understood that various parts of the present disclosure can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used to implement: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0167] Those skilled in the art will understand that all or part of the steps in the method of the above embodiment can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.
[0168] In addition, the functional units in the various embodiments of the present disclosure may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into a module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. The above-mentioned storage medium may be a read-only memory, a magnetic disk, an optical disk, etc.
[0169] Throughout this specification, reference to terms such as "one embodiment," "some embodiments," "examples," "specific examples," or "some examples" means that a specific feature, structure, material, or characteristic described in conjunction with that embodiment or example is included in at least one embodiment or example of the present disclosure. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
[0170] Although the embodiments of the present disclosure have been shown and described above, it is understood that the above embodiments are illustrative and are not to be construed as limitations on the present disclosure. A person skilled in the art may change, modify, replace and vary the above embodiments within the scope of the present disclosure.
Claims
1. A data smoothing method for a vector map, characterized in that: include: In response to determining that any inflection point in a vector line is a jump point, determining a jump distance corresponding to the jump point, wherein the vector line is located in a vector map; Determining a smoothing distance according to the jump distance and a preset smoothing coefficient; Based on the smoothing distance, adjusting the coordinates of at least one vector point on the first side of the jump point, wherein the index value of the vector point on the first side of the jump point is smaller than the index value of the jump point; The step of determining the jump distance corresponding to the jump point includes: Determine a first straight line according to a first vector point and a second vector point on a first side of the jump point, wherein the first vector point and the second vector point are adjacent, and the first vector point and the jump point are adjacent; A projection distance of the jump point on the first straight line is determined, and the projection distance is used as the jump distance corresponding to the jump point.
2. The method according to claim 1, characterized in that The step of adjusting the coordinates of at least one vector point on the first side of the jump point based on the smooth distance includes: Based on the smoothing distance, taking the jump point as a starting point, sequentially calculating the coordinate adjustment amount corresponding to each vector point on the first side of the jump point; When it is determined that the coordinate adjustment amount of the Nth vector point on the first side of the jump point is zero, the coordinates of N-1 vector points between the Nth vector point and the jump point are adjusted, where N is a positive number greater than 1.
3. The method according to claim 1, characterized in that The step of calculating the coordinate adjustment amount corresponding to any vector point on the first side of the jump point comprises: Determine the path length between any vector point on the first side of the jump point and the jump point; Determining an adjustment coefficient corresponding to any one of the vector points based on the path length and the smoothing distance; The coordinate adjustment amount corresponding to any vector point is calculated according to the horizontal coordinate change value, the vertical coordinate change value and the adjustment coefficient of the jump point.
4. The method according to claim 3, characterized in that Before calculating the coordinate adjustment amount corresponding to any vector point according to the horizontal coordinate change value, the vertical coordinate change value and the adjustment coefficient of the jump point, the method further includes: Determine a first straight line according to a first vector point and a second vector point on a first side of the jump point; Determine a projection point of the jump point on the first straight line; Determine the change value of the abscissa of the jump point according to the abscissa of the projection point and the abscissa of the jump point; According to the ordinate of the projection point and the ordinate of the jump point, a change value of the ordinate of the jump point is determined.
5. The method according to claim 1, characterized in that: The step of adjusting the coordinates of at least one vector point on the first side of the jump point based on the smooth distance includes: Based on the smoothing distance, taking the jump point as a starting point, sequentially calculating the coordinate adjustment amount corresponding to each vector point on the first side of the jump point; When it is determined that the coordinate adjustment amount corresponding to the initial vector point is not zero, determining one or more predecessor curves connected to the initial vector point; Adjusting the coordinates of the initial vector point and each vector point between the initial vector point and the jump point; Based on the smoothing distance, taking the initial vector point as the starting point, sequentially calculating the coordinate adjustment amount of each vector point on each predecessor curve; When it is determined that the coordinate adjustment amount of any vector point K on the predecessor curve is zero, the coordinates of each vector point between the any vector point K and the initial vector point are adjusted.
6. A data smoothing processing device for a vector map, characterized in that: include: A first determination module, configured to determine a jump distance corresponding to a jump point in response to determining that any inflection point in a vector line is a jump point, wherein the vector line is located in a vector map; A second determination module, used to determine a smoothing distance according to the jump distance and a preset smoothing coefficient; An adjustment module, configured to adjust the coordinates of at least one vector point on the first side of the jump point based on the smoothing distance, wherein the index value of the vector point on the first side of the jump point is smaller than the index value of the jump point; Wherein, the first determining module is specifically used to: Determine a first straight line according to a first vector point and a second vector point on a first side of the jump point, wherein the first vector point and the second vector point are adjacent, and the first vector point and the jump point are adjacent; A projection distance of the jump point on the first straight line is determined, and the projection distance is used as the jump distance corresponding to the jump point.
7. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 5.
8. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-5.
Citation Information
Patent Citations
Lane line smoothing method and device and electronic equipment
CN114435402A
Mobile robot global path smoothing method based on distance weight
CN114879678A