A radar noise filtering method, device, host computer and laser radar
By converting the point cloud data of the lidar into a depth map and comparing it with the depth map of the historical frame, and judging and retaining data points with nearest neighbors, the problem of noise in the lidar measurement data is solved, and data accuracy and processing efficiency are improved.
Patent Information
- Application Number
- CN202311586299.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-24
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2043-11-24
AI Technical Summary
There is noise in the data measured by lidar, resulting in a decrease in data accuracy and accuracy, affecting subsequent data processing and analysis.
By converting the point cloud data at the current moment into a depth map and comparing it with the depth map of the historical frame, we can determine whether the point in the current frame has a nearest neighbor point. If it exists, the point will be retained to filter out noise.
It effectively improves the accuracy and accuracy of lidar measurement data, reduces the impact of noise, and improves the efficiency of data processing.
Smart Images

Figure CN117572383B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of radar, and specifically, to a radar noise filtering method, device, host computer and laser radar. Background Art
[0002] Lidar generally refers to laser radar (i.e., radar with laser as radiation source). Lidar is a radar system that emits laser beams to detect the position, speed and other characteristic quantities of the target. Its working principle is to transmit a detection signal (laser beam) to the target, and then compare the received signal reflected from the target (target echo) with the transmitted signal. After appropriate processing, relevant information about the target can be obtained, such as target distance, direction, height, speed, attitude, and even shape parameters, so as to detect, track and identify the target. Lidar usually includes a laser emitting part, a laser receiving part and a processor. Lidar converts electrical pulses into light pulses and transmits them, and then restores the light pulses reflected from the target into electrical pulses.
[0003] The data measured by LiDAR usually contains a certain amount of noise, which will reduce the precision and accuracy of LiDAR data. These noises may come from errors in the sensor itself, the influence of environmental conditions (such as rain, fog, dust, etc.), or uneven reflective characteristics of the surface of the object. Noise will have an adverse effect on subsequent data processing and analysis. For example, when performing applications such as obstacle detection, target tracking, and map construction, noise will lead to erroneous detection and analysis results. Summary of the invention
[0004] The embodiments of the present application provide a radar noise filtering method, device, host computer and laser radar, so as to at least solve the problem caused by the data obtained by laser radar measurement including noise in the related art.
[0005] According to one aspect of the present application, a radar noise filtering method is provided, comprising: converting point cloud data from a radar at a current moment into a depth map corresponding to a current frame; obtaining a depth map corresponding to a historical frame, wherein the historical frame is a frame corresponding to a historical moment before the current moment, and the historical frame is one or more; determining whether a point in the depth map corresponding to the current frame has a neighboring point at a corresponding position in the depth map corresponding to the historical frame, wherein two points are considered to have a distance less than a threshold as a neighboring point; and retaining points in the depth map corresponding to the current frame that have the neighboring points at the corresponding positions in the historical frames, wherein the retained points will not be filtered out as noise points.
[0006] Furthermore, determining whether a point in the depth map corresponding to the current frame has a neighboring point at a corresponding position in the depth map corresponding to the historical frame includes: determining, based on each of the grids in the depth map corresponding to the current frame, whether a point in each of the grids has a neighboring point at a corresponding position in each of the grids in the depth map corresponding to the historical frame.
[0007] Furthermore, judging whether the points in each grid in the depth map corresponding to the current frame have the neighboring points at the positions corresponding to each grid in the depth map corresponding to the historical frame according to each grid in the depth map corresponding to the current frame includes: judging whether the number of points in the historical frames corresponding to each grid in the current frame is greater than a point number threshold; calculating the number of historical frames in which the current point is a neighboring point, and judging whether the number of historical frames in which the neighboring points are present is greater than a frame number threshold; wherein the current point is a point in each grid in the current frame; and when the number of points is greater than the point number threshold and the number of historical frames is greater than the frame number threshold, determining that the points in the grid have the neighboring points at the positions corresponding to the grid in the depth map corresponding to the historical frame.
[0008] Furthermore, if a point in the depth map corresponding to the current frame and a point in the depth map corresponding to the historical frame satisfy at least one of the following conditions, it is considered that the point of the current frame has a neighboring point at the corresponding position in the historical frame: the distance between the point of the current frame and the point in the historical frame is less than a first distance threshold, wherein the first distance threshold is pre-configured; the distance between the point of the current frame and the point in the historical frame is less than a second distance threshold, wherein the second distance threshold is obtained based on the distance value of the current point.
[0009] Furthermore, the second distance threshold is determined according to the distance value of the current point, the angular resolution of the radar, and a self-configured adjustable parameter.
[0010] Furthermore, after retaining the points in the depth map corresponding to the current frame that have the neighboring points at the corresponding positions in the historical frames, the method also includes: filtering out the points in the depth map corresponding to the current frame that do not have the neighboring points at the corresponding positions in the historical frames; or, for the points in the depth map corresponding to the current frame that do not have the neighboring points at the corresponding positions in the historical frames, determining whether the point has a neighboring point in the depth map corresponding to the current frame, retaining the point if so, and filtering out the point if not.
[0011] Further, determining whether there are neighboring points for a point in the depth map corresponding to the current frame includes: determining whether there are neighboring points by judging whether the distance between the point and the upper channel and / or the lower channel of the point meets a predetermined condition, where meeting at least one of the following is considered to meet the predetermined condition: abs(Lp - Lpn) < thresh1, where thresh1 is a threshold obtained in advance; abs(Lp - Lpn) < Lp * sin(θ) * r, where Lp is the distance of the current point, Lpn is the distance of the point in the upper channel or the lower channel of point p, θ is the vertical angular resolution of the lidar, r is an adjustable parameter, n refers to all candidate upper channels or lower channels, and abs is the absolute value; abs(Lp - (Lpn1 + Lpn2) / 2) < thresh2; where thresh2 is another threshold obtained in advance, Lp is the distance of the current point, Lpn1 is the distance of the point in its upper channel, and Lpn2 is the distance of the point in its lower channel.
[0012] According to another aspect of the present application, there is also provided a host computer, including a memory and / or a processor; wherein, the memory is used to store one or more computer instructions, and the processor is used to execute the one or more computer instructions; wherein, the one or more computer instructions are executed by the processor to implement the above method steps.
[0013] According to another aspect of the present application, there is also provided a lidar, on which computer instructions are stored, and when the computer instructions are executed, the above method steps are implemented.
[0014] According to another aspect of the present application, there is also provided a noise filtering device for a radar, including: a conversion module for converting the point cloud data from the radar at the current moment into a depth map corresponding to the current frame; an acquisition module for acquiring the depth map corresponding to the historical frame, where the historical frame is the frame corresponding to the historical moment before the current moment, and the historical frame is one or more; a judgment module for judging whether there are neighboring points at the corresponding positions in the depth map corresponding to the historical frame for the points in the depth map corresponding to the current frame, where the distance between two points being less than the threshold is the neighboring point; a retention module for retaining the points in the depth map corresponding to the current frame that have neighboring points at the corresponding positions in the historical frame, and the retained points will not be filtered as noise.
[0015] In the embodiment of the present application, the point cloud data from the radar at the current moment is converted into a depth map corresponding to the current frame; the depth map corresponding to the historical frame is obtained, wherein the historical frame is a frame corresponding to the historical moment before the current moment, and the historical frame is one or more; it is determined whether there are neighboring points at the corresponding positions of the points in the depth map corresponding to the current frame in the depth map corresponding to the historical frame, wherein the distance between two points is less than a threshold value and is the neighboring point; the points in the depth map corresponding to the current frame that have the neighboring points at the corresponding positions in the historical frame are retained, wherein the retained points will not be filtered out as noise points. Through the present application, it is determined that points need to be retained, which helps to filter out laser radar noise points, thereby solving the problem caused by the data obtained by laser radar measurement including noise points in the related technology to a certain extent, and improving the measurement effect of the laser radar. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The drawings constituting a part of the present application are used to provide a further understanding of the present application. The illustrative embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0017] Figure 1 is a flow chart of a noise filtering method for a radar according to an embodiment of the present application;
[0018] Figure 2 It is a schematic diagram of the process of radar noise removal according to an embodiment of the present application. DETAILED DESCRIPTION
[0019] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0020] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0021] In the following embodiments, laser radar is involved, and the technical terms in laser radar are first explained below.
[0022] The image output by the LiDAR is also called a "point cloud" image, and the angle between two adjacent points is the angular resolution. A point cloud image represents one frame, which corresponds to the motor rotating one circle inside the LiDAR to complete the scan. The frame rate represents the number of revolutions of the LiDAR motor in one second, that is, the number of times a circle of scan is completed per second. The sampling rate indicates the number of effective acquisitions per second by the LiDAR, which can be intuitively understood as the number of point clouds generated in one second. The sampling rate can be calculated by the angular resolution and frame rate. For example, when the angular resolution is 0.08°, the number of point clouds in each frame is: 360° / 0.08°=4500; if there are 10 frames per second, the number of point clouds per second is: 4500×10=45000; so its sampling rate is 45kHz.
[0023] Inside the lidar, each set of components contains a transmitting unit and a receiving unit. This set of transmitting / receiving components and the mirror are combined to scan at least one plane. The mirror not only reflects the light emitted by the diode, but also reflects the reflected light back to the receiver. The mirror can be rotated. By rotating the mirror, different angles of view can be achieved and the complexity of system design and manufacturing can be reduced.
[0024] The depth map is arranged according to the horizontal and vertical angles of the lidar point cloud. Each pixel contains the point cloud attributes such as depth, intensity, x-coordinate, y-coordinate, and z-coordinate. The reason for using the depth map is that it retains the arrangement relationship of the point cloud, and the pixels near the current pixel can be used when searching for neighboring points.
[0025] The noise points existing in the LiDAR are inaccurate or abnormal measurement points caused by various factors, which need to be filtered out or reduced. Filtering out noise points plays a big role in LiDAR. For example, accurate LiDAR data usually contains a large number of points. Filtering out noise points can reduce the amount of data and improve data processing efficiency, thereby reducing storage and processing costs. For another example, noise points may cause the LiDAR to measure frequently and increase the wear of mechanical parts. Therefore, processing noise points can also help reduce the wear of the LiDAR and extend the service life of the sensor. The scheme in the following implementation method is applicable to the filtering of noise points of LiDAR in various situations, especially for the filtering of noise points when the LiDAR is stationary, and the filtering effect is better when a large number of noise points appear.
[0026] In order to solve the above problem, a radar noise filtering method is provided in the following implementation: Figure 1 is a flow chart of a noise filtering method for a radar according to an embodiment of the present application, such as Figure 1 As shown below, Figure 1 The steps involved in the method are described.
[0027] Step S102, converting the point cloud data from the radar at the current moment into a depth map corresponding to the current frame;
[0028] Step S104, obtaining a depth map corresponding to a historical frame, wherein the historical frame is a frame corresponding to a historical moment before the current moment, and the historical frame is one or more;
[0029] Step S106, determining whether there is a neighboring point at the corresponding position of the point in the depth map corresponding to the current frame in the depth map corresponding to the historical frame, wherein two points whose distance is less than a threshold are the neighboring points;
[0030] Step S108: retaining the points in the depth map corresponding to the current frame that have the neighboring points, wherein the retained points will not be filtered out as noise points.
[0031] Through the above steps, the current frame is compared with the historical frame. If the point of the current frame has a neighboring point, it means that the point is associated with the depth map corresponding to the historical frame, and the point needs to be retained, thereby solving the problem caused by the data obtained by the laser radar measurement in the related technology including noise points, thereby improving the measurement effect of the laser radar. The above steps use the method of judging the distance of the point, which is conducive to improving the efficiency of finding the points that need to be retained when there are a large number of noise points, thereby improving the elimination efficiency, and requiring less computing resources.
[0032] It should be noted that the number of the above historical frames is configurable. If the number of historical frames is configured to be large, the accuracy of noise point judgment can be improved and the probability of misjudgment of noise points can be reduced; if the number of historical frames is configured to be small, the execution efficiency of the algorithm can be improved.
[0033] There are many ways to determine whether there are neighboring points. For example, each grid can be used to determine whether the points in each grid have neighboring points in the depth map corresponding to the historical frame. That is, determining whether the points in the depth map corresponding to the current frame have neighboring points at the corresponding positions in the depth map corresponding to the historical frame includes: determining whether the points in each grid have neighboring points at the corresponding positions of each grid in the depth map corresponding to the historical frame according to each grid in the depth map corresponding to the current frame.
[0034] Above Figure 1 The judgment step in uses a threshold as a basis for judging the neighboring points. This judgment condition can be referred to as condition 1. Condition 1 is described below in conjunction with an optional implementation.
[0035] Condition 1: Convert the point cloud (pcl format) to a depth grid (depth map), the point cloud data of each mirror is a depth map, and save the distance value of the point that falls in the grid in the most recent historical M frames for each grid. Here, the distance refers to the distance between the point that falls in the grid in a certain historical frame and the distance between the point that falls in the grid in the current frame. For example, in a grid, there is point 1 in the current frame and point 2 in the previous frame of the current frame, then the distance value is the distance between point 1 and point 2. Then, determine whether the current point is retained based on whether there are neighboring points in the historical frame.
[0036] Method for judging whether there are neighboring points in the historical frame: For the current frame, if the number of points in the M frames of a grid is greater than the threshold N1, and there are historical points in the N2 frames whose distance is close to the current point, then the point is retained. Here, N1 is the threshold of the number of points, and N2 is the threshold of the number of frames. In an optional embodiment, these two values can be configured as needed. That is, in condition 1, judging whether the points in each grid have the neighboring points at the position corresponding to each grid in the depth map corresponding to the historical frame according to each grid in the depth map corresponding to the current frame includes the following steps:
[0037] Determine whether the number of points in the historical frame corresponding to each of the grids in the current frame is greater than a point threshold;
[0038] Calculate the number of historical frames that have neighboring points with the current point, and determine whether the number of historical frames that have the neighboring points is greater than a frame number threshold; wherein the current point is a point in each of the grids in the current frame;
[0039] When the number of points is greater than the point number threshold and the number of historical frames is greater than the frame number threshold, it is determined that the neighboring point exists at the position corresponding to the grid in the depth map corresponding to the historical frame.
[0040] Whether the historical point and the current point are neighboring points or not is determined by setting a threshold (this threshold can be called a distance threshold), and comparing the distance and the threshold to determine whether they are neighboring points. This threshold can be pre-set, but this method of pre-setting the threshold may not be suitable for the situation of each point. As another optional method, the threshold of each point can be determined according to the distance of each point in the current frame (referred to as the current point), so that the threshold of the current point is related to the distance of the current point, which can be more suitable for the actual situation of each point.
[0041] If the resolution of the lidar is taken into account, the angular resolution of the lidar can also be introduced when calculating the threshold of the current point. This threshold processing method can make the threshold more accurate. As another alternative implementation, considering different application scenarios of the lidar, a freely adjustable parameter can also be introduced. This parameter can adjust the size of the threshold according to the actual scenario, so as to make the elimination of noise points more flexible. The following gives an example of calculating whether a historical point and a current point are neighboring points. In this example, the distance of the current point, the angular resolution of the lidar, and the adjustable parameter are used.
[0042] For example: The method for determining whether the historical point pn and the current point p are neighboring points is as follows:
[0043] First, calculate the threshold Threshod: Threshod = Lt * sin(θ) * r; then compare the distances between the current point and the historical point: when abs(Lt - Ltn) < Threshod, the historical point and the current point are neighboring points. Where, Lt is the distance of the current point (the unit can be meters), Ltn is the distance of the historical point (the unit can be meters), θ is the vertical angular resolution of the lidar, and r is the adjustable parameter.
[0044] Summarizing the above two methods for obtaining the distance threshold, if the point in the depth map corresponding to the current frame and the point in the depth map corresponding to the historical frame satisfy at least one of the following conditions, it is considered that there is a neighboring point at the position corresponding to the point in the current frame in the historical frame:
[0045] The distance between the point in the current frame and the point in the historical frame is less than the first distance threshold, where the first distance threshold is pre-configured;
[0046] The distance between the point in the current frame and the point in the historical frame is less than the second distance threshold, where the second distance threshold is obtained according to the distance value of the current point. Preferably, the second distance threshold can also be determined according to the distance value of the current point, the angular resolution of the radar, and the self-configured adjustable parameter.
[0047] If only the situation of the current point and the historical point is considered, the situation of mis-filtering dynamic objects may occur. It should be noted that in actual applications, only filtering noise points according to condition 1 can also achieve relatively good results, and the situation of mis-filtering dynamic objects will not affect the use of the lidar. In order to make the filtering of noise points more reasonable, condition 2 can also be introduced on the basis of condition 1.
[0048] Condition 2: For points that do not satisfy condition 1, check whether there are neighboring points. If there are neighboring points, keep the points.
[0049] Both Condition 1 and Condition 2 involve neighboring points, but the meanings of these two neighboring points are different. The neighboring points in Condition 1 are compared between the points in the current frame and the historical frame; the neighboring points in Condition 2 are compared between different points in the current frame. To distinguish these two neighboring points, the neighboring points in Condition 1 can be called the first neighboring points, and the neighboring points in Condition 2 can be called the second neighboring points. In Condition 2, the points whose distance from the current point is less than the threshold can all be called the second neighboring points.
[0050] It should be noted that if Condition 2 is not introduced, after step S108, the points in the depth map corresponding to the current frame that do not have the neighboring points can be filtered out. If Condition 2 is introduced, for the points in the depth map corresponding to the current frame that do not have the neighboring points, it is judged whether there are neighboring points in the depth map corresponding to the current frame. If there are, the points are retained; if not, the points are filtered out.
[0051] When judging the second neighboring points, a pre-obtained threshold can be used, or the threshold can be determined according to the actual distance of the current point. Similar to the principle of determining the threshold in Condition 1, the angular resolution of the lidar can also be introduced, so that it can be applied to lidars with different resolutions. An adjustable parameter can also be introduced to adapt to different application scenarios of the lidar. One of these two methods for determining the threshold can be adopted. If the filtering intensity is to be increased, it can be required that the distances of both points simultaneously meet the requirements of these two thresholds; if false filtering is to be prevented, it can be required that the distance between the two points meets one of these two thresholds to be considered a neighboring point. The following is an example to illustrate this.
[0052] For example: The method for judging whether there are neighboring points for point p in the current frame. If any of the following conditions is met, the point is retained:
[0053] The distance between point p and the points in its upper or lower channels is judged in turn. If any of the following conditions is met, it indicates that there are neighboring points:
[0054] (1) abs(Lp - Lpn) < thresh1; thresh1 is the pre-obtained threshold.
[0055] (2) abs(Lp - Lpn) < Lp * sin(θ) * r.
[0056] Among them, Lp is the distance of the current point (unit: meter), Lpn is the distance of the point in the upper or lower channel of point p (unit: meter), θ is the vertical angular resolution of the lidar, and r is the adjustable parameter. For Lpn, where n represents all candidate upper and lower channels (n = 1, 2, 3, 4...).
[0057] In the above example, it is only necessary to use the points of the upper channel or the lower channel for judgment. In another example, the points of the upper channel and the points of the lower channel can also be combined for judgment, which can effectively prevent mis-filtering.
[0058] For example, the distance between the point p and the points of its upper channel and its lower channel is judged:
[0059] abs(Lp - (Lpn1 + Lpn2) / 2) < thresh2; where thresh2 is another threshold, Lp is the distance of the current point (the unit can be meters), Lpn1 is the distance of the point of its upper channel, and Lpn2 is the distance of the point of its lower channel (the unit is meters).
[0060] The distance involved in the above example is the distance in the depth map. Since each pixel in the depth map stores the depth value of the point, the above distance is the distance from the point to the origin of the lidar coordinate system.
[0061] Summarizing the above condition 2, it can be obtained that determining whether there is a neighboring point for the point in the depth map corresponding to the current frame includes: judging whether the distance between the point and the upper channel and / or the lower channel of the point satisfies a predetermined condition to determine whether there is a neighboring point. Preferably, if at least one of the following is satisfied, it is considered that the predetermined condition is satisfied:
[0062] abs(Lp - Lpn) < thresh1, where thresh1 is a threshold obtained in advance;
[0063] abs(Lp - Lpn) < Lp * sin(θ) * r, where Lp is the distance of the current point, Lpn is the distance of the point of the upper channel or the lower channel of point p, θ is the vertical angular resolution of the lidar, r is an adjustable parameter, and n refers to all candidate upper channels or lower channels, and abs is to take the absolute value;
[0064] abs(Lp - (Lpn1 + Lpn2) / 2) < thresh2; where thresh2 is another threshold obtained in advance, Lp is the distance of the current point, Lpn1 is the distance of the point of its upper channel, and Lpn2 is the distance of the point of its lower channel.
[0065] Figure 2 It is a schematic flowchart of the radar noise filtering according to the embodiment of the present application. The above steps are integrated in Figure 2 as shown in Figure 2As shown in , the process includes the following steps: obtaining point cloud data at time T, then calculating the depth image index to obtain the depth map, obtaining the depth map corresponding to the historical frame, determining whether there is a neighboring point in the historical frame, if so, retaining the point, and updating the candidate compensation depth map. If there is no neighboring point in the historical frame, determining whether there is a neighboring point in the current frame, if so, retaining the point, if not, determining whether there is a candidate point in the candidate compensation depth map, if so, not selecting the point, and if not, deleting the point. Update the depth map of the current frame at time T, update the depth map of the historical frame, and output the point cloud data after filtering out the noise points.
[0066] Above Figure 2 The illustrated process may be implemented through the following optional implementation.
[0067] 1. Convert the point cloud (pcl format) at time T into a depth map, traverse all points, and the depth map index corresponding to point P (x, y, z, channel, horizon_angle) is calculated as follows:
[0068] a.x_index=floor((horizon_angle-horizon_angle_min) /
[0069] horizon_angle_resolution)
[0070] b.y_index = channel
[0071] Each pixel stores the farthest distance value of the point that falls within this grid in the current frame; channel is the channel attribute of the point, and horizon_angle is the horizontal angle attribute of the point.
[0072] 2. Initialize an empty depth map as a candidate compensation depth map. The size and index calculation method of the candidate compensation depth map is the same as the above depth map. Figure 1 The difference is that the pixel stores the XYZ coordinates of the point.
[0073] 3. Maintain a circular queue to store the distance values of the points that fall within the grid in the most recent M frames.
[0074] 4. For the points in the current frame, the judgment conditions based on the historical frames and the current frame will be used to confirm whether the current point is retained:
[0075] a. Judgment conditions based on historical frames (M frames in total):
[0076] i. Assume that the index of the candidate point P in the depth map of the current frame is x_index, y_index;
[0077] ii. Count the total number N1_p of valid points at the positions of the historical frame indices (x_index, y_index).
[0078] iii. Count the total number N2_p of points at the positions of the historical frame indices (x_index, y_index) that are neighboring points with the current point P.
[0079] Among them, the method for determining whether a historical point Pn and the current point P are neighboring points may include the following steps:
[0080] a1. Threshod = Lt * sin(θ) * r;
[0081] b.1 When abs(Lt - Ltn) < Threshod, the historical point and the current point are neighboring points;
[0082] c.1 Where, Lt is the distance of the current point (in meters), Ltn is the distance of the historical point (in meters), θ is the vertical angular resolution of the lidar, and r is an adjustable parameter;
[0083] iv. When N1_p is greater than the threshold N1_thred and N2_p is greater than the threshold N2_thred, retain this point; at the same time, update the corresponding pixel of the candidate compensation depth map to the current point coordinates XYZ;
[0084] b. If only considering the current point and the historical points, it is easy to mis-filter dynamic objects. Therefore, a judgment condition based on the current frame can be introduced:
[0085] i. The method for determining whether there are neighboring points for the point p in the current frame, record the number N3_p of neighboring points in the current frame. If N3_p is greater than the threshold N3_thred, retain this point:
[0086] 1. Sequentially judge the distance between the point p and the points in its upper and lower channels. If any of the following conditions is met, it means they are neighboring points and the count value is incremented by 1:
[0087] a. abs(Lp - Lpn) < thresh1;
[0088] b. abs(Lp - Lpn) < Lp * sin(θ) * r;
[0089] c. Where, Lp is the distance of the current point (in meters), Lpn is the distance of the points in the upper and lower channels of the point p (in meters), θ is the vertical angular resolution of the lidar, and r is an adjustable parameter.
[0090] 2. Judge the distance between the point p and the points in its upper channel and its lower channel. If the following condition is met, it means they are neighboring points and the count value is incremented by 1:
[0091] a.abs(Lp-(Lpn1+Lpn2) / 2) <thresh2;
[0092] b. Where Lp is the distance of the current point (in meters), Lpn1 is the distance of the point on the upper channel, and Lpn2 is the distance of the point on the lower channel (in meters).
[0093] 5. For points that do not meet the retention conditions, determine whether there is a valid value in the corresponding pixel of the candidate compensation depth map. If there is a valid value, the corresponding coordinate point in the candidate compensation depth map is used for compensation.
[0094] 6. Update the value of the circular queue, update the two-dimensional grid of the point cloud at time T in the circular queue, and delete the earliest frame of data.
[0095] 7. Repeat the above steps.
[0096] In this embodiment, an electronic device is provided, including a memory and a processor. The memory stores a computer program, and the processor is configured to run the computer program to execute the method in the above embodiment.
[0097] In this embodiment, a host computer may also be provided, including a memory and / or a processor, and the host computer is communicatively connected to the laser radar; wherein the memory is used to store one or more computer instructions, and the processor is used to execute the one or more computer instructions; wherein the one or more computer instructions are executed by the processor to implement the above-mentioned method steps.
[0098] In this embodiment, a laser radar may also be provided, on which computer instructions are stored, wherein the above-mentioned method steps are implemented when the computer instructions are executed.
[0099] The above program can be run in the processor, or it can also be stored in the memory (or computer-readable medium), which includes permanent and non-permanent, removable and non-removable media. Information storage can be achieved by any method or technology. Information can be computer-readable instructions, data structures, modules of programs or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.
[0100] These computer programs can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps of the functions specified in one or more blocks can be implemented by different modules corresponding to different steps.
[0101] Such a device or system is provided in this embodiment. The device is called a noise point filtering device for radar, and includes: a conversion module, which is used to convert the point cloud data from the radar at the current moment into a depth map corresponding to the current frame; an acquisition module, which is used to acquire the depth map corresponding to the historical frame, wherein the historical frame is a frame corresponding to the historical moment before the current moment, and the historical frame is one or more; a judgment module, which is used to judge whether there are neighboring points at the corresponding positions of the points in the depth map corresponding to the current frame in the depth map corresponding to the historical frame, wherein the distance between two points is less than a threshold value and is the neighboring point; a retention module, which is used to retain the points in the depth map corresponding to the current frame that have the neighboring points at the corresponding positions in the historical frame, wherein the retained points will not be filtered out as noise points.
[0102] The system or device is used to implement the functions of the method in the above-mentioned embodiment. Each module in the system or device corresponds to each step in the method, which has been explained in the method and will not be repeated here.
[0103] Optionally, the judgment module is used to: judge, based on each grid in the depth map corresponding to the current frame, whether a point in each grid has a neighboring point at a position corresponding to each grid in the depth map corresponding to the historical frame.
[0104] Optionally, the judgment module is used to: judge whether the number of points in the historical frames corresponding to each of the grids in the current frame is greater than a point number threshold; calculate the number of historical frames that have neighboring points to each of the points in the grids in the current frame, and judge whether the number of historical frames with the neighboring points is a frame number threshold; when the number of points is greater than the point number threshold and the number of historical frames is greater than the frame number threshold, determine that the point in the grid has a neighboring point at a position corresponding to the grid in the depth map corresponding to the historical frame.
[0105] Optionally, if a point in the depth map corresponding to the current frame and a point in the depth map corresponding to a historical frame satisfy at least one of the following conditions, it is considered that there is a neighboring point at the position corresponding to the point in the current frame in the historical frame: the distance between the point in the current frame and the point in the historical frame is less than a first distance threshold, where the first distance threshold is pre-configured; the distance between the point in the current frame and the point in the historical frame is less than a second distance threshold, where the second distance threshold is obtained according to the distance value of the current point.
[0106] Optionally, the second distance threshold is determined according to the distance value of the current point, the angular resolution of the radar, and an adjustable parameter configured by itself.
[0107] Optionally, the device may further include: a filtering module, configured to filter out the points in the depth map corresponding to the current frame that do not have neighboring points at the positions corresponding to them in the historical frame; or, for the points in the depth map corresponding to the current frame that do not have neighboring points at the positions corresponding to them in the historical frame, determine whether there are neighboring points for such points in the depth map corresponding to the current frame. If there are, retain such points; if not, filter out such points.
[0108] Optionally, the filtering module is configured to: determine whether there are neighboring points by judging whether the distance between the point and the points in its upper channel and / or lower channel satisfies a predetermined condition, where if at least one of the following is satisfied, it is considered that the predetermined condition is satisfied: abs(Lp - Lpn) < thresh1, where thresh1 is a threshold obtained in advance; abs(Lp - Lpn) < Lp * sin(θ) * r, where Lp is the distance of the current point, Lpn is the distance of the point in the upper channel or lower channel of point p, θ is the vertical angular resolution of the lidar, r is an adjustable parameter, n refers to all candidate upper channels or lower channels, and abs is to take the absolute value; abs(Lp - (Lpn1 + Lpn2) / 2) < thresh2; where thresh2 is another threshold obtained in advance, Lp is the distance of the current point, Lpn1 is the distance of the point in its upper channel, and Lpn2 is the distance of the point in its lower channel.
[0109] Through the above embodiments, the points that need to be retained can be determined, which helps to filter out the noise of the lidar, improves the reliability of the lidar point cloud data, and reduces the lidar perception false alarm.
[0110] The above are only embodiments of the present application and are not used to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.
Claims
1. A radar noise filtering method, characterized in that: Including: Converting the point cloud data from the radar at the current moment into a depth map corresponding to the current frame; Obtaining the depth maps corresponding to the historical frames, where the historical frames are the frames corresponding to the historical moments before the current moment, and the historical frames are one or more; Judging whether there are neighboring points at the corresponding positions in the depth map corresponding to the historical frames for the points in the depth map corresponding to the current frame, where two points with a distance less than a threshold are the neighboring points; wherein, judging whether there are neighboring points at the corresponding positions in the depth map corresponding to the historical frames for the points in the depth map corresponding to the current frame includes: judging whether the number of points in the historical frames corresponding to each grid in the depth map corresponding to the current frame is greater than the point number threshold; calculating the number of historical frames having neighboring points with the current point, and judging whether the number of historical frames having the neighboring points is greater than the frame number threshold; wherein, the current point is the point in each grid of the current frame; in the case where the number of points is greater than the point number threshold and the number of historical frames is greater than the frame number threshold, determining that there are neighboring points at the corresponding positions of the grids corresponding to the points in the depth map corresponding to the historical frames for the points in the grid; Retaining the points in the depth map corresponding to the current frame that have neighboring points at the corresponding positions in the historical frames, where the retained points will not be filtered out as noise points.
2. The method according to claim 1, characterized in that: After retaining the points in the depth map corresponding to the current frame that have neighboring points at the corresponding positions in the historical frames, the method further includes: Filtering out the points in the depth map corresponding to the current frame that do not have neighboring points at the corresponding positions in the historical frames; or, for the points in the depth map corresponding to the current frame that do not have neighboring points at the corresponding positions in the historical frames, judging whether there are neighboring points for this point in the depth map corresponding to the current frame, retaining the point if there are, and filtering out the point if there are not.
3. The method according to claim 2, characterized in that Judging whether there are neighboring points for this point in the depth map corresponding to the current frame includes: Judging whether the distance between this point and the upper channel and / or lower channel of this point meets a predetermined condition to determine whether there are neighboring points, where meeting at least one of the following is considered to meet the predetermined condition: abs(Lp - Lpn) < thresh1, where thresh1 is a threshold obtained in advance; abs(Lp - Lpn) < Lp * sin(θ) * r, where point p represents this point, Lp is the distance of point p, Lpn is the distance of the point on the upper channel or lower channel of point p, θ is the vertical angular resolution of the radar, r is an adjustable parameter, n refers to all candidate upper channels or lower channels, and abs is to take the absolute value; abs(Lp - (Lpn1 + Lpn2) / 2) < thresh2; where thresh2 is another threshold obtained in advance, Lp is the distance of point p, Lpn1 is the distance of the point on its upper channel, and Lpn2 is the distance of the point on its lower channel.
4. A radar noise filtering method, characterized in that: Including: Converting the point cloud data from the radar at the current moment into a depth map corresponding to the current frame; Obtain the depth map corresponding to the historical frame, where the historical frame is the frame corresponding to the historical moment before the current moment, and the historical frame is one or more; Determine whether there are neighboring points at the corresponding positions in the depth map corresponding to the historical frame for the points in the depth map corresponding to the current frame. Here, two points with a distance less than a threshold are considered neighboring points. Among them, if the points in the depth map corresponding to the current frame and the points in the depth map corresponding to the historical frame meet at least one of the following conditions, it is considered that there are neighboring points at the corresponding positions in the historical frame for the points in the current frame: The distance between the point in the current frame and the point in the historical frame is less than the first distance threshold, where the first distance threshold is pre-configured; The distance between the point in the current frame and the point in the historical frame is less than the second distance threshold, where the second distance threshold is obtained according to the distance value of the current point; Retain the points in the depth map corresponding to the current frame that have neighboring points at the corresponding positions in the historical frame. The retained points will not be filtered out as noise points. Among them, after retaining the points in the depth map corresponding to the current frame that have neighboring points at the corresponding positions in the historical frame, the method further includes: For the points in the depth map corresponding to the current frame that do not have neighboring points at the corresponding positions in the historical frame, determine whether there are neighboring points for this point in the depth map corresponding to the current frame. If there are, retain this point; if not, filter out this point.
5. The method according to claim 4, characterized in that The second distance threshold is determined according to the distance value of the current point, the angular resolution of the radar, and an adjustable parameter configured by itself.
6. The method according to claim 4, characterized in that Determining whether there are neighboring points for this point in the depth map corresponding to the current frame includes: Determine whether the distance between this point and the points in its upper channel and / or lower channel meets a predetermined condition to determine whether there are neighboring points. Among them, if at least one of the following is met, it is considered that the predetermined condition is met: abs(Lp - Lpn) < thresh1, where thresh1 is a threshold obtained in advance; abs(Lp - Lpn) < Lp * sin(θ) * r, where point p represents this point, Lp is the distance of point p, Lpn is the distance of the point in the upper channel or lower channel of point p, θ is the vertical angular resolution of the radar, r is an adjustable parameter, and n refers to all candidate upper channels or lower channels, and abs is to take the absolute value; abs(Lp - (Lpn1 + Lpn2) / 2) < thresh2; where thresh2 is another threshold obtained in advance, Lp is the distance of point p, Lpn1 is the distance of the point in its upper channel, and Lpn2 is the distance of the point in its lower channel.
7. A host computer, comprising a memory and / or a processor, wherein the host computer is communicatively connected to a radar; wherein: The memory is used to store one or more computer instructions, and the processor is used to execute the one or more computer instructions; among them, the one or more computer instructions are executed by the processor to implement the method steps described in any one of claims 1 to 6.
8. A radar having computer instructions stored thereon, wherein: When the computer instructions are executed, the method steps described in any one of claims 1 to 6 are implemented.
9. A noise filtering device for radar, characterized in that: Include: A conversion module for converting the point cloud data from the radar at the current moment into the depth map corresponding to the current frame; An acquisition module, used to acquire a depth map corresponding to a historical frame, wherein the historical frame is a frame corresponding to a historical moment before the current moment, and the historical frame is one or more; A judgment module, used to judge whether there is a neighboring point at the corresponding position of the depth map corresponding to the current frame, wherein the distance between two points is less than a threshold value; wherein the judgment of whether there is a neighboring point at the corresponding position of the depth map corresponding to the historical frame comprises: judging whether the number of points in the historical frames corresponding to each grid in the depth map corresponding to the current frame is greater than a point number threshold; calculating the number of historical frames with neighboring points of the current point, and judging whether the number of historical frames with the neighboring points is greater than a frame number threshold; wherein the current point is a point in each of the grids in the current frame; when the number of points is greater than the point number threshold and the number of historical frames is greater than the frame number threshold, determining that the point in the grid has the neighboring point at the position corresponding to the grid in the depth map corresponding to the historical frame; A retaining module is used to retain the points in the depth map corresponding to the current frame where the neighboring points exist at the corresponding positions in the historical frames, wherein the retained points will not be filtered out as noise points.
10. A noise filtering device for radar, characterized in that: include: A conversion module, used to convert the point cloud data from the radar at the current moment into a depth map corresponding to the current frame; An acquisition module, used to acquire a depth map corresponding to a historical frame, wherein the historical frame is a frame corresponding to a historical moment before the current moment, and the historical frame is one or more; A judgment module, used to judge whether there is a neighboring point at the corresponding position of the depth map corresponding to the historical frame for the point in the depth map corresponding to the current frame, wherein the distance between two points is less than a threshold value and is the neighboring point; wherein, if the point in the depth map corresponding to the current frame and the point in the depth map corresponding to the historical frame meet at least one of the following conditions, it is considered that the point in the current frame has a neighboring point at the corresponding position in the historical frame: the distance between the point in the current frame and the point in the historical frame is less than a first distance threshold, wherein the first distance threshold is pre-configured; the distance between the point in the current frame and the point in the historical frame is less than a second distance threshold, wherein the second distance threshold is obtained according to the distance value of the current point; A retaining module is used to retain the points in the depth map corresponding to the current frame where the neighboring points exist at the corresponding positions in the historical frames, wherein the retained points will not be filtered out as noise points; wherein, after retaining the points in the depth map corresponding to the current frame where the neighboring points exist at the corresponding positions in the historical frames, the retaining module is further used to: For a point in the depth map corresponding to the current frame where no neighboring point exists at the corresponding position in the historical frame, it is determined whether the point has a neighboring point in the depth map corresponding to the current frame. If so, the point is retained; if not, the point is filtered out.
Citation Information
Patent Citations
Laser point cloud data noise reduction method
CN116934620A