Ground point detection method, point cloud data output method and device
By analyzing the multiple sets of initial point cloud data of the lidar group by group and detecting ground points, the problem of ground point detection delay in the prior art is solved, and the detection efficiency is improved.
Patent Information
- Application Number
- CN202211415161.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-11
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2042-11-11
AI Technical Summary
In the prior art, there is a delay in ground point detection of lidar point cloud data, and it is necessary to wait for the complete one-frame point cloud analysis to be completed before the detection can be carried out.
By acquiring at least two sets of initial point cloud data of the lidar, the same set of data points have the same horizontal angle and different vertical angles. They analyze and perform ground point detection group by group to reduce ground point detection delay.
It realizes ground point detection while analyzing data points, effectively reducing the ground point detection delay of point cloud data and improving detection efficiency.
Smart Images

Figure CN115754975B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of laser radar technology, and in particular relates to a ground point detection method, a point cloud data output method and a device. Background Art
[0002] LiDAR (LiDAR) has become a mainstream sensor in fields such as intelligent transportation, autonomous driving systems, robotics, and surveying and mapping. For example, in the intelligent transportation sector, LiDAR is often used as a sensor for vehicle environmental perception. Semantic segmentation of LiDAR point cloud data is a crucial aspect of LiDAR environmental perception. Ground point detection in LiDAR point cloud data is a crucial prerequisite for semantic segmentation. Ground point detection provides crucial preprocessing for subsequent drivable area and clustering algorithms, simplifying the processing of point cloud data by subsequent algorithms.
[0003] Current methods for detecting ground points in LiDAR point cloud data typically detect ground points for the entire frame after receiving a frame of point cloud data. This requires waiting for the full frame of point cloud to be parsed before detection can begin, resulting in significant delays in ground point detection. Summary of the Invention
[0004] The embodiments of the present application provide a ground point detection method, a point cloud data output method and a device, which solve the technical problem of delay in ground point detection of lidar point cloud data in the prior art.
[0005] In a first aspect, an embodiment of the present application provides a ground point detection method, comprising:
[0006] Acquire at least two sets of initial point cloud data from a laser radar, where each set of initial point cloud data in the at least two sets of initial point cloud data is any one set of multiple sets of initial point cloud data included in a frame of radar data, and each set of initial point cloud data includes multiple data points; all data points in the same set of initial point cloud data have the same horizontal angle, and different data points in the same set of initial point cloud data have different vertical angles;
[0007] parsing the data points in the at least two sets of initial point cloud data;
[0008] After each set of the at least two sets of initial point cloud data is parsed, it is determined whether any one of the data points in the parsed set of initial point cloud data is a ground point or a non-ground point based on the vertical angle of each of the data points in all or part of the data points in the parsed set of initial point cloud data.
[0009] In the above-mentioned method for detecting ground points of lidar point cloud data, at least two sets of initial point cloud data sent by the lidar are received, and the data points in the at least two sets of initial point cloud data are parsed; whenever one set of initial point cloud data in the at least two sets of initial point cloud data is parsed, any data point in all or part of the data points is determined to be a ground point or a non-ground point based on the vertical angle of all or part of the data points in the parsed set of initial point cloud data. In the above-mentioned method, each set of initial point cloud data in the at least two sets of received initial point cloud data is a data point with the same horizontal angle in a frame of radar data; whenever a set of initial point cloud data is parsed, ground point detection is immediately performed on the data points in the set of initial point cloud data, thereby achieving ground point detection while parsing the received initial point cloud data, combining ground point detection with data point parsing, avoiding waiting for the entire frame of initial point cloud data to be parsed before performing ground point detection, effectively reducing the delay in ground point detection of point cloud data, and improving the efficiency of ground point detection of point cloud data.
[0010] In one embodiment, determining whether any of all or part of the data points is a ground point or a non-ground point based on the vertical angle of each of the data points in the parsed set of point cloud data includes:
[0011] According to the vertical angle order of each data point in all or part of the data points in the parsed set of initial point cloud data from low to high or from high to low, any data point is determined to be a ground point or a non-ground point.
[0012] In one embodiment, the height of the laser radar from the ground is not zero; and determining whether any of the data points in all or part of the data points in the parsed set of point cloud data is a ground point or a non-ground point based on the vertical angle of each data point includes:
[0013] Determine a cosine value of an angle between a first vector and a second vector, where the first vector is a vector between a first data point in the parsed set of initial point cloud data and a second data point in the parsed set of initial point cloud data, the second vector is a vector between the first data point in the parsed set of initial point cloud data and a projection point of the laser radar on the ground, the vertical angle of the second data point is adjacent to the vertical angle of the first data point and the vertical angle of the second data point is greater than the vertical angle of the first data point, and the first data point or the second data point is a data point to be processed in the parsed set of initial point cloud data;
[0014] According to the cosine value and a first preset threshold, it is determined whether the data point to be processed is a ground point or a non-ground point.
[0015] In one embodiment, determining whether the data point to be processed is a ground point or a non-ground point based on the cosine value and a first preset threshold value includes:
[0016] If the absolute value of the cosine value is greater than or equal to the first preset threshold, determining that the data point to be processed is a ground point;
[0017] If the absolute value of the cosine value is less than the first preset threshold, it is determined that the first data point and the second data point include a non-ground point.
[0018] In one embodiment, the first preset threshold is β, where |cos165°|≤β<1.
[0019] In one embodiment, determining the cosine value of the angle between the first vector and the second vector includes:
[0020] When the first data point is the data point to be processed and the first data point is not determined to be a ground point or a non-ground point, and the second data point exists, determine the cosine value of the angle between the first vector and the second vector; or when the second data point is the data point to be processed and the second data point is not determined to be a ground point or a non-ground point, and the first data point exists, determine the cosine value of the angle between the first vector and the second vector.
[0021] In one embodiment, before determining the cosine value of the angle between the first vector and the second vector, the method further includes:
[0022] If the data point to be processed is determined to be a ground point or a non-ground point, the data point to be processed is skipped.
[0023] In one embodiment, after determining that the first data points and the second data points include non-ground points, the method further includes:
[0024] Obtaining vertical distances between the first data point and the second data point and the projection point respectively;
[0025] According to the vertical distance and a second preset threshold, it is further determined that the first data point and the second data point are non-ground points or ground points.
[0026] In one embodiment, further determining, based on the vertical distance and a second preset threshold, whether the first data point and the second data point are non-ground points or ground points includes:
[0027] If the vertical distance is greater than or equal to the second preset threshold, determining that the corresponding data point is a non-ground point;
[0028] If the vertical distance is less than the second preset threshold, the corresponding data point is determined to be a ground point.
[0029] In one embodiment, the vertical angles corresponding to some of the data points are within a preset angle range, and the corresponding intensity values of some of the data points in the parsed set of initial point cloud data are greater than a preset value.
[0030] In one embodiment, the method further comprises:
[0031] Marking any of the data points in the parsed set of initial point cloud data, wherein the marking result indicates whether the corresponding data point is a ground point or a non-ground point;
[0032] Outputting the parsed set of initial point cloud data with the labeling results.
[0033] In a second aspect, an embodiment of the present application provides a ground point detection device, comprising:
[0034] an acquisition unit, configured to acquire at least two sets of initial point cloud data from a laser radar, wherein each set of initial point cloud data in the at least two sets of initial point cloud data is any one set of multiple sets of initial point cloud data included in a frame of radar data, and each set of initial point cloud data includes multiple data points; all the data points in the same set of initial point cloud data have the same horizontal angle, and different data points in the same set of initial point cloud data have different vertical angles;
[0035] a parsing unit, configured to parse the data points in the at least two sets of initial point cloud data;
[0036] A determination unit is used to determine whether any one of the data points in the parsed set of point cloud data is a ground point or a non-ground point based on the vertical angle of each data point in the parsed set of point cloud data after each parsing of the set of initial point cloud data.
[0037] In a third aspect, an embodiment of the present application provides a computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements any one of the methods described in the first aspect above when executing the computer program.
[0038] In a fourth aspect, an embodiment of the present application provides a point cloud data output method, which is applied to a laser radar, and the method includes:
[0039] processing each frame of radar data to be transmitted to obtain multiple groups of initial point cloud data included in each frame of radar data, each group of initial point cloud data including multiple data points; all data points in the same group of initial point cloud data have the same horizontal angle, and different data points in the same group of initial point cloud data have different vertical angles;
[0040] At least two sets of initial point cloud data in each frame of the radar data are sent.
[0041] In one embodiment, the pulse width value corresponding to the data point in the initial point cloud data of the laser radar is any possible value, and each frame of radar data to be sent is processed to obtain multiple groups of initial point cloud data included in each frame of the radar data, including:
[0042] When the number of acquired data points reaches a preset number, sorting the preset number of data points according to the size of the vertical angle of each data point;
[0043] The preset number of sorted data points is used as a set of initial point cloud data.
[0044] In a fifth aspect, an embodiment of the present application provides a point cloud data output device, comprising:
[0045] a processing unit configured to process each frame of radar data to be transmitted to obtain multiple groups of initial point cloud data included in each frame of radar data, each group of initial point cloud data including multiple data points; wherein all data points in the same group of initial point cloud data have the same horizontal angle, and different data points in the same group of initial point cloud data have different vertical angles;
[0046] A sending unit is used to send at least two groups of initial point cloud data in each frame of the radar data.
[0047] In a sixth aspect, an embodiment of the present application provides a laser radar, which is configured to execute the method described in any one of the above first aspects and / or execute the method described in any one of the above fourth aspects.
[0048] In the seventh aspect, an embodiment of the present application provides a communication system, which includes a computer device and a laser radar; wherein the laser radar is configured to execute the method described in any one of the above fourth aspects; and the computer device is configured to execute the method described in any one of the above first aspects.
[0049] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of the first aspect above, or the method described in any one of the fourth aspect above is implemented.
[0050] It can be understood that the beneficial effects of the second to eighth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0052] Figure 1 This is a schematic diagram of the structure of a communication system provided by an embodiment of the present application;
[0053] Figure 2 1 is a flow chart of a ground point detection method provided in an embodiment of the present application;
[0054] Figure 3 This is an arrangement diagram of a frame of initial cloud data of the laser radar in one embodiment of this application
[0055] Figure 4 is a schematic diagram of a mechanical laser radar laser beam provided in one embodiment of the present application;
[0056] Figure 5 1 is a flow chart of a method for determining whether any data point in a set of initial point cloud data, including all or part of the data points, is a ground point or a non-ground point, provided by an embodiment of the present application;
[0057] Figure 6 1 is a flowchart of a method for determining whether any data point in a set of initial point cloud data, including all or part of the data points, is a ground point or a non-ground point, provided by another embodiment of the present application;
[0058] Figure 7 It is a flowchart of a method for outputting point cloud data in one embodiment of the present application;
[0059] Figure 8 This is a structural block diagram of a ground point detection device provided in one embodiment of the present application;
[0060] Figure 9 This is a structural block diagram of a point cloud data output device provided in one embodiment of the present application;
[0061] Figure 10 This is a diagram of the internal structure of a computer device provided in one embodiment of the present application;
[0062] Figure 11 This is a diagram of the internal structure of a laser radar provided in one embodiment of the present application. DETAILED DESCRIPTION
[0063] In the following description, specific details such as specific system structures and techniques are provided for purposes of illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obscuring the description of the present application with unnecessary detail.
[0064] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or collections thereof.
[0065] It will also be understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0066] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0067] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0068] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0069] In traditional LiDAR ground point detection, a computer typically performs ground point detection on the entire frame of point cloud data after receiving it, determining which points in the frame are ground points and which are non-ground points. Because LiDAR takes time to generate and transmit a frame of point cloud data, there is a time interval (the inverse of the LiDAR frequency) between two adjacent frames of point cloud data when the LiDAR sends the point cloud data. This causes the computer to wait for at least one time interval when detecting ground points, resulting in significant delays in ground point detection.
[0070] In order to solve the above technical problems, an embodiment of the present application provides a ground point detection method, which obtains at least two groups of initial point cloud data from a laser radar, wherein all data points in the same group of initial point cloud data have the same horizontal angle, and different data points in the same group of initial point cloud data have different vertical angles; the at least two groups of initial point cloud data obtained are parsed, and after each group of initial point cloud data is parsed, ground point detection is performed on the data points in the group of initial point cloud data. Since the number of data points in a group of initial point cloud data is relatively small compared to the entire frame of radar data, the ground point detection speed of the parsed group of initial point cloud data is very fast, and thus the ground point detection can be performed while the data points are being parsed. When the last group of initial point cloud data of a frame of radar data is parsed, the ground point detection of the frame of radar data is basically completed, which effectively reduces the ground point detection delay of the point cloud data and improves the efficiency of ground point detection of the point cloud data.
[0071] The ground point detection method provided in this application is exemplarily described below with reference to specific embodiments.
[0072] See also Figure 1 In one embodiment of the present application, a communication system is provided, such as Figure 1 As shown, the communication system includes a computer device 110 and a laser radar 120 .
[0073] The computer device 110 and the laser radar 120 are communicatively connected via a communication interface, wherein the communication interface may be a wired communication interface or a wireless communication interface.
[0074] In an embodiment of the present application, the laser radar 120 processes each frame of radar data to be sent, obtains multiple sets of initial point cloud data included in each frame of radar data, and sends at least two sets of initial point cloud data in each frame of radar data to the computer device 110.
[0075] The laser radar 120 divides each frame of radar data into multiple groups of initial point cloud data based on horizontal angles. All data points in the same group of initial point cloud data within each frame of radar data have the same horizontal angle, while different data points in the same group of initial point cloud data have different vertical angles. It is understood that a group of initial point cloud data may also be a column of initial point cloud data or a portion of data points within a column of initial point cloud data.
[0076] In an embodiment of the present application, the computer device 110 obtains at least two sets of initial point cloud data received by the laser radar 120, and the computer device 110 parses the data points in the at least two sets of initial point cloud data obtained. After each set of initial point cloud data is parsed, ground point detection is performed on the parsed set of initial point cloud data. Specifically, based on the vertical angle of each data point in all or part of the multiple data points, it is determined whether any data point in all or part of the data points is a ground point or a non-ground point.
[0077] Exemplarily, the laser radar 120 may be a laser radar installed on an autonomous vehicle, and the computer device 110 may be installed on the autonomous vehicle. For example, the computer device 110 may be an autonomous driving system on the autonomous vehicle. Optionally, the computer device 110 may also be a server installed in the cloud. During the driving process of the autonomous vehicle, the laser radar 120 continuously transmits laser signals into the driving environment and receives laser signals returned after passing through the environment. The returned laser signals are detected and analyzed to obtain initial point cloud data of the driving environment of the autonomous vehicle. The initial point cloud data is then sent to the computer device 110. The computer device 110 parses the received initial point cloud data, performs ground point detection on the parsed set of initial point cloud data, and performs environmental perception based on the point cloud data after the ground point detection is completed. For example, the point cloud data after the ground point detection can be used to determine the road conditions, the distance between other traffic participants and the autonomous vehicle, etc.
[0078] In some other embodiments, the computer device can be integrated with the laser radar, for example, a chip for implementing the functions of the computer device can be set in the laser radar.
[0079] See also Figure 2In one embodiment of the present application, a ground point detection method is provided. The execution subject of the method can be a computer device set independently of the laser radar, or a chip set in the laser radar. The method includes the following steps:
[0080] Step S201: Acquire at least two groups of initial point cloud data of the laser radar, where each group of initial point cloud data in the at least two groups of initial point cloud data is any group of multiple groups of initial point cloud data included in a frame of radar data, and each group of initial point cloud data includes multiple data points; all data points in the same group of initial point cloud data have the same horizontal angle, and different data points in the same group of initial point cloud data have different vertical angles.
[0081] In the embodiment of the present application, "horizontal" and "vertical" can be the horizontal direction and vertical direction in a coordinate system with the center point of the laser radar as the origin, where the center point of the laser radar is a preset point.
[0082] It can be understood that the horizontal and vertical in the embodiments of the present application can be defined according to the field of view angle of the laser radar, where the horizontal direction can be the direction of the horizontal field of view angle of the laser radar, and the vertical direction can be the direction of the vertical field of view angle of the laser radar.
[0083] For example, for a mechanical laser radar, the horizontal direction can be the direction of the plane perpendicular to the rotation axis of the mechanical laser radar, and the rotation angle of the mechanical laser radar is the horizontal angle of the data point in the initial point cloud data it obtains; for an N-line mechanical laser radar, it emits N laser beams in a direction perpendicular to the horizontal direction, and the angle between the N laser beams and the horizontal plane is the vertical angle of the data point corresponding to the laser beam.
[0084] For ease of understanding, the following describes the arrangement of the initial point cloud data of the LiDAR with reference to the accompanying drawings. Figure 3 This is an arrangement diagram of a frame of initial point cloud data of the laser radar in one embodiment of the present application, such as Figure 3 As shown in the figure, the horizontal field of view of the laser radar ranges from 34° to 145.8°, and the vertical field of view ranges from -13° to 12.4°; in both the horizontal and vertical directions, there is a data point every 0.2°. Figure 3 In the initial point cloud data shown, each row of the initial point cloud data includes 560 data points, and each column of the initial point cloud data includes 128 data points.
[0085] For example, a set of initial point cloud data may include: Figure 3 The column of initial point cloud data shown may include all data points and may also include some data points in the column of initial point cloud data.
[0086] It can be understood that the data points included in a group of initial point cloud data are all the data points of a column of initial point cloud data or part of the data points of a column of point cloud data, which is related to the type of laser radar.
[0087] by Figure 3 Taking the 128-line laser radar shown in as an example, the number of data points in a set of initial point cloud data corresponding to different types of laser radars is explained:
[0088] (1) If the laser radar is a 128-line mechanical laser radar, the laser radar includes 128 LD (Laser Diode) light sources, and the data points generated by the laser radar scanning include 128 data points at the same horizontal angle ( Figure 3 , that is, the initial point cloud data output by the 128-line mechanical laser radar, each set of initial point cloud data includes 128 data points at the same horizontal angle.
[0089] (2) If the laser radar is a 128-line rotating mirror laser radar, the laser radar uses mirrors to fill in the lines, that is, the laser radar includes 32 LD light sources and 4 rotating mirrors. For the 128 data corresponding to a horizontal angle, the fourth rotating mirror, the third rotating mirror, the second rotating mirror and the first rotating mirror are generated alternately from top to bottom; at the same time, each rotating mirror reflects the light of 32 light sources to generate 32 data points ( Figure 3 (a quarter of the entire column of data shown in the figure), that is, at the same time, each rotating mirror corresponds to a sub-column of 32 data points. The initial point cloud data output by the lidar can include multiple sets of initial point cloud data corresponding to a rotating mirror, each set of point cloud data corresponding to 32 data points at a horizontal angle.
[0090] The above description is merely an illustrative description of mechanical laser radar and rotating mirror laser radar, and is not intended to limit the types of laser radars within the scope of protection of this application.
[0091] In some embodiments, each data point in the initial point cloud data of the laser radar includes distance information, horizontal angle information, vertical angle information and pulse width, wherein the distance information represents the distance value between the laser radar and the target site, the horizontal angle information and the vertical angle information respectively represent the horizontal angle and vertical angle of the laser beam corresponding to the data point, and the pulse width represents the pulse width of the return laser signal corresponding to the data point.
[0092] In some embodiments, the data points in the initial point cloud data may be represented by binary data, hexadecimal data, or other data formats, which are not limited herein.
[0093] In some embodiments, the initial point cloud data emitted by the laser radar is a continuous binary string. The laser radar needs to split the string according to the length of the variable corresponding to each data point, and arrange it according to the vertical and horizontal angles corresponding to each data point to obtain the following: Figure 3 The initial point cloud data arrangement diagram is shown.
[0094] Step S202: Analyze the data points in at least two groups of initial point cloud data.
[0095] In some embodiments, under the current technical background, the initial point cloud data emitted by the lidar cannot be directly used for various subsequent calculations. Therefore, it is necessary to parse the data points in the initial point cloud data and convert them into point cloud data that can be directly used, so as to facilitate subsequent calculations.
[0096] Exemplarily, the parsing process may include joint solution and deviation correction, wherein the joint solution and deviation correction may be performed using any method in the prior art and are not limited here.
[0097] Exemplarily, each data point after analysis includes coordinate information and intensity information, wherein the coordinate information represents the XYZ three-dimensional coordinates of the target site corresponding to the data point (the site in the environment that reflects the laser beam corresponding to the data point), and the intensity information refers to the intensity of the laser signal reflected by the target site.
[0098] In some possible implementations, data points are parsed point by point. Since the acquired initial point cloud data are arranged in groups, data parsing is also performed group by group, that is, the next group of initial point cloud data will not be parsed until one group of initial point cloud data is parsed.
[0099] Step S203: After parsing one set of initial point cloud data in at least two sets of initial point cloud data, determine whether any data point in all or part of the data points in the parsed set of initial point cloud data is a ground point or a non-ground point based on the vertical angle of each data point.
[0100] As an example, after receiving a set of initial point cloud data after parsing, the computer device or the chip integrated in the laser radar immediately performs ground point detection on the parsed set of initial point cloud data to determine the ground points and non-ground points therein.
[0101] Optionally, after parsing a group of initial point cloud data, the computer device or the chip integrated in the laser radar performs ground point detection on the parsed group of initial point cloud data according to a pre-configured time. The delay caused by performing ground point detection on each group of initial point cloud data in a frame of radar data based on the pre-configured time is less than the delay caused by performing ground point detection on a frame-by-frame basis.
[0102] Of course, the computer device or the chip integrated in the laser radar can also perform ground point detection on the data points in the parsed initial point cloud data after parsing two or three sets of initial point cloud data; such situations are all within the scope of protection of this application.
[0103] In this embodiment, to fully ensure the efficiency of ground point detection and simplify the algorithm, ground point detection is performed only on valid points in the parsed set of initial point cloud data, where valid points refer to data points that may be ground points. The parsed set of initial point cloud data includes multiple data points; if multiple data points are valid points, then ground point detection is required for all of the multiple data points; if invalid points exist among the multiple data points, then ground point detection is required for some of the multiple data points (i.e., valid points). The valid point screening process can be performed by a computer device or a chip in the lidar.
[0104] In one embodiment, when performing ground point detection on a set of parsed initial point cloud data, in order to ensure that the detected data points are valid points, when the vertical angle of the data point is within a preset angle range and the corresponding intensity value of the data point is greater than a preset value, the data point is determined to be a valid point.
[0105] Optionally, the parsed set of initial point cloud data includes a preset number of data points, and the preset number of data points in the parsed set of initial point cloud data are arranged in order of the size of the corresponding vertical angles, and each data point includes a coordinate value and an intensity value; the screening process of valid points can include the following steps: from the preset number of data points, determining multiple first target data points, wherein the vertical angles corresponding to the first target data points are within a preset angle range; deleting invalid data points from the multiple first target data points, and determining the data points to be processed in the parsed set of initial point cloud data that need to be detected as ground points; wherein the invalid data points are data points with a corresponding intensity value of zero; and the data points to be processed obtained are valid points. By screening the valid points, the number of data points that need to be processed for ground point detection is reduced, thereby accelerating the speed of ground point detection.
[0106] The following uses mechanical laser radar as an example to illustrate the screening of effective points. Figure 4 Schematic diagram of a mechanical laser radar laser beam in one embodiment of the present application. Figure 4 As shown, a laser radar 41 emits multiple laser beams 42 outward, and the ground 43 is a horizontal plane. Among the multiple laser beams 42, some are emitted at an upward angle, and some are emitted at a downward angle. It can be understood that only the laser beams emitted at a downward angle are likely to hit the ground 43.
[0107] The vertical angle of a data point refers to the angle between the laser beam corresponding to the data point and the horizontal plane. The laser beam can only illuminate the ground when it is emitted in a direction below the horizontal plane. Without considering other variables (such as the reflectivity of the data point's illumination location), the intensity value corresponding to the data point represents the intensity of the returned laser. During the propagation process, the laser will only return laser light when it encounters a target object. The closer the laser radar is to the target object, the greater the laser return intensity value. When the target object is too far away from the laser radar or the laser does not encounter any target object, the intensity value of the corresponding data point is 0. Therefore, when the intensity value of the resolved data point is not 0, the data point is likely to be a valid point.
[0108] It can be understood that the intensity value corresponding to the analyzed data point is related to the pulse width value corresponding to the data point. When the pulse width value corresponding to data point A is 0, the intensity value corresponding to data point A after analysis is 0; when the pulse width value corresponding to data point A is not 0, the intensity value corresponding to data point A after analysis is not 0.
[0109] In one example, the LiDAR outputs both data points with a pulse width of 0 and data points with a non-zero pulse width, ensuring that the number of data points in each set of initial point cloud data output by the LiDAR is the same. The LiDAR can then group the initial point cloud data based on the number of data points. When the number of data points reaches a preset number, the preset number of data points is considered to constitute a set of initial point cloud data.
[0110] In one embodiment, the laser radar may not output data points with a pulse width value of 0. In this case, the pulse width values of all data points in at least two sets of initial point cloud data acquired by the computer device or the chip integrated in the laser radar are not 0. When performing valid point screening, the computer device or the chip integrated in the laser radar only needs to determine whether the vertical angle of the data points in the parsed set of initial point cloud data is within a preset angle range.
[0111] For example, the vertical angle value of the data point corresponding to the laser beam parallel to the horizontal plane is defined as 0, the vertical angle value of the data point corresponding to the laser beam emitted below the horizontal plane is defined as a negative number, and the vertical angle value of the data point corresponding to the laser beam emitted above the horizontal plane is defined as a positive number. Figure 4 As shown in the figure, the vertical angle values of the data points corresponding to each laser beam gradually increase from bottom to top; assuming that the vertical angle corresponding to the lowest laser beam is the minimum vertical angle value m, and the vertical angle corresponding to the highest laser beam is the maximum vertical angle value n, where m is a negative number and n is a positive number.
[0112] Optionally, the preset angle range may be greater than or equal to m and less than 0. It is understood that those skilled in the art may set the preset angle range as needed. For example, the upper limit of the preset angle range may be set based on the required distance range; illustratively, the upper limit of the preset angle range may be -2, meaning that only data points with a corresponding vertical angle less than -2° are considered valid points.
[0113] Exemplarily, performing ground point detection on the parsed set of initial point cloud data specifically includes determining whether any data point is a ground point or a non-ground point in order of vertical angles of all or part of the data points in the parsed set of initial point cloud data from low to high or from high to low. Ground point detection is performed on each data point one by one in order of vertical angles, thereby streamlining the detection process and improving detection efficiency.
[0114] The above-mentioned ground point detection method performs ground point detection on the data points in the parsed group of initial point cloud data for at least two groups of initial point cloud data obtained from the laser radar. Since the parsed group of initial point cloud data includes fewer data points, the ground point detection speed is very fast, thereby realizing ground point detection while parsing a frame of radar data. When the last group of initial point cloud data in a frame of radar data is parsed, the ground point detection of the frame of radar data is basically completed, which effectively reduces the problem of ground point detection delay of point cloud data and improves the efficiency of ground point detection of point cloud data.
[0115] In one embodiment, after determining whether any data point in all or some of the data points is a ground point or a non-ground point, the method further includes: marking any data point in the parsed set of initial point cloud data, the marking result indicating whether the corresponding data point is a ground point or a non-ground point; and outputting the parsed set of initial point cloud data with the marking result. By marking and outputting the data points in the parsed set of initial point cloud data as ground points or non-ground points, subsequent calculations based on the point cloud data can be facilitated. For example, subsequent calculations can use only non-ground points or only ground points.
[0116] In one embodiment, the height of the laser radar from the ground is not zero; the horizontal angles of all data points in the same set of initial point cloud data are the same, and the vertical angles of different data points in the same set of initial point cloud data are different; the following describes the process of determining whether each data point in all or part of the data points in a parsed set of initial point cloud data is a ground point or a non-ground point in order of vertical angle from low to high. Figure 5 FIG. 1 shows a flow chart of a method for determining whether any data point in a set of initial point cloud data after parsing is a ground point or a non-ground point in this embodiment; FIG. Figure 5As shown, the method includes:
[0117] Step S501: Determine the data points to be processed in a set of parsed initial point cloud data.
[0118] Step S502: Determine whether the i-th data point is determined to be a ground point or a non-ground point.
[0119] Step S503: If the i-th data point is not determined to be a ground point or a non-ground point, determine whether there is an i+1-th data point, where the vertical angle of the i+1-th data point is adjacent to the vertical angle of the i-th data point and the vertical angle of the i+1-th data point is greater than the vertical angle of the i-th data point.
[0120] Step S504: If there is an i+1th data point, determine the cosine value of the angle between the first vector and the second vector, where the first vector is the vector pointing from the i-th data point to the i+1-th data point, and the second vector is the vector pointing from the i-th data point to the projection point of the laser radar on the ground.
[0121] Step S505 : Determine whether the i-th data point is a ground point or a non-ground point based on the cosine value and a first preset threshold.
[0122] In some embodiments, the i-th data point is determined to be a ground point or a non-ground point based on the cosine value and a first preset threshold, specifically including: if the absolute value of the cosine value is greater than or equal to the first preset threshold, the i-th data point is determined to be a ground point; if the absolute value of the cosine value is less than the first preset threshold, it is determined that the i-th data point and the i+1-th data point include a non-ground point.
[0123] After determining that the i-th data point and the i+1-th data point include non-ground points, the vertical distances between the i-th data point and the i+1-th data point and the projection point of the lidar on the ground are respectively obtained; based on the vertical distance and a second preset threshold, the i-th data point and the i+1-th data point are further determined to be non-ground points or ground points.
[0124] Exemplarily, the vertical distance can be determined based on the coordinate values of the i-th data point and the i+1-th data point and the coordinate value of the projection point. For example, the coordinate value of the i-th data point is (X1, Y1, Z1) and the coordinate value of the projection point is (X2, Y2, Z2). The vertical distance can be equal to the absolute value of the difference between Z1 and Z2.
[0125] Exemplarily, based on the vertical distance and the second preset threshold, the i-th data point and the i+1-th data point are further determined to be non-ground points or ground points, including: if the vertical distance is greater than or equal to the second preset threshold, the corresponding data point is determined to be a non-ground point; if the vertical distance is less than the second preset threshold, the corresponding data point is determined to be a ground point.
[0126] It can be understood that the vertical distance can roughly represent the height of the data point above the ground. Comparing the distance value with the preset distance (i.e., the second preset threshold) to further determine whether the i-th data point and the i+1-th data point are non-ground points or ground points can improve the accuracy of judgment.
[0127] Optionally, the second preset threshold may be 0.2 meters, that is, if the vertical distance is greater than or equal to 0.2 meters, the corresponding data point is determined to be a non-ground point; if the vertical distance is less than 0.2 meters, the corresponding data point is determined to be a ground point.
[0128] Optionally, the first preset threshold is α, |cos165°|≤α<1. By reasonably setting the range of the first preset threshold, the method can be applied to the case where the ground is not completely horizontal, and the first preset threshold fluctuates in a range close to 1. At this time, when the angle between the two vectors is 165°-180°, the corresponding data points can be determined as ground points. In addition, the setting of the first preset threshold can reduce the misjudgment of ground points as non-ground points: for example, in the case where the two data points initially traversed are non-ground points, since the limited first preset threshold is less than 1, the subsequent ground points can be determined as ground points as soon as possible, thereby reducing the situation where subsequent ground points are misjudged as non-ground points.
[0129] In an embodiment of the present application, when the height of the laser radar from the ground is not zero, the first vector between the data point to be measured and the projection point of the laser radar on the ground is selected, and the cosine value of the angle between the second vector between the data point to be measured and the next data point is compared with the first preset threshold to determine whether the corresponding data point to be measured is a ground point or a non-ground point; when it is determined that the data point to be measured and the next data point are both located in the same plane, and the plane is parallel to the ground but does not overlap, the method in this embodiment can still accurately judge the data point to be measured and the next data point as non-ground points.
[0130] Step S506: If the i-th data point is determined to be a ground point or a non-ground point, skip the i-th data point.
[0131] In the embodiment, if the i-th data point is determined to be a ground point or a non-ground point, there is no need to perform ground point detection on the data point, and the process jumps to step S502 to start performing ground point detection on the i+1-th data point.
[0132] Step S507: If the i-th data point is not determined to be a ground point or a non-ground point, and the i+1-th data point does not exist, it is judged together with the i-1-th data point, that is, the cosine value of the angle between the first vector between the i-1-th data point and the projection point of the laser radar on the ground and the second vector between the i-1-th data point and the i-th data point are compared with the first preset threshold to determine whether the corresponding i-th data point is a ground point or a non-ground point.
[0133] As can be seen from the above, in the process of determining whether all or part of the data points in the parsed initial point cloud data are ground points or non-ground points in ascending vertical angle order, the current data point to be tested is used as the starting point of the first vector and the second vector. When the last data point is used as the data point to be tested, if the last data point has not been determined as a ground point or non-ground point in the previous steps, it is determined together with the previous point.
[0134] In another embodiment, it is also possible to determine whether each data point in all or part of the data points in the parsed set of initial point cloud data is a ground point or a non-ground point in the order of vertical angle from high to low. Figure 6 As shown, the method includes:
[0135] Step S601: Determine the data points to be processed in a set of parsed initial point cloud data.
[0136] Step S602: Determine whether the kth data point is determined to be a ground point or a non-ground point.
[0137] Step S603: If the kth data point is not determined to be a ground point or a non-ground point, determine whether there is a k+1th data point, where the vertical angle of the k+1th data point is adjacent to the vertical angle of the kth data point and the vertical angle of the k+1th data point is smaller than the vertical angle of the kth data point.
[0138] Step S604: If there is a k+1th data point, determine the cosine value of the angle between the first vector and the second vector, where the first vector is the vector from the k+1th data point to the kth data point, and the second vector is the vector from the k+1th data point to the projection point of the laser radar on the ground.
[0139] Step S605: Determine whether the kth data point is a ground point or a non-ground point based on the cosine value and a first preset threshold.
[0140] Step S606: If the k-th data point is determined to be a ground point or a non-ground point, skip the k-th data point.
[0141] Step S607: If the kth data point is not determined to be a ground point or a non-ground point, and the k+1th data point does not exist, it is determined together with the k-1th data point.
[0142] As can be seen from the above, in the process of determining whether all or part of the data points in the parsed set of initial point cloud data are ground points or non-ground points in descending vertical angle order, the next data point after the current data point to be tested is used as the starting point of the first vector and the second vector. When the last data point is used as the data point to be tested, if the last data point has not been determined as a ground point or non-ground point in the previous steps, it is determined to be a ground point or non-ground point together with the previous data point.
[0143] It is understandable that Figure 6 The embodiment shown is Figure 5 The difference between the embodiments shown is that the order of judging the data points is different. For other parts, please refer to the above Figure 5 The description of the illustrated embodiment will not be repeated here.
[0144] See also Figure 7 In one embodiment of the present application, a method for outputting point cloud data is provided. The method is performed by a laser radar and includes the following steps:
[0145] Step S701: Process each frame of radar data to be sent to obtain multiple groups of initial point cloud data included in each frame of radar data, where each group of initial point cloud data includes multiple data points; all data points in the same group of initial point cloud data have the same horizontal angle, and different data points in the same group of initial point cloud data have different vertical angles.
[0146] In one embodiment, the laser radar can have any possible pulse width value (for example, the pulse width value can be 0), and the method for grouping data points in each frame of radar data may include: when the number of acquired data points reaches a preset number, sorting the preset number of data points according to the size of the vertical angle corresponding to each data point; and using the sorted preset number of data points as a set of initial point cloud data. The pulse width value can be any possible value, that is, the laser radar will output all data points, so that the number of data points in a set of initial point cloud data is the same, all being the preset number; thus, each frame of radar data can be grouped according to the number of data points, and the method is simple and easy to implement.
[0147] Step S702: Send at least two sets of initial point cloud data in each frame of radar data.
[0148] Optionally, each group of initial point cloud data sent by the laser radar carries an identifier of the radar data frame to which the group of initial point cloud data belongs. The computer device or the chip integrated in the laser radar can determine which frame of radar data the received group of initial point cloud data belongs to based on the identifier.
[0149] Optionally, when the laser radar sends the first group of initial point cloud data in a frame of radar data to a computer device or a chip integrated in the laser radar, it can also send the number of groups of initial point cloud data included in the frame of radar data to the computer device or the chip integrated in the laser radar, so that the computer device or the chip integrated in the laser radar can determine whether to completely receive a frame of radar data based on the number of groups.
[0150] For example, the laser radar may also send the time interval between two frames of radar data or two sets of initial point cloud data to a computer device or a chip integrated in the laser radar, thereby enabling the computer device or the chip integrated in the laser radar to accurately distinguish between different frames of radar data or different sets of initial point cloud data.
[0151] In the above method, the laser radar groups a frame of radar data according to the angle in the horizontal direction, and sends the grouped initial point cloud data, so that the computer equipment or the chip integrated in the laser radar can perform ground point detection on each group of initial point cloud data, thereby improving the ground point detection efficiency of the laser radar point cloud data.
[0152] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0153] Corresponding to a ground point detection method in the above embodiment, Figure 8 A structural block diagram of a ground point detection device provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.
[0154] Reference Figure 8 The ground point detection device 800 includes: an acquisition unit 810, a parsing unit 820 and a determination unit 830, wherein:
[0155] An acquisition unit 810 is configured to acquire at least two sets of initial point cloud data from a laser radar, where each set of initial point cloud data in the at least two sets of initial point cloud data is any one of multiple sets of initial point cloud data included in a frame of radar data, and each set of initial point cloud data includes multiple data points; all data points in the same set of initial point cloud data have the same horizontal angle, and different data points in the same set of initial point cloud data have different vertical angles;
[0156] A parsing unit 820 is configured to parse data points in at least two sets of initial point cloud data;
[0157] The determination unit 830 is used to determine whether any data point in all or part of the data points in the parsed set of initial point cloud data is a ground point or a non-ground point based on the vertical angle of each data point in all or part of the data points in the parsed set of initial point cloud data after each parsing of the set of initial point cloud data.
[0158] In one embodiment, the determining unit 830 is configured to determine whether any data point in all or part of the data points in the parsed set of initial point cloud data is a ground point or a non-ground point based on the angle of each data point in the second direction, specifically including:
[0159] According to the vertical angle order of each data point in all or part of the data points in the parsed set of initial point cloud data from low to high or from high to low, any data point is determined to be a ground point or a non-ground point.
[0160] In one embodiment, the height of the laser radar from the ground is not zero; the determination unit 830 is configured to determine whether any data point in all or part of the data points in the parsed set of initial point cloud data is a ground point or a non-ground point based on the vertical angle of each data point, specifically including:
[0161] Determine a cosine value of an angle between a first vector and a second vector, where the first vector is a vector between a first data point in the parsed set of initial point cloud data and a second data point in the parsed set of initial point cloud data, and the second vector is a vector between the first data point in the parsed set of initial point cloud data and a projection point of a laser radar on the ground, the vertical angle of the second data point is adjacent to the vertical angle of the first data point and the vertical angle of the second data point is greater than the vertical angle of the first data point, and the first data point or the second data point is a data point to be processed in the parsed set of initial point cloud data;
[0162] According to the cosine value and the first preset threshold, it is determined whether the data point to be processed is a ground point or a non-ground point.
[0163] In one embodiment, the determining unit 830 is configured to determine whether the data point to be processed is a ground point or a non-ground point based on the cosine value and the first preset threshold, specifically including:
[0164] If the absolute value of the cosine value is greater than or equal to the first preset threshold, the data point to be processed is determined to be a ground point;
[0165] If the absolute value of the cosine value is less than a first preset threshold, it is determined that the first data point and the second data point include a non-ground point. Further, the vertical distance from the projection point of the laser radar on the ground and the second preset threshold are used to determine whether the point is a ground point or a non-ground point.
[0166] In one embodiment, the first preset threshold is β, where |cos165°|≤β<1.
[0167] In one embodiment, the determining unit 830 is configured to determine whether the data point to be processed is a ground point or a non-ground point based on the cosine value and the first preset threshold, specifically including:
[0168] When the first data point is a data point to be processed and the first data point is not determined to be a ground point or a non-ground point, and there is a second data point, determining a cosine value of an angle between the first vector and the second vector; or
[0169] When the second data point is a data point to be processed and the second data point is not determined to be a ground point or a non-ground point, and the first data point exists, a cosine value of an angle between the first vector and the second vector is determined.
[0170] In one embodiment, before determining the cosine value of the angle between the first vector and the second vector, the determining unit 830 further includes:
[0171] If the data point to be processed is determined to be a ground point or a non-ground point, the data point to be processed is skipped.
[0172] In one embodiment, vertical angles corresponding to some data points are within a preset angle range, and corresponding intensity values of some data points in a set of parsed initial point cloud data are greater than a preset value.
[0173] In one embodiment, the ground point detection device 800 further includes a marking unit and an output unit, wherein:
[0174] A marking unit is used to mark any data point in a set of parsed initial point cloud data, and the marking result shows whether the corresponding data point is a ground point or a non-ground point;
[0175] The output unit is used to output a set of parsed initial point cloud data with labeled results.
[0176] A point cloud data output method corresponding to the above embodiment, Figure 9 A structural block diagram of a point cloud data output device provided in one embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.
[0177] Reference Figure 9 The point cloud data output device 900 includes a processing unit 910 and a sending unit 920, wherein:
[0178] A processing unit 910 is configured to process each frame of radar data to be transmitted to obtain multiple groups of initial point cloud data included in each frame of radar data, each group of initial point cloud data including multiple data points; all data points in the same group of initial point cloud data have the same horizontal angle, and different data points in the same group of initial point cloud data have different vertical angles;
[0179] The sending unit 920 is configured to send at least two sets of initial point cloud data in each frame of radar data.
[0180] In one embodiment, the pulse width values corresponding to the data points in the initial point cloud data of the laser radar are any possible values. The processing unit 910 is configured to process each frame of radar data to be sent to obtain multiple sets of initial point cloud data included in each frame of radar data, specifically including:
[0181] When the number of acquired data points reaches a preset number, the preset number of data points are sorted according to the size of the vertical angle of each data point;
[0182] The preset number of sorted data points is used as a set of initial point cloud data.
[0183] Figure 10 This is a schematic diagram of the structure of a computer device 10 provided in one embodiment of the present application, as shown in FIG. Figure 10 As shown, the computer device 10 of this embodiment includes: at least one processor 1000 ( Figure 11 Only one processor is shown in the figure), a memory 1001, and a computer program 1002 stored in the memory 1001 and executable on the at least one processor 1000, wherein the processor 1000 implements the steps of any of the above-mentioned ground point detection method embodiments when executing the computer program 1002.
[0184] The computer device may include, but is not limited to, a processor 1000 and a memory 1001. Those skilled in the art will appreciate that Figure 10 This is merely an example of the computer device 10 and does not constitute a limitation on the computer device 10 . The computer device 10 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, it may also include input and output devices, network access devices, etc.
[0185] Figure 11 This is a schematic diagram of the structure of the laser radar 11 provided in one embodiment of the present application, as shown in FIG. Figure 11 As shown, the laser radar 11 of this embodiment includes: at least one processor 1100 ( Figure 11Only one processor is shown in the figure), a memory 1101, and a computer program 1102 stored in the memory 1101 and executable on the at least one processor 1100. When the processor 1100 executes the computer program 1102, the steps in any of the above-mentioned ground point detection method embodiments and / or the steps in the point cloud data output method embodiments are implemented.
[0186] The processor (1000, 1100) may be a central processing unit (CPU), or may be another general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor or any conventional processor.
[0187] In some embodiments, the memory (1001, 1101) may be an internal storage unit, such as a hard disk or a memory. In other embodiments, the memory (1001, 1101) may also be an external storage device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. Furthermore, the memory (1001, 1101) may include both an internal storage unit and an external storage device. The memory (1001, 1101) is used to store an operating system, an application program, a boot loader, data, and other programs, such as the program code of the computer program. The memory (1001, 1101) may also be used to temporarily store data that has been output or is about to be output.
[0188] Those skilled in the art will understand that Figure 10 and Figure 11 The structure shown in the figure is only a block diagram of part of the structure related to the solution of the present application, and does not constitute a limitation on the roadside equipment and vehicle-mounted terminal to which the solution of the present application is applied. The specific roadside equipment and vehicle-mounted terminal may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0189] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0190] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned various method embodiments can be implemented.
[0191] An embodiment of the present application provides a computer program product. When the computer program product runs on a roadside device or a vehicle-mounted terminal, the roadside device or the vehicle-mounted terminal can implement the steps in the above-mentioned various method embodiments when the computer program product is executed.
[0192] An embodiment of the present application further provides a chip, comprising: a processor, configured to call and run a computer program from a memory, so that a computer device equipped with the chip executes the steps in the above-mentioned method embodiments.
[0193] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0194] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0195] In the embodiments provided in this application, it should be understood that the disclosed devices / equipment and methods can be implemented in other ways. For example, the device / equipment embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0196] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0197] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0198] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the process in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media do not include electric carrier signals and telecommunication signals.
[0199] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.
Claims
1. A ground point detection method, characterized in that: include: Acquire at least two sets of initial point cloud data from a laser radar, where each set of initial point cloud data in the at least two sets of initial point cloud data is any one set of multiple sets of initial point cloud data included in a frame of radar data, and each set of initial point cloud data includes multiple data points; all data points in the same set of initial point cloud data have the same horizontal angle, and different data points in the same set of initial point cloud data have different vertical angles; parsing the data points in the at least two sets of initial point cloud data; After each set of the at least two sets of initial point cloud data is parsed, it is determined whether any one of the data points in the parsed set of initial point cloud data is a ground point or a non-ground point based on the vertical angle of each of the data points in all or part of the data points in the parsed set of initial point cloud data.
2. The method according to claim 1, characterized in that Determining whether any of the data points in all or part of the data points is a ground point or a non-ground point based on the vertical angle of each of the data points in the parsed set of initial point cloud data includes: According to the vertical angle order of each data point in all or part of the data points in the parsed set of initial point cloud data from low to high or from high to low, any data point is determined to be a ground point or a non-ground point.
3. The method according to claim 1, characterized in that The height of the laser radar from the ground is not zero; Determining whether any of the data points in all or part of the data points is a ground point or a non-ground point based on the vertical angle of each of the data points in the parsed set of initial point cloud data includes: Determine a cosine value of an angle between a first vector and a second vector, where the first vector is a vector between a first data point in the parsed set of initial point cloud data and a second data point in the parsed set of initial point cloud data, the second vector is a vector between the first data point in the parsed set of initial point cloud data and a projection point of the laser radar on the ground, the vertical angle of the second data point is adjacent to the vertical angle of the first data point and the vertical angle of the second data point is greater than the vertical angle of the first data point, and the first data point or the second data point is a data point to be processed in the parsed set of initial point cloud data; According to the cosine value and a first preset threshold, it is determined whether the data point to be processed is a ground point or a non-ground point.
4. The method according to claim 3, characterized in that The step of determining whether the data point to be processed is a ground point or a non-ground point based on the cosine value and a first preset threshold value includes: If the absolute value of the cosine value is greater than or equal to the first preset threshold, determining that the data point to be processed is a ground point; If the absolute value of the cosine value is less than the first preset threshold, it is determined that the first data point and the second data point include a non-ground point.
5. The method according to claim 4, characterized in that The first preset threshold is β, where |cos165°|≤β<1.
6. The method according to claim 3, characterized in that Determining the cosine value of the angle between the first vector and the second vector includes: When the first data point is the data point to be processed and the first data point is not determined to be a ground point or a non-ground point, and the second data point exists, determine the cosine value of the angle between the first vector and the second vector; or when the second data point is the data point to be processed and the second data point is not determined to be a ground point or a non-ground point, and the first data point exists, determine the cosine value of the angle between the first vector and the second vector.
7. The method according to claim 3, characterized in that Before determining the cosine value of the angle between the first vector and the second vector, the method further includes: If the data point to be processed is determined to be a ground point or a non-ground point, the data point to be processed is skipped.
8. The method according to claim 4, characterized in that After determining that the first data points and the second data points include non-ground points, the method further includes: Obtaining vertical distances between the first data point and the second data point and the projection point respectively; According to the vertical distance and a second preset threshold, it is further determined that the first data point and the second data point are non-ground points or ground points.
9. The method according to any one of claims 1 to 8, characterized in that The vertical angles corresponding to some of the data points are within a preset angle range, and the corresponding intensity values of some of the data points in the parsed set of initial point cloud data are greater than a preset value.
10. The method according to any one of claims 1 to 8, characterized in that The method further comprises: Marking any of the data points in the parsed set of initial point cloud data, wherein the marking result indicates whether the corresponding data point is a ground point or a non-ground point; Outputting the parsed set of initial point cloud data with the labeling results.
11. A ground point detection device, characterized in that: include: an acquisition unit, configured to acquire at least two sets of initial point cloud data from a laser radar, wherein each set of initial point cloud data in the at least two sets of initial point cloud data is any one set of multiple sets of initial point cloud data included in a frame of radar data, and each set of initial point cloud data includes multiple data points; all the data points in the same set of initial point cloud data have the same horizontal angle, and different data points in the same set of initial point cloud data have different vertical angles; a parsing unit, configured to parse the data points in the at least two sets of initial point cloud data; A determination unit is used to determine whether any one of the data points in the parsed set of initial point cloud data is a ground point or a non-ground point based on the vertical angle of each data point in all or part of the data points in the parsed set of initial point cloud data after each parsing of the set of initial point cloud data.
12. A point cloud data output method, characterized in that: Applied to laser radar, the method includes: processing each frame of radar data to be transmitted to obtain multiple groups of initial point cloud data included in each frame of radar data, each group of initial point cloud data including multiple data points; all data points in the same group of initial point cloud data have the same horizontal angle, and different data points in the same group of initial point cloud data have different vertical angles; At least two sets of initial point cloud data in each frame of the radar data are sent.
13. The method according to claim 12, characterized in that The pulse width value corresponding to the data point in the initial point cloud data of the laser radar is any possible value, and each frame of radar data to be sent is processed to obtain multiple groups of initial point cloud data included in each frame of the radar data, including: When the number of acquired data points reaches a preset number, sorting the preset number of data points according to the size of the vertical angle of each data point; The preset number of sorted data points is used as a set of initial point cloud data.
14. A laser radar, characterized in that: The laser radar is configured to perform the method according to any one of claims 1 to 10 and / or any one of claims 12 to 13.
15. A communication system, characterized in that: The system includes a computer device and a laser radar. The laser radar is configured to perform the method according to any one of claims 12 to 13; The computer device is configured to perform the method according to any one of claims 1 to 10.
16. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 10 or 12 to 13 is implemented.
Citation Information
Patent Citations
multi-line laser radar-based point cloud ground point segmentation method
CN112686910A