Obstacle data processing method and device, electronic equipment and storage medium
By merging the location information of obstacles and using the convex hull algorithm and area truth rate judgment, the problem of a large number of obstacles in obstacle-dense scenarios is solved, thereby reducing the amount of obstacle data and computational complexity, and improving the efficiency and accuracy of autonomous driving decision-making and planning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHANGCHUN YIHANG INTELLIGENT TECH CO LTD
- Filing Date
- 2023-06-09
- Publication Date
- 2026-07-24
AI Technical Summary
In autonomous vehicles, in obstacle-dense scenarios, existing technologies struggle to effectively reduce the number of obstacles, resulting in time-consuming, inefficient, and inaccurate decision-making and planning.
By acquiring the location information of obstacles, and using the convex hull algorithm and area truth rate judgment, obstacles on both sides of the road are merged to form new obstacles, replacing the original obstacle data and reducing the number of obstacles.
It significantly reduces the number of obstacles and the amount of data, lowers the computational complexity of decision-making and planning, and improves efficiency and accuracy.
Smart Images

Figure CN116753955B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to an obstacle data processing method, apparatus, electronic device, and storage medium. Background Technology
[0002] With the development of autonomous driving technology, the operating areas of autonomous vehicles are gradually expanding, and the scenarios they face are becoming increasingly complex and varied. Stable, efficient, and accurate decision-making and planning algorithms are crucial for autonomous driving. For these algorithms, obstacle handling is the most complex and time-consuming task. Therefore, reducing the difficulty of obstacle handling and decreasing the number of obstacles are effective methods to reduce the time required for decision-making and planning, and to improve their efficiency, accuracy, and stability.
[0003] Currently, autonomous driving decision-making and planning primarily involves identifying obstacles by defining regions of interest (ROIs). For example... Figure 1 As shown, in the decision planning, obstacle No. 1, which is located within the vehicle's region of interest, will be considered, while obstacle No. 2, which is outside the region of interest, will be ignored.
[0004] While defining regions of interest (ROIs) can reduce the number of obstacles in most scenarios, in scenarios with dense obstacles, such as parking lots, a large number of obstacles can still be identified after defining the ROI. Figure 2 As shown in the example, when the vehicle is in a scenario with dense obstacles such as a parking lot, there are many and dense obstacles in the region of interest. Even if the region of interest is defined, a large number of obstacles still need to be dealt with during decision planning. The complexity of the obstacle handling task is still high, and there are still problems such as long decision planning time, low efficiency, poor accuracy and stability. Summary of the Invention
[0005] To address at least one of the aforementioned technical problems, this disclosure provides an obstacle data processing method, apparatus, electronic device, and storage medium.
[0006] According to one aspect of this disclosure, an obstacle data processing method is provided, comprising:
[0007] Obtain obstacle data for the vehicle, the obstacle data including the position information of multiple first obstacles;
[0008] The road location of the first obstacle is determined using the location information of the first obstacle;
[0009] Based on the road location and location information of the first obstacle, the first obstacles on both sides of the road are merged to obtain the second obstacle and its location information;
[0010] Replace the position information of the first obstacle in the vehicle's obstacle data with the position information of the second obstacle.
[0011] According to at least one embodiment of the obstacle data processing method of this disclosure, based on the road location and location information of a first obstacle, the first obstacles on both sides of the road are merged to obtain a second obstacle and its location information, including:
[0012] The location information of a temporary obstacle is determined based on the location information of the current first obstacle and the location information of the current second obstacle. The current second obstacle is located on the same side of the road as the current first obstacle and is adjacent to it in the road position. The temporary obstacle includes the current first obstacle and the current second obstacle.
[0013] Based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle, determine whether the temporary obstacle meets the predetermined merging conditions;
[0014] When the merging condition is met, the current second obstacle and its location information are updated to the temporary obstacle and its location information;
[0015] If the merging conditions are not met, the current first obstacle is set as the new second obstacle, and the position information of the first obstacle is used as the position information of the new second obstacle.
[0016] According to at least one embodiment of the obstacle data processing method of this disclosure, the location information includes vertex positions; the location information of the temporary obstacle is determined by constructing a convex hull algorithm.
[0017] According to at least one embodiment of the obstacle data processing method of this disclosure, the step of determining whether the temporary obstacle meets a predetermined merging condition based on the position information of the temporary obstacle, the position information of the current first obstacle, and the position information of the current second obstacle includes:
[0018] Based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle, determine the area true value rate of the temporary obstacle;
[0019] The temporary obstacle is judged to determine whether it meets the predetermined merging conditions based on the area truth rate of the temporary obstacle.
[0020] According to the obstacle data processing method of at least one embodiment of the present disclosure, the area true rate of the temporary obstacle is determined by the shoelace theorem.
[0021] According to at least one embodiment of the obstacle data processing method of this disclosure, the merging condition includes: the area truth rate of the temporary obstacle is greater than or equal to a predetermined truth rate threshold.
[0022] According to at least one embodiment of the obstacle data processing method of this disclosure, multiple rounds of obstacle merging are performed using a threshold set containing multiple truth rate thresholds, wherein the current round uses the obstacle data updated in the previous round and the truth rate threshold used in the current round is less than the truth rate threshold used in the previous round.
[0023] According to one aspect of this disclosure, an obstacle data processing apparatus is provided, comprising:
[0024] A data acquisition unit is used to acquire obstacle data of the vehicle, the obstacle data including the position information of multiple first obstacles;
[0025] A location determination unit is used to determine the road position of the first obstacle using the location information of the first obstacle;
[0026] The merging processing unit is used to merge the first obstacles on both sides of the road according to the road position and position information of the first obstacle to obtain the second obstacle and its position information.
[0027] A data update unit is used to replace the position information of the first obstacle in the obstacle data of the vehicle with the position information of the second obstacle.
[0028] According to one aspect of this disclosure, an electronic device is provided, comprising:
[0029] Memory, the memory storing execution instructions; and
[0030] A processor that executes execution instructions stored in the memory, causing the processor to perform the obstacle data processing method described above.
[0031] According to one aspect of this disclosure, a readable storage medium is provided that stores executable instructions, which, when executed by a processor, are used to implement the obstacle data processing method described above.
[0032] The embodiments disclosed herein can greatly reduce the number of obstacles, reduce the amount of obstacle data, and reduce the computational complexity of subsequent processing such as decision planning. Attached Figure Description
[0033] The accompanying drawings illustrate exemplary embodiments of the present disclosure and, together with the description thereof, serve to explain the principles of the present disclosure. These drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this specification.
[0034] Figure 1 This is an example diagram illustrating the division of regions of interest in related technologies.
[0035] Figure 2 This is an example diagram showing the region of interest and obstacle distribution in a scene with dense obstacles.
[0036] Figure 3 This is a flowchart illustrating an obstacle data processing method according to some embodiments of the present disclosure.
[0037] Figure 4 This is a schematic diagram of a specific implementation flow of an obstacle data processing method according to some embodiments of the present disclosure.
[0038] Figure 5 These are application scenario examples based on some embodiments of this disclosure.
[0039] Figure 6 Is adopted Figure 4 The process shown is for Figure 5 The diagram shows the scene after the obstacles are merged.
[0040] Figure 7 This is a schematic diagram illustrating another specific implementation flow of the obstacle data processing method according to some embodiments of the present disclosure.
[0041] Figure 8 Is adopted Figure 7 The process shown is for Figure 5 The diagram shows the scene after the obstacles are merged.
[0042] Figure 9 This is an example diagram of an obstacle data processing device that employs a hardware implementation of a processing system according to some embodiments of the present disclosure. Detailed Implementation
[0043] The present disclosure will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the disclosure. Furthermore, it should be noted that, for ease of description, only the parts relevant to the present disclosure are shown in the accompanying drawings.
[0044] It should be noted that, where there is no conflict, the embodiments and features described in this disclosure can be combined with each other. The technical solutions of this disclosure will now be described in detail with reference to the accompanying drawings and embodiments.
[0045] Unless otherwise stated, the exemplary implementations / embodiments shown are to be understood as providing exemplary features of various details that provide ways in which the technical concepts of this disclosure can be implemented in practice. Therefore, unless otherwise stated, the features of various implementations / embodiments may be additionally combined, separated, interchanged and / or rearranged without departing from the technical concepts of this disclosure.
[0046] The use of crosshairs and / or shading in the accompanying drawings is generally used to clarify the boundaries between adjacent components. Thus, unless otherwise stated, the presence or absence of crosshairs or shading does not convey or indicate any preference or requirement for the specific material, material properties, dimensions, proportions, commonalities between the illustrated components, or any other characteristics, properties, etc., of the components. Furthermore, in the accompanying drawings, the dimensions and relative dimensions of components may be exaggerated for clarity and / or descriptive purposes. When exemplary embodiments can be implemented differently, a specific process sequence may be performed in a different order than that described. For example, two consecutively described processes may be performed substantially simultaneously or in the reverse order of their description. Furthermore, the same reference numerals denote the same components.
[0047] When a component is referred to as being "on" or "above" another component, "connected to," or "joined to" another component, the component may be directly on, directly connected to, or directly joined to the other component, or there may be intermediate components. However, when a component is referred to as being "directly on" another component, "directly connected to," or "directly joined to" another component, there are no intermediate components. Therefore, the term "connection" can refer to a physical connection, an electrical connection, etc., and may or may not have intermediate components.
[0048] The terminology used herein is for the purpose of describing particular embodiments and is not intended to be limiting. As used herein, unless the context clearly indicates otherwise, the singular forms “a” and “the” are intended to include the plural forms as well. Furthermore, when the terms “comprising” and / or “including” and variations thereof are used in this specification, it indicates the presence of the stated features, integrals, steps, operations, parts, components, and / or groups thereof, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, parts, components, and / or groups thereof. It should also be noted that, as used herein, the terms “substantially,” “about,” and other similar terms are used as approximate terms rather than as terms of degree, thus explaining the inherent biases in measurements, calculated values, and / or provided values that would be recognized by one of ordinary skill in the art.
[0049] Terminology Explanation:
[0050] First obstacle: The original obstacle detected by various obstacle detection methods; or, the obstacle obtained by merging obstacles from the previous round.
[0051] Second obstacle: A new obstacle obtained by merging the first obstacle.
[0052] Figure 3 This is a schematic flowchart of an obstacle data processing method according to one embodiment of the present disclosure. See also Figure 3 The obstacle data processing method of this disclosure embodiment may include the following steps:
[0053] Step S302: Obtain obstacle data for the vehicle, including the location information of multiple first obstacles;
[0054] Step S304: Determine the road position of the first obstacle using the position information of the first obstacle;
[0055] Step S306: Based on the road location and location information of the first obstacle, merge the first obstacles on both sides of the road to obtain the second obstacle and its location information;
[0056] Step S308: Replace the position information of the first obstacle in the vehicle's obstacle data with the position information of the second obstacle.
[0057] In this embodiment of the disclosure, the location information of the obstacle may include, but is not limited to, the obstacle's identifier, the obstacle's vertex position, and the obstacle's key point position. For example, if the obstacle is represented by a 2D bounding box, the obstacle's location information may include the vertex position of the 2D bounding box representing the obstacle, the size of the 2D bounding box (e.g., length, width, etc.), the center point position of the 2D bounding box, and other information.
[0058] In this embodiment of the disclosure, the vertex position can be represented by vertex coordinates in a Cartesian coordinate system, such as a vehicle coordinate system.
[0059] In some implementations, in step S304, the position information of the first obstacle can be transformed to a road coordinate system (e.g., Frenet coordinate system) to obtain the longitudinal displacement s of the first obstacle in the road coordinate system. The road position of the first obstacle can be represented by the longitudinal displacement s of the first obstacle in the road coordinate system.
[0060] The coordinates of the first obstacle in the road coordinate system can include a lateral displacement d indicating the left and right position of the first obstacle on the road and a longitudinal displacement s indicating the distance traveled by the first obstacle along the road relative to a predetermined origin (e.g., the starting point of the vehicle). The coordinates of the first obstacle in the road coordinate system can be obtained by transforming from the Cartesian coordinate system to the road coordinate system.
[0061] In other embodiments, in step S304, the distance between the obstacle and the starting point of the road can be calculated based on the obstacle's location information. The nearest point of the obstacle can be found on a reference road based on its location, and the road coordinates s corresponding to this nearest point can be used as the obstacle's position relative to the road. The road coordinates s of the nearest point of the obstacle can be used as the obstacle's road position. The information of the reference road can be obtained from a high-precision map and may include, but is not limited to, lane line information or road edge line information.
[0062] After step S304, the obstacle's position information and the obstacle's road position can be merged to form the obstacle's road information (x, y, s). (x, y) can represent the obstacle's position coordinates in a Cartesian coordinate system such as a vehicle coordinate system, in a plane XY parallel to the ground. s represents the obstacle's road position or road coordinates, and s is a monotonically increasing value.
[0063] In some implementations, step S306 may include: performing the following steps a1 to a4 for each first obstacle to merge all first obstacles and obtain the corresponding second obstacle and its position information:
[0064] Step a1: Determine the location information of the temporary obstacle based on the location information of the current first obstacle and the current second obstacle. The current second obstacle and the current first obstacle are on the same side of the road and adjacent to each other. The temporary obstacle includes the current first obstacle and the current second obstacle.
[0065] Step a2: Based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle, determine whether the temporary obstacle meets the predetermined merging conditions;
[0066] Step a3: When the merging conditions are met, update the current second obstacle and its location information to the temporary obstacle and its location information;
[0067] Step a4: If the merging conditions are not met, the current first obstacle is set as the new second obstacle, and the position information of the first obstacle is used as the position information of the new second obstacle.
[0068] In some implementations, the location information of the temporary obstacle in step a1 can be determined using a convex hull algorithm. Specifically, assuming the current first obstacle has m1 vertices (m1 is an integer greater than or equal to 3), and the current second obstacle has m2 vertices (m2 is an integer greater than or equal to 3), the sum of m1 and m2 equals n. A convex hull can be fitted to these n vertices. This convex hull can be considered as a 2D bounding box representing the temporary obstacle, and the vertex positions of the convex hull can be used as the location information of the temporary obstacle. Using a convex hull to represent the merged obstacle (i.e., the second obstacle) can improve the accuracy of the obstacle data.
[0069] Specifically, assuming the current first obstacle has m1 vertices and the current second obstacle has m2 vertices, and the sum of m1 and m2 equals n, an exemplary implementation process for determining the location information of temporary obstacles may include the following steps b1 to b7:
[0070] Step b1: Determine the first vertex P1 of the convex hull.
[0071] Specifically, among the n vertices of the first and second obstacles, find the point with the smallest x-axis coordinate. If all points have the same x-coordinate, then the point with the smaller y-coordinate can be selected. Let the point being searched be P1, and push P1 onto the stack that forms the convex hull.
[0072] Step b2: Calculate the angle between the vector formed by the remaining points among the n vertices and P1 and the x-axis. Sort the remaining points among the n vertices according to the angle from smallest to largest. For points with equal angles, sort the points that are further away from P1 last. Denote the sorted points as P2, P3, ..., Pn. Pn is the last vertex that forms the convex hull.
[0073] Step b3: Add point P2 to the stack that forms the convex hull, take P3 as the current point, and execute steps b4 to b5:
[0074] Step b4: Remove element S from the stack that forms the convex hull. t and its preceding element S t-1 Determine the relationship between the current point and the vector. The relationship is that if the current point is in the vector To the right of or in the vector If the current point is on the vector, then continue with step b5. On the left side, continue with step b6;
[0075] Among them, the elements S in the stack that constitute the convex hull t It is the last point pushed onto the stack before the current point, element S. t-1 It is element S t The last point pushed onto the stack.
[0076] Step b5, the elements S in the stack that form the convex hull t Pop from the stack and return to step b4.
[0077] Step b6: Push the current point onto the stack that forms the convex hull, and then execute step b7.
[0078] Step b7: If the current point is equal to Pn, the execution ends and all points in the stack forming the convex hull are the vertices of the convex hull, which are also the vertices of the temporary obstacle; if the current point is not equal to Pn, return to step b3 and continue to execute steps b4 to b7 for the next point of the current point.
[0079] It should be noted that in specific applications, any applicable algorithm can be used to determine the location information of temporary obstacles, and it is not limited to the convex hull construction algorithm mentioned above.
[0080] In some implementations, step a2 can determine whether a temporary obstacle meets the merging condition using the area truth rate. Specifically, step a2 may include: determining the area truth rate of the temporary obstacle based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle; and determining whether the temporary obstacle meets the predetermined merging condition based on the area truth rate of the temporary obstacle.
[0081] In some implementations, the merging conditions may include, but are not limited to, the area truth rate of the temporary obstacle being greater than or equal to a predetermined truth rate threshold.
[0082] Specifically, one or more truth rate thresholds can be set, and the truth rate thresholds can be empirical values. The setting method, number, and determination method of the specific values of the truth rate thresholds can all be flexibly adjusted as needed, and this disclosure does not impose any restrictions on them.
[0083] In some implementations, a truth rate threshold can be preset, and the temporary obstacle can be compared with the truth rate threshold to determine whether the temporary obstacle meets the merging condition.
[0084] In some implementations, a threshold set containing multiple truth rate thresholds can be pre-configured. This threshold set is used to perform multiple rounds of obstacle merging. During the multi-round obstacle merging process, the current round uses the obstacle data updated in the previous round, and the truth rate threshold used in the current round is lower than the truth rate threshold used in the previous round. By performing multiple rounds of obstacle merging with multiple truth rate thresholds from largest to smallest to process obstacle data, obstacles that are close together can be merged, which can not only further reduce the number of obstacles but also improve the accuracy of obstacle merging.
[0085] In some implementations, the area truth rate of a temporary obstacle can be determined using the Shoelace Theorem. Specifically, the area of the temporary obstacle, the area of the current first obstacle, and the areas of each first obstacle contained in the current second obstacle can be calculated firstly based on the Shoelace Theorem, and then the area truth rate of the temporary obstacle can be calculated based on the area of the temporary obstacle, the area of the current first obstacle, and the areas of each first obstacle contained in the current second obstacle.
[0086] Suppose the temporary obstacle has n vertices, and the coordinates of these n vertices, ordered counterclockwise or clockwise, are (x1, y1), (x2, y2), ..., (x...). n y n If the area A of the temporary obstacle is such that the area is calculated using the following formula (1):
[0087]
[0088] Where, x n+1 =x1,y n+1 =y1, n represents the total number of vertices of the temporary obstacle, i = 1, 2, ..., n, and A represents the area of the temporary obstacle. It should be noted that clockwise or counterclockwise sorting means starting from a certain point and traversing along the edges of the temporary obstacle in a counterclockwise or clockwise direction.
[0089] The area of the first obstacle can also be calculated using equation (1).
[0090] Assuming the current second obstacle contains two first obstacles j and k, and the current first obstacle is i, the area truth rate r of the temporary obstacle merag_obj can be calculated using the following formulas (2) to (3):
[0091]
[0092] ∑A orig = A i +A j +A k (3)
[0093] Among them, A merg A represents the area of the temporary obstacle. i The first obstacle is A. j A k Let A represent the areas of the two first obstacles j and k contained within the current second obstacle. merg A i A j A k They can be calculated using equation (1).
[0094] The method described in this embodiment can be applied to obstacle-dense scenarios. By merging obstacles, the number of obstacles is greatly reduced, the amount of obstacle data is reduced, and the computational complexity of subsequent processing such as decision planning is reduced, thereby improving efficiency.
[0095] The exemplary implementations of the embodiments of this disclosure will be described in detail below.
[0096] Example 1
[0097] This embodiment specifies only one truth rate threshold, and determines whether obstacles can be successfully merged based on this truth rate threshold.
[0098] See Figure 4 As shown, the obstacle data processing flow in this embodiment may include the following steps:
[0099] Step S401: Sort the information ori_info of the original obstacles (i.e., the first obstacle mentioned above) in ascending order according to the road coordinates s to obtain the sorted set of original obstacles sorted_obs.
[0100] Here, the information about the original obstacle may include, but is not limited to, the original obstacle's location information, road coordinates, ID, category, etc.
[0101] Step S402: Add the information of the first original obstacle in sorted_obs to cur_clastering.
[0102] Step S403: Select the second original obstacle in sorted_obs as the current original obstacle.
[0103] Step S404: Merge the current original obstacle and the last obstacle in cur_clastering to obtain the temporary obstacle merge_obj and its position information;
[0104] Step S405: Determine whether the area truth rate of merge_obj is greater than or equal to the pre-calibrated truth rate threshold. If so, proceed to step S406; otherwise, proceed to step S407.
[0105] Step S406: Merging successful. Update the information of the last obstacle in cur_clastering to the information of merge_obj.
[0106] Step S407, merging failed, add the information of the current original obstacle as the information of the new merged obstacle to cur_clastering.
[0107] Step S408: Determine whether the current original obstacle is the last obstacle in sorted_obs. If the current original obstacle is not the last obstacle in sorted_obs, continue to step S409. If the current original obstacle is the last obstacle in sorted_obs, the process ends.
[0108] Step S409: Take the next original obstacle in sorted_obs as the current original obstacle for the next iteration and return to step S404 to continue merging obstacles.
[0109] Figure 4 After the process shown is completed, the obstacle information stored in cur_clastering is the information of the merged obstacles. By replacing the original obstacle information with the obstacle information in cur_clastering, the obstacle data processing can be completed, the obstacles can be merged, and the number of obstacles and the amount of obstacle data can be greatly reduced.
[0110] Figure 4 The meanings of the symbols in the text are explained below:
[0111] `ori_info` represents the original obstacle data. This original obstacle data can be obtained by processing vehicle sensor data (e.g., point cloud data collected by LiDAR, images collected by vision sensors, etc.) through a perception module. This original obstacle data may include, but is not limited to, the obstacle's category, location coordinates, and ID. Furthermore, the original obstacle data may also include road coordinates `s` obtained through coordinate system transformations of the location coordinates.
[0112] sorted_obs represents the set of original obstacles, which are sorted according to their road coordinates from smallest to largest.
[0113] cur_clastering is used to store the merged obstacles, which is the second obstacle mentioned above.
[0114] merge_obj represents the temporary obstacle formed during the current merge.
[0115] Figure 5 An example image of a scene with dense obstacles is shown. In this embodiment, the truth rate threshold is specified as 0.8. Figure 4 The process shown is for Figure 5 The scene shown is subjected to obstacle merging, and the distribution of the merged obstacles is shown in Figure 6. Figure 5 and Figure 6The dashed boxes 1-13 represent the original obstacles (i.e., obstacles in sorted_obs), and the solid black boxes represent the merged obstacles (i.e., obstacles in cur_clastering). (Comparison) Figure 5 and Figure 6 As can be seen, there were 13 original obstacles on one side of the road near the vehicle in the original scene. After processing in this embodiment, the number of obstacles was reduced to 5, and the number of obstacles and the amount of data were significantly reduced.
[0116] Example 2
[0117] This embodiment employs a threshold set containing multiple truth rate thresholds, and completes obstacle data processing through multiple rounds of obstacle merging iterations. In this embodiment, a different truth rate threshold is specified in each round of obstacle merging.
[0118] See Figure 7 As shown, the obstacle data processing flow in this embodiment may include the following steps:
[0119] Step S701: Sort the original obstacle information ori_info according to the road coordinates s in ascending order and store it in the original obstacle set sorted_obs.
[0120] Step S702: Update the information in sorted_obs to last_clastering.
[0121] Step S703: After arranging the truth rate thresholds in the threshold set in descending order, if the current situation is the first round of obstacle merging, the first truth rate threshold in the threshold set is taken as the current truth rate threshold. If the current situation is not the first round of obstacle merging, the next truth rate threshold after the current truth rate threshold in the threshold set is taken as the current truth rate threshold. Then, continue to execute step S704.
[0122] Step S704: Add the information of the first obstacle in last_clastering to cur_clastering.
[0123] Step S705: Select the second obstacle in last_clastering as the current obstacle.
[0124] Step S706: Merge the current obstacle with the last obstacle in cur_clastering to obtain the temporary obstacle merge_obj and its position information;
[0125] Step S707: Determine whether the area truth rate of the temporary obstacle merge_obj is greater than or equal to the current truth rate threshold. If it is, continue to step S708; otherwise, proceed to step S709.
[0126] Step S708: Merging successful. Update the information of the last obstacle in cur_clastering to the information of merge_obj.
[0127] Step S709: Merging failed. Add the information of the current obstacle as the information of the new merged obstacle to cur_clastering.
[0128] Step S710: Determine whether the current obstacle is the last obstacle in last_clastering. If it is, the obstacle merging ends in this round, and continue to step 712; otherwise, continue to step 711.
[0129] Step S711: Take the next obstacle of the current obstacle in last_clastering as the current obstacle for the next iteration and return to step S706 to continue the obstacle merging in this round.
[0130] Step S712: Determine whether the current truth rate threshold is the last truth rate threshold in the threshold set. If it is, the current process ends; otherwise, continue to step S713.
[0131] Step S713: Use the obstacle information in cur_clastering to overwrite the information in last_clastering, clear the information in cur_clastering, and return to step S703.
[0132] Figure 7 After the process shown is completed, the obstacle information stored in cur_clastering is the obstacle information after multiple rounds of obstacle merging. By replacing the original obstacle information with the obstacle information in cur_clastering, the obstacle data processing can be completed, the obstacle merging can be realized, and the number of obstacles and the amount of obstacle data can be greatly reduced.
[0133] Figure 7 The meanings of the symbols in the illustrated process are explained below:
[0134] ori_info: Same as in Example 1;
[0135] sorted_obs: Same as in Example 1;
[0136] last_clastering: The result of the previous round of obstacle merging or information about the original obstacles. The obstacle in last_clastering is the first obstacle mentioned above.
[0137] cur_clastering: The result of merging obstacles in this round; the obstacles in cur_clastering are the second obstacles mentioned earlier;
[0138] merge_obj: Same as Example 1.
[0139] Still with Figure 5 Taking the scenario shown as an example, this embodiment specifies the truth rate threshold set as {0.95, 0.9, 0.85, 0.8}. Figure 5 The scene shown is subjected to obstacle merging, and the result is as follows: Figure 8 As shown, Figure 8 The dashed boxes represent the original obstacles, while the bold solid boxes represent the merged obstacles after multiple iterations. (Comparison) Figure 5 and Figure 8 As can be seen, the original number of obstacles was 13. After multiple rounds of obstacle merging using the threshold set, the number of obstacles was reduced to 5. Compared to Example 1, this example shows better clustering performance, effectively merging obstacles that are close together on the road. However, due to the multiple iterations, the computational cost is relatively high.
[0140] The above embodiments one and two mainly describe the process of merging obstacles on one side of the road. Those skilled in the art should understand that, in specific applications, obstacles can be divided into obstacles on the left side of the road and obstacles on the right side of the road. By performing the obstacle data processing described in the embodiments of this disclosure on the obstacles on the left side of the road and the obstacles on the right side of the road respectively, the merging operation of obstacles on both sides of the road can be completed.
[0141] This disclosure addresses scenarios with dense obstacles, and can significantly reduce the number of obstacles, decrease the amount of obstacle data, and reduce the computational complexity of subsequent modules such as decision planning. This effectively improves the operating efficiency of modules such as path planning, reduces computing power consumption, and lowers the hardware requirements and implementation costs of autonomous driving modules such as path planning.
[0142] Figure 9 An example diagram of an obstacle data processing device using a hardware implementation of a processing system is shown.
[0143] The apparatus may include corresponding modules that perform one or more steps in the flowchart above. Therefore, each or more steps in the flowchart above can be performed by a corresponding module, and the apparatus may include one or more of these modules. A module may be one or more hardware modules specifically configured to perform a corresponding step, or implemented by a processor configured to perform a corresponding step, or stored in a computer-readable medium for implementation by a processor, or implemented through some combination thereof.
[0144] This hardware architecture can be implemented using a bus architecture. The bus architecture can include any number of interconnect buses and bridges, depending on the specific application and overall design constraints of the hardware. Bus 1000 connects various circuits including one or more processors 1100, memory 1200, and / or hardware modules. Bus 1000 can also connect various other circuits 1300 such as peripherals, voltage regulators, power management circuits, external antennas, etc.
[0145] Bus 1000 can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Component (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, this diagram uses only one connection line, but this does not imply that there is only one bus or one type of bus.
[0146] Any process or method description in the flowcharts or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of this disclosure includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of this disclosure pertain. The processor performs the various methods and processes described above. For example, the method embodiments of this disclosure may be implemented as software programs tangibly contained in a machine-readable medium, such as memory. In some embodiments, part or all of the software program may be loaded and / or installed via memory and / or a communication interface. When the software program is loaded into memory and executed by the processor, one or more steps of the methods described above may be performed. Alternatively, in other embodiments, the processor may be configured to perform one of the methods described above by any other suitable means (e.g., by means of firmware).
[0147] The logic and / or steps represented in the flowchart or otherwise described herein may be specifically implemented in any readable storage medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).
[0148] For the purposes of this specification, a "readable storage medium" can be any means capable of containing, storing, communicating, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and programmable read-only memory (EPROM or flash memory), fiber optic devices, and portable read-only memory (CDROM). Furthermore, a readable storage medium can even be paper or other suitable media on which a program can be printed, since a program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in memory.
[0149] It should be understood that various parts of this disclosure can be implemented in hardware, software, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0150] Those skilled in the art will understand that all or part of the steps of the methods described above can be implemented by a program instructing related hardware, and the program can be stored in a readable storage medium. When executed, the program includes one or a combination of the steps of the method implementation.
[0151] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into a single processing module, or each unit can exist physically separately, or two or more units can be integrated into a single module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a readable storage medium. The storage medium can be a read-only memory, a disk, or an optical disk, etc.
[0152] Figure 9 This is a schematic diagram of an obstacle handling device 900 according to one embodiment of the present disclosure. Figure 9 As shown, the obstacle handling device 900 according to this disclosure may include:
[0153] The data acquisition unit 902 is used to acquire obstacle data of the vehicle, including the position information of multiple first obstacles;
[0154] The position determination unit 904 is used to determine the road position of the first obstacle using the position information of the first obstacle;
[0155] The merging processing unit 906 is used to merge the first obstacles on both sides of the road according to the road position and position information of the first obstacle to obtain the second obstacle and its position information.
[0156] The data update unit 908 is used to replace the position information of the first obstacle in the vehicle's obstacle data with the position information of the second obstacle.
[0157] In some implementations, the merging processing unit 906 can be used to obtain the second obstacle and its location information by merging them in the following manner:
[0158] The location information of a temporary obstacle is determined based on the location information of the current first obstacle and the location information of the current second obstacle. The current second obstacle is located on the same side of the road as the current first obstacle and is adjacent to it in the road position. The temporary obstacle includes the current first obstacle and the current second obstacle.
[0159] Based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle, determine whether the temporary obstacle meets the predetermined merging conditions;
[0160] When the merging condition is met, the current second obstacle and its location information are updated to the temporary obstacle and its location information;
[0161] If the merging conditions are not met, the current first obstacle is set as the new second obstacle, and the position information of the first obstacle is used as the position information of the new second obstacle.
[0162] For details regarding the obstacle handling device 900 and its various units in this embodiment, please refer to the preceding method section, which will not be repeated here.
[0163] This disclosure also provides an electronic device, including: a memory storing execution instructions; and a processor or other hardware module executing the execution instructions stored in the memory, causing the processor or other hardware module to perform the obstacle handling method described above.
[0164] This disclosure also provides a readable storage medium storing execution instructions, which, when executed by a processor, are used to implement the obstacle handling method described above.
[0165] In the description of this specification, the references to terms such as "one embodiment / mode," "some embodiments / modes," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment / mode or example is included in at least one embodiment / mode or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment / mode or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments / modes or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments / modes or examples described in this specification, as well as the features of different embodiments / modes or examples.
[0166] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0167] Those skilled in the art should understand that the above embodiments are merely for illustrating the present disclosure and are not intended to limit the scope of the disclosure. Those skilled in the art can make other changes or modifications based on the above disclosure, and these changes or modifications still fall within the scope of the present disclosure.
Claims
1. A method for processing obstacle data, characterized in that, include: Obtain obstacle data for the vehicle, the obstacle data including the position information of multiple first obstacles; The road location of the first obstacle is determined using the location information of the first obstacle; Based on the road location and location information of the first obstacle, the first obstacles on both sides of the road are merged to obtain the second obstacle and its location information; Replace the position information of the first obstacle in the vehicle's obstacle data with the position information of the second obstacle; The step of merging the first obstacles on both sides of the road to obtain the second obstacle and its location information based on the road location and location information of the first obstacle includes: The location information of a temporary obstacle is determined based on the location information of the current first obstacle and the current second obstacle. The current second obstacle is located on the same side of the road as the current first obstacle and is adjacent to it in terms of road position. The temporary obstacle includes both the current first obstacle and the current second obstacle. Based on the location information of the temporary obstacle, the current first obstacle, and the current second obstacle, it is determined whether the temporary obstacle meets a predetermined merging condition. If the merging condition is met, the current second obstacle and its location information are updated to the temporary obstacle and its location information. If the merging condition is not met, the current first obstacle is set as the new second obstacle, and the location information of the first obstacle is used as the location information of the new second obstacle. The step of determining whether the temporary obstacle meets the predetermined merging conditions based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle includes: Based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle, determine the area truth rate of the temporary obstacle; based on the area truth rate of the temporary obstacle, determine whether the temporary obstacle meets the predetermined merging conditions; The merging conditions include: the area truth rate of the temporary obstacle is greater than or equal to a predetermined truth rate threshold; In this process, multiple rounds of obstacle merging are performed using a threshold set containing multiple truth rate thresholds. The current round uses the obstacle data updated in the previous round, and the truth rate threshold used in the current round is less than the truth rate threshold used in the previous round.
2. The obstacle data processing method according to claim 1, characterized in that, The location information includes vertex positions; the location information of the temporary obstacles is determined by constructing a convex hull algorithm.
3. The obstacle data processing method according to claim 1, characterized in that, The true rate of the area of the temporary obstacle is determined by the shoelace theorem.
4. An obstacle data processing device, characterized in that, include: A data acquisition unit is used to acquire obstacle data of the vehicle, the obstacle data including the position information of multiple first obstacles; A location determination unit is used to determine the road position of the first obstacle using the location information of the first obstacle; The merging processing unit is used to merge the first obstacles on both sides of the road according to the road position and position information of the first obstacle to obtain the second obstacle and its position information. A data update unit is used to replace the position information of the first obstacle in the obstacle data of the vehicle with the position information of the second obstacle; The step of merging the first obstacles on both sides of the road to obtain the second obstacle and its location information based on the road location and location information of the first obstacle includes: The location information of a temporary obstacle is determined based on the location information of the current first obstacle and the current second obstacle. The current second obstacle is located on the same side of the road as the current first obstacle and is adjacent to it in terms of road position. The temporary obstacle includes both the current first obstacle and the current second obstacle. Based on the location information of the temporary obstacle, the current first obstacle, and the current second obstacle, it is determined whether the temporary obstacle meets a predetermined merging condition. If the merging condition is met, the current second obstacle and its location information are updated to the temporary obstacle and its location information. If the merging condition is not met, the current first obstacle is set as the new second obstacle, and the location information of the first obstacle is used as the location information of the new second obstacle. The step of determining whether the temporary obstacle meets the predetermined merging conditions based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle includes: Based on the location information of the temporary obstacle, the location information of the current first obstacle, and the location information of the current second obstacle, determine the area truth rate of the temporary obstacle; based on the area truth rate of the temporary obstacle, determine whether the temporary obstacle meets the predetermined merging conditions; The merging conditions include: the area truth rate of the temporary obstacle is greater than or equal to a predetermined truth rate threshold; In this process, multiple rounds of obstacle merging are performed using a threshold set containing multiple truth rate thresholds. The current round uses the obstacle data updated in the previous round, and the truth rate threshold used in the current round is less than the truth rate threshold used in the previous round.
5. An electronic device, characterized in that, include: The memory stores execution instructions; as well as A processor that executes the execution instructions stored in the memory, causing the processor to perform the obstacle data processing method as described in any one of claims 1 to 3.
6. A readable storage medium, characterized in that, The readable storage medium stores execution instructions, which, when executed by a processor, are used to implement the obstacle data processing method as described in any one of claims 1 to 3.
Citation Information
Patent Citations
CN116215578A