Point cloud data screening method and device, terminal equipment and readable storage medium
By filtering scan lines from point cloud data, target point cloud data adapted to deep learning needs is formed based on the vertical field of view. This solves the compatibility problem of public datasets, reduces the complexity and cost of data acquisition, and improves accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-22
- Publication Date
- 2026-03-27
AI Technical Summary
In existing technologies, publicly available datasets are insufficient to address the issue of decreased accuracy in deep learning due to the different radar models used by enterprises. Furthermore, collecting point cloud data in real-world scenarios is complex and costly.
By acquiring the point cloud data to be filtered, the vertical field of view of each scan line is determined, and one or more scan lines are selected from the point cloud data based on the vertical field of view to form target point cloud data that meets the actual deep learning needs.
It reduces the complexity and cost of acquiring point cloud data, improves the accuracy of adapting point cloud data to actual deep learning, and avoids errors at loop connections and segmentation problems.
Smart Images

Figure CN115546310B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of data processing technology, and in particular relates to a method, apparatus, terminal device and readable storage medium for filtering point cloud data. Background Technology
[0002] In the field of object detection, model building often requires sample data. For companies unable to collect sufficient sample data, they can only use publicly available datasets. However, the radar used to collect these datasets often differs from the radar used in the company's actual operation. For example, a publicly available dataset might use a 64-line radar, while the company might use a 32-line radar. If a model is built using a publicly available dataset acquired with a 64-line radar, the accuracy will often decrease when applied to point cloud data acquired with a 32-line radar. Therefore, publicly available datasets are insufficient to meet the actual deep learning needs of companies. Furthermore, collecting point cloud data in real-world scenarios requires simulations of different scenarios, which is complex and costly. Summary of the Invention
[0003] This application provides a method, apparatus, terminal device, and readable storage medium for filtering point cloud data, which can solve the problem that publicly available datasets in the prior art cannot meet the needs of deep learning.
[0004] The first aspect of this application provides a method for filtering point cloud data, comprising: acquiring point cloud data to be filtered; determining the vertical field of view of each scan line in the point cloud data to be filtered, wherein the vertical field of view is the angle between the scan line in the vertical field of view and a preset direction; and filtering one or more scan lines from the scan lines corresponding to the point cloud data to be filtered based on the vertical field of view, so as to use the point cloud data corresponding to the filtered scan lines as the filtered target point cloud data.
[0005] In some embodiments of this application, obtaining the point cloud data to be filtered includes: obtaining initial point cloud data; obtaining the starting scan point of the initial point cloud data on the scan line; and sorting the initial point cloud data according to the starting scan point to obtain the point cloud data to be filtered.
[0006] In some embodiments of this application, the step of sorting the initial point cloud data according to the starting scan point to obtain the point cloud data to be filtered includes: determining the direction of the line connecting each scan point in the initial point cloud data to the radar that acquired the initial point cloud data; calculating the first angle between the direction of the line corresponding to each scan point on the same scan line and the direction of the line corresponding to the starting scan point; and sorting the scan points on the same scan line in the initial point cloud data according to the size of the first angle to obtain the point cloud data to be filtered.
[0007] In some embodiments of this application, the step of sorting the initial point cloud data according to the starting scan point to obtain the point cloud data to be filtered includes: determining the direction of the line connecting each scan point in the initial point cloud data to the radar that acquired the initial point cloud data; calculating a second angle between the direction of the line corresponding to the starting scan point on the target scan line and the direction of the line corresponding to the starting scan point on other scan lines, wherein the target scan line is any scan line of the initial point cloud data; and sorting the different scan lines in the initial point cloud data according to the size of the second angle to obtain the point cloud data to be filtered.
[0008] In some embodiments of this application, the step of selecting one or more scan lines from the scan lines corresponding to the point cloud data to be screened based on the vertical field of view, so as to use the point cloud data corresponding to the selected scan lines as the screened target point cloud data, includes: dividing the vertical field of view of the point cloud data to be screened into at least two sub-regions based on the vertical field of view, wherein the longitudinal density of two adjacent sub-regions is different, and the longitudinal density is used to characterize the interval of the vertical field of view between adjacent scan lines in the sub-region; obtaining the reference longitudinal density actually required between scan lines; and selecting one or more scan lines from at least one sub-region based on the reference longitudinal density and the longitudinal density of each sub-region, so as to use the point cloud data corresponding to the selected scan lines as the target point cloud data.
[0009] In some embodiments of this application, the step of selecting one or more scan lines from at least one of the sub-regions based on the reference longitudinal density and the longitudinal density of each sub-region, so as to use the point cloud data corresponding to the selected scan lines as the target point cloud data, includes: determining the acquisition interval of scan lines in each of the sub-regions based on the reference longitudinal density and the longitudinal density of each of the sub-regions; and selecting scan lines in the corresponding sub-regions based on the acquisition interval of scan lines in each of the sub-regions, so as to use the point cloud data corresponding to the selected scan lines as the target point cloud data.
[0010] In some embodiments of this application, the step of selecting one or more scan lines from at least one of the sub-regions based on the reference longitudinal density and the longitudinal density of each sub-region, and using the point cloud data corresponding to the selected scan lines as the target point cloud data, includes: determining a target sub-region based on the reference longitudinal density and the longitudinal density of each sub-region; and using the point cloud data corresponding to the scan lines of the target sub-region as the target point cloud data.
[0011] A second aspect of this application provides a point cloud data filtering device, comprising: an acquisition unit for acquiring point cloud data to be filtered; a determination unit for determining the vertical field of view of each scan line in the point cloud data to be filtered, wherein the vertical field of view is the angle between the scan line in the vertical field of view and a preset direction; and a filtering unit for filtering one or more scan lines from the scan lines corresponding to the point cloud data to be filtered according to the vertical field of view, so as to use the point cloud data corresponding to the filtered scan lines as the filtered target point cloud data.
[0012] A third aspect of this application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the point cloud data filtering method described above.
[0013] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the point cloud data filtering method described above.
[0014] The fifth aspect of this application provides a computer program product that, when run on a terminal device, causes the terminal device to execute the point cloud data filtering method described in any of the first aspects above.
[0015] In the embodiments of this application, by acquiring point cloud data to be filtered, the vertical field of view of each scan line in the point cloud data to be filtered is determined, and one or more scan lines are selected from the scan lines corresponding to the point cloud data to be filtered based on the vertical field of view. The point cloud data corresponding to the selected scan lines is used as the filtered target point cloud data. The vertical field of view is the angle between the scan line in the vertical field of view and the preset direction. Thus, the scan lines with the required vertical field of view can be selected to form the filtered target point cloud data, making the point cloud data adaptable to the actual deep learning needs. At the same time, it is not necessary to acquire point cloud data in the actual scene, which can reduce the complexity and cost of acquiring point cloud data. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This is a schematic diagram illustrating the implementation process of a point cloud data filtering method provided in an embodiment of this application;
[0018] Figure 2 This is a schematic diagram of the vertical field of view of the KITTI dataset provided in the embodiments of this application;
[0019] Figure 3 This is a schematic diagram of the implementation process for processing initial point cloud data provided in the embodiments of this application. Figure 1 ;
[0020] Figure 4 This is a schematic diagram of the point cloud data to be screened provided in an embodiment of this application;
[0021] Figure 5 This is a schematic diagram of the target point cloud data provided in the embodiments of this application;
[0022] Figure 6 This is a schematic diagram of the implementation process for processing initial point cloud data provided in the embodiments of this application. Figure 2 ;
[0023] Figure 7 This is a schematic diagram of the vertical field of view of the point cloud data to be screened provided in an embodiment of this application;
[0024] Figure 8 This is a schematic diagram of the structure of a point cloud data filtering device provided in an embodiment of this application;
[0025] Figure 9 This is a schematic diagram of the structure of the terminal device provided in the embodiments of this application. Detailed Implementation
[0026] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are protected by this application.
[0027] To illustrate the technical solution of this application, specific embodiments are described below.
[0028] Figure 1 This illustration shows a flowchart of a point cloud data filtering method provided in an embodiment of this application. This method can be applied to terminal devices and is suitable for situations where point cloud data needs to be adapted to the actual requirements of deep learning. The terminal device can be a computer, smartphone, or other smart device.
[0029] Specifically, the above-mentioned point cloud data filtering method may include the following steps S101 to S103.
[0030] Step S101: Obtain the point cloud data to be filtered.
[0031] In the embodiments of this application, the point cloud data to be filtered may refer to the point cloud data that has already been acquired, or the point cloud data obtained after processing the acquired point cloud data. Data processing may include, but is not limited to, sorting and filtering invalid scan points.
[0032] Specifically, in some embodiments of this application, the point cloud data to be filtered may refer to public datasets or point cloud data obtained by processing public datasets. Public datasets include, but are not limited to, the KITTI dataset, the rsLidar dataset, and the Nuscenes dataset. Terminal devices can download authorized public datasets from the network as point cloud data to be filtered, in order to filter the point cloud data to obtain point cloud data that meets the needs of deep learning.
[0033] In some other embodiments of this application, the point cloud data to be filtered may refer to point cloud data obtained by data collection in a real-world scenario using a first type of radar. The terminal device can use the point cloud data collected by the first type of radar in a real-world scenario as the point cloud data to be filtered, and then filter the point cloud data to obtain point cloud data corresponding to a second type of radar that meets the requirements of deep learning. For example, the first type of radar may refer to a 64-line radar, and the second type of radar may refer to a 32-line radar. Thus, the user can use a 64-line radar for data collection, apply the collected data to deep learning corresponding to the 64-line radar, and apply the filtered data to deep learning corresponding to the 32-line radar. A single data collection can be applied to deep learning for multiple types of radar, indirectly improving data acquisition efficiency.
[0034] Step S102: Determine the vertical field of view of each scan line in the point cloud data to be filtered.
[0035] In the embodiments of this application, the field of view (FOV) of the radar used to collect point cloud data, i.e., the radar's scanning range, can be divided into a parallel field of view and a vertical field of view. The radar includes, but is not limited to, mechanical, galvanometer-type, and rotating mirror-type radars. These radars rotate in corresponding ways to achieve multi-angle acquisition in the parallel direction, allowing the radar to collect point cloud data within the corresponding parallel field of view. The range of the parallel field of view can be 120°, 360°, etc. The vertical field of view can refer to the field of view covered by all scan lines of the same phase, that is, the scanning range that the radar's scan lines can cover at the same rotation angle. For vehicle-mounted radar, the range of the vertical field of view can be 40°, 60°, etc., where 0° generally refers to the radar's central axis direction. For vehicle-mounted radar, 0° generally corresponds to the vehicle's driving direction or the parallel direction to the ground (often called the horizontal direction). Correspondingly, the vertical field of view angle can refer to the angle between the scan line within the vertical field of view and a preset direction, such as the angle between the scan line and the radar's central axis direction.
[0036] For the acquired point cloud data to be filtered, vertical field-of-view analysis can be performed to obtain the vertical field-of-view angle of each scan line. Specifically, for public datasets, the corresponding public parameters can be obtained, and the vertical field-of-view information can be extracted from the public parameters. Figure 2 A schematic diagram of the vertical field of view of the KITTI dataset is shown. As can be seen, the vertical field of view of the KITTI dataset ranges from +2° to -16°, and the difference in vertical field of view between adjacent scan lines is the same. For point cloud data obtained by data acquisition in a real-world scenario using a type-1 radar, the vertical field of view can be obtained based on the radar's installation information, or determined through calibration experiments. For example, calibration objects can be placed in different directions with varying vertical field of view within the real-world scenario. Based on the point cloud data, the scan line reaching the calibration object can be determined, thereby allowing analysis of the vertical field of view of each scan line of the type-1 radar.
[0037] Step S103: Based on the vertical field of view, select one or more scan lines from the scan lines corresponding to the point cloud data to be filtered, so as to use the point cloud data corresponding to the selected scan lines as the filtered target point cloud data.
[0038] In the embodiments of this application, based on the vertical field of view, the terminal device can select the scan line of the vertical field of view required for deep learning, and use the point cloud data corresponding to the selected scan line in the point cloud data to be screened as the target point cloud data after screening. In this way, the vertical field of view of the target point cloud data can be adapted to the actual deep learning needs.
[0039] For example, the point cloud data to be screened has a scan line every 1° within a vertical field of view from +30° to -30°, i.e., vertical field of view angles of -30°, -29°, ..., +29°, +30°. The data required for deep learning has a scan line every 2° within a vertical field of view from +20° to -20°. Therefore, scan lines of -20°, -18°, ..., +18°, +20° can be selected from the point cloud data to be screened, and the point cloud data corresponding to these scan lines can be combined to form the target point cloud data for deep learning.
[0040] In the embodiments of this application, by acquiring point cloud data to be filtered, the vertical field of view of each scan line in the point cloud data to be filtered is determined, and one or more scan lines are selected from the scan lines corresponding to the point cloud data to be filtered based on the vertical field of view. The point cloud data corresponding to the selected scan lines is used as the filtered target point cloud data. The vertical field of view is the angle between the scan line in the vertical field of view and the preset direction. Thus, the scan lines with the required vertical field of view can be selected to form the filtered target point cloud data, making the point cloud data adaptable to the actual deep learning needs. At the same time, it is not necessary to acquire point cloud data in the actual scene, which can reduce the complexity and cost of acquiring point cloud data.
[0041] In practical applications, the acquired point cloud data is generally out of order. In this out-of-order data, adjacent point data may not belong to the same scan line or two adjacent scan lines, and the depth difference between consecutive point data may be significant. Using out-of-order data for data filtering can easily result in errors at loop connections and partial segmentation. These issues can further lead to gaps in the point cloud data at those locations, potentially causing erroneous feature learning during deep learning. To avoid these problems, in some embodiments of this application, the terminal device can process the point cloud data using steps S301 to S303.
[0042] Step S301: Obtain initial point cloud data.
[0043] The initial point cloud data refers to the unordered data that has already been acquired. For details on how to acquire the data, please refer to the description of step S101. This application will not elaborate on this.
[0044] Step S302: Obtain the starting scan point of the initial point cloud data on the scan line.
[0045] In other words, the starting scan point is the first scan point when the radar begins scanning on a scan line.
[0046] Specifically, the terminal device can perform scan line analysis, and then analyze the scan points on the same scan line to determine the starting scan point. Specifically, the terminal device can use methods publicly available in the PCL (The Point Cloud Library), such as algorithms for scan line analysis based on time series or angle, to determine the scan line to which each scan point belongs. Then, it analyzes each point on each scan line one by one to determine if it is the starting scan point on the corresponding scan line. Specifically, it can select the current scan point on one scan line, match it with a scan point that has rotated one full turn, and determine if the scan point after one full turn is located at the current scan point's position. If not, it selects the next scan point on the same scan line for analysis; if so, it confirms the current scan point as the starting scan point.
[0047] Step S303: Sort the initial point cloud data according to the starting scan point to obtain the point cloud data to be filtered.
[0048] Specifically, using the starting scan point as a reference, the terminal device can sort the scan points and scan lines to obtain the point cloud data to be filtered.
[0049] In some embodiments of this application, the terminal device can determine the direction of the line connecting each scan point in the initial point cloud data to the radar that acquired the initial point cloud data; that is, determine the direction of the line connecting the coordinate point of the scan point in the radar coordinate system to the coordinate point of the radar (usually the origin of the radar coordinate system). Then, it calculates the first angle between the line direction corresponding to each scan point on the same scan line and the line direction corresponding to the starting scan point. Based on the size of the first angle, the scan points on the same scan line in the initial point cloud data can be sorted to obtain the point cloud data to be filtered.
[0050] Specifically, the initial point cloud data can be represented as:
[0051]
[0052] Where r represents the scan line, (x mn ,y mn ,z mn ,r m () represents the coordinates of the nth scan point on the m-th scan line in the radar coordinate system. Of course, in other embodiments, the initial point cloud data may also include parameters such as the reflection intensity of each scan point; this application does not impose any limitations on this. Taking scan line r0 as an example, assume the starting scan point on scan line r0 is (x... 00 ,y 00 ,z 00,r0), calculate the direction of the line connecting other scanning points on the r0 scan line to the radar and the starting scanning point (x,r0). 00 ,y 00 ,z 00 The first angle between the line connecting r0 and the radar can be used to sort the scan points on the r0 scan line. For example, the scan point with the smallest first angle can be used as the starting scan point (x). 00 ,y 00 ,z 00 The scan point adjacent to (r0) is selected as the scan point with the second smallest included angle, and is then used as the scan point adjacent to the starting scan point (x). 00 ,y 00 ,z 00 The scan points are spaced one scan point apart, and so on.
[0053] In some other embodiments of this application, the terminal device can determine the direction of the line connecting each scan point in the initial point cloud data to the radar that acquired the initial point cloud data. Then, it calculates a second angle between the line direction corresponding to the starting scan point on the target scan line and the line directions corresponding to the starting scan points on other scan lines. Furthermore, based on the size of the second angle, the different scan lines in the initial point cloud data are sorted to obtain the point cloud data to be filtered. Here, the target scan line is any scan line in the initial point cloud data.
[0054] Specifically, taking the target scan line as scan line r0 as an example, assuming the starting scan point of scan line r0 is (x 00 ,y 00 ,z 00 ,r0), calculate the direction of the line connecting the scan points on other scan lines to the scan point (x,r0). 00 ,t 00 ,z 00 The angle between the lines connecting the starting points (x, r0) and the direction of the line connecting the starting points on each scan line is the starting scan point on that scan line. The angle between the starting scan points on other scan lines and the direction of the line connecting the starting scan points is then used to determine the starting scan point on each scan line. 00 ,y 00 ,z 00 The size of the second included angle between the directions of the lines corresponding to r0 can be used to sort the scan lines. For example, the scan line containing the starting scan point with the smallest second included angle is taken as the scan line adjacent to scan line r0, the scan line containing the starting scan point with the second smallest second included angle is taken as the scan line separated from scan line r0 by one scan line, and so on.
[0055] Based on the above sorting of scan points and scan lines, ordered point cloud data to be filtered can be obtained. The terminal device can filter the ordered point cloud data to obtain smoother point cloud data. Figure 4 and Figure 5 The initial point cloud data and the target point cloud data filtered using the method provided in this application are shown respectively. Figure 5 It can be seen that the scan lines of the filtered target point cloud data are smooth, effectively avoiding errors at the loop connection and partial segmentation problems.
[0056] It should be understood that if the acquired point cloud data is ordered, the sorting process of scan points and scan lines described above is not required.
[0057] To ensure that the vertical field of view of the target point cloud data matches that of the actual radar used (i.e., the vertical field of view of the sample data required for deep learning), such as... Figure 6 As shown, the terminal device can perform data filtering using the following steps S601 to S603.
[0058] Step S601: Based on the vertical field of view, the vertical field of view of the point cloud data to be screened is divided into partitions to obtain at least two sub-regions.
[0059] In the embodiments of this application, the scan lines of the radar are often not uniformly distributed. Taking vehicle-mounted radar as an example, since the detected targets are generally distributed between +10° and -20° of the vertical field of view, the scan lines within the vertical field of view of +10° to -20° are often relatively dense, while the scan lines outside the vertical field of view of +10° to -20° are often relatively sparse. Therefore, when filtering point cloud data to be filtered, the distribution of scan lines of the point cloud data to be filtered should also be considered. Based on the vertical field of view, the terminal device can divide the vertical field of view into regions, so that each sub-region corresponds to a vertical density, and the vertical density of two adjacent sub-regions is different, thus obtaining at least two sub-regions.
[0060] Among them, longitudinal density can be used to characterize the spacing of the vertical field of view between adjacent scan lines within a sub-region. Figure 7 Taking the point cloud data to be filtered as an example, the vertical field of view intervals of adjacent scan lines within each of boxes 71, 72, 73, and 74 are the same. However, the vertical field of view intervals of adjacent scan lines within two adjacent boxes are different (i.e., the vertical density is different). For example, the vertical density within box 71 is different from that within box 72. Therefore, the vertical density can be... Figure 7 The point cloud data to be filtered is divided into four sub-regions corresponding to boxes 71, 72, 73, and 74, and each sub-region corresponds to a vertical density.
[0061] Step S602: Obtain the actual required reference longitudinal density between scan lines.
[0062] In the embodiments of this application, the reference longitudinal density can be used to characterize the spacing of the vertical field of view between the actual required scan lines, which can be understood as the distribution of the actual required scan lines. The reference longitudinal density can be adjusted based on deep learning requirements. For example, if the radar actually used in the product is radar A, meaning the model built by deep learning will ultimately be applied to radar A, then the reference longitudinal density between the required scan lines of the target point cloud data can be determined based on the vertical field of view of each scan line of radar A. In some embodiments, the user can input the above-mentioned reference longitudinal density according to the required point cloud data, or the corresponding reference longitudinal density can be obtained according to the type or product serial number of radar A.
[0063] Step S603: Based on the reference longitudinal density and the longitudinal density of each sub-region, select one or more scan lines from at least one sub-region, and use the point cloud data corresponding to the selected scan lines as the selected target point cloud data.
[0064] In other words, by using the reference longitudinal density and the longitudinal density of each sub-region, one or more scan lines can be selected from some or all of the sub-regions in at least two sub-regions, so that the point cloud data corresponding to the selected scan lines can be used as the selected target point cloud data.
[0065] Specifically, in some embodiments of this application, the terminal device can determine the acquisition interval of the scan lines in each sub-region based on the reference longitudinal density and the longitudinal density of each sub-region, and perform scan line filtering in the corresponding sub-region based on the acquisition interval of the scan lines in each sub-region, so as to use the point cloud data corresponding to the filtered scan lines as the filtered target point cloud data.
[0066] Specifically, the point cloud data required can also be divided into multiple reference sub-regions, each corresponding to a reference vertical density. The method of dividing the reference sub-regions can be the same as or different from the method of dividing the sub-regions in the point cloud data to be filtered. Based on the vertical density of each sub-region and the reference vertical density of each reference sub-region, the point cloud data can be filtered.
[0067] For example, if the reference vertical density is dense in the middle and sparse on both sides, and the vertical density of the point cloud data to be filtered also exhibits this characteristic, meaning the point cloud data to be filtered shows that the vertical density of the sub-regions located at the edge of the vertical field of view is lower than that of the sub-regions at the center of the vertical field of view, then the actual required point cloud data should also show that the vertical density of the reference sub-regions located at the edge of the vertical field of view is lower than that of the reference sub-regions at the center of the vertical field of view. In this case, uniform sampling can be performed within each sub-region to ensure that the acquisition interval of the scan lines in each sub-region is the same. This results in the target point cloud data whose vertical density is nearly identical to the reference vertical density.
[0068] For example, if the reference longitudinal density is uniformly distributed, while the longitudinal density of the point cloud data to be screened is dense in the middle and sparse on both sides, meaning the point cloud data to be screened is characterized by a lower longitudinal density in the sub-regions at the edge of the vertical field of view than in the sub-regions at the center of the vertical field of view, and the actual required point cloud data is characterized by a longitudinal density equal to that of the reference sub-regions at the edge of the vertical field of view and the reference sub-regions at the center of the vertical field of view, then the acquisition interval for sub-regions with a longitudinal density less than or equal to the reference longitudinal density can be set to 0, retaining all scan lines. The acquisition interval for sub-regions with a longitudinal density greater than the reference longitudinal density can be set to S, where S is greater than or equal to 1, i.e., interval sampling at certain intervals. In this way, the longitudinal density of the target point cloud data obtained through screening can be as close as possible to the reference longitudinal density.
[0069] In some other embodiments of this application, a target sub-region can be determined based on the reference longitudinal density and the longitudinal density of each sub-region, and the point cloud data of the scan lines of the target sub-region can be used as the filtered target point cloud data.
[0070] For example, the sub-region with the closest vertical density to the reference vertical density can be selected as the target sub-region, and the point cloud data of the target sub-region can be preserved. In this way, the interval of the vertical field of view between scan lines is similar to the interval of the vertical field of view between scan lines in the target point cloud data, which is helpful for feature point learning.
[0071] In the embodiments of this application, based on the analysis of the vertical field of view, the vertical field of view of the point cloud data to be screened can be partitioned, and the data can be screened by partitioning, which helps to make the target point cloud data obtained after screening more in line with the needs of deep learning.
[0072] It should be noted that, for the sake of simplicity, the aforementioned method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, because according to this application, some steps can be performed in other orders.
[0073] like Figure 8 The diagram shown is a structural schematic of a point cloud data filtering device 800 provided in an embodiment of this application. The point cloud data filtering device 800 is configured on a terminal device.
[0074] Specifically, the point cloud data filtering device 800 may include:
[0075] Acquisition unit 801 is used to acquire point cloud data to be filtered;
[0076] The determining unit 802 is used to determine the vertical field of view of each scan line in the point cloud data to be filtered, wherein the vertical field of view is the angle between the scan line in the vertical field of view and a preset direction.
[0077] The filtering unit 803 is used to filter one or more scan lines from the scan lines corresponding to the point cloud data to be filtered according to the vertical field of view, so as to use the point cloud data corresponding to the filtered scan lines as the filtered target point cloud data.
[0078] In some embodiments of this application, the acquisition unit 801 described above may be specifically used to: acquire initial point cloud data; acquire the starting scan point of the initial point cloud data on the scan line; sort the initial point cloud data according to the starting scan point to obtain the point cloud data to be filtered.
[0079] In some embodiments of this application, the acquisition unit 801 described above may be specifically used to: determine the direction of the line connecting each scan point in the initial point cloud data to the radar that acquired the initial point cloud data; calculate the first angle between the direction of the line corresponding to each scan point on the same scan line and the direction of the line corresponding to the starting scan point; and sort the scan points on the same scan line in the initial point cloud data according to the size of the first angle to obtain the point cloud data to be filtered.
[0080] In some embodiments of this application, the acquisition unit 801 described above may be specifically used to: determine the direction of the line connecting each scan point in the initial point cloud data to the radar that acquired the initial point cloud data; calculate the second angle between the direction of the line corresponding to the starting scan point on the target scan line and the direction of the line corresponding to the starting scan point on other scan lines, wherein the target scan line is any scan line of the initial point cloud data; and sort the different scan lines in the initial point cloud data according to the size of the second angle to obtain the point cloud data to be filtered.
[0081] In some embodiments of this application, the filtering unit 803 can be specifically used to: partition the vertical field of view of the point cloud data to be filtered according to the vertical field of view angle to obtain at least two sub-regions, wherein the longitudinal density of two adjacent sub-regions is different, and the longitudinal density is used to characterize the interval of the vertical field of view angle between adjacent scan lines in the sub-region; obtain the reference longitudinal density actually required between scan lines; and filter one or more scan lines from at least one sub-region according to the reference longitudinal density and the longitudinal density of each sub-region, so as to use the point cloud data corresponding to the filtered scan line as the target point cloud data.
[0082] In some embodiments of this application, the filtering unit 803 can be specifically used to: determine the acquisition interval of scan lines in each sub-region based on the reference longitudinal density and the longitudinal density of each sub-region; and filter scan lines in the corresponding sub-region based on the acquisition interval of scan lines in each sub-region, so as to use the point cloud data corresponding to the filtered scan lines as the target point cloud data.
[0083] In some embodiments of this application, the filtering unit 803 described above can be specifically used to: determine a target sub-region based on the reference longitudinal density and the longitudinal density of each sub-region; and use the point cloud data corresponding to the scan lines of the target sub-region as the target point cloud data.
[0084] It should be noted that, for the sake of convenience and brevity, the specific working process of the point cloud data filtering device 800 described above can be found in the following reference: Figures 1 to 7 The corresponding process of the method will not be described in detail here.
[0085] like Figure 9 The diagram shown is a schematic of a terminal device provided in an embodiment of this application. The terminal device 9 may include: a processor 90, a memory 91, and a computer program 92 stored in the memory 91 and executable on the processor 90, such as a point cloud data filtering program. When the processor 90 executes the computer program 92, it implements the steps in the various point cloud data filtering method embodiments described above, for example... Figure 1 Steps S101 to S103 are shown. Alternatively, when the processor 90 executes the computer program 92, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 8 The acquisition unit 801, determination unit 802, and filtering unit 803 are shown.
[0086] The computer program can be divided into one or more modules / units, which are stored in the memory 91 and executed by the processor 90 to complete this application. The one or more modules / units can be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program in the terminal device.
[0087] For example, the computer program can be divided into: an acquisition unit, a determination unit, and a filtering unit. The specific functions of each unit are as follows: the acquisition unit acquires the point cloud data to be filtered; the determination unit determines the vertical field of view angle of each scan line in the point cloud data to be filtered, where the vertical field of view angle is the angle between the scan line and a preset direction within the vertical field of view; the filtering unit filters one or more scan lines from the scan lines corresponding to the point cloud data to be filtered based on the vertical field of view angle, so that the point cloud data corresponding to the filtered scan lines is used as the filtered target point cloud data.
[0088] The terminal device may include, but is not limited to, a processor 90 and a memory 91. Those skilled in the art will understand that... Figure 9 This is merely an example of a terminal device and does not constitute a limitation on the terminal device. It may include more or fewer components than shown, or combine certain components, or different components. For example, the terminal device may also include input / output devices, network access devices, buses, etc.
[0089] The processor 90 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0090] The memory 91 can be an internal storage unit of the terminal device, such as a hard drive or RAM. The memory 91 can also be an external storage device of the terminal device, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, the memory 91 can include both internal and external storage units. The memory 91 is used to store the computer program and other programs and data required by the terminal device. The memory 91 can also be used to temporarily store data that has been output or will be output.
[0091] It should be noted that, for the sake of convenience and brevity, the structure of the terminal device described above can also be referred to the specific description of the structure in the method embodiment, which will not be repeated here.
[0092] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to 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 embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0093] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0094] Those skilled in the art will recognize that the units and algorithm steps of the various examples 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 implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for various specific applications, but such implementations should not be considered beyond the scope of this application.
[0095] In the embodiments provided in this application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0096] The units described as separate components may or may not be physically separate. 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 the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0097] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0098] If the integrated module / unit is implemented as 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, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added or removed 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 media do not include electrical carrier signals and telecommunication signals.
[0099] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A method for screening point cloud data, characterized in that, The application relates to a method for screening point cloud data, and the method comprises the following steps: acquiring initial point cloud data, acquiring a starting scanning point of the initial point cloud data, sorting the initial point cloud data according to the starting scanning point to obtain the point cloud data to be screened, and acquiring the starting scanning point of the initial point cloud data on a scanning line, wherein the starting scanning point is acquired by selecting a current scanning point in one scanning line, matching a scanning point after one rotation with the current scanning point, judging whether the scanning point after one rotation is located at the position of the current scanning point, selecting a next scanning point on the same scanning line for analysis if the scanning point after one rotation is not located at the position of the current scanning point, and confirming the current scanning point as the starting scanning point if the scanning point after one rotation is located at the position of the current scanning point; determining a vertical field of view angle of each scanning line in the point cloud data to be screened, wherein the vertical field of view angle is the included angle between the scanning line in the vertical field of view and a preset direction; screening one or more scanning lines from the scanning lines corresponding to the point cloud data to be screened according to the vertical field of view angle, taking the point cloud data corresponding to the screened scanning lines as target point cloud data after screening, and adapting the target point cloud data to actual deep learning requirements; sorting the initial point cloud data to obtain the point cloud data to be screened, which comprises sorting each scanning point on the same scanning line and sorting different scanning lines in the initial point cloud data to obtain the point cloud data to be screened; wherein the sorting of each scanning point on the same scanning line comprises determining the direction of a connecting line between each scanning point in the initial point cloud data and a radar for collecting the initial point cloud data, calculating the first included angle between the connecting line direction corresponding to each scanning point on the same scanning line and the connecting line direction corresponding to the starting scanning point, and sorting each scanning point on the same scanning line in the initial point cloud data according to the size of the first included angle; the sorting of different scanning lines in the initial point cloud data comprises calculating the second included angle between the connecting line direction corresponding to the starting scanning point on a target scanning line and the connecting line direction corresponding to the starting scanning point on other scanning lines, the target scanning line being any scanning line in the initial point cloud data, and sorting different scanning lines in the initial point cloud data according to the size of the second included angle.
2. The method of claim 1, wherein, screening one or more scanning lines from the scanning lines corresponding to the point cloud data to be screened according to the vertical field of view angle, taking the point cloud data corresponding to the screened scanning lines as target point cloud data after screening, and adapting the target point cloud data to actual deep learning requirements, which comprises: dividing the vertical field of view of the point cloud data to be screened into at least two sub-regions according to the vertical field of view angle, wherein the longitudinal density of adjacent two sub-regions is different, and the longitudinal density is used to represent the interval of the vertical field of view angle between adjacent scanning lines in the sub-region; acquiring a reference longitudinal density actually required between scanning lines; screening one or more scanning lines from at least one sub-region according to the reference longitudinal density and the longitudinal density of each sub-region, and taking the point cloud data corresponding to the screened scanning lines as the target point cloud data.
3. The method of claim 2, wherein, The method comprises the following steps: According to the reference longitudinal density and the longitudinal density of each sub-region, the acquisition interval of the scanning line in each sub-region is determined; According to the acquisition interval of the scanning line in each sub-region, the scanning line in the corresponding sub-region is screened to take the point cloud data corresponding to the screened scanning line as the target point cloud data.
4. The method of claim 2, wherein, The method comprises the following steps: According to the reference longitudinal density and the longitudinal density of each sub-region, a target sub-region is determined; The point cloud data corresponding to the scanning line of the target sub-region is taken as the target point cloud data.
5. An apparatus for screening of point cloud data, characterized by, The method comprises the following steps: An acquisition unit is configured to acquire point cloud data to be screened, which comprises the following steps: An initial point cloud data is acquired; A starting scanning point on the initial point cloud data is acquired; The initial point cloud data is sorted according to the starting scanning point to obtain the point cloud data to be screened; The acquisition of the starting scanning point comprises the following steps: A current scanning point in one scanning line is selected; A scanning point after one rotation is matched with the current scanning point; It is determined whether the scanning point after one rotation is located at the position of the current scanning point; If not, the next scanning point on the same scanning line is selected for analysis; If yes, the current scanning point is confirmed as the starting scanning point; A determination unit is configured to determine the vertical field of view angle of each scanning line in the point cloud data to be screened, wherein the vertical field of view angle is the included angle between the scanning line in the vertical field of view and a preset direction; A screening unit is configured to screen one or more scanning lines from the scanning lines corresponding to the point cloud data to be screened according to the vertical field of view angle, so as to take the point cloud data corresponding to the screened scanning line as the target point cloud data after screening, and to adapt the target point cloud data to the actual deep learning requirement; The sorting of the initial point cloud data to obtain the point cloud data to be screened comprises the following steps: Each scanning point on the same scanning line is sorted, and different scanning lines in the initial point cloud data are sorted to obtain the point cloud data to be screened; The sorting of each scanning point on the same scanning line comprises the following steps: The direction of the connecting line between each scanning point in the initial point cloud data and the radar for collecting the initial point cloud data is determined; The first included angle between the connecting line direction corresponding to each scanning point on the same scanning line and the connecting line direction corresponding to the starting scanning point is calculated; According to the size of the first included angle, each scanning point on the same scanning line in the initial point cloud data is sorted. The sorting of the different scan lines in the initial point cloud data comprises: calculating a second included angle between a line direction corresponding to the start scan point on a target scan line and a line direction corresponding to the start scan point on other scan lines, the target scan line being any one of the initial point cloud data; and sorting the different scan lines in the initial point cloud data according to the size of the second included angle.
6. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor, when executing the computer program, implements the steps of the point cloud data screening method according to any one of claims 1 to 4.
7. A computer-readable storage medium storing a computer program, wherein the computer program comprises the following steps of: receiving a request for a resource from a client; determining whether the client is authorized to access the resource; and if the client is authorized to access the resource, providing the resource to the client. The computer program, when executed by the processor, implements the steps of the point cloud data screening method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Storage method and device for laser radar point cloud data
CN104408055A
Defect scanning system and method for underwater environment
CN115019011A