Ground point cloud filtering methods, systems, equipment and storage media for lidar

By performing structured encoding and neighbor point lookup on LiDAR point clouds, ground and noisy point clouds are filtered out, solving the problem that ground and noise affect the recognition speed and accuracy in existing technologies, and achieving efficient and real-time point cloud filtering.

CN115166700BActive Publication Date: 2025-12-02SHANGHAI WESTWELL INFORMATION & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210759747.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-30
Publication Date
2025-12-02
Estimated Expiration
2042-06-30

AI Technical Summary

Technical Problem

Existing lidar systems contain a large amount of ground and noise information in point cloud data, which increases the computational load, reduces recognition speed and accuracy, and affects the driving safety of autonomous driving systems.

Method used

By performing structured encoding on the point cloud, conditional queries of neighbor points are used to determine whether the current point is an environmental point, and ground and noise are filtered out. This includes mapping to a 3D coordinate system for encoding, filtering based on neighbor point information, and calibrating to the vehicle coordinate system. Cylindrical coordinate system encoding is then combined to further remove isolated points.

Benefits of technology

While ensuring the robustness of the filtering, the algorithm efficiency was improved, the real-time performance of the algorithm was ensured, the ground and noisy point clouds were effectively removed, and the recognition accuracy and computational efficiency were improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115166700B_ABST
    Figure CN115166700B_ABST
Patent Text Reader

Abstract

This invention provides a method, system, device, and storage medium for filtering ground point clouds from a lidar system. The method includes the following steps: mapping each point in the lidar coordinate system to a three-dimensional coordinate system and encoding it to obtain a point cloud set; performing structured encoding on each point based on the three-dimensional coordinates; filtering the point cloud based on at least the line beam index, pitch angle index, and distance index to the lidar center of the current point's two neighboring points; filtering to distinguish between environment points and ground points by sequentially querying the information of the current point's upper and lower neighboring points based on the horizontal angle index; calibrating to the vehicle coordinate system, encoding the filtered point cloud using the cylindrical coordinate system, and filtering the point cloud again based on neighboring point information; and removing point clouds generated by the vehicle body based on prior information to obtain the environment point cloud. This invention can improve the efficiency of the algorithm by retaining environment points and filtering out ground points and noise points in the point cloud through structured encoding of the point cloud and conditional querying of neighboring points.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of AI vision technology, and in particular to a ground point cloud filtering method, system, device and storage medium for LiDAR. Background Technology

[0002] With the continuous advancement of urban intelligence, autonomous driving technologies are emerging in various scenarios. Perception algorithms are one of the key technologies supporting autonomous driving, aiming to filter and extract useful environmental information from acquired sensor data, thereby providing strong support for downstream tasks. LiDAR has now become a common sensor in the field of autonomous driving, but effectively utilizing the point cloud observed by LiDAR to construct useful environmental information and filter out ground and noise are challenging problems that need to be addressed. Failure to effectively filter point cloud information irrelevant to environmental structure will significantly impact the performance of downstream tasks, thus affecting the overall performance of the autonomous driving system.

[0003] Laser Radar (LiDAR) is a radar system that uses laser beams to detect the position, velocity, and other characteristics of targets. Its working principle involves emitting a detection signal (laser beam) towards the target, then comparing the received signal (target echo) with the emitted signal. After appropriate processing, information about the target, such as distance, azimuth, altitude, speed, attitude, and even shape, can be obtained, enabling the detection, tracking, and identification of targets like aircraft and missiles. It consists of a laser transmitter, an optical receiver, a turntable, and an information processing system. The laser converts electrical pulses into light pulses, which are then emitted. The optical receiver converts the light pulses reflected from the target back into electrical pulses and sends them to a display. While LiDAR offers advantages such as high precision and high resolution, and has the potential to create 3D models of surrounding objects, its disadvantages include weak detection of stationary objects like median barriers and high implementation costs. LiDAR can be widely used in ADAS systems, such as Adaptive Cruise Control (ACC), Forward Collision Warning (FCW), and Automatic Emergency Braking (AEB).

[0004] Current LiDAR systems acquire point cloud data containing information such as road surface, noise, or vehicle body noise. Directly inputting such point cloud data into a point cloud recognition model to identify obstacle types would greatly increase the amount of useless computation, reduce recognition speed and accuracy, and thus affect driving safety.

[0005] In view of this, the present invention provides a ground point cloud filtering method, system, device and storage medium for lidar.

[0006] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of the present invention, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0007] To address the problems in existing technologies, the present invention aims to provide a ground point cloud filtering method, system, device, and storage medium for lidar, overcoming the difficulties of existing technologies. It can filter out ground and noise in the observed point cloud by using structured encoding of the point cloud and conditional query of neighbor points to determine whether the current point is an environmental point that needs to be retained. The present invention improves the efficiency of the algorithm while ensuring the robustness of filtering and ensures the real-time performance of the algorithm.

[0008] Embodiments of the present invention provide a ground point cloud filtering method for lidar, comprising the following steps:

[0009] Map each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system, and perform structured encoding on each point based on the three-dimensional coordinate system.

[0010] The point cloud is filtered based on at least the beam index, elevation angle index, and distance index to the center of the lidar, using information from at least two neighboring points of the first current point, to remove isolated points.

[0011] Based on the horizontal angular index, the information of the upper and lower neighboring points of the first current point is queried sequentially. When the first current point satisfies the following conditions: the distance index between the first current point and the upper neighboring point is the same, the height is different, and there is a lower neighboring point, the environmental points and ground points in the point cloud are distinguished.

[0012] The filtered point cloud is calibrated to the vehicle coordinate system, and the filtered point cloud is encoded through the cylindrical coordinate system. The point cloud is then filtered again based at least on the neighbor point information of the second current point to remove isolated points.

[0013] After removing the point cloud generated by the vehicle body based on prior information, the environmental point cloud is obtained.

[0014] Preferably, the step of mapping each point of the original observation point cloud in the lidar coordinate system to a three-dimensional coordinate system, and performing structured encoding on each point based on the three-dimensional coordinates, includes:

[0015] Map each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system, wherein the X-axis and Y-axis of the three-dimensional coordinate system are parallel to the horizontal plane, and the Z-axis is perpendicular to the horizontal plane.

[0016] Obtain the vertical arrangement order of the laser beams corresponding to each point, and sequentially encode the beam index of the laser beams at each point.

[0017] The elevation angle of the line connecting each point to the center of the lidar is obtained based on the horizontal plane, and the points are sequentially indexed and encoded according to the numerical order of the horizontal plane elevation angle.

[0018] The distance from each point to the center of the lidar is obtained.

[0019] Preferably, the step of obtaining the lines connecting each point to the center of the lidar based on the horizontal plane elevation angle, and sequentially indexing each point according to the numerical order of the horizontal plane elevation angle, further includes:

[0020] The pitch angle

[0021] Preferably, the filtering of the point cloud based on at least two neighboring point information of the first current point, the beam index, the pitch angle index, and the distance index to the center of the lidar to remove isolated points includes:

[0022] Traverse the point cloud, query the left and right points of the first current point based on the pitch angle index code, and determine whether the difference between the distance between the first current point and the distance between the left and right points is less than or equal to a preset threshold. If yes, the first current point is a noise point and is filtered out from the point cloud. If no, query the upper and lower neighboring points of the first current point based on the bundle index code, and determine whether the distance between the first current point and the distance between at least one of the upper and lower neighboring points is equal. If yes, the first current point is a noise point and is filtered out from the point cloud. If no, the first current point is retained in the point cloud.

[0023] Preferably, the sequential query of the information of the upper and lower neighbor points of the first current point based on the horizontal angular index, when the first current point satisfies the following conditions to distinguish environmental points and ground points in the point cloud: the distance index between the first current point and the upper neighbor point is the same, the height is different, and there is a lower neighbor point, the query includes:

[0024] Based on the horizontal angle index, sequentially query the information of the upper and lower neighboring points of the first current point;

[0025] If the first current point satisfies the following conditions: the distance index of the first current point is the same as that of the upper neighbor point, the height is different, and there is no lower neighbor point, then the first current point is an environment point.

[0026] If the first current point satisfies the following conditions: the distance index of the first current point is the same as that of the upper neighbor point, the height is different, and there is a lower neighbor point, then the first current point is a ground point.

[0027] Preferably, the sequential query of the information of the upper and lower neighboring points of the first current point based on the horizontal angle index further includes:

[0028] The horizontal angle is h_angle = (tan -1 (y / x)) / π*180, let the horizontal angular resolution be α, and the horizontal angular index h_angle_index=h_angle / α.

[0029] Preferably, the step of sequentially querying the information of the upper and lower neighbor points of the first current point based on the horizontal angle index, after the first current point satisfies the conditions of having the same distance index as the upper neighbor point, different heights, and the existence of a lower neighbor point to distinguish environmental points and ground points in the point cloud, includes the following steps: calibrating the filtered point cloud to the vehicle coordinate system, encoding the filtered point cloud through the cylindrical coordinate system, and filtering the point cloud again based at least on the neighbor point information of the second current point before removing isolated points:

[0030] The labels of the left and right neighboring points of the first current point retained in the point cloud based on the pitch angle index are filtered. When the left and right neighboring points have the same height and are both ground points, the first current point is updated to a ground point; when the upper and lower neighboring points have the same height and are both ground points, the first current point is updated to a ground point; when neither the left nor right neighboring points are environmental points nor ground points, the first current point is updated to a ground point.

[0031] Preferably, the step of filtering the labels of the left and right neighboring points of the first current point retained in the point cloud based on the pitch angle index, wherein when the left and right neighboring points have the same height and are both ground points, the first current point is updated to a ground point; when the upper and lower neighboring points have the same height and are both ground points, the first current point is updated to a ground point; and when neither the left nor right neighboring points are environmental points nor ground points, the first current point is updated to a ground point, and then the filtered point cloud is calibrated to the vehicle coordinate system, and the filtered point cloud is encoded through the cylindrical coordinate system, and the point cloud is filtered again based at least on the neighboring point information of the second current point before removing isolated points, includes:

[0032] Traverse the point cloud marked as ground points, query the next neighbor point located at the first current point through the harness index encoding, and if the next neighbor point of the first current point is a ground point and has a different height from the first current point, then update the first current point to an environment point.

[0033] Preferably, the traversal of the point cloud marked as ground points involves querying the next neighbor point located at the first current point using the harness index encoding. If the next neighbor point of the first current point is a ground point and has a different height from the first current point, then after updating the first current point to an environment point, the filtered point cloud is calibrated to the vehicle coordinate system, and the filtered point cloud is encoded using the cylindrical coordinate system. Before filtering the point cloud again based at least on the neighbor point information of the second current point and removing isolated points, the process includes:

[0034] Points marked as ground points are filtered out from the point cloud, and the remaining point clouds are all environmental points.

[0035] Preferably, the step of calibrating the filtered point cloud to the vehicle coordinate system, encoding the filtered point cloud using a cylindrical coordinate system, and then filtering the point cloud again based at least on the neighbor point information of the second current point to remove isolated points includes:

[0036] Based on the pre-calibrated extrinsic parameter matrix T, the coordinates of each corresponding lidar coordinate system in the point cloud are mapped to the vehicle coordinate system;

[0037] The filtered point cloud is encoded using the horizontal angular index, radial distance index, and vertical distance index in the cylindrical coordinate system;

[0038] The second current point in the cylindrical coordinate system is queried for neighboring points on both sides of the current point through the bundle index, radial distance index and vertical distance index respectively. If all the neighboring points of the second current point are environmental points, the second current point is retained; if at least one of the neighboring points of the second current point is not an environmental point, the second current point is filtered out from the point cloud.

[0039] Preferably, the step of encoding the filtered point cloud using the horizontal angular index, radial distance index, and vertical distance index in the cylindrical coordinate system further includes:

[0040] Encoding is performed using the horizontal angular resolution h_angle_r, where the horizontal angle index h_angle_index = tan 1 / 2. -1 (y / x) / h_angle_r, the radial angle index, is calculated by using the projection point of the second current point onto the XOY plane in the cylindrical coordinate system to determine the distance from the origin, and encoded using the radial distance resolution r_r. Radial distance index The vertical distance index is encoded using the z-axis coordinate of the second current point and the vertical resolution z_r: z_index = z / z_r.

[0041] Preferably, the step of obtaining the environmental point cloud after removing the point cloud generated by the vehicle body based on prior information includes:

[0042] Based on the maximum and minimum values ​​of the vehicle body point cloud collected by the LiDAR with prior information on each axis in the vehicle coordinate system, the range of the vehicle body on each axis is established.

[0043] Filter out points located within the spatial range of the vehicle body from the point cloud;

[0044] The remaining point cloud is used as an environmental point cloud representing only environmental points.

[0045] Embodiments of the present invention also provide a ground point cloud filtering system for lidar, used to implement the above-described ground point cloud filtering method for lidar. The ground point cloud filtering system for lidar includes:

[0046] The structured coding module maps each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system, and performs structured coding on each point based on the three-dimensional coordinate system.

[0047] The isolated point removal module filters the point cloud based on at least the bundle index, elevation angle index, and distance index to the center of the lidar of the two neighboring points of the first current point to remove isolated points;

[0048] The point cloud classification module queries the information of the upper and lower neighboring points of the first current point in sequence based on the horizontal angular index. When the first current point satisfies the following conditions: the distance index between the first current point and the upper neighboring point is the same, the height is different, and there is a lower neighboring point, the module distinguishes environmental points and ground points in the point cloud.

[0049] The first filtering module calibrates the filtered point cloud to the vehicle coordinate system, encodes the filtered point cloud using the cylindrical coordinate system, and filters the point cloud again based at least on the neighbor point information of the second current point to remove isolated points.

[0050] The environmental point cloud module obtains the environmental point cloud after removing the point cloud generated by the vehicle body based on prior information.

[0051] Embodiments of the present invention also provide a ground point cloud filtering device for lidar, comprising:

[0052] processor;

[0053] Memory, which stores the processor's executable instructions;

[0054] The processor is configured to execute the steps of the above-described ground point cloud filtering method for lidar by executing executable instructions.

[0055] Embodiments of the present invention also provide a computer-readable storage medium for storing a program that, when executed, implements the steps of the above-described ground point cloud filtering method for lidar.

[0056] The ground point cloud filtering method, system, device, and storage medium of the lidar of the present invention can filter out the ground and noise in the observation point cloud by using the structured encoding of the point cloud and the conditional query of neighbor points to determine whether the current point is an environmental point that needs to be retained. The present invention improves the efficiency of the algorithm while ensuring the robustness of the filtering and ensures the real-time performance of the algorithm. Attached Figure Description

[0057] Other features, objects, and advantages of the invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings.

[0058] Figure 1 This is a flowchart of the ground point cloud filtering method for lidar according to the present invention.

[0059] Figures 2 to 13 This is a schematic diagram of one implementation process of the ground point cloud filtering method of the lidar of the present invention.

[0060] Figure 14 This is a schematic diagram of the ground point cloud filtering system of the lidar of the present invention.

[0061] Figure 15 This is a schematic diagram of the ground point cloud filtering device for the lidar of the present invention.

[0062] Figure 16 This is a schematic diagram of the structure of a computer-readable storage medium according to an embodiment of the present invention. Detailed Implementation

[0063] The following specific examples illustrate the implementation methods of this application. Those skilled in the art can easily understand the other advantages and effects of this application from the content disclosed herein. This application can also be implemented or applied through other different specific embodiments, and various details in this application can be modified or changed according to different viewpoints and application systems without departing from the spirit of this application. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.

[0064] The embodiments of this application will now be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily implement the application. This application may be embodied in many different forms and is not limited to the embodiments described herein.

[0065] In this application, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics represented in connection with that embodiment or example, which are included in at least one embodiment or example of this application. Furthermore, the specific features, structures, materials, or characteristics represented may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate different embodiments or examples represented in this application, as well as features of different embodiments or examples.

[0066] Furthermore, the terms "first" and "second" are used for illustrative purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the representation of this application, "multiple" means two or more, unless otherwise explicitly specified.

[0067] For the purpose of clearly describing this application, devices that are not relevant to the description are omitted, and the same or similar components throughout the specification are given the same reference numerals.

[0068] Throughout this specification, when it is said that a device is "connected" to another device, this includes not only "direct connection" but also "indirect connection" by placing other components in between. Furthermore, when it is said that a device "comprises" a certain constituent element, unless otherwise stated otherwise, this does not exclude other constituent elements, but rather implies that other constituent elements may be included.

[0069] When we say that a device is "above" another device, this can mean that it is directly above the other device, or it can mean that other devices are present in between. Conversely, when we say that a device is "directly" "above" another device, there are no other devices present in between.

[0070] While the terms first, second, etc., are used in some instances to denote various elements in this invention, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, first interface and second interface, etc., are used. Furthermore, as used herein, the singular forms “a,” “an,” and “the” are intended to also include the plural forms, unless the context indicates otherwise. It should be further understood that the terms “comprising,” “including,” indicate the presence of features, steps, operations, elements, components, items, kinds, and / or groups, but do not exclude the presence, occurrence, or addition of one or more other features, steps, operations, elements, components, items, kinds, and / or groups. The terms “or” and “and / or” as used herein are to be interpreted inclusively, or mean any one or any combination thereof. Therefore, “A, B, or C” or “A, B, and / or C” means “any one of: A; B; C; A and B; A and C; B and C; A, B, and C.” An exception to this definition will only occur if the combination of elements, functions, steps, or operations is inherently mutually exclusive in some way.

[0071] The technical terms used herein are for reference only to specific embodiments and are not intended to limit the scope of this application. The singular form used herein includes the plural form unless the statement explicitly indicates otherwise. The word "comprising" as used in the specification means to specify a particular characteristic, region, integer, step, operation, element, and / or component, and does not exclude the presence or addition of other characteristics, regions, integers, steps, operations, elements, and / or components.

[0072] Although not explicitly defined, all terms, including technical and scientific terms used herein, shall have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. Terms defined in commonly used dictionaries shall be further interpreted as having a meaning consistent with the relevant technical literature and the content of this present application, and shall not be over-interpreted as having an ideal or overly formulaic meaning unless otherwise defined.

[0073] Figure 1 This is a flowchart of the ground point cloud filtering method for the lidar of the present invention. Figure 1 As shown, an embodiment of the present invention provides a ground point cloud filtering method for lidar, comprising the following steps:

[0074] S110. Map each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system, and perform structured encoding on each point based on the three-dimensional coordinate system.

[0075] S120: Filter the point cloud based on at least two neighboring point information of the first current point, including the beam index, pitch angle index, and distance index to the center of the lidar, to remove isolated points;

[0076] S130. Based on the horizontal angular index, sequentially query the information of the upper and lower neighbor points of the first current point. When the first current point satisfies the following conditions: the distance index between the first current point and the upper neighbor point is the same, the height is different, and there is a lower neighbor point, the environmental points and ground points in the point cloud can be distinguished.

[0077] S170. The filtered point cloud is calibrated to the vehicle coordinate system. The filtered point cloud is encoded using the cylindrical coordinate system. The point cloud is then filtered again based on the neighbor point information of the second current point to remove isolated points.

[0078] S180. After removing the point cloud generated by the vehicle body based on prior information, the environmental point cloud is obtained.

[0079] This invention provides a robust method for filtering ground point clouds and noise data. It obtains point coordinates from the coordinates of points in the original observed point cloud through structured encoding. First, isolated point filtering is performed on the point cloud. This involves querying to determine if the current point has nearby left and right neighbors or adjacent points belonging to the same surface (because it may have captured environmental features with fine, high elevations, where the current point's left and right neighbors are far away but still need to be retained). If none exist, the current point is filtered out. Then, a vertical height index is added to the filtered point cloud (using a pre-set vertical distance range and fine-grained vertical encoding), and the point cloud is horizontally calibrated to the vehicle coordinate system using a calibrated extrinsic parameter matrix T. Finally, determine whether the calibrated point cloud belongs to the ground points that need to be filtered out. First, traverse all points. If the current point does not have an upper neighbor and a lower neighbor point at the same time, it is ground that needs to be filtered out. Then, query all the left and right neighbor points of the current point that is treated as an environment point to see if they are ground points. If they are, it means that the judgment is wrong and they need to be filtered out. Then, query all the lower neighbor points of the points that are treated as ground points. If the lower neighbor point and the current point belong to the same object surface but have different vertical heights, it means that the judgment is wrong and the current point that was mistakenly treated as a ground point needs to be retained. Based on this, the observation data of the top laser beam that was filtered out as a ground point because it did not have an upper neighbor point can be completed.

[0080] To further ensure that the retained environmental points do not contain misclassified ground points, it is necessary to traverse all environmental points and query the judgment status (environment point or ground point) of neighboring points within a pre-defined effective range (a certain horizontal angle, vertical height, and distance from the current point). If a neighboring point is ground, the current point's status is modified to ground. At this point, the point cloud generated by the vehicle itself is filtered out based on the vehicle's dimensions, resulting in the final environmental point cloud that needs to be retained.

[0081] In a preferred embodiment, S110 includes:

[0082] S111. Map each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system. The X-axis and Y-axis of the three-dimensional coordinate system are parallel to the horizontal plane, and the Z-axis is perpendicular to the horizontal plane.

[0083] S112. Obtain the vertical arrangement order of the laser beams corresponding to each point, and sequentially encode the laser beam index of each point.

[0084] S113. Obtain the elevation angle of the line connecting each point to the center of the lidar based on the horizontal plane, and sequentially encode each point according to the numerical order of the elevation angle of the horizontal plane.

[0085] S114. Obtain the distance from each point to the center of the lidar.

[0086] In a preferred embodiment, S113 further includes: pitch angle

[0087] In a preferred embodiment, S120 includes:

[0088] S121. Traverse the point cloud, query the left and right points located at the first current point based on the pitch angle index encoding, and determine whether the difference between the distance between the first current point and the distance between the left and right points is less than or equal to a preset threshold. If yes, proceed to step S124; otherwise, proceed to step S122.

[0089] S122. Based on the wire harness index encoding, query the upper and lower neighboring points located at the first current point, and determine whether the distance between the first current point and the distance between at least one of the upper and lower neighboring points are equal. If yes, proceed to step S124; otherwise, proceed to step S123.

[0090] S123, The first current point is preserved in the point cloud;

[0091] S124. The first current point is noise, which is filtered from the point cloud.

[0092] In a preferred embodiment, S130 includes:

[0093] S131. Based on the horizontal angle index, sequentially query the information of the upper and lower neighboring points of the first current point;

[0094] S132. When the first current point satisfies the following conditions: the distance index of the first current point is the same as that of the upper neighbor point, the height is different, and there is no lower neighbor point, then the first current point is an environment point.

[0095] S133. When the first current point satisfies the following conditions: the distance index of the first current point is the same as that of the upper neighbor point, the height is different, and there is a lower neighbor point, then the first current point is a ground point.

[0096] In a preferred embodiment, S131 further includes: the horizontal angle is h_angle = (tan -1 (y / x)) / π*180, let the horizontal angular resolution be α, and the horizontal angular index h_angle_index=h_angle / α.

[0097] In a preferred embodiment, after S130 and before step S170, the following steps are included:

[0098] S140. Filter the labels of the left and right neighboring points of the first current point retained in the point cloud based on the pitch angle index. If the left and right neighboring points have the same height and are both ground points, then the first current point is updated to a ground point. If the upper and lower neighboring points have the same height and are both ground points, then the first current point is updated to a ground point. If neither the left nor right neighboring points are environmental points nor ground points, then the first current point is updated to a ground point.

[0099] In a preferred embodiment, after S140 and before step S170, the following steps are included:

[0100] S150. Traverse the point cloud marked as ground points, and query the lower neighbor point located at the first current point through the wire harness index encoding. If the lower neighbor point of the first current point is a ground point and its height is different from that of the first current point, then the first current point is updated to an environment point.

[0101] In a preferred embodiment, after S150 and before step S170, the following steps are included:

[0102] S160. Filter out the points in the point cloud that are marked as ground points, and keep the remaining points as environmental points.

[0103] In a preferred embodiment, S170 includes:

[0104] S171. Based on the pre-calibrated extrinsic parameter matrix T, map the coordinates of each corresponding lidar coordinate system in the point cloud to the vehicle coordinate system;

[0105] S172. Encode the filtered point cloud using the horizontal angular index, radial distance index, and vertical distance index in the cylindrical coordinate system;

[0106] S173. In the cylindrical coordinate system, query the neighboring points on both sides of the second current point using the line bundle index, radial distance index, and vertical distance index respectively. If all the neighboring points of the second current point are environment points, then retain the second current point; if at least one of the neighboring points of the second current point is not an environment point, then filter out the second current point from the point cloud.

[0107] In a preferred embodiment, step S172 further includes:

[0108] Encoding is performed using the horizontal angular resolution h_angle_r, where the horizontal angle index h_angle_index = tan 1 / 2. -1 (y / x) / h_angle_r, the radial angle index, is calculated by taking the projection point of the second current point onto the XOY plane in the cylindrical coordinate system, and encoding it using the radial distance resolution r_r. Radial distance index. The vertical distance index is encoded using the z-axis coordinate of the second current point and the vertical resolution z_r: z_index = z / z_r.

[0109] In a preferred embodiment, S180 includes:

[0110] S181. Based on the maximum and minimum values ​​of the vehicle body point cloud collected by the LiDAR with prior information, establish the range of the vehicle body on each axis in the vehicle coordinate system.

[0111] S182. Filter out points located within the spatial range of the vehicle body from the point cloud;

[0112] S183. Treat the remaining point cloud as an environmental point cloud that only represents environmental points.

[0113] This invention uses structured encoding of point clouds and conditional queries of neighbor points to determine whether the current point is an environmental point that needs to be retained, thereby filtering out ground and noise in the observed point cloud. This invention improves the efficiency of the algorithm while ensuring the robustness of the filtering and ensures the real-time performance of the algorithm.

[0114] Figures 2 to 13 This is a schematic diagram illustrating one implementation process of the ground point cloud filtering method for lidar according to the present invention. Figure 2 As shown, in this embodiment, isolated point noise is filtered out mainly by structurally encoding the point cloud; ground points are filtered out using neighbor point information to construct conditions; the filtered point cloud is encoded using cylindrical coordinates; noise in the retained environmental points is filtered out using neighbor point information to construct conditions; and finally, point clouds generated by the vehicle itself in the environmental points are filtered out based on prior information about the vehicle dimensions. The specific process steps are described step by step below.

[0115] Assume the vehicle is equipped with N lidars. To easily determine which lidar the current observation point belongs to, the number of lidars on the vehicle is uniformly encoded, and the index of each lidar is denoted as i (,N>=i>=1). Each multi-line lidar has M line beams. To easily determine which lidar and which line beam the current observation point belongs to, the lidar lines are globally uniformly encoded, i.e., the index of each line is denoted as [line_index] (M*N>line_index>=0). The total number of point cloud observations obtained by the lidars at the current moment is K, and the number of point cloud observations obtained by each lidar is k (1,2,...N), K=k1+k2+...+k N Since the same filtering process is applied to every point in the point cloud, let P be a point to be processed in the currently observed point cloud, and let P's coordinates in the Cartesian coordinate system be P''. x,y,zLet j be the sequential storage position of P in the observed point cloud at the current moment. To facilitate quick querying of the left, right, up, and down neighbors of each point in the unordered point cloud, the point cloud needs to be structured. To facilitate querying the up and down neighbors of the current point, we need to know the line_index of the current point; to facilitate querying the left and right neighbors of the current point, we need to know the angle_index of the current point; and to know the distance of the current point from the vehicle body, we need to know the dis_index. That is, the original point coordinates P(x,y,z) are mapped to P(line_index, angle_index, dis_index) through encoding. Figure 3 , 4 As shown, in this embodiment, LiDARs 11 and 12 are installed on both sides of the lower part of the front of the truck 1, and LiDARs 13 and 14 are installed on the top of the rear of the front. The coordinate center of the LiDARs is defined as the center point O of the line connecting LiDARs 13 and 14. LiDARs 11, 12, 13, and 14 obtain point cloud 2 by scanning the front with lasers. The subsequent vehicle coordinate system also uses O as the origin, the Y-axis as the foreground direction of the front of the vehicle, the X-axis as the width direction of the vehicle body, and the Z-axis as the height direction of the vehicle body, but is not limited to these.

[0116] Calculate the line_index of P. Based on j and k (1,2,...N), determine which lidar observation the current point to be processed belongs to. That is, if j >= (k1+k2+...+k...N), then... L Then point j belongs to the Lth lidar, that is, the current point to be processed lidar_id = L, and the distance from the projection of the current point to be processed P on the XOY plane to the center of the lidar is...

[0117] The elevation angle of P at the radar center is angle = tan -1 (z,dis2center) / π*180, Since some laser beams have observation angles below the origin, the calculated angle is negative. To facilitate encoding and uniformly compensate for all observation angles, let β be the maximum offset of the lowest laser beam relative to 0 degrees, and α be the angle between each laser beam, i.e., angle = tan π / 2. -1 (z, dis2center) / π*180+β, line_index=angle / α+lidar_id*M.

[0118] Calculate the angle_index of P. Since each laser line scans 360 degrees, the horizontal angle of point P projected onto the XOY plane is calculated as h_angle = (tan... -1 (y / x)) / π*180, let the horizontal angular resolution be α, and the horizontal angular index be h_angle_index=h_angle / α.

[0119] Calculate the dis_index of P, and calculate the distance of point P from the origin in the Cartesian coordinate system. The fine-grained distance encoding is γ, dis_index = dis2center_3d / γ.

[0120] like Figure 5 As shown, first, the point cloud is traversed, isolated points are filtered out, and the current point P is queried using angle_index. b and its left and right neighboring points P a P c If the dis_index of the current point is less than the dis_index of its left and right neighbors, then the current point P is retained. b Because the current point P b And the neighbor's point P a P c The noise is not isolated and is relatively close. For example... Figure 6 As shown, if the distance to the left and right neighbors is large, the current point P is queried using line_index. b and its neighboring points P d P e The dis_index, if the upper neighbor P d Or the next neighbor P e If the dis_index of a point is equal to the dis_index of the current point, then the point P is retained. b Because this shows that point P b Points that are on the same surface as their upper and lower neighbors are not isolated noise points; otherwise, they should be filtered out.

[0121] Based on the horizontal angle, laser beam number, and distance relative to the radar coordinate system, a grid index label P(line_index, angle_index, dis_index) is generated for the point cloud of each lidar. The observed point cloud is traversed, and the line_index is used to find the current point's upper and lower neighbors: P_up = P(line_index-1), P_down = P(line_index+1). If P_up and P_down have the same distance but different heights, it is further determined whether there is a lower neighbor P_down. Figure 7 As shown, if point P exists as an environmental point, otherwise, as... Figure 8 As shown, point P is a ground point. (See...) Figure 7 , 8 9. P is the current point to be processed. When both the upper and lower wire harnesses have neighboring points, it means that P is an environmental point. If one of the neighbors does not exist, it means that P is a ground point.

[0122] During the raster index filtering process, there are instances where environmental points intended for retention are misidentified. Points already identified as environmental during raster index filtering require further filtering based on their left and right neighbors. This involves traversing the point cloud identified as environmental points and querying the left and right neighbors (P_left and P_right) of the current point using the `angle_index`. If either the left or right neighbor has the same height as P and is a ground point, then the current point is modified to a ground point. If neither the left nor right neighbor is an environmental point or a ground point, it indicates that P's left and right neighbors are noise that needs to be removed, and therefore the current point is modified to a ground point.

[0123] See Figure 9 Because there's a possibility of misclassification during the raster index filtering process—that is, the topmost laser beam of each radar may not have an upper neighbor point—this doesn't necessarily mean the observation is a ground point. Therefore, it's necessary to complete the environmental points that are misclassified as ground. The process involves traversing all point clouds currently identified as ground points, querying the lower neighbor point of the current point using `line_index`. If the lower neighbor point is identified as ground and its height differs from the current point, then the current point needs to be corrected to an environmental point. Based on the status bit of each point, the point clouds marked as ground are removed, and the remaining point clouds are retained as environmental points.

[0124] The coordinate system of each lidar is horizontally corrected to the vehicle coordinate system based on the calibrated extrinsic parameter matrix T.

[0125] Using cylindrical coordinate system (e.g.) Figure 10 The environmental point cloud after filtering out the ground is encoded. The cylindrical coordinate system is encoded using the horizontal angle h_angle, the radial distance index r_index, and the vertical distance index z_index. The current environmental point to be processed is denoted as PE. That is, the environmental point coordinates [PE](x,y,z) are mapped to [PE](h_angle_index,r_index,z_index) through encoding.

[0126] The horizontal angle index is calculated by projecting the projection point onto the XOY plane using the projection of PE, and encoded using the horizontal angle resolution h_angle_r, where h_angle_index = tan -1 (y / x) / h_angle_r. The radial angle index is calculated by taking the projection of the PE onto the XOY plane and finding the distance from the origin, then encoding it using the radial distance resolution r_r. The vertical distance index is encoded using the z-axis coordinate of the PE and the vertical resolution z_r: z_index = z / z_r.

[0127] Figure 10 , 11As shown in Figure 12, the ellipse represents the XOY horizontal plane of the projection, the points filled with diagonal lines represent points that have been identified as ground points, and P is the current point to be processed. If the left and right neighbors of the current point are both ground points, then the current point to be processed, P, is a ground point (see Figure 12). Figure 10 If one of them is a ground point, then determine whether P and its height are consistent (see...). Figure 11 , 12 If they match, it means that the current point P to be processed is a ground point; otherwise, the current point P to be processed is not a ground point.

[0128] Based on the indexes of the current point PE in the horizontal angle, radial distance, and vertical distance directions, query the two adjacent neighbor points. If both neighbor points are environmental points, skip the current point; otherwise, modify the current point's state to noise removal.

[0129] To further avoid point cloud information generated by LiDAR points reflected from the vehicle body, based on prior information about the vehicle body dimensions (pre-scanning of the vehicle body by LiDARs 11, 12, 13, and 14), the minimum and maximum values ​​of the point cloud generated by the radar scanning the vehicle body itself in space are set for each axis. This obtains the point cloud range of the vehicle body itself, which is then transformed into the vehicle coordinate system to obtain the spatial range of the vehicle body within the vehicle coordinate system. Point clouds located in this range are then filtered out. Alternatively, if the coordinates of the retained environmental point cloud are within the set point cloud range of the vehicle body itself, it indicates that it belongs to the vehicle body and is not a true environmental point, and therefore needs to be filtered out.

[0130] Finally, the filtered points are retained as the final environmental information after removing the ground. At this point, the point cloud data has been filtered to remove ground information, ground information, and vehicle information. When judging obstacles based on this part of the point cloud, the accuracy can be greatly improved, unnecessary computation is reduced, the calculation speed of road recognition is increased, and driving safety is enhanced.

[0131] Figure 14 This is a schematic diagram of the ground point cloud filtering system for the lidar of the present invention. Figure 14 As shown, the ground point cloud filtering system 5 of the lidar of the present invention includes:

[0132] The structured coding module 51 maps each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system, and performs structured coding on each point based on the three-dimensional coordinate system.

[0133] The isolated point removal module 52 filters the point cloud based on at least the bundle index, elevation angle index, and distance index to the center of the lidar information of the two neighboring points of the first current point to remove isolated points.

[0134] The point cloud classification module 53 queries the information of the upper and lower neighbor points of the first current point in the order of the horizontal angle index. When the first current point satisfies the following conditions: the distance index between the first current point and the upper neighbor point is the same, the height is different, and there is a lower neighbor point, the environmental points and ground points in the point cloud are distinguished.

[0135] The first filtering module 57 calibrates the filtered point cloud to the vehicle coordinate system, encodes the filtered point cloud through the cylindrical coordinate system, and filters the point cloud again based at least on the neighbor point information of the second current point to remove isolated points.

[0136] The environmental point cloud module 58 obtains the environmental point cloud after removing the point cloud generated by the vehicle body based on prior information.

[0137] In a preferred embodiment, the structured coding module 51 is configured to map each point of the original observation point cloud in the lidar coordinate system to a three-dimensional coordinate system, wherein the X-axis and Y-axis of the three-dimensional coordinate system are parallel to the horizontal plane, and the Z-axis is perpendicular to the horizontal plane; obtain the vertical arrangement order of the laser beams corresponding to each point, and sequentially perform beam index coding on each point; obtain the elevation angle of the line connecting each point to the lidar center based on the horizontal plane, and sequentially perform elevation angle index coding on each point according to the numerical order of the elevation angle; and obtain the distance from each point to the lidar center.

[0138] In a preferred embodiment, the pitch angle in the structured coding module 51

[0139] In a preferred embodiment, the isolated point removal module 52 is configured to traverse the point cloud, query the left and right points of the first current point based on the pitch angle index encoding, and determine whether the difference between the distance between the first current point and the distance between the left and right points is less than or equal to a preset threshold. If yes, the first current point is a noise point and is filtered out from the point cloud. If no, the upper and lower neighboring points of the first current point are queried based on the line bundle index encoding, and it is determined whether the distance between the first current point and the distance between at least one of the upper and lower neighboring points are equal. If yes, the first current point is a noise point and is filtered out from the point cloud. If no, the first current point is retained in the point cloud.

[0140] In a preferred embodiment, the point cloud classification module 53 is configured to sequentially query the information of the upper and lower neighbor points of the first current point based on the horizontal angular index; when the first current point satisfies that the distance index of the first current point and the upper neighbor point are the same, the height is different, and there is no lower neighbor point, the first current point is an environment point; when the first current point satisfies that the distance index of the first current point and the upper neighbor point are the same, the height is different, and there is a lower neighbor point, the first current point is a ground point.

[0141] In a preferred embodiment, the horizontal angle in the point cloud classification module 53 is h_angle = (tan -1 (y / x)) / π*180, let the horizontal angular resolution be α, and the horizontal angular index h_angle_index=h_angle / α.

[0142] In a preferred embodiment, the system further includes a second filtering module 54, configured to filter the labels of the left and right neighboring points of the first current point retained in the point cloud based on the pitch angle index. When the left and right neighboring points have the same height and are both ground points, the first current point is updated to a ground point; when the upper and lower neighboring points have the same height and are both ground points, the first current point is updated to a ground point; when neither the left nor right neighboring points are environmental points nor ground points, the first current point is updated to a ground point.

[0143] In a preferred embodiment, the system further includes a third filtering module 55, configured to traverse the point cloud marked as ground points, query the next neighbor point located at the first current point through the wire harness index encoding, and if the next neighbor point of the first current point is a ground point and has a different height from the first current point, then the first current point is updated to an environment point.

[0144] In a preferred embodiment, it further includes a fourth filtering module 56, configured to filter out points in the point cloud that are marked as ground points, and retain the remaining point cloud as environmental points.

[0145] In a preferred embodiment, the first filtering module 57 is configured to map the coordinates of each corresponding LiDAR coordinate system in the point cloud to the vehicle coordinate system based on a pre-calibrated extrinsic parameter matrix T; encode the filtered point cloud using the horizontal angle index, radial distance index, and vertical distance index in the cylindrical coordinate system; query the neighboring points on both sides of the second current point in the cylindrical coordinate system using the line beam index, radial distance index, and vertical distance index respectively; if all the neighboring points of the second current point are environmental points, the second current point is retained; if at least one of the neighboring points of the second current point is not an environmental point, the second current point is filtered out from the point cloud.

[0146] In a preferred embodiment, the first filtering module 57 encodes the data using a horizontal angle resolution h_angle_r, where the horizontal angle index h_angle_index = tan -1 (y / x) / h_angle_r, the radial angle index, is calculated by taking the projection point of the second current point onto the XOY plane in the cylindrical coordinate system, and encoding it using the radial distance resolution r_r. Radial distance index. The vertical distance index is encoded using the z-axis coordinate of the second current point and the vertical resolution z_r: z_index = z / z_r.

[0147] In a preferred embodiment, the environmental point cloud module 58 is configured to establish the range of the vehicle body on each axis in the vehicle coordinate system based on the maximum and minimum values ​​of the vehicle body point cloud collected by the prior information lidar; filter out points located within the spatial range of the vehicle body from the point cloud; and use the remaining point cloud as the environmental point cloud that only represents environmental points.

[0148] The ground point cloud filtering system of the lidar of the present invention can filter out the ground and noise in the observation point cloud by using the structured encoding of the point cloud and the conditional query of neighbor points to determine whether the current point is an environmental point that needs to be retained. The present invention improves the efficiency of the algorithm while ensuring the robustness of the filtering and ensures the real-time performance of the algorithm.

[0149] This invention also provides a ground point cloud filtering device for lidar, including a processor and a memory storing executable instructions for the processor. The processor is configured to execute steps of a lidar ground point cloud filtering method by executing the executable instructions.

[0150] As described above, the ground point cloud filtering device of the lidar of the present invention can filter out the ground and noise in the observation point cloud by using the structured encoding of the point cloud and the conditional query of neighbor points to determine whether the current point is an environmental point that needs to be retained. The present invention improves the efficiency of the algorithm while ensuring the robustness of the filtering and ensures the real-time performance of the algorithm.

[0151] Those skilled in the art will understand that various aspects of the present invention can be implemented as systems, methods, or program products. Therefore, various aspects of the present invention can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "platform."

[0152] Figure 15 This is a schematic diagram of the ground point cloud filtering device for the lidar of the present invention. See below for reference. Figure 15 To describe an electronic device 600 according to this embodiment of the present invention. Figure 15 The electronic device 600 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0153] like Figure 15 As shown, the electronic device 600 is presented in the form of a general-purpose computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different platform components (including storage unit 620 and processing unit 610), a display unit 640, etc.

[0154] The storage unit stores program code, which can be executed by the processing unit 610 to perform the steps described in the above-described section on the electronic prescription transfer processing method according to various exemplary embodiments of the present invention. For example, the processing unit 610 can perform actions such as... Figure 1 The steps are shown in the figure.

[0155] Storage unit 620 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 6201 and / or cache memory 6202, and may further include a read-only memory (ROM) 6203.

[0156] Storage unit 620 may also include a program / utility 6204 having a set (at least one) program module 6205, such program module 6205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0157] Bus 630 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0158] Electronic device 600 can also communicate with one or more external devices 700 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 600, and / or with any device that enables electronic device 600 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 650. Furthermore, electronic device 600 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 660. Network adapter 660 can communicate with other modules of electronic device 600 via bus 630. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage platforms.

[0159] This invention also provides a computer-readable storage medium for storing a program that, when executed, implements the steps of a ground point cloud filtering method for lidar. In some possible implementations, various aspects of the invention can also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the above-described electronic prescription processing method section of this specification according to various exemplary embodiments of the invention.

[0160] As shown above, when the program of the computer-readable storage medium of this embodiment is executed, it can determine whether the current point is an environmental point that needs to be retained by using neighbor point conditional query through the structured encoding of the point cloud, thereby filtering out the ground and noise in the observation point cloud. The present invention improves the efficiency of the algorithm while ensuring the robustness of the filtering and ensures the real-time performance of the algorithm.

[0161] Figure 16 This is a schematic diagram of the structure of the computer-readable storage medium of the present invention. (Reference) Figure 16 As shown, a program product 800 for implementing the above-described method according to an embodiment of the present invention is described. This product may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0162] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0163] Computer-readable storage media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable storage medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0164] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0165] In summary, the ground point cloud filtering method, system, device, and storage medium of the present invention can filter out the ground and noise in the observation point cloud by using the structured encoding of the point cloud and the conditional query of neighbor points to determine whether the current point is an environmental point that needs to be retained. The present invention improves the efficiency of the algorithm while ensuring the robustness of the filtering and ensures the real-time performance of the algorithm.

[0166] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.

Claims

1. A ground point cloud filtering method for lidar, characterized in that, Includes the following steps: Map each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system, and perform structured encoding on each point based on the three-dimensional coordinate system. The point cloud is filtered based on at least the beam index, elevation angle index, and distance index to the center of the lidar, using information from at least two neighboring points of the first current point, to remove isolated points. Based on the horizontal angular index, the information of the upper and lower neighboring points of the first current point is queried sequentially. When the first current point satisfies the following conditions: the distance index between the first current point and the upper neighboring point is the same, the height is different, and there is a lower neighboring point, the environmental points and ground points in the point cloud are distinguished. The filtered point cloud is calibrated to the vehicle coordinate system, and the filtered point cloud is encoded through the cylindrical coordinate system. The point cloud is then filtered again based at least on the neighbor point information of the second current point to remove isolated points. After removing the point cloud generated by the vehicle body based on prior information, the environmental point cloud is obtained.

2. The ground point cloud filtering method for lidar according to claim 1, characterized in that, The process of mapping each point in the original observation point cloud in the lidar coordinate system to a three-dimensional coordinate system, and then performing structured encoding on each point based on the three-dimensional coordinates, includes: Map each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system, wherein the X-axis and Y-axis of the three-dimensional coordinate system are parallel to the horizontal plane, and the Z-axis is perpendicular to the horizontal plane. Obtain the vertical arrangement order of the laser beams corresponding to each point, and sequentially encode the beam index of the laser beams at each point. The elevation angle of the line connecting each point to the center of the lidar is obtained based on the horizontal plane, and the points are sequentially indexed and encoded according to the numerical order of the horizontal plane elevation angle. The distance from each point to the center of the lidar is obtained.

3. The ground point cloud filtering method for lidar according to claim 1, characterized in that, The process of obtaining the lines connecting each point to the center of the lidar based on the horizontal plane elevation angle, and sequentially indexing each point according to the numerical order of the horizontal plane elevation angle, further includes: The pitch angle 4. The ground point cloud filtering method for lidar according to claim 1, characterized in that, The filtering of the point cloud based on at least two neighboring point information of the first current point, the pitch angle index, and the distance index to the center of the lidar to remove isolated points includes: Traverse the point cloud, query the left and right points of the first current point based on the pitch angle index code, and determine whether the difference between the distance between the first current point and the distance between the left and right points is less than or equal to a preset threshold. If yes, the first current point is a noise point and is filtered out from the point cloud. If no, query the upper and lower neighboring points of the first current point based on the bundle index code, and determine whether the distance between the first current point and the distance between at least one of the upper and lower neighboring points is equal. If yes, the first current point is a noise point and is filtered out from the point cloud. If no, the first current point is retained in the point cloud.

5. The ground point cloud filtering method for lidar according to claim 4, characterized in that, The sequential query of the upper and lower neighbor points of the first current point based on the horizontal angle index, distinguishing between environmental points and ground points in the point cloud when the first current point satisfies the following conditions: the distance index between the first current point and the upper neighbor point is the same, the height is different, and there is a lower neighbor point; Based on the horizontal angle index, sequentially query the information of the upper and lower neighboring points of the first current point; If the first current point satisfies the following conditions: the distance index of the first current point is the same as that of the upper neighbor point, the height is different, and there is no lower neighbor point, then the first current point is an environment point. If the first current point satisfies the following conditions: the distance index of the first current point is the same as that of the upper neighbor point, the height is different, and there is a lower neighbor point, then the first current point is a ground point.

6. The ground point cloud filtering method for lidar according to claim 5, characterized in that, The sequential query of the information of the upper and lower neighboring points of the first current point based on the horizontal angle index also includes: The horizontal angle is h_angle = (tan -1 (y / x)) / π*180, let the horizontal angular resolution be α, and the horizontal angular index h_angle_index=h_angle / α.

7. The ground point cloud filtering method for lidar according to claim 3, characterized in that, The step of sequentially querying the information of the upper and lower neighbor points of the first current point based on the horizontal angle index, after the first current point satisfies the conditions of having the same distance index as the upper neighbor point, different heights, and the existence of a lower neighbor point to distinguish environmental points and ground points in the point cloud, calibrates the filtered point cloud to the vehicle coordinate system, encodes the filtered point cloud through the cylindrical coordinate system, and filters the point cloud again based at least on the neighbor point information of the second current point before removing isolated points, includes: The labels of the left and right neighboring points of the first current point retained in the point cloud based on the pitch angle index are filtered. When the left and right neighboring points have the same height and are both ground points, the first current point is updated to a ground point; when the upper and lower neighboring points have the same height and are both ground points, the first current point is updated to a ground point; when neither the left nor right neighboring points are environmental points nor ground points, the first current point is updated to a ground point.

8. The ground point cloud filtering method for lidar according to claim 5, characterized in that, The step of filtering the labels of the left and right neighboring points of the first current point retained in the point cloud based on the pitch angle index, wherein if the left and right neighboring points have the same height and are both ground points, the first current point is updated to a ground point; if the upper and lower neighboring points have the same height and are both ground points, the first current point is updated to a ground point; and if neither the left nor right neighboring points are environmental points nor ground points, the first current point is updated to a ground point, then the filtered point cloud is calibrated to the vehicle coordinate system, and the filtered point cloud is encoded through the cylindrical coordinate system. Before filtering the point cloud again based at least on the neighboring point information of the second current point to remove isolated points, the process includes: Traverse the point cloud marked as ground points, query the next neighbor point located at the first current point through the harness index encoding, and if the next neighbor point of the first current point is a ground point and has a different height from the first current point, then update the first current point to an environment point.

9. The ground point cloud filtering method for lidar according to claim 5, characterized in that, The process of traversing the point cloud marked as ground points involves querying the next neighbor point of the first current point using the harness index encoding. If the next neighbor point of the first current point is a ground point and has a different height from the first current point, then the first current point is updated to an environment point. Afterwards, the filtered point cloud is calibrated to the vehicle coordinate system, and the filtered point cloud is encoded using the cylindrical coordinate system. Before removing isolated points, the process includes: Points marked as ground points are filtered out from the point cloud, and the remaining point clouds are all environmental points.

10. The ground point cloud filtering method for lidar according to claim 1, characterized in that, The step of calibrating the filtered point cloud to the vehicle coordinate system, encoding the filtered point cloud using cylindrical coordinates, and then filtering the point cloud again based at least on the neighbor point information of the second current point to remove isolated points includes: Based on the pre-calibrated extrinsic parameter matrix T, the coordinates of each corresponding lidar coordinate system in the point cloud are mapped to the vehicle coordinate system; The filtered point cloud is encoded using the horizontal angular index, radial distance index, and vertical distance index in the cylindrical coordinate system; The second current point in the cylindrical coordinate system is queried for neighboring points on both sides of the current point through the bundle index, radial distance index and vertical distance index respectively. If all the neighboring points of the second current point are environmental points, the second current point is retained; if at least one of the neighboring points of the second current point is not an environmental point, the second current point is filtered out from the point cloud.

11. The ground point cloud filtering method for lidar according to claim 10, characterized in that, The method of encoding the filtered point cloud using the horizontal angular index, radial distance index, and vertical distance index in the cylindrical coordinate system also includes: Encoding is performed using the horizontal angular resolution h_angle_r, where the horizontal angle index h_angle_index = tan 1 / 2. -1 (y / x) / h_angle_r, the radial angle index, is calculated by using the projection point of the second current point onto the XOY plane in the cylindrical coordinate system to determine the distance from the origin, and encoded using the radial distance resolution r_r. Radial distance index The vertical distance index is encoded using the z-axis coordinate of the second current point and the vertical resolution z_r: z_index = z / z_r.

12. The ground point cloud filtering method for lidar according to claim 1, characterized in that, After removing the point cloud generated by the vehicle body based on prior information, the environmental point cloud is obtained, including: Based on the maximum and minimum values ​​of the vehicle body point cloud collected by the LiDAR with prior information on each axis in the vehicle coordinate system, the range of the vehicle body on each axis is established. Filter out points located within the spatial range of the vehicle body from the point cloud; The remaining point cloud is used as an environmental point cloud representing only environmental points.

13. A ground point cloud filtering system for lidar, characterized in that, The system includes: The structured coding module maps each point of the original observation point cloud in the lidar coordinate system to the three-dimensional coordinate system, and performs structured coding on each point based on the three-dimensional coordinate system. The isolated point removal module filters the point cloud based on at least the bundle index, elevation angle index, and distance index to the center of the lidar of the two neighboring points of the first current point to remove isolated points; The point cloud classification module queries the information of the upper and lower neighboring points of the first current point in sequence based on the horizontal angular index. When the first current point satisfies the following conditions: the distance index between the first current point and the upper neighboring point is the same, the height is different, and there is a lower neighboring point, the module distinguishes environmental points and ground points in the point cloud. The first filtering module calibrates the filtered point cloud to the vehicle coordinate system, encodes the filtered point cloud using the cylindrical coordinate system, and filters the point cloud again based at least on the neighbor point information of the second current point to remove isolated points. The environmental point cloud module obtains the environmental point cloud after removing the point cloud generated by the vehicle body based on prior information.

14. A ground point cloud filtering device for lidar, characterized in that, include: processor; A memory in which executable instructions of the processor are stored; The processor is configured to perform the steps of the ground point cloud filtering method for lidar according to any one of claims 1 to 12 by executing the executable instructions.

15. A computer-readable storage medium for storing a program, characterized in that, When the program is executed, it implements the steps of the ground point cloud filtering method for lidar as described in any one of claims 1 to 12.

Citation Information

Patent Citations

  • Point-based point cloud geometric lossy compression reconstruction device and method

    CN114373023A

  • Laser point cloud processing method, electronic apparatus and storage medium

    WO2022083178A1