Filtering method for point clouds of drivable regions reconstructed based on map boundaries
By reconstructing the map boundary information and establishing an octree map, the problem of large real-time computing and error-prone calculation of the outer boundary of ROI polygon is solved, and efficient point cloud filtering and real-time data processing are achieved.
Patent Information
- Application Number
- PCT/CN2024/088756
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-31
- Filing Date
- 2024-04-19
- Publication Date
- 2025-03-06
AI Technical Summary
In the prior art, real-time computing is large and requires a large amount of computing resources, which is difficult to meet the real-time data processing requirements of sensors, and real-time ROI polygon outer boundary calculation is prone to errors.
By obtaining the boundary information of the global map, rebuilding the point cloud of the feasible area, and establishing an Octet Tree map, collecting lidar point cloud data in real time, and filtering point cloud data using the Octet Tree map.
It effectively improves computing efficiency, reduces the demand for computing resources, reduces the calculation delay of target information, enables sensor data processing to be real-time, and avoids malfunctions of autonomous driving vehicles.
Smart Images

Figure CN2024088756_06032025_PF_FP_ABST
Abstract
Description
A point cloud filtering method for reconstructing movable areas based on map boundaries Technical Field
[0001] The present invention relates to the field of autonomous driving, and in particular to a point cloud filtering method for reconstructing an drivable area based on map boundaries. Background Art
[0002] In the era of artificial intelligence, driven by breakthroughs in deep learning, autonomous driving has garnered unprecedented attention. Autonomous driving technology has become the latest development trend in the automotive industry. Research institutions, automakers, technology companies, autonomous vehicle startups, and auto parts suppliers are continuously exploring this field.
[0003] As a stable and reliable sensor, LiDAR can obtain a 3D model of the vehicle's surroundings and the location of targets. It can also be used for vehicle positioning, playing a vital role in intelligent driving. Target detection using laser sensing typically requires obtaining point cloud input data within a region of interest (ROI) to avoid wasting computing resources due to irrelevant input. Currently, ROI segmentation relies primarily on prior information such as the outer boundary of a high-precision map. This creates an outer polygon and determines whether each point falls within the polygon to retain the input data within the polygon. The vehicle then calculates the information required by the ROI based on the data within the ROI to implement specific autonomous driving functions.
[0004] However, for each scanned point in each frame of the point cloud, it is necessary to determine whether the point is within the map boundary polygon. The amount of calculation is directly related to the number of scanned points and the number of ROI polygon boundary points, resulting in a large amount of real-time calculation and requiring a large amount of computing resources, which is difficult to meet the real-time data processing requirements of the sensor; when the road conditions are more complicated, the calculation of the real-time ROI polygon outer boundary based on the high-precision map vector information and the current position is prone to errors.
[0005] Summary of the Invention
[0006] The embodiment of the present invention provides a point cloud filtering method for reconstructing an executable area based on map boundaries to solve the problems in related technologies such as large real-time calculation amount, large amount of computing resources required, difficulty in meeting the real-time data processing requirements of sensors, and easy errors in real-time ROI polygon outer boundary calculation.
[0007] In a first aspect, a point cloud filtering method for reconstructing an executable area based on map boundaries is provided, which includes: obtaining boundary information of a global map; reconstructing a ROI area point cloud according to the boundary information, and establishing an octree map through the ROI area point cloud; collecting point cloud data of a lidar, and using the octree map to filter the point cloud data.
[0008] In some embodiments, reconstructing the ROI area point cloud based on the boundary information includes: calculating a grid position range based on the boundary information; calculating grid start and end point information based on the grid position range and integrating them; and reconstructing the ROI area point cloud based on the integrated grid start and end point information.
[0009] In some embodiments, the boundary information includes an outer boundary and an inner boundary; and calculating the grid position range based on the boundary information includes: calculating the grid position range using the outer boundary, and the XY extreme value of the outer boundary must include the range of the inner boundary.
[0010] In some embodiments, the calculation of the grid start and end point information based on the grid position range includes: linear interpolation of the boundary points of the outer boundary; voxelization of the boundary points according to the XY extreme values; sorting and deduplicating the coordinates of the boundary points, and calculating sub-intervals and detecting peak intervals; calculating interval start and end information based on the sub-intervals and the peak intervals, and integrating them to obtain the grid start and end point information.
[0011] In some embodiments, the linear interpolation of the boundary points of the outer boundary includes: calculating the 2D distance between each front and rear point of the boundary, if the distance is greater than the resolution, dividing and rounding up to calculate the number of segments; and calculating the interpolation at segment i based on the number of segments.
[0012] In some embodiments, sorting and removing duplicate coordinates of the boundary points includes: sorting the voxelized XY coordinates from small to large by X coordinate, sorting the voxelized XY coordinates from small to large by Y coordinate for the same X coordinate, and removing duplicate values of the same coordinates.
[0013] In some embodiments, calculating the sub-intervals includes: for each coordinate within the X coordinate range, if a Y value exists, calculating the Y value interval, and dividing the interval if the difference between the two Y values is 1.
[0014] In some embodiments, the peak interval detection includes: judging based on the number of upper and lower continuous intervals of the current interval, if there is no continuous interval in the previous row or the next row, the current interval is a peak interval; if the difference between the total number of continuous intervals in the previous row of the current interval and the number of continuous interval peaks is less than 2 and the difference between the total number of continuous intervals in the next row and the number of continuous interval peaks is greater than 1, or the difference between the total number of continuous intervals in the next row of the current interval and the number of continuous interval peaks is less than 2 and the difference between the total number of continuous intervals in the previous row and the number of continuous interval peaks is greater than 1, then the current interval is a peak interval; iterating downward from one peak interval in sequence, if the number of continuous areas in the next row of the interval is 1 and the number of continuous areas in the previous row of the next row of connected areas is 1, continue to iterate downward, when the next row of continuous areas of the iterated interval is a peak area, all unidirectional connection areas between the two peak areas are peak areas.
[0015] In some embodiments, calculating interval start and end information based on the subintervals and the peak intervals and integrating them to obtain the grid start and end point information includes: obtaining interval and peak information of Y grid coordinates from X grid coordinates, traversing the Y grid coordinate information in sequence, using the first non-peak interval as the starting point of the inner segment; when the traversed interval is a peak interval, switching between inner and outer segments is not affected; when traversing to the second non-peak interval, calculating the current inner segment based on the interval start value, and simultaneously switching to outer segment calculation with the interval end value as the starting point of the outer segment, sequentially switching between inner and outer segment interval calculations until all inner and outer segment interval calculations are completed; traversing the X grid coordinates to obtain start and end information of each inner boundary at the current X coordinate, combining them into an array and sorting them in ascending order according to the Y start and end information; after the inner boundary is combined, integrating the outer boundary and inner boundary start and end information, removing the interval segment containing the inner boundary start and end information from the outer boundary start and end information, and integrating to obtain the grid start and end point information.
[0016] In some embodiments, the collecting of laser radar point cloud data and filtering of the point cloud data using the octree map include: integrating the scanning point XYZ coordinates with the positioning position and external parameters according to the laser radar point cloud scanning point and the vehicle position in each frame to convert the sensor local coordinate data into the map global coordinate system XYZ coordinates; searching for the nearest point of each coordinate point in the octree map, judging whether the point is within the traversable area based on whether the distance between the searched nearest point and the point cloud point is less than a threshold, and filtering the point cloud data.
[0017] The point cloud filtering method for reconstructing an executable area based on a map boundary provided by an embodiment of the present invention specifically includes the following steps:
[0018] Step 1: Get the boundary information of the global map;
[0019] Step 2: Pre-reconstruct the boundary information into an executable area point cloud, and establish an octree map through the executable area point cloud.
[0020] Step 3: Collect the sensor lidar point cloud data in real time, and convert the input point cloud data into data in the global coordinate system based on the received positioning information and known calibration external parameters.
[0021] Step 4: Filter the point cloud through the ROI octree map.
[0022] Step 5: ROI area point cloud processing.
[0023] This method proposes a method for reconstructing a point cloud of the ego-vehicle's drivable area based on the inner and outer boundaries of a global map. An octree map of the drivable area is then created based on this point cloud. For each frame of the point cloud, the octree map searches for the nearest point based on the scan point and the ego-vehicle's position to preserve the input point cloud information within the ROI. For limited scenarios such as mining areas and ports, the octree map of the drivable area can usually be created in one go, depending on the available memory. For open scenarios such as urban roads, the octree map of the drivable area can be iteratively created based on driving information and the map, measured in kilometers or areas. This octree map can be created once and reused within the map's positioning range.
[0024] The beneficial effects brought about by the technical solution provided by the present invention include:
[0025] An embodiment of the present invention provides a point cloud filtering method for reconstructing an executable area based on map boundaries. By reconstructing an executable area octree map based on the global map boundaries, data within the ROI and non-ROI areas can be quickly distinguished through search. This can effectively improve computing efficiency and reduce computing resources, reduce the calculation delay of target information, make sensor data processing real-time, and avoid erroneous control actions of autonomous driving vehicles. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0027] FIG1 is a flow chart of a point cloud filtering method for reconstructing an executable area based on a map boundary according to an embodiment of the present invention;
[0028] FIG2 is a schematic diagram of the inner and outer boundaries of a map provided by an embodiment of the present invention;
[0029] FIG3 is a diagram of a distance resolution linear interpolation according to an embodiment of the present invention;
[0030] FIG4 is a schematic diagram of interpolation voxelization of a map outer boundary according to an embodiment of the present invention;
[0031] FIG5 is a diagram illustrating an example of peak interval detection provided by an embodiment of the present invention;
[0032] FIG6 is a schematic diagram of an inner section provided by an embodiment of the present invention;
[0033] FIG7 is a schematic diagram of a certain inner segment after the inner and outer boundaries are integrated according to an embodiment of the present invention;
[0034] FIG8 is a point cloud diagram of an exerciseable area provided by an embodiment of the present invention;
[0035] FIG9 is a diagram of global map boundary information provided by an embodiment of the present invention;
[0036] FIG10 is a diagram of global map boundary information provided by an embodiment of the present invention;
[0037] FIG11 is a point cloud diagram of an exerciseable area provided by an embodiment of the present invention;
[0038] FIG12 is a sensor point cloud image in a map coordinate system provided by an embodiment of the present invention;
[0039] FIG13 is a point cloud diagram of an executable area ROI provided by an embodiment of the present invention;
[0040] FIG14 is a point cloud diagram of target detection provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0041] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.
[0042] The embodiment of the present invention provides a point cloud filtering method for reconstructing an executable area based on map boundaries, which can solve the problems in related technologies such as large real-time calculation amount, large amount of computing resources required, difficulty in meeting the real-time data processing requirements of sensors, and easy error in real-time ROI polygon outer boundary calculation.
[0043] 1 , a point cloud filtering method for reconstructing an executable area based on a map boundary is provided in an embodiment of the present invention, which may include:
[0044] S01. Obtain boundary information of the global map. Specifically, according to the composition of the map boundary, the map boundary usually has only one outer boundary, and may have no or multiple inner boundaries depending on the actual situation.
[0045] S02. Reconstruct the ROI area point cloud based on the boundary information, and establish an octree map through the ROI area point cloud. Specifically, the main calculation process is: unify the grid position range, calculate the grid start and end point information of each outer boundary and inner boundary, integrate the start and end information, reconstruct the ROI area point cloud and save it as an octree map.
[0046] S03. Collect point cloud data from the laser radar, and use the octree map to filter the point cloud data.
[0047] In this embodiment, by reconstructing the octree map of the executable area based on the global map boundary, the data within the ROI and the non-ROI area can be quickly distinguished through search, which can effectively improve computing efficiency and reduce computing resources, reduce the calculation delay of target information, make sensor data processing real-time, and avoid erroneous control actions of autonomous driving vehicles.
[0048] Furthermore, reconstructing the ROI area point cloud based on the boundary information may include: calculating a grid position range based on the boundary information; calculating grid start and end point information based on the grid position range, and integrating them; and reconstructing the ROI area point cloud based on the integrated grid start and end point information.
[0049] Furthermore, the boundary information includes an outer boundary and an inner boundary; and calculating the grid position range based on the boundary information includes: calculating the grid position range based on the outer boundary, and the XY extreme value of the outer boundary must include the range of the inner boundary.
[0050] Furthermore, the calculation of the grid start and end point information based on the grid position range includes: linear interpolation of the boundary points of the outer boundary; voxelization of the boundary points according to the XY extreme values; sorting and deduplicating the coordinates of the boundary points, and calculating sub-intervals and detecting peak intervals; calculating interval start and end information based on the sub-intervals and the peak intervals, and integrating them to obtain the grid start and end point information.
[0051] In some embodiments, the linear interpolation of the boundary points of the outer boundary includes: calculating the 2D distance between each front and rear point of the boundary, and if the distance is greater than the resolution, dividing and rounding up to calculate the number of segments; and calculating the interpolation at segment i according to the number of segments.
[0052] Furthermore, sorting and removing duplicate coordinates of the boundary points includes: sorting the voxelized XY coordinates from small to large by X coordinate, sorting the voxelized XY coordinates from small to large by Y coordinate for the same X coordinate, and removing duplicate values of the same coordinates.
[0053] Furthermore, the calculation of subintervals includes: for each coordinate within the X coordinate range, if there is a Y value, then the Y value interval is calculated, and if the difference between the previous and next Y values is 1, the interval is divided. The detection of peak intervals includes: judging based on the number of upper and lower continuous intervals of the current interval, if there is no continuous interval in the previous row or the next row, then the current interval is a peak interval; if the difference between the total number of continuous intervals in the previous row of the current interval and the number of peak values of the continuous interval is less than 2 and the difference between the total number of continuous intervals in the next row and the number of peak values of the continuous interval is greater than 1, or the difference between the total number of continuous intervals in the next row of the current interval and the number of peak values of the continuous interval is less than 2 and the difference between the total number of continuous intervals in the previous row and the number of peak values of the continuous interval is greater than 1, then the current interval is a peak interval; iterating downward from one peak interval in sequence, if the number of continuous areas in the next row of the interval is 1 and the number of continuous areas in the previous row of the next row of connected areas is 1, then continue to iterate downward, and when the next row of continuous areas in the iterated interval is a peak area, then all unidirectional connected areas between the two peak areas are peak areas.
[0054] Furthermore, calculating interval start and end information based on the subinterval and the peak interval, and integrating to obtain the grid start and end point information includes: obtaining interval and peak information of the Y grid coordinates through the X grid coordinates, traversing the Y grid coordinate information in sequence, using the first non-peak interval as the starting point of the inner segment; when the traversed interval is a peak interval, switching between inner and outer segments is not affected; when traversing to the second non-peak interval, calculating the current inner segment based on the interval start value, and simultaneously switching to outer segment calculation with the interval end value as the starting point of the outer segment, sequentially switching between inner and outer segment interval calculations until all inner and outer segment interval calculations are completed; traversing the X grid coordinates, obtaining start and end information of each inner boundary at the current X coordinate, combining the information into an array, and sorting the array in ascending order according to the Y start and end information; after the inner boundary is combined, integrating the outer boundary and inner boundary start and end information, removing the interval segment containing the inner boundary start and end information in the outer boundary start and end information, and integrating to obtain the grid start and end point information.
[0055] Furthermore, the collecting of the point cloud data of the laser radar and the filtering of the point cloud data using the octree map include: integrating the XYZ coordinates of the scanning point with the positioning position and external parameters according to the point cloud scanning point of each frame of the laser radar and the position of the vehicle to convert the local coordinate data of the sensor into the XYZ coordinates of the global coordinate system of the map; searching for the nearest point of each coordinate point in the octree map, judging whether the point is within the drivable area according to whether the distance between the searched nearest point and the point cloud point is less than a threshold, and filtering the point cloud data.
[0056] This method proposes a method for reconstructing a point cloud of the ego-vehicle's drivable area based on the inner and outer boundaries of a global map. An octree map of the drivable area is then created based on this point cloud. For each frame of the point cloud, the octree map searches for the nearest point based on the scan point and the ego-vehicle's position to preserve the input point cloud information within the ROI. For limited scenarios such as mining areas and ports, the octree map of the drivable area can usually be created in one go, depending on the available memory. For open scenarios such as urban roads, the octree map of the drivable area can be iteratively created based on driving information and the map, measured in kilometers or areas. This octree map can be created once and reused within the map's positioning range.
[0057] The embodiments of the present invention are further described below with reference to the accompanying drawings.
[0058] This method relies on the inner and outer boundaries of the map, requiring the first step to obtain the inner and outer boundary information transmitted by other modules. Based on the map boundary structure, a map typically has only one outer boundary, while inner boundaries may be absent or multiple depending on the actual situation. A map with one inner boundary and one outer boundary is shown in Figure 2 below, where the outer circle represents the outer boundary and the inner circle represents the inner boundary.
[0059] After obtaining the input map boundary, the main calculation process of reconstructing the octree map of the executable area is: unifying the grid position range, calculating the grid start and end point information of each outer and inner boundary, integrating the start and end information, reconstructing the ROI area point cloud and saving it as an octree map.
[0060] First, the unified grid position range is calculated with a unique outer boundary. The XY maximum and minimum values of the outer boundary can contain the range of the inner boundary. For the right-handed coordinate system, its boundary XY extreme values XYmin and XYmax are the lower left point and upper right point respectively.
[0061] Next, calculate the grid start and end point information for each outer and inner boundary. The calculation process includes the following steps:
[0062] <1> Distance-resolution linear interpolation
[0063] After determining the XY extremes of the outer boundary, based on the set resolution (resolution), for example, 0.1m voxel coordinates, to ensure grid continuity, if the distance between two boundary points is greater than the resolution, linear interpolation is required according to the resolution. Calculate the 2D distance (dist) between the front and back points of the boundary. If it is greater than the resolution, divide and round up to calculate the number of segments num = std::ceil(dist / resolution). Linear interpolation is performed based on the number of segments. The interpolated value at segment i is: x i =x pre +i*(x cur -x pre ) / num y i =y pre +i*(ycur -y pre ) / num
[0064] The interpolation effect in the upper left corner of Figure 2 is shown in Figure 3 below.
[0065] <2> Coordinate XY voxelization
[0066] According to the previously determined outer boundary XY extreme values Xmin, Ymin, Xmax, Ymax, the coordinate voxelization formula of each 2D point on the boundary is: cur =<int>(x cur -Xmin) / resolution y cur =<int>(y cur -Ymin) / resolution
[0067] The interpolation and voxelization effects of the outer boundary of Figure 2 are shown in Figure 4 below, where the X axis points to the right, the Y axis points upward, and the origin O is at the bottom point. After voxelization, the coordinates of each point are converted from floating point to integer to correspond to the grid coordinate index in Figure 4.
[0068] <3> Sorting and deduplication
[0069] The voxelized XY coordinates need to be sorted from smallest to largest by X coordinate first. For those with the same X coordinate, they need to be sorted from smallest to largest by Y coordinate. Because there may be multiple points in a grid, it is necessary to deduplicate the values of the same coordinates to ensure uniqueness.
[0070] <4> Calculate each subinterval
[0071] For each coordinate within the X-coordinate range, if a Y value exists, a Y value interval is calculated. If the difference between the preceding and following Y values is 1, the interval is split. For example, when the X-coordinate is 2 in Figure 4, the Y values are 15, 16, 17, 31, 32, 72, and 73. The calculated intervals are [15-17], [31-32], and [72-73]. Each interval represents the start and end of a line. Between segments, 17-31 is the inner segment and must be retained, while 32-72 is the outer segment and does not need to be retained. The segment 72-73 is a peak interval.
[0072] <5> Peak interval detection
[0073] Typically, the first segment between segments is the inner segment, followed by the outer segment, alternating between inner and outer segments. However, peak intervals disrupt this pattern. For example, when the X coordinate is 0 in Figure 4, the Y value intervals [18-21] and [23-26] are both peak intervals, while the interval [21-23] is an outer segment, not an inner segment. Therefore, peak interval detection is required. Since linear interpolation is performed based on the resolution, if there are continuous intervals above and below the interval [y1-y2], a number must be between [(y1-1)-(y2+1)]. This is used to determine the number of continuous intervals above and below the current interval.
[0074] Peak interval detection first determines the interval based on the number of consecutive intervals above and below the current interval. If there are no consecutive intervals in the previous or next row, the current interval is a peak interval. Secondly, intervals of more than one minute should also be considered peak intervals. If the difference between the total number of consecutive intervals in the previous row and the number of peaks in the consecutive interval is less than 2 and the difference between the total number of consecutive intervals in the next row and the number of peaks in the consecutive interval is greater than 1, or if the difference between the total number of consecutive intervals in the next row and the number of peaks in the consecutive interval is less than 2 and the difference between the total number of consecutive intervals in the previous row and the number of peaks in the consecutive interval is greater than 1, then the current interval is a peak interval. Finally, the area between two peak intervals may also be entirely peak areas. Iterate from one peak interval downwards. If the number of consecutive areas in the next row of the interval is 1 and the number of consecutive areas in the previous row of the next connected area is 1, continue iterating. If the next row of continuous areas in the iterated interval is a peak area, then all unidirectionally connected areas between the two peak areas are peak areas. An example of peak interval detection is shown in Figure 5 below, where points 1, 2, and 3 correspond to the first case, point 4 corresponds to the second case, and the area between points 3 and 4 corresponds to the third case.
[0075] <6> Calculation start and end information
[0076] Calculate the interval start and end information based on the interval and peak information from steps 4 and 5. Traverse the X grid coordinates to obtain the interval and peak information for the Y grid coordinates. Traverse the Y grid coordinate information sequentially, with the first non-peak interval being the starting point of the inner segment. When the traversed interval is a peak interval, it does not affect the switching between inner and outer segments. When traversing to the second non-peak interval, the current inner segment is calculated based on the interval start value, and the calculation is switched to the outer segment at the same time, with the interval end value as the starting point of the outer segment. The calculation of the inner and outer segments is switched sequentially until all inner and outer segment intervals are calculated. For example, in the intervals [74-74], [162-166], [183-191], [207-215], [235-246], [278-278], and [406-406], where [183-191], [235-246], and [278-278] are peak intervals, the inner intervals are [74-162] and [215-406], and the outer interval is [166-207]. The inner interval of the Y value when the outer boundary X coordinate in Figure 4 is 7 is shown in Figure 6 below.
[0077] Finally, the start and end information integration must be performed after the grid start and end point information for each outer and inner boundary is calculated. The previous step calculated the start and end information for each outer and inner boundary separately. Since there is only one outer boundary, but there may be multiple inner boundaries, all inner boundary information is first integrated into one. The X grid coordinates are traversed to obtain the start and end information for each inner boundary at the current X coordinate. This is combined into an array and sorted by Y start and end information from smallest to largest. After the inner boundaries are integrated, the start and end information for the outer and inner boundaries is integrated again, removing any segments of the outer boundary start and end information that contain the inner boundary start and end information. The inner segment interval at a specific X grid coordinate after integration is shown in Figure 7 below.
[0078] Finally, reconstruct the ROI area point cloud and save it as an octree map. After calculating the start and end coordinates of the Y grid segments within all X grid coordinates, reconstruct a grid midpoint for each Y axis start and end segment coordinate: pt x =(x cur +0.5)*resolution+Xmin pt y =(y cur +0.5)*resolution+Ymin
[0079] After reconstructing all ROI area point clouds, an octree map is created using octree in the point cloud library PCL and the ROI point cloud is input. After the octree map is completed, the XYZ coordinates of the scan points in each frame of the lidar point cloud and the vehicle position are integrated with the positioning position and external parameters to convert the sensor's local coordinate data into the map's global coordinate system XYZ coordinates. Then, each coordinate point is searched for the nearest point in the octree map. The distance between the nearest searched point and the point cloud point is determined to be less than the threshold (2*resolution) of 0.2m to determine whether the point is within the traversable area. Finally, the input point cloud information within the ROI is filtered and retained. The reconstructed traversable area ROI point cloud is shown as the black point in Figure 8 below.
[0080] This solution filters the point cloud in non-ROI areas based on the octree map of the executable area reconstructed based on the global map boundary. It quickly distinguishes the data within the ROI and the non-ROI area by searching, which can effectively improve the computing efficiency and reduce computing resources, reduce the calculation delay of the target information, make the sensor data processing real-time, and avoid the misoperation of the autonomous driving vehicle control.
[0081] The point cloud filtering method for reconstructing an executable area based on a map boundary provided by an embodiment of the present invention specifically includes the following steps:
[0082] Step 1: Obtain the boundary information of the global map, as shown in Figures 9 and 10 below;
[0083] Step 2: Pre-reconstruct the boundary information into an executable area point cloud, as shown in Figure 11. Create an octree map using the executable area point cloud.
[0084] Step 3: Collect the sensor lidar point cloud data in real time, and convert the input point cloud data into data in the global coordinate system based on the received positioning information and known calibration external parameters, as shown in Figure 12 below.
[0085] Step 4: Filter the point cloud through the ROI octree map. The point cloud in the ROI area is shown in Figure 13.
[0086] Step 5: ROI area point cloud processing and target detection are shown in Figure 14 below.
[0087] In the description of the present invention, it should be noted that the orientation or positional relationship indicated by the terms "upper" and "lower" is based on the orientation or positional relationship shown in the accompanying drawings, and is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present invention. Unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be internal communication between two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances.
[0088] It should be noted that, in the present invention, relational terms such as "first" and "second" are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element.
[0089] The foregoing description is intended only to provide specific embodiments of the present invention, which will enable those skilled in the art to understand and implement the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not intended to be limited to the embodiments shown herein, but is intended to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A point cloud filtering method for reconstructing an executable area based on map boundaries, characterized in that: It includes: Get the boundary information of the global map; Reconstructing the ROI area point cloud according to the boundary information, and establishing an octree map through the ROI area point cloud; The point cloud data of the laser radar is collected, and the point cloud data is filtered using the octree map.
2. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 1, characterized in that: The reconstructing the ROI area point cloud according to the boundary information comprises: Calculate the grid position range according to the boundary information; Calculate grid start and end point information according to the grid position range and integrate them; The ROI area point cloud is reconstructed according to the integrated grid start and end point information.
3. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 2, characterized in that: The boundary information includes an outer boundary and an inner boundary; Calculating the grid position range according to the boundary information includes: The grid position range is calculated using the outer boundary, and the XY extreme values of the outer boundary must include the range of the inner boundary.
4. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 3, characterized in that: The calculating of grid start and end point information according to the grid position range comprises: Performing linear interpolation on boundary points of the outer boundary; voxelize the boundary points according to the XY extreme values; The coordinates of the boundary points are sorted and duplicated, and the sub-intervals and peak intervals are calculated; The interval start and end information is calculated according to the sub-interval and the peak interval, and the grid start and end point information is obtained by integration.
5. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 4, characterized in that: The linear interpolation of the boundary points of the outer boundary comprises: Calculate the 2D distance between the front and back points of each boundary. If the distance is greater than the resolution, divide it and round up to calculate the number of segments. Calculate the interpolated value at segment i according to the number of segments.
6. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 4, characterized in that: The step of sorting and removing duplicate coordinates of the boundary points comprises: The voxelized XY coordinates are first sorted by X coordinate from small to large, and those with the same X coordinate are sorted by Y coordinate from small to large, and the values of the same coordinates are removed.
7. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 4, characterized in that: The calculation subintervals include: For each coordinate within the X coordinate range, if there is a Y value, the Y value interval is calculated, and the interval is split if the difference between the Y values before and after is 1.
8. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 4, characterized in that: The detection peak interval includes: According to the number of continuous intervals above and below the current interval, if there is no continuous interval in the previous row or the next row, the current interval is the peak interval; If the difference between the total number of continuous intervals in the previous row of the current interval and the peak number of the continuous interval is less than 2 and the difference between the total number of continuous intervals in the next row and the peak number of the continuous interval is greater than 1, or the difference between the total number of continuous intervals in the next row of the current interval and the peak number of the continuous interval is less than 2 and the difference between the total number of continuous intervals in the previous row and the peak number of the continuous interval is greater than 1, then the current interval is a peak interval; Iterate downward from a peak interval in sequence. If the number of continuous areas in the next row of the interval is 1 and the number of continuous areas in the previous row of the next row of connected areas is 1, continue to iterate downward. When the next row of continuous areas in the iterated interval is a peak area, all unidirectionally connected areas between the two peak areas are peak areas.
9. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 4, characterized in that: The calculating the interval start and end information according to the sub-interval and the peak interval, and integrating to obtain the grid start and end point information comprises: The interval and peak information of the Y grid coordinates are obtained from the X grid coordinates. The Y grid coordinate information is traversed in sequence. The first non-peak interval is the starting point of the inner segment. When the traversed interval is the peak interval The time interval does not affect the switching between inner and outer segments. When traversing to the second non-peak interval, the current inner segment is calculated according to the interval start value, and at the same time, it is switched to the outer segment calculation and the interval end value is used as the start point of the outer segment. The inner and outer segment interval calculations are switched in sequence until all inner and outer segment interval calculations are completed. Traverse the X grid coordinates, obtain the start and end information of each inner boundary under the current X coordinate, synthesize them into an array and sort them from small to large according to the Y start and end information. After the inner boundary is synthesized, integrate the start and end information of the outer boundary and the inner boundary, remove the interval segment containing the start and end information of the inner boundary in the start and end information of the outer boundary, and integrate to obtain the start and end point information of the grid.
10. The point cloud filtering method for reconstructing an executable area based on a map boundary as claimed in claim 9, characterized in that: The collecting of the laser radar point cloud data and filtering the point cloud data by using the octree map comprises: According to the scanning point of each frame of the laser radar point cloud and the position of the vehicle, the XYZ coordinates of the scanning point are integrated with the positioning position and external parameters to convert the local coordinate data of the sensor into the XYZ coordinates of the global coordinate system of the map; The nearest point of each coordinate point in the octree map is searched, and whether the point is within the executable area is determined based on whether the distance between the searched nearest point and the point cloud point is less than a threshold, and the point cloud data is filtered.
Citation Information
Patent Citations
Multiline laser radar-based 3D point cloud segmentation method
CN106204705A
Method for quickly detecting and updating road boundary of operation area of unmanned mine card
CN112801022A
Point cloud filtering method for reconstructing travelable area based on map boundary
CN117152356A
Outline approximation for point cloud of building
US20150063707A1
Cited By
Scattered cable saddle stress nephogram generation method and system
CN121723788A