Data processing method and device and intelligent driving equipment
Patent Information
- Application Number
- CN202280101324.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-24
- Publication Date
- 2025-06-10
AI Technical Summary
Existing technology is difficult to effectively remove noise in vehicle lidar point clouds, affecting the accuracy of data processing results and the safety of intelligent driving equipment.
By mapping point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system, prediction models and clustering algorithms are used to identify noise points, thereby achieving denoising processing of point cloud data and improving denoising efficiency and accuracy.
It improves the efficiency and accuracy of point cloud data processing, reduces the amount of random access, ensures that information is not lost, and improves the safety of smart driving equipment.
Smart Images

Figure CN120129933A_ABST
Abstract
Description
Data processing method, device and intelligent driving equipment Technical Field
[0001] The embodiments of the present application relate to the field of intelligent driving, and more specifically, to a data processing method, apparatus, and intelligent driving device. Background Art
[0002] Automotive LiDAR (LiDAR) can quickly and accurately acquire three-dimensional spatial information about the vehicle's surroundings. It is currently widely used in mapping, autonomous driving, intelligent transportation, and other fields. LiDAR stores data in the form of a laser point cloud. Because LiDAR scans the environment indiscriminately during operation, the laser point cloud contains information about vehicles, the ground, pedestrians, and road structures. Furthermore, the laser point cloud also contains some noise. The presence of noise can affect subsequent processing of the laser point cloud. Any deviation in the final output can compromise vehicle safety.
[0003] Therefore, how to effectively remove noise from laser point clouds has become an urgent problem to be solved.
[0004] Summary of the Invention
[0005] The embodiments of the present application provide a data processing method, apparatus, and intelligent driving device, which can effectively remove noise from point cloud data, thereby helping to improve the safety of the intelligent driving device.
[0006] The intelligent driving devices in this application may include road vehicles, water vehicles, air vehicles, industrial equipment, agricultural equipment, or entertainment equipment, etc. For example, the intelligent driving device can be a vehicle, which is a vehicle in a broad sense, and can be a vehicle (such as a commercial vehicle, a passenger car, a motorcycle, a flying car, a train, etc.), an industrial vehicle (such as a forklift, a trailer, a tractor, etc.), an engineering vehicle (such as an excavator, a bulldozer, a crane, etc.), agricultural equipment (such as a mower, a harvester, etc.), amusement equipment, a toy vehicle, etc. The embodiments of this application do not specifically limit the type of vehicle. For another example, the intelligent driving device can be a vehicle such as an airplane or a ship.
[0007] In a first aspect, a data processing method is provided, the method comprising: acquiring point cloud data; mapping points in the point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system to obtain grid data, the grid data including a measurement value of the point; determining the type of the point based on the grid data, the type of the point including a noise point or a non-noise point; and denoising the point cloud data based on the type of the point.
[0008] Because point cloud data is sparsely and unevenly distributed in a three-dimensional spatial coordinate system, in embodiments of the present application, by mapping the points in the point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system, the grid data in the mapped two-dimensional grid coordinate system can be stored in a certain order. This eliminates the need for extensive random access during data processing, helping to improve data processing efficiency. Furthermore, compared to voxel sampling in a three-dimensional spatial coordinate system, this mapping method ensures that information is not lost.
[0009] In some possible implementations, obtaining point cloud data includes: obtaining point cloud data collected by a laser radar.
[0010] In some possible implementations, the measured value of the point in the point cloud data includes, but is not limited to, one or more of distance, reflected light intensity, and ambient light intensity.
[0011] In some possible implementations, the three-dimensional space coordinate system includes a Cartesian coordinate system or a three-dimensional polar coordinate system.
[0012] In some possible implementations, the two-dimensional grid coordinate system includes an image coordinate system or a two-dimensional polar coordinate system.
[0013] In combination with the first aspect, in certain implementations of the first aspect, the points in the point cloud data are mapped from a three-dimensional space coordinate system to a two-dimensional grid coordinate system to obtain raster data, including: mapping the point from the three-dimensional space coordinate system to the two-dimensional grid coordinate system according to the yaw angle and pitch angle of the point to obtain the raster data.
[0014] In the embodiments of this application, the yaw and pitch angles of points in the point cloud data can be used to map the points from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system, so that the grid data in the mapped two-dimensional grid coordinate system is stored in a certain order. This eliminates the need for extensive random access during data processing, helping to improve data processing efficiency. Furthermore, compared to voxel sampling in a three-dimensional spatial coordinate system, this mapping method ensures that information is not lost.
[0015] In combination with the first aspect, in some implementations of the first aspect, the method further includes: determining the yaw angle and pitch angle of the point based on the coordinates of the point.
[0016] In the embodiment of the present application, when mapping a point in the point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system, the yaw angle and pitch angle of the point can be calculated based on the coordinates of the point. Thus, based on the yaw angle and pitch angle, the point can be mapped from the three-dimensional spatial coordinate system to the two-dimensional grid coordinate system.
[0017] In combination with the first aspect, in certain implementations of the first aspect, determining the type of the point based on the raster data includes: inputting the raster data into a prediction model to obtain the type of the point; wherein the prediction model is trained by training data, the training data includes another raster data, and the other raster data includes measurement values of noise points in the other point cloud data and measurement values of non-noise points in the other point cloud data.
[0018] Taking the two-dimensional grid coordinate system as an image coordinate system (the grid data is image data) as an example, since image processing algorithms (for example, machine learning methods, neural network models, etc.) are already very mature, image processing algorithms can be used to process image data, so as to determine whether the point corresponding to each pixel is a noise point, which helps to improve the efficiency of identifying noise points in point cloud data; at the same time, since intelligent driving devices can quickly identify noise points in point cloud data, it helps to improve the safety of intelligent driving devices.
[0019] In combination with the first aspect, in some implementations of the first aspect, the type of the point includes one or more of rain noise points, dust noise points, ghost noise points, points corresponding to vehicles, points corresponding to pedestrians, and points corresponding to the road surface.
[0020] In the embodiments of the present application, by inputting raster data into the prediction model, the output can include different types of points. This allows the intelligent driving device to process different types of points, helping to improve the flexibility and efficiency of the intelligent driving device when performing point cloud denoising. For example, in rainy scenes, considering the significant impact of rain noise points on radar, when the identified points include rain noise points and other types of noise points, the rain noise points can be processed first.
[0021] In combination with the first aspect, in certain implementations of the first aspect, determining the type of the point based on the raster data includes: clustering the raster data to obtain multiple data blocks; and determining the type of the point based on the measurement values of the points corresponding to each data block in the multiple data blocks and the measurement values of the points corresponding to the data blocks surrounding each data block.
[0022] In this embodiment of the present application, raster data can be clustered to obtain multiple data blocks. The type of point corresponding to each data block can be determined based on the measurement value of each data block and the measurement values of the surrounding data blocks. This can improve the efficiency of identifying the type of points in point cloud data.
[0023] In some possible implementations, the raster data may be clustered according to k-means clustering or mean-shift clustering, thereby dividing the raster data into a plurality of data blocks.
[0024] In combination with the first aspect, in certain implementations of the first aspect, the type of the point is determined based on the measured values of the point corresponding to each data block in the multiple data blocks and the measured values of the points corresponding to the data blocks surrounding each data block, including: when the difference between the average value of the distance of the point corresponding to the first data block and the average value of the distance of the point corresponding to the second data block is greater than or equal to a preset distance threshold, determining that the point corresponding to the first data block is a noise point; and / or when the difference between the average value of the reflected light intensity of the point corresponding to the first data block and the average value of the reflected light intensity of the point corresponding to the second data block is greater than or equal to a preset light intensity threshold, determining that the point corresponding to the first data block is a noise point; wherein the multiple data blocks include the first data block and the second data block, and the second data block is the data block surrounding the first data block.
[0025] In an embodiment of the present application, noise points in point cloud data are identified by utilizing morphological differences in point cloud data in different dimensions (for example, coordinates, distances, reflected light intensity, etc.), which helps to improve the accuracy of noise point identification and thus helps to improve the safety of intelligent driving equipment.
[0026] The technical solution of the embodiment of the present application can be applied to single-frame point cloud data of a single radar, or to a multi-radar scenario. If it is a multi-radar scenario, the point cloud data of each radar can be processed first, and then the point cloud data can be spliced.
[0027] In some possible implementations, the intelligent driving device includes a first radar and a second radar. The point cloud data collected by the first radar is the first point cloud data, and the point cloud data collected by the second radar is the second point cloud data. When the first point cloud data and the second point cloud data need to be spliced together, the first point cloud data and the second point cloud data can be denoised separately according to the data processing method provided in the embodiments of the present application. This allows the denoised first point cloud data and the denoised second point cloud data to be spliced together.
[0028] In a second aspect, a data processing device is provided, which includes: an acquisition unit for acquiring point cloud data; a data mapping unit for mapping points in the point cloud data from a three-dimensional space coordinate system to a two-dimensional grid coordinate system to obtain grid data, wherein the grid data includes a measurement value of the point; a determination unit for determining the type of the point based on the grid data, wherein the type of the point includes a noise point or a non-noise point; and a denoising unit for denoising the point cloud data based on the type of the point.
[0029] In combination with the second aspect, in some implementations of the second aspect, the data mapping unit is used to: map the point from the three-dimensional space coordinate system to the two-dimensional grid coordinate system according to the yaw angle and pitch angle of the point to obtain the grid data.
[0030] In combination with the second aspect, in some implementations of the second aspect, the determination unit is further configured to determine the yaw angle and pitch angle of the point based on the coordinates of the point.
[0031] In combination with the second aspect, in certain implementations of the second aspect, the determination unit is used to: input the raster data into a prediction model to obtain the type of the point; wherein the prediction model is trained by training data, the training data includes another raster data, and the other raster data includes measurement values of noise points in the other point cloud data and measurement values of non-noise points in the other point cloud data.
[0032] In combination with the second aspect, in some implementations of the second aspect, the type of the point includes one or more of rain noise points, dust noise points, ghost noise points, points corresponding to vehicles, points corresponding to pedestrians, and points corresponding to the road surface.
[0033] In combination with the second aspect, in certain implementations of the second aspect, the determination unit is used to: cluster the raster data to obtain multiple data blocks; and determine the type of the point based on the measurement values of the points corresponding to each data block in the multiple data blocks and the measurement values of the points corresponding to the data blocks around each data block.
[0034] In combination with the second aspect, in certain implementations of the second aspect, the determination unit is used to: determine that the point corresponding to the first data block is a noise point when the difference between the average value of the distance of the point corresponding to the first data block and the average value of the distance of the point corresponding to the second data block is greater than or equal to a preset distance threshold; and / or determine that the point corresponding to the first data block is a noise point when the difference between the average value of the reflected light intensity of the point corresponding to the first data block and the average value of the reflected light intensity of the point corresponding to the second data block is greater than or equal to a preset light intensity threshold; wherein the multiple data blocks include the first data block and the second data block, and the second data block is a data block surrounding the first data block.
[0035] In a third aspect, a data processing device is provided, which includes a processing unit and a storage unit, wherein the storage unit is used to store instructions, and the processing unit executes the instructions stored in the storage unit to enable the device to perform any possible method in the first aspect.
[0036] In a fourth aspect, a data processing system is provided, which includes a radar and a computing platform, wherein the computing platform includes any possible device in the second aspect or the third aspect.
[0037] In a fifth aspect, an intelligent driving device is provided, which includes any possible device in the second aspect or the third aspect, or includes the system described in the fourth aspect.
[0038] In some possible implementations, the intelligent driving device is a vehicle.
[0039] In a sixth aspect, a computer program product is provided, comprising: a computer program code, which, when executed on a computer, enables the computer to execute any possible method in the first aspect.
[0040] It should be noted that the above-mentioned computer program code can be stored in whole or in part on the first storage medium, wherein the first storage medium can be packaged together with the processor or separately packaged with the processor, and the embodiments of the present application do not specifically limit this.
[0041] In a seventh aspect, a computer-readable medium is provided, wherein the computer-readable medium stores a program code, and when the computer program code is run on a computer, the computer is caused to execute any possible method in the first aspect.
[0042] In an eighth aspect, an embodiment of the present application provides a chip system, which includes a processor for calling a computer program or computer instructions stored in a memory so that the processor executes any possible method in the above-mentioned first aspect.
[0043] In combination with the eighth aspect, in a possible implementation, the processor is coupled to the memory through an interface.
[0044] In combination with the eighth aspect, in one possible implementation, the chip system also includes a memory, in which a computer program or computer instructions are stored. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] FIG1 is a functional block diagram of an intelligent driving device provided in an embodiment of the present application.
[0046] FIG2 is a schematic block diagram of a system provided in an embodiment of the present application.
[0047] Figure 3 is a schematic diagram of the scanning method of the vehicle-mounted laser radar provided in an embodiment of the present application.
[0048] FIG4 is a schematic flow chart of a data processing method provided in an embodiment of the present application.
[0049] FIG5 is a schematic diagram of mapping points in point cloud data from a three-dimensional space coordinate system to a two-dimensional grid coordinate system provided by an embodiment of the present application.
[0050] FIG6 is another schematic diagram of mapping points in point cloud data from a three-dimensional space coordinate system to a two-dimensional grid coordinate system provided by an embodiment of the present application.
[0051] FIG7 is a schematic diagram of a multi-channel image formed by placing measurement values of different dimensions into different channels of an image provided by an embodiment of the present application.
[0052] FIG8 shows the difference in point cloud morphology in information channels of different dimensions provided by an embodiment of the present application.
[0053] FIG9 is a schematic diagram of prediction by a neural network provided in an embodiment of the present application.
[0054] FIG10 is a schematic diagram of removing noise point clouds provided in an embodiment of the present application.
[0055] FIG11 is another schematic diagram of prediction through a neural network provided in an embodiment of the present application.
[0056] FIG12 is a schematic diagram of identifying noise data through clustering and noise semantic rules provided by an embodiment of the present application.
[0057] FIG13 is a schematic diagram of identifying noise data by integrating different semantic segmentation models provided in an embodiment of the present application.
[0058] FIG14 is a schematic block diagram of a data processing device provided in an embodiment of the present application.
[0059] FIG15 is a schematic block diagram of a system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0060] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or, for example, A / B can mean A or B; “and / or” in this article is merely a way to describe the association relationship of associated objects, indicating that three relationships can exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0061] In the embodiments of the present application, prefixes such as "first" and "second" are used only to distinguish different description objects and have no limiting effect on the position, order, priority, quantity or content of the described objects. The use of prefixes such as ordinal numbers to distinguish description objects in the embodiments of the present application does not constitute a restriction on the described objects. For the statement of the described objects, please refer to the description in the context of the claims or embodiments, and the use of such prefixes should not constitute an unnecessary restriction. In addition, in the description of this embodiment, unless otherwise specified, the meaning of "plurality" is two or more.
[0062] As mentioned earlier, automotive LiDAR (LiDAR) can quickly and accurately acquire three-dimensional spatial information about the vehicle's surroundings. It is currently widely used in mapping, autonomous driving, intelligent transportation, and other fields. A laser point cloud is the form in which automotive LiDAR stores data. Because automotive LiDAR scans the environment indiscriminately during operation, the laser point cloud contains a wide range of information, including vehicles, the ground, pedestrians, and road structures. Furthermore, the laser point cloud also contains some noise. The presence of noise can affect subsequent processing of the laser point cloud, resulting in deviations in the final output, which can impact vehicle safety.
[0063] To address the above-mentioned problem of denoising vehicle-mounted laser point clouds, current denoising methods process 3D point cloud data through statistical fitting or filtering. However, existing point cloud denoising methods have the following main drawbacks:
[0064] (1) Existing algorithms directly access raw point cloud data, resulting in low read and computational efficiency. Raw vehicle-mounted LiDAR point cloud data is stored in an unordered manner. Directly applying algorithms to this unordered data results in a large amount of random memory access, resulting in low read efficiency. Similarly, for unordered data, it is difficult to directly use mature algorithms to extract data features, resulting in low computational efficiency.
[0065] (2) The algorithm relies on voxelized sampling, which has high computational overhead, large memory usage, and loss of precision. The voxelization process will result in some information loss, and the degree of information loss is related to the selected resolution. The finer the voxelization resolution, the less point cloud information is lost. The memory usage is almost cubically related to the resolution, and the memory usage will increase cubically with the increase of voxelization resolution. The loss of point cloud information and memory usage cannot be taken into account at the same time. Since the distribution of points in the original point cloud data is sparse and uneven, there is a lot of meaningless computational overhead in the voxelization process, and the overall computational efficiency is low.
[0066] The present invention provides a data processing method, apparatus, and intelligent driving device that can map points in point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system to obtain grid data, thereby processing the grid data and mapping the processing results (e.g., the type of points in the point cloud data) back to the original three-dimensional spatial coordinate system, thereby quickly obtaining the type of points in the point cloud data in the three-dimensional spatial coordinate system. In this way, the point cloud data can be denoised based on the type of points in the point cloud data in the three-dimensional spatial coordinate system, which helps improve the efficiency of removing noise points in the point cloud data, thereby helping to improve the safety of the intelligent driving device.
[0067] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0068] Figure 1 is a functional block diagram of an intelligent driving device 100 provided in an embodiment of the present application. The intelligent driving device 100 may include a perception system 110 and a computing platform 120, wherein the perception system 110 may include one or more sensors for sensing information about the environment surrounding the intelligent driving device 100. For example, the perception system 110 may include a positioning system, which may be a global positioning system (GPS), a Beidou system, or other positioning systems. The perception system 110 may also include one or more of an inertial measurement unit (IMU), a laser radar, a millimeter-wave radar, an ultrasonic radar, and a camera device.
[0069] Some or all functions of the intelligent driving device 100 can be controlled by the computing platform 120. The computing platform 120 may include one or more processors, such as processors 121 to 12n (n is a positive integer). A processor is a circuit with signal processing capabilities. In one implementation, the processor can be a circuit with instruction reading and execution capabilities, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), or a digital signal processor (DSP). In another implementation, the processor can implement certain functions through the logical relationships of hardware circuits. The logical relationships of the hardware circuits are fixed or reconfigurable. For example, the processor is a hardware circuit implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as a field programmable gate array (FPGA). In a reconfigurable hardware circuit, the process of the processor loading a configuration file to implement the hardware circuit configuration can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, the processor may also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc. In addition, the computing platform 120 may also include a memory for storing instructions, and some or all of the processors 121 to 12n may call the instructions in the memory to implement corresponding functions.
[0070] The intelligent driving device 100 in this application may include road vehicles, water vehicles, air vehicles, industrial equipment, agricultural equipment, or entertainment equipment, etc. For example, the intelligent driving device 100 can be a vehicle, which is a vehicle in a broad sense, and can be a vehicle (such as a commercial vehicle, a passenger car, a motorcycle, a flying car, a train, etc.), an industrial vehicle (such as a forklift, a trailer, a tractor, etc.), an engineering vehicle (such as an excavator, a bulldozer, a crane, etc.), agricultural equipment (such as a mower, a harvester, etc.), amusement equipment, a toy vehicle, etc. The embodiment of this application does not specifically limit the type of vehicle. For another example, the intelligent driving device 100 can be a vehicle such as an airplane or a ship.
[0071] Figure 2 shows a schematic block diagram of a system 200 provided in an embodiment of the present application. As shown in Figure 2, system 200 includes a radar 210 and a point cloud denoising module 220. Point cloud denoising module 220 is configured to receive point cloud data transmitted by radar 210 and perform denoising on the point cloud data. For example, radar 210 may be a laser radar, a millimeter-wave radar, or a centimeter-wave radar.
[0072] The point cloud denoising module 220 may include a data preparation module 221, a semantic segmentation module 222, and a noise removal module 223. The data preparation module 221 may be used to establish a mapping relationship between the three-dimensional spatial coordinate system where the point cloud data is located and the two-dimensional grid coordinate system, and map the points in the point cloud data from the three-dimensional spatial coordinate system to the two-dimensional grid coordinate system based on the mapping relationship. The data preparation module 221 may also be used to save the measurement values of the points in the point cloud data in different dimensions to different channels in the two-dimensional grid coordinate system based on the mapping relationship. The semantic segmentation module 222 is used to perform semantic segmentation on the data in multiple channels or input the data in multiple channels into a prediction model, so as to obtain the semantic attributes of each grid and then obtain the type of point corresponding to each grid. The noise removal module 223 may perform denoising on the point cloud data in the three-dimensional spatial coordinate system based on the above-mentioned mapping relationship and the type of point, thereby obtaining the point cloud data after noise removal.
[0073] The three-dimensional space coordinate system of the above point cloud data includes but is not limited to a Cartesian coordinate system or a three-dimensional polar coordinate system.
[0074] The above two-dimensional grid coordinate system includes but is not limited to an image coordinate system, a polar coordinate system and other two-dimensional coordinate systems.
[0075] The radar 210 may be located in the perception system 110 , and the point cloud denoising module 220 may be located in the computing platform 120 .
[0076] Figure 3 shows a schematic diagram of the scanning method of the vehicle-mounted laser radar provided in an embodiment of the present application.
[0077] As shown in (a) of Figure 3, the laser radar emits several laser beams and scans them in a certain pattern.
[0078] For example, the laser radar can emit several laser beams in the same vertical plane, and the internal device can control the several laser beams to rotate in the horizontal direction to complete horizontal scanning; or, it can also emit several laser beams in the horizontal plane, and the internal device can control the several laser beams to rotate in the vertical direction to complete vertical scanning.
[0079] As shown in (b) of Figure 3, since the internal device sampling is not continuous, the lidar samples the reflected light in the direction of the laser beam at a certain interval scanning angle to measure the distance, reflection intensity and other information of the sampling point.
[0080] As shown in (c) of Figure 3, based on the measured distance and the direction angle of the laser beam corresponding to the reflected light, the Cartesian coordinates (x, y, z) of the reflection point contacted by the laser can be calculated using spatial geometry formulas.
[0081] FIG4 shows a schematic flow chart of a data processing method 400 provided in an embodiment of the present application. As shown in FIG4 , the method 400 can be executed by the intelligent driving device 100, or the computing platform 120, or the system-on-a-chip (SoC) in the computing platform 120, or the processor in the computing platform 120, or the point cloud denoising module 220. As shown in FIG4 , the method 400 includes:
[0082] S410, acquiring point cloud data.
[0083] Exemplarily, the point cloud denoising module 220 may obtain point cloud data collected by the radar 210 .
[0084] S420 , mapping the points in the point cloud data from the three-dimensional space coordinate system to the two-dimensional grid coordinate system to obtain grid data, where the grid data includes a measurement value of the point.
[0085] The points in the above point cloud data may be sampling points in the point cloud data.
[0086] In one embodiment, the measured value of the point in the point cloud data includes but is not limited to one or more of distance, reflected light intensity, and ambient light intensity.
[0087] In one embodiment, the points in the point cloud data are mapped from a three-dimensional space coordinate system to a two-dimensional grid coordinate system to obtain raster data, including: mapping the points in the point cloud data from a three-dimensional space coordinate system to a two-dimensional grid coordinate system according to the pitch angle and yaw angle of the points in the point cloud data to obtain raster data.
[0088] For example, the above pitch angle and yaw angle may be the pitch angle and yaw angle of each point recorded when the laser radar emits a laser beam.
[0089] In one embodiment, before mapping the points in the point cloud data from a three-dimensional space coordinate system to a two-dimensional grid coordinate system based on the pitch angle and yaw angle of the point in the point cloud data, the method 400 also includes: determining the pitch angle and yaw angle of the point based on the coordinates of the point in the point cloud data.
[0090] For example, when a laser radar emits a laser beam, it is not necessary to record the pitch angle and yaw angle of a point. Instead, after measuring the coordinates of the point, the pitch angle and yaw angle of the point are determined based on the coordinates of the point.
[0091] For example, Figure 5 shows a schematic diagram of mapping points in point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system. The vertical distribution of points in the point cloud data can be considered as sampling points for the pitch angle, while the horizontal distribution can be considered as sampling points for the yaw angle. Points can be placed in the two-dimensional grid coordinate system based on the pitch and yaw angles of the points in the point cloud data. The horizontal spacing of the points in the two-dimensional grid coordinate system is the yaw spacing, and the vertical spacing of the points in the two-dimensional grid coordinate system is the pitch spacing. The result of dividing the yaw angle of a point by the yaw angle spacing is rounded, and the minimum value of each rounded point is subtracted to obtain an integer index starting from 0. This index can be used as the horizontal coordinate of each point in the two-dimensional grid coordinate system. The result of dividing the pitch angle of a point by the pitch angle spacing is rounded, and the minimum value of each rounded point is subtracted to obtain an integer index starting from 0. This index can be used as the vertical coordinate of each point in the two-dimensional grid coordinate system. In this way, a mapping relationship is established between the point cloud data in the three-dimensional space coordinate system and the two-dimensional grid coordinate system.
[0092] Compared to directly accessing the raw point cloud data, which can lead to a large number of random memory access issues, the present embodiment sorts the points in the point cloud data according to a certain direction. The sorted data can then be accessed sequentially, which improves data access efficiency. Furthermore, after the coordinate system is converted, the points in the raw point cloud data are transformed from the original non-uniform and sparse distribution in the three-dimensional space coordinate system to a uniform and dense distribution in the two-dimensional grid coordinate system. This new data format also reduces the computational complexity of subsequent processing.
[0093] Exemplarily, FIG6 shows another schematic diagram of mapping points in point cloud data from a three-dimensional space coordinate system to a two-dimensional grid coordinate system.
[0094] A gridded imaging plane can be placed in the opposite direction of the radar's laser emission. The grids in the imaging plane are indexed horizontally and vertically by a set of u and v values. The distance of the imaging plane from the origin of the three-dimensional coordinate system and the size of the grid can be determined based on the angular interval of the radar sampling. This allows each laser beam to pass through a different grid in the imaging plane in the opposite direction of its emission, thus establishing a one-to-one mapping relationship between points and grids. For example, consider the imaging plane as an image, with u and v as the pixel coordinates of the image. This allows points in point cloud data to be indexed using pixel coordinates.
[0095] The above imaging plane can also be understood as a two-dimensional grid coordinate system.
[0096] S430: Determine the type of the point in the point cloud data according to the raster data.
[0097] Taking the two-dimensional grid coordinate system as an example of the image coordinate system, FIG7 shows a schematic diagram of a multi-channel image formed by placing the measurement values of different dimensions into different channels of an image, as provided in an embodiment of the present application. It can be seen that the measurement values of different dimensions include the x-coordinate, y-coordinate, z-coordinate, distance, and reflected light intensity of the point cloud. The x-coordinate, y-coordinate, z-coordinate, distance, and reflected light intensity can be placed into different channels of the image to form a multi-channel image.
[0098] Compared to denoising only through the position information (or distance information) of the points, in the embodiment of the present application, the measurement values of multiple dimensions are organically organized together in the same order, and the measurement values of different dimensions in the point cloud data can be fully utilized in the subsequent data processing process.
[0099] Figure 8 illustrates the differences in point cloud morphology across different dimensional information channels provided by an embodiment of this application. In a scenario where rain causes the car body point cloud to swell, there's no noticeable difference between the expanded noise point cloud and the original point cloud in the distance channel, but there are significant characteristic differences in the reflected light intensity channel. By fusing information from different channels, this embodiment can address denoising issues in some specialized scenarios.
[0100] The reflected light intensity can be understood as the intensity of the reflected light received by the radar from the laser it emits; the ambient light intensity can be understood as the light emitted by other light sources in the environment that enters the radar directly or after refraction / reflection.
[0101] In one embodiment, determining the type of the point in the point cloud data based on the raster data includes: inputting the raster data into a prediction model to obtain the type of the point in the point cloud data.
[0102] In one embodiment, the method further includes: inputting the raster data into a prediction model to obtain semantic attributes corresponding to the grids in the raster data; and determining the type of points corresponding to the grids based on the semantic attributes corresponding to the grids.
[0103] FIG9 shows a schematic diagram of a prediction method using a neural network according to an embodiment of the present application. As shown in FIG9 , the raster data can be input into a neural network to obtain point types. For example, point types include, but are not limited to, rain noise points, dust noise points, ghost noise points, points corresponding to vehicles, points corresponding to pedestrians, points corresponding to road surfaces, or other types of points. The neural network here can use a temporal convolutional network such as a Temporal Convolutional Network.
[0104] In one embodiment, the neural network can be trained using labeled data. For example, point cloud data collected by a lidar is acquired and the number of laser points with rain noise, dust noise, ghost noise, vehicle noise, pedestrian noise, and road surface noise within the point cloud data is determined. This point cloud data is then mapped from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system to obtain a training dataset. For example, the data format of the training dataset can be as shown in Table 1.
[0105] Table 1 Data format of training dataset
[0106]
[0107] The above training data set can be used as labeled data. The labeled data is used to train the neural network, so that the neural network can output the type of laser point (or the noise semantics of the laser point).
[0108] Table 1 above is merely illustrative, and the data format of the training data set is not limited in the embodiments of the present application. For example, the training data set may also include other information, such as the coordinates and distance of the laser point.
[0109] The noise removal module 223 can save the point type information output by the semantic segmentation module 222 to the point cloud data based on the mapping relationship between the two-dimensional grid coordinate system and the three-dimensional space coordinate system. Based on the mapping relationship between the two-dimensional grid coordinate system and the three-dimensional space coordinate system, the obtained point type information is mapped back to the point cloud data in the three-dimensional space coordinate system. This allows the point type in the point cloud data to be determined in the three-dimensional space coordinate system and denoising is performed on the point cloud data according to the relevant task requirements.
[0110] FIG10 shows a schematic diagram of removing noise point clouds provided by an embodiment of the present application. As shown in FIG10 , taking the three-dimensional space coordinate system as the Cartesian coordinate system and the two-dimensional grid coordinate system as the image coordinate system as an example, the data preparation module 221 can map the points in the point cloud data from the Cartesian coordinate system to the image coordinate system. The semantic segmentation module 222 performs semantic segmentation on the points mapped to the image coordinate system to obtain the type of each pixel in the image. For example, the image identified by the semantic segmentation module 222 includes a noise point cloud generated by vehicle exhaust. The noise removal module 223 can map the type of each pixel back to the point cloud data of the Cartesian coordinate system based on the mapping relationship between the image coordinate system and the Cartesian coordinate system, so that the noise points in the point cloud data can be identified in the Cartesian coordinate system.
[0111] The pixel value of each pixel can be obtained by measuring the point in the point cloud data. The pixel value here is not limited to an integer, and can also be a floating point number, Boolean value or other value types.
[0112] In one embodiment, the noise removal module 223 first traverses the points in the original point cloud data and reads the Cartesian coordinates (x i ,y i , z i ), find the corresponding pixel coordinates (u according to the mapping relationship i ,v i ), read(u i ,v i ) and saves the information about the type of pixel at that location (for example, the type of point corresponding to that pixel) to the original point cloud data in the 3D space coordinate system. After reading the semantics of all points in the point cloud data, denoising is performed on the point cloud data according to the task requirements.
[0113] Figure 11 shows a schematic diagram of prediction using a neural network according to an embodiment of the present application. As shown in Figure 11, the raster data can be input into the neural network to obtain the type of point. For example, the point type includes noise points or normal points.
[0114] In one embodiment, the neural network can be trained using labeled data. For example, point cloud data collected by a laser radar is acquired and noise laser points (e.g., rain noise laser points, dust noise laser points, or ghost noise laser points) and normal laser points (e.g., vehicle laser points, pedestrian laser points, and road surface laser points) in the point cloud data are determined. The point cloud data is mapped from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system to obtain a training dataset. For example, Table 2 shows another data format for the training dataset.
[0115] Table 2 Data format of training dataset
[0116]
[0117] The above training data set can be used as labeled data. The neural network can be trained with the labeled data so that the neural network can output the type of laser point (or the noise semantics of the laser point).
[0118] Table 2 above is merely illustrative, and the data format of the training data set is not limited in the embodiments of the present application. For example, the training data set may also include other information, such as the coordinates and distance of the laser point.
[0119] After determining the type of the point, the process of determining the type of the point in the three-dimensional space coordinate system can refer to the description of the above embodiment and will not be repeated here.
[0120] In one embodiment, the type of the point in the point cloud data is determined based on the raster data, including: clustering the raster data to obtain multiple data blocks; and determining the type of the point in the point cloud data based on the measurement values of the points corresponding to each data block in the multiple data blocks and the measurement values of the points corresponding to the data blocks surrounding each data block.
[0121] Figure 12 shows a schematic diagram of identifying noise data through clustering and noise semantic rules provided by an embodiment of the present application. As shown in Figure 12, the semantic segmentation module 222 can cluster the raster data according to k-means clustering or mean-shift clustering, thereby dividing the raster data into multiple data blocks.
[0122] For example, the multiple data blocks include data block 1. If the difference between the average value of the distances of the points corresponding to data block 1 and the average value of the distances of the points corresponding to the data blocks surrounding data block 1 is greater than or equal to a preset distance threshold, the point corresponding to data block 1 can be considered as a noise point.
[0123] For another example, the multiple data blocks include data block 2. If the difference between the average value of the reflected light intensity of the corresponding point in data block 2 and the average value of the reflected light intensity of the corresponding points in the data blocks surrounding data block 2 is greater than or equal to a first preset light intensity threshold, then the point corresponding to data block 2 can be considered a noise point.
[0124] Alternatively, if the difference between the average reflected light intensity of the point corresponding to data block 2 and the average reflected light intensity of the points in the data blocks surrounding data block 2 is less than or equal to a second preset light intensity threshold, then the point corresponding to data block 2 can be considered a noise point. The first preset light intensity threshold is greater than the second preset light intensity threshold.
[0125] When determining the type of point corresponding to each data block, a noise semantic rule can be used to make the determination, or a plurality of noise semantic rules can be used to make the determination. For example, if the difference between the average value of the distances of the points corresponding to data block 1 and the average value of the distances of the points corresponding to the data blocks surrounding data block 1 is greater than or equal to a preset distance threshold, and the difference between the average value of the reflected light intensity of the points corresponding to data block 1 and the average value of the reflected light intensity of the points corresponding to the data blocks surrounding data block 1 is greater than or equal to a first preset light intensity threshold, then the point corresponding to data block 1 can be considered a noise point.
[0126] After determining the type of the point corresponding to the data block, the process of determining the type of the point in the point cloud data in the three-dimensional space coordinate system can refer to the description of the above embodiment and will not be repeated here.
[0127] Figure 13 shows a schematic diagram of an embodiment of the present application for identifying noisy data by integrating different semantic segmentation models. As shown in Figure 13, the semantic segmentation module 222 may include semantic segmentation models 1 to n. The semantic segmentation module 222 may input the data obtained from the data preparation unit 221 into the semantic segmentation models 1 to n, respectively, to obtain semantic segmentation results 1 to n. The semantic segmentation module 222 may determine the final semantic segmentation result based on results 1 to n.
[0128] For example, the semantic segmentation model 1 can be the neural network shown in Figure 11 above, and the semantic segmentation module 2 can be a semantic segmentation model that performs semantic segmentation through the clustering and noise semantic rules shown in Figure 12 above. The semantic segmentation module 1 can output the type of the point (for example, a noise point or a normal point) and the semantic segmentation module 2 can output the type of the point corresponding to the data block. For example, the data block includes point 1 and point 2, and the semantic segmentation module 1 can output the result that the type of point 1 is a noise point and the type of point 2 corresponding to grid 2 is a normal point. The semantic segmentation module 2 can output the result that the point corresponding to the data block is a noise point. Then, based on the results output by the semantic segmentation module 1 and the results output by the semantic segmentation module 2, the types of point 1 and point 2 can be determined.
[0129] For example, different weights can be set for the results output by semantic segmentation module 1 and the results output by semantic segmentation module 2. For example, if the weight of the result output by semantic segmentation module 1 is greater than the weight of the result output by semantic segmentation module 2, point 1 can be determined to be a noise point and point 2 to be a normal point.
[0130] S440: Perform denoising on the point cloud data according to the type of the points in the point cloud data.
[0131] In one embodiment, all noise points in the point cloud data may be denoised.
[0132] In one embodiment, some noise points in the point cloud data may be denoised. For example, in S430 , the locations of rain noise points, dust noise points, and ghost noise points may be determined. If the current intelligent driving device is significantly affected by rain, denoising may be performed on the rain noise points in the point cloud data, while denoising is not performed on the dust noise points and ghost noise points.
[0133] In the embodiments of this application, by arranging point cloud data in a two-dimensional grid coordinate system according to a specific orientation, the sorted data can be accessed sequentially, improving memory access efficiency. Furthermore, after the coordinate system conversion, the original point cloud data is transformed from a non-uniform and sparse distribution in a three-dimensional space coordinate system to a uniform and dense distribution in a two-dimensional grid coordinate system. This new data format helps reduce the computational complexity in subsequent processing.
[0134] An embodiment of the present application also provides an apparatus for implementing any of the above methods. For example, an apparatus is provided that includes units (or means) for implementing each step performed by an intelligent driving device or computing platform in any of the above methods.
[0135] Figure 14 shows a schematic block diagram of a data processing device 1400 provided in an embodiment of the present application. As shown in Figure 14 , device 1400 includes: an acquisition unit 1410 for acquiring point cloud data; a data mapping unit 1420 for mapping points in the point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system to obtain grid data, the grid data including the measurement value of the point; a determination unit 1430 for determining the type of the point based on the grid data, the type of the point including either a noise point or a non-noise point; and a denoising unit 1440 for denoising the point cloud data based on the point type.
[0136] Optionally, the data mapping unit 1420 is configured to: map the point from the three-dimensional space coordinate system to the two-dimensional grid coordinate system according to the yaw angle and the pitch angle of the point to obtain the grid data.
[0137] Optionally, the determining unit 1430 is further configured to determine the yaw angle and pitch angle of the point according to the coordinates of the point.
[0138] Optionally, the determination unit 1430 is used to: input the raster data into a prediction model to obtain the type of the point; wherein the prediction model is trained by training data, the training data includes another raster data, and the other raster data includes measurement values of noise points in the other point cloud data and measurement values of non-noise points in the other point cloud data.
[0139] Optionally, the type of the point includes one or more of rain noise points, dust noise points, ghost noise points, points corresponding to vehicles, points corresponding to pedestrians, and points corresponding to road surfaces.
[0140] Optionally, the determination unit 1430 is used to: cluster the raster data to obtain multiple data blocks; and determine the type of the point based on the measurement value of the point corresponding to each data block in the multiple data blocks and the measurement values of the points corresponding to the data blocks around each data block.
[0141] Optionally, the determination unit 1430 is used to: determine that the point corresponding to the first data block is a noise point when the difference between the average value of the distance of the point corresponding to the first data block and the average value of the distance of the point corresponding to the second data block is greater than or equal to a preset distance threshold; and / or determine that the point corresponding to the first data block is a noise point when the difference between the average value of the reflected light intensity of the point corresponding to the first data block and the average value of the reflected light intensity of the point corresponding to the second data block is greater than or equal to a preset light intensity threshold; wherein the multiple data blocks include the first data block and the second data block, and the second data block is a data block surrounding the first data block.
[0142] For example, the acquisition unit 1410 may be the computing platform in Figure 1 or a processing circuit, processor, or controller in the computing platform. For example, if the acquisition unit 1410 is the processor 121 in the computing platform, the processor 121 may acquire point cloud data collected by the radar.
[0143] For another example, the data mapping unit 1420 may be the computing platform in FIG1 or a processing circuit, processor, or controller in the computing platform. For example, if the data mapping unit 1420 is the processor 122 in the computing platform, the processor 122 may map a point in the point cloud data acquired by the processor 121 from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system to obtain grid data, where the grid data includes a measurement value for the point.
[0144] For another example, the determining unit 1430 may be the computing platform in Figure 1 or a processing circuit, processor, or controller in the computing platform. For example, if the determining unit 1430 is the processor 123 in the computing platform, the processor 123 may determine the type of the point based on the raster data.
[0145] Optionally, the functions implemented by the data mapping unit 1420 and the determining unit 1430 may be implemented by the same processor.
[0146] For another example, the denoising unit 1440 may be the computing platform in FIG1 or a processing circuit, processor, or controller in the computing platform. For example, if the denoising unit 1440 is the processor 12n in the computing platform, the processor 12n may perform denoising on the point cloud data based on the point type determined by the processor 123.
[0147] The functions implemented by the above-mentioned acquisition unit 1410, the functions implemented by the data mapping unit 1420, the functions implemented by the determination unit 1430 and the functions implemented by the denoising unit 1440 can be implemented by different processors respectively, or some functions can be implemented by the same processor, or all functions can be implemented by the same processor. The embodiments of the present application do not limit this.
[0148] It should be understood that the division of the various units in the above device is merely a division of logical functions. In actual implementation, they may be fully or partially integrated into a single physical entity, or they may be physically separated. Furthermore, the units in the device may be implemented in the form of a processor calling software; for example, the device includes a processor connected to a memory storing instructions, and the processor calls the instructions stored in the memory to implement any of the above methods or the functions of the various units in the device, where the processor is, for example, a general-purpose processor such as a CPU or a microprocessor, and the memory is a memory within the device or a memory external to the device. Alternatively, the units in the device may be implemented in the form of hardware circuits, and the functions of some or all of the units may be implemented through the design of the hardware circuits. The hardware circuits may be understood as one or more processors. For example, in one implementation, the hardware circuit is an ASIC, and the functions of some or all of the above units may be implemented through the design of the logical relationships between the components within the circuits. In another implementation, the hardware circuit may be implemented using a PLD, such as an FPGA, which may include a large number of logic gate circuits, and the connections between the logic gate circuits may be configured using a configuration file to implement the functions of some or all of the above units. All units of the above apparatus may be implemented entirely in the form of software called by a processor, or entirely in the form of hardware circuits, or partially in the form of software called by a processor and the rest in the form of hardware circuits.
[0149] In an embodiment of the present application, a processor is a circuit with the ability to process signals. In one implementation, the processor may be a circuit with the ability to read and execute instructions, such as a CPU, a microprocessor, a GPU, or a DSP. In another implementation, the processor may implement certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit may be fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document to implement the configuration of the hardware circuit can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as an NPU, TPU, DPU, etc.
[0150] It can be seen that each unit in the above device can be one or more processors (or processing circuits) configured to implement the above method, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
[0151] In addition, the various units in the above apparatus may be fully or partially integrated together, or may be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or implementing the functions of the various units of the apparatus. The at least one processor may be of different types, such as a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, etc.
[0152] An embodiment of the present application also provides a device, which includes a processing unit and a storage unit, wherein the storage unit is used to store instructions, and the processing unit executes the instructions stored in the storage unit so that the device executes the method or steps performed by the above embodiment.
[0153] Optionally, if the device is located in a vehicle, the processing unit may be the processors 121 - 12n shown in FIG. 1 .
[0154] Figure 15 shows a schematic block diagram of a data processing system 1500 provided in an embodiment of the present application. As shown in Figure 15 , the prediction system 1500 includes a radar and a computing platform, wherein the computing platform may include the data processing device 1400 described above.
[0155] An embodiment of the present application further provides an intelligent driving device, which may include the above-mentioned data processing device 1400 or data processing system 1500.
[0156] Optionally, the intelligent driving device may be a vehicle.
[0157] An embodiment of the present application further provides a server, which may include the above-mentioned data processing device 1400.
[0158] An embodiment of the present application further provides a computer program product, which includes: computer program code, which enables the computer to execute the above method when the computer program code is run on a computer.
[0159] An embodiment of the present application further provides a computer-readable medium, wherein the computer-readable medium stores a program code. When the computer program code is run on a computer, the computer executes the above method.
[0160] During implementation, each step of the above method can be completed by an integrated logic circuit of the hardware in the processor or by instructions in the form of software. The method disclosed in conjunction with the embodiments of the present application can be directly embodied as being executed by a hardware processor, or can be executed by a combination of hardware and software modules in the processor. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or a power-on erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, it will not be described in detail here.
[0161] It should be understood that in the embodiment of the present application, the memory may include a read-only memory and a random access memory, and provide instructions and data to the processor.
[0162] It should also be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes 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 the present application.
[0163] 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.
[0164] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0165] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the 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.
[0166] 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.
[0167] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0168] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0169] The above is only a specific implementation method of the present application, but the protection scope of the present application is not limited thereto. Any changes or replacements that can be easily thought of by any technician familiar with this technical field within the technical scope disclosed in this application should be covered.
Claims
1. A data processing method, characterized in that: include: Get point cloud data; Mapping points in the point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system to obtain grid data, wherein the grid data includes measurement values of the points; Determining the type of the point according to the grid data, where the type of the point includes a noise point or a non-noise point; De-noising is performed on the point cloud data according to the type of the point.
2. The method according to claim 1, wherein Mapping the points in the point cloud data from a three-dimensional space coordinate system to a two-dimensional grid coordinate system to obtain grid data includes: The point is mapped from the three-dimensional space coordinate system to the two-dimensional grid coordinate system according to the yaw angle and the pitch angle of the point to obtain the grid data.
3. The method according to claim 2, wherein The method further comprises: According to the coordinates of the point, the yaw angle and the pitch angle of the point are determined.
4. The method according to any one of claims 1 to 3, characterized in that Determining the type of the point according to the grid data includes: Inputting the grid data into a prediction model to obtain the type of the point; The prediction model is obtained by training training data, and the training data includes another raster data, and the another raster data includes measurement values of noise points in the another point cloud data and measurement values of non-noise points in the another point cloud data.
5. The method according to claim 4, wherein The point types include one or more of rain noise points, dust noise points, ghost noise points, points corresponding to vehicles, points corresponding to pedestrians, and points corresponding to road surfaces.
6. The method according to any one of claims 1 to 3, characterized in that Determining the type of the point according to the grid data includes: Clustering the raster data to obtain multiple data blocks; The type of the point is determined according to the measurement value of the point corresponding to each data block in the multiple data blocks and the measurement values of the points corresponding to the data blocks around each data block.
7. The method according to claim 6, wherein The determining the type of the point according to the measurement value of the point corresponding to each data block in the plurality of data blocks and the measurement values of the points corresponding to the data blocks surrounding each data block includes: When the difference between the average value of the distances of the points corresponding to the first data block and the average value of the distances of the points corresponding to the second data block is greater than or equal to a preset distance threshold, determining that the points corresponding to the first data block are noise points; and / or, When the difference between the average value of the reflected light intensity of the point corresponding to the first data block and the average value of the reflected light intensity of the point corresponding to the second data block is greater than or equal to a preset light intensity threshold, determining that the point corresponding to the first data block is a noise point; The multiple data blocks include the first data block and the second data block, and the second data block is a data block surrounding the first data block.
8. A data processing device, characterized in that: include: An acquisition unit, used for acquiring point cloud data; a data mapping unit, configured to map points in the point cloud data from a three-dimensional spatial coordinate system to a two-dimensional grid coordinate system to obtain grid data, wherein the grid data includes measurement values of the points; a determining unit, configured to determine the type of the point according to the raster data, where the type of the point includes a noise point or a non-noise point; The denoising unit is used to perform denoising processing on the point cloud data according to the type of the point.
9. The device according to claim 8, wherein The data mapping unit is configured to: The point is mapped from the three-dimensional space coordinate system to the two-dimensional grid coordinate system according to the yaw angle and the pitch angle of the point to obtain the grid data.
10. The device according to claim 9, wherein The determining unit is further configured to determine the yaw angle and pitch angle of the point according to the coordinates of the point.
11. The device according to any one of claims 8 to 10, characterized in that The determining unit is configured to: Inputting the grid data into a prediction model to obtain the type of the point; The prediction model is obtained by training training data, and the training data includes another raster data, and the another raster data includes measurement values of noise points in the another point cloud data and measurement values of non-noise points in the another point cloud data.
12. The device according to claim 11, wherein The point types include one or more of rain noise points, dust noise points, ghost noise points, points corresponding to vehicles, points corresponding to pedestrians, and points corresponding to road surfaces.
13. The device according to any one of claims 8 to 10, characterized in that The determining unit is configured to: Clustering the raster data to obtain multiple data blocks; The type of the point is determined according to the measurement value of the point corresponding to each data block in the multiple data blocks and the measurement values of the points corresponding to the data blocks around each data block.
14. The device according to claim 13, wherein The determining unit is configured to: When the difference between the average value of the distances of the points corresponding to the first data block and the average value of the distances of the points corresponding to the second data block is greater than or equal to a preset distance threshold, determining that the points corresponding to the first data block are noise points; and / or, When the difference between the average value of the reflected light intensity of the point corresponding to the first data block and the average value of the reflected light intensity of the point corresponding to the second data block is greater than or equal to a preset light intensity threshold, determining that the point corresponding to the first data block is a noise point; The multiple data blocks include the first data block and the second data block, and the second data block is a data block surrounding the first data block.
15. A data processing device, characterized in that: include: Memory for storing computer programs; A processor, configured to execute the computer program stored in the memory, so that the apparatus performs the method according to any one of claims 1 to 7.
16. A data processing system, characterized in that: The method comprises a radar and a computing platform, wherein the computing platform comprises the apparatus according to any one of claims 8 to 15.
17. An intelligent driving device, characterized in that: comprising an apparatus as claimed in any one of claims 8 to 15, or comprising a system as claimed in claim 16.
18. The intelligent driving device according to claim 17, characterized in that: The intelligent driving device is a vehicle.
19. A computer-readable storage medium, characterized in that A computer program is stored thereon, and when the computer program is executed by a computer, the method according to any one of claims 1 to 7 is implemented.
20. A chip, characterized in that: The method comprises a circuit for performing the method according to any one of claims 1 to 7.
Citation Information
Cited By
Expansion noise processing method based on data fusion and laser radar ranging system
CN121028105A