A method and system for generating simulated dynamic point cloud data

By performing voxel 3D mesh generation and Gaussian noise simulation on point cloud data, the problems of high cost and difficulty in generating dynamic environment point cloud data in existing technologies are solved, and low-cost and efficient generation of simulated dynamic environment point cloud data is achieved.

CN115629368BActive Publication Date: 2026-04-10SHANDONG UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANDONG UNIV OF TECH
Filing Date
2022-11-11
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing technologies are costly, difficult, and prone to errors when generating dynamic environmental point cloud data, and cannot effectively simulate real environments. In particular, the creation of models for large-scale scenes and numerous obstacles requires significant human and material resources, and the real environment is difficult to control.

Method used

By acquiring point cloud data from multi-line LiDAR scanning, voxel 3D meshing is used to divide it into cubic grids of the same size. Random numbers and positions of these cubic grids are set, and Gaussian noise is added to simulate obstacles in the real environment, thus achieving randomness in the number and position of obstacles.

Benefits of technology

It enables the generation of diverse and controllable simulated dynamic environment point cloud data without the need for multiple recordings of real dynamic environment point cloud data, reducing costs and improving data controllability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115629368B_ABST
    Figure CN115629368B_ABST
Patent Text Reader

Abstract

The application discloses a kind of generation method and system of simulating dynamic environment point cloud data, belong to point cloud data processing technical field, which comprises: obtaining the point cloud data of the obstacle of multi-line laser radar scanning;Laser radar point cloud data is divided into multiple identical cubic lattices using voxel three-dimensional grid division, and each lattice can be simulated as an obstacle in three-dimensional space;Obtain the obstacle lattice of random quantity and random position, simulate the randomness of the number and position of the obstacle obtained from the real environment;Add Gaussian noise to the laser radar point cloud square in a position, simulate the obstacle in the real environment;Output the processed laser radar point cloud data.The application can realize that real dynamic environment point cloud data does not need to be taken multiple times, and simulated dynamic environment point cloud data can be obtained.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of point cloud data processing, and particularly relates to a simulation dynamic point cloud data generation method and system. BACKGROUND

[0002] The simulation dynamic environment point cloud data is a kind of laser radar point cloud data based on the original dynamic environment, and the limited point cloud data set can only represent part of the real data distribution, and unless the data set is infinite (continuous distribution) or contains all possible data (discrete distribution), the experiment cannot completely test all data distribution of the real data.

[0003] Generally, there are two ways to record dynamic environment point cloud data. The first way is to use simulation tools in a simulation environment to simulate the state of obstacles and the working principle of sensors. By artificially creating a three-dimensional dynamic environment, a scenario is simulated, and then a virtual sensor such as a camera or a laser radar is used to record three-dimensional dynamic environment point cloud data. The second way is to use a lot of manpower and resources to select a road, place static and dynamic obstacles on the road, and use a laser radar to collect high-precision and high-density three-dimensional dynamic environment point cloud data in a real environment.

[0004] The first method has a high cost of simulation model production. Under the existing three-dimensional modeling technology conditions, it is impossible to automatically produce a scene or a single obstacle model with strong reality, and a fully manual or semi-automatic modeling method must be used. Therefore, it is necessary to invest a lot of manpower and resource costs to produce large-scale scene and a large number of obstacle models. And the error between the simulation environment and the real environment is large, which lacks practical application significance. The second method is difficult to control in a real dynamic environment and is greatly affected by external factors, and is also expensive. Moreover, the data volume is large, and the laser radar is not convenient to transport, which increases the cost of generating a three-dimensional scene map. Therefore, the cost of dynamic environment laser radar data recording is high and difficult. SUMMARY

[0005] The purpose of the present application is to provide a simulation dynamic point cloud data generation method, which can obtain simulated dynamic environment point cloud data without the need for multiple recordings of real dynamic environment point cloud data.

[0006] The simulation dynamic environment point cloud data generation method provided by the present application comprises:

[0007] Obtaining point cloud data with obstacles scanned by a multi-line laser radar;

[0008] Using a voxel three-dimensional grid division on the point cloud data, the point cloud data is divided into a plurality of cubic cells of the same size, and each cell can be simulated as an obstacle in a three-dimensional space;

[0009] Setting a random number and a random position of the cubic grid, simulating the randomness of the number and position of obstacles in the real environment.

[0010] Preferably, the obstacle grid with a random number and a random position simulates the randomness of the number and position of obstacles in the real environment, and then further comprises:

[0011] Adding Gaussian noise to the point cloud grid of a position, simulating obstacles in the real environment;

[0012] Output the processed point cloud data.

[0013] Preferably, the point cloud data is divided into a plurality of cubic grids of the same size by using a voxel three-dimensional grid division, and each grid can simulate an obstacle in a three-dimensional space, and the method further comprises:

[0014] Inputting point cloud data,

[0015] Obtaining a single-frame pcd point cloud, and using a voxel grid for the point cloud data;

[0016] A voxel filter pcl:VoxelGrid sets a voxel size according to a LeafSize, that is, the entire point cloud space is divided into a plurality of small cubic grids with LeafSize as a basic unit, so that each grid serves as a candidate grid for the obstacle.

[0017] Preferably, the setting of the random number and the random position of the cubic grid to simulate the randomness of the number and position of obstacles in the real environment specifically comprises:

[0018] Obtaining a dynamic obstacle grid with a random number and a random position,

[0019] Obtaining the number LeafSize_len of the set grids, and traversing the grids from 1 to LeafSize_len;

[0020] Using a rand() function to assign a random number between 0 and 1 to each grid, and setting the probability of obtaining the grid to also be a number between 0 and 1, setting the number assigned to each grid as r, and the probability of obtaining the grid as n. Only when r>n, the grid can be obtained.

[0021] Preferably, the adding of Gaussian noise to the laser radar point cloud grid of a position to simulate obstacles in the real environment specifically comprises:

[0022] Adding Gaussian noise to the obtained random grid, and the probability density of the Gaussian noise obeys a Gaussian distribution with two parameters of a mean value means and a standard deviation σ, and the formula of the Gaussian distribution is:

[0023]

[0024] The value of mu is the average value of the corresponding grid, the value of sigma is voxel_size / 4.0, and the number of noise points added to each grid is also determined by calculation.

[0025] The second object of the application can be achieved by adopting the following technical solution: a simulation dynamic environment point cloud data generation system, comprising:

[0026] The data acquisition module is used for acquiring point cloud data of a multi-line laser radar scan with obstacles.

[0027] The data processing module is used for dividing the point cloud data into a plurality of cubic grids of the same size using a voxel three-dimensional grid, and each grid can simulate an obstacle in a three-dimensional space.

[0028] The cubic grid division module is used for setting a random number and a random position of cubic grids to simulate the randomness of the number and position of obstacles in a real environment.

[0029] Preferably, the cubic grid division module is used for setting a random number and a random position of cubic grids to simulate the randomness of the number and position of obstacles in a real environment, comprising:

[0030] The data input module is used for inputting point cloud data,

[0031] The point cloud data processing module is used for acquiring a single-frame pcd point cloud and using a voxel grid for point cloud data.

[0032] The voxel grid processing module is used for a voxel filter pcl:VoxelGrid to set a voxel size according to LeafSize for the entire point cloud, that is, to divide the entire point cloud space into a plurality of small cubic grids with LeafSize as a basic unit, so that each grid serves as a candidate grid for the obstacle.

[0033] The third object of the application can be achieved by adopting the following technical solution:

[0034] A computer device comprises a processor and a memory for storing a program executable by the processor, and the processor implements the above-mentioned simulation dynamic point cloud data generation method when executing the program stored in the memory.

[0035] The fourth object of the application can be achieved by adopting the following technical solution:

[0036] A storage medium stores a program, and the program is executed by a processor to implement the above-mentioned simulation dynamic point cloud data generation method.

[0037] The application obtains a segment of laser radar scanning point cloud data with obstacles as original point cloud data, performs voxel three-dimensional grid division on the original laser radar point cloud data, divides the laser radar point cloud data into numerous cubes of the same size, selects a random number of cube grids in the laser radar point cloud data divided into three-dimensional grids to simulate the randomness of the number of obstacles in the real environment, selects random positions for the selected number of point cloud grids to simulate the randomness of the positions of obstacles in the real environment, adds Gaussian noise to the laser radar point cloud grids at the selected positions to simulate the obstacles in the real environment, and outputs the processed laser radar point cloud data. The diversity of laser radar dynamic environment point cloud data and the controllability of laser radar dynamic environment point cloud data are increased, and simulated dynamic environment point cloud data can be obtained without multiple real dynamic environment point cloud data. BRIEF DESCRIPTION OF DRAWINGS

[0038] The accompanying drawings, which are incorporated herein and constitute part of the specification, illustrate embodiments consistent with the application and, together with the description, serve to explain the principles of the application.

[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, for those of ordinary skill in the art, other drawings can also be obtained based on these drawings without any creative effort.

[0040] Fig. 1 A flowchart of a simulation dynamic environment point cloud data generation method according to the present application is shown in the figure.

[0041] Fig. 2 Another flowchart of a simulation dynamic environment point cloud data generation method according to the present application is shown in the figure. DETAILED DESCRIPTION

[0042] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without any creative effort fall within the scope of the present application.

[0043] It should be noted that all directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of the present application are only used to explain the relative positional relationship, movement condition, etc. between components in a certain posture (as shown in the drawings), and if the certain posture changes, the directional indications also change accordingly.

[0044] In addition, the description related to "first", "second" and the like in the present application is only for the purpose of description, and cannot be understood as indicating or implying the relative importance of the indicated technical features or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first", "second" can explicitly or implicitly include at least one of the features. In addition, the technical solutions of various embodiments can be combined with each other, but it must be based on the realization of ordinary skilled in the art, when the combination of technical solutions appears contradictory or unachievable, it should be considered that the combination of technical solutions does not exist, nor within the protection scope required by the present application.

[0045] The application provides a kind of generation method of simulating dynamic environment point cloud data, referring to Figs. 1-2 , comprising:

[0046] Step 100, obtain the point cloud data of the obstacle scanned by multi-line laser radar;

[0047] Step 200, the point cloud data is divided into a plurality of cubical lattices of the same size by using voxel three-dimensional grid division, and each lattice can be simulated as an obstacle in three-dimensional space;

[0048] Step 300, set the cubical lattice of random number and random position, simulate the randomness of the number and position of obstacles in the real environment.

[0049] The application obtains a segment of point cloud data of laser radar scanned with obstacles as original point cloud data, divides the original laser radar point cloud data into a plurality of cubical lattices of the same size by using voxel three-dimensional grid division, selects a random number of cubical lattices in the laser radar point cloud data divided into three-dimensional grid, simulates the randomness of the number of obstacles in the real environment, selects a random position for the selected number of point cloud lattices to simulate the randomness of the position of obstacles in the real environment, adds Gaussian noise to the laser radar point cloud lattice at the selected position to simulate the obstacles in the real environment, and outputs the processed laser radar point cloud data. The diversity of laser radar dynamic environment point cloud data and the controllability of laser radar dynamic environment point cloud data are increased, and simulated dynamic environment point cloud data can be obtained without multiple real dynamic environment point cloud data.

[0050] Preferably, in step 300, the obstacle lattice of random number and random position is obtained to simulate the randomness of the number and position of obstacles in the real environment, and then the method further comprises:

[0051] Step 400, add Gaussian noise to the point cloud lattice at a position to simulate the obstacles in the real environment;

[0052] Step 500, output the processed point cloud data.

[0053] Preferably, in step 200, the point cloud data is divided into a plurality of cubic cells of the same size using a voxel three-dimensional grid division, and each cell can be simulated as an obstacle in a three-dimensional space, including:

[0054] Step 210, input the point cloud data,

[0055] Step 220, obtain a single-frame pcd point cloud, and use a voxel grid for the point cloud data;

[0056] Step 230, the voxel filter pcl:VoxelGrid sets the voxel size according to LeafSize for the entire point cloud, that is, the entire point cloud space is divided into a plurality of small cubic cells with LeafSize as the basic unit, so that each cell is used as a candidate cell for this type of obstacle.

[0057] Preferably, in step 300, a random number and a random position of cubic cells are set to simulate the randomness of the number and position of obstacles in a real environment, including:

[0058] Step 310, obtain a random number and a random position of dynamic object cells,

[0059] Step 320, obtain the number LeafSize_len of the set cells, and traverse the cells from 1 to LeafSize_len;

[0060] Step 330,

[0061] Using the rand() function, each cell is assigned a random size number between 0 and 1, and the probability of obtaining the cell is also set to a number between 0 and 1. The number assigned to each cell is set to r, and the probability of obtaining the cell is set to n. Only when r>n can the cell be obtained.

[0062] Preferably, in step 400, Gaussian noise is added to a laser radar point cloud square at a position to simulate an obstacle in a real environment, including:

[0063] Gaussian noise is added to the obtained random cell, and the probability density of the Gaussian noise obeys a Gaussian distribution with two parameters of mean value means and standard deviation σ. The formula of the Gaussian distribution is:

[0064]

[0065] The μ values take the average value of the corresponding cell, and the σ value takes voxel_size / 4.0. The number of noise points added to each cell is also determined by calculation.

[0066] The second object of the application can be achieved by adopting the following technical solution: a generation system of simulated dynamic environment point cloud data, comprising:

[0067] A data acquisition module is configured to acquire point cloud data of a multi-line laser radar scan with obstacles;

[0068] A data processing module is configured to divide the point cloud data using a voxel three-dimensional grid, so as to divide the point cloud data into a plurality of cubic cells of the same size, and each cell can simulate an obstacle in a three-dimensional space.

[0069] A cubic cell division module is configured to set a random number and a random position of cubic cells to simulate the randomness of the number and position of obstacles in a real environment.

[0070] The application acquires point cloud data of a laser radar scan with obstacles as original point cloud data, divides the original laser radar point cloud data using a voxel three-dimensional grid, divides the laser radar point cloud data into a plurality of cubic cells of the same size, selects a random number of cubic cells in the laser radar point cloud data divided into a three-dimensional grid, simulates the randomness of the number of obstacles in a real environment, selects a random position of the selected number of point cloud cells to simulate the randomness of the position of obstacles in a real environment, adds Gaussian noise to the laser radar point cloud cell at the selected position to simulate the obstacles in a real environment, and outputs the processed laser radar point cloud data. The application increases the diversity and controllability of laser radar dynamic environment point cloud data, and achieves simulated dynamic environment point cloud data without the need for multiple real dynamic environment point cloud data.

[0071] Preferably, the cubic cell division module is configured to set a random number and a random position of cubic cells to simulate the randomness of the number and position of obstacles in a real environment, and comprises:

[0072] A data input module is configured to input point cloud data,

[0073] A point cloud data processing module is configured to acquire a single-frame pcd point cloud, and divide the point cloud data using a voxel grid.

[0074] A voxel grid processing module is configured to use a voxel filter pcl:VoxelGrid to set a voxel size according to LeafSize for the entire point cloud, that is, to divide the entire point cloud space into a plurality of small cubic cells with LeafSize as a basic unit, so that each cell serves as a candidate cell of the obstacle.

[0075] Embodiment 3:

[0076] The embodiment provides a computer device, comprising a processor and a memory for storing a program executable by the processor, when the processor executes the program stored by the memory, a simulation dynamic point cloud data generation method of the embodiment 1 is realized, comprising: acquiring point cloud data with obstacles scanned by a multi-line laser radar; using a voxel three-dimensional grid division on the point cloud data, the point cloud data is divided into a plurality of cubic cells with the same size, each cell can be simulated as an obstacle in a three-dimensional space; setting a random number and a random position of the cubic cells, and simulating a real environment to acquire randomness of the number and the position of the obstacles.

[0077] Embodiment 4

[0078] The embodiment provides a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, when the program is executed by a processor, the processor executes the computer program stored by the memory, and a simulation dynamic point cloud data generation method of the embodiment 1 is realized, comprising: acquiring point cloud data with obstacles scanned by a multi-line laser radar; using a voxel three-dimensional grid division on the point cloud data, the point cloud data is divided into a plurality of cubic cells with the same size, each cell can be simulated as an obstacle in a three-dimensional space; setting a random number and a random position of the cubic cells, and simulating a real environment to acquire randomness of the number and the position of the obstacles.

[0079] The above only is the specific implementation of the present application, and enables the person skilled in the art to understand or implement the present application. Various modifications of these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to these embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for generating simulated dynamic environment point cloud data, the method comprising: The method comprises the following steps: acquiring point cloud data of a multi-line laser radar scan with obstacles; dividing the point cloud data into a plurality of cuboid cells of the same size using a voxel three-dimensional grid, each cell being capable of simulating an obstacle in a three-dimensional space; setting a random number and a random position of the cuboid cells to simulate the randomness of the number and position of the obstacles in a real environment; the setting of the random number and the random position of the obstacle cells to simulate the randomness of the number and position of the obstacles in the real environment further comprises the following steps: adding Gaussian noise to a point cloud cell at a position to simulate an obstacle in a real environment; outputting the processed point cloud data; the step of dividing the point cloud data into a plurality of cuboid cells of the same size using a voxel three-dimensional grid comprises the following steps: inputting the point cloud data, acquiring a single frame of PCD point cloud data, and dividing the point cloud data into a voxel grid; using a voxel filter pcl:VoxelGrid to set a voxel size according to a LeafSize, that is, dividing the entire point cloud space into a plurality of small cuboids with LeafSize as a basic unit, so that each cell serves as a candidate cell of the obstacle; the step of setting a random number and a random position of the cuboid cells to simulate the randomness of the number and position of the obstacles in a real environment comprises the following steps: acquiring a random number and a random position of dynamic object cells, acquiring a set number of cells LeafSize_len by traversing cells from 1 to LeafSize_len; using a rand() function to assign a random number between 0 and 1 to each cell, and setting a probability of obtaining the cell to also be a number between 0 and 1; setting the number assigned to each cell as r, and the probability of obtaining the cell as n; only when r>n, the cell can be obtained.

2. The method of claim 1, wherein, the step of adding Gaussian noise to a point cloud cell at a position to simulate an obstacle in a real environment comprises the following steps: Add Gaussian noise to the acquired random lattice, the probability density of Gaussian noise obeys Gaussian distribution, wherein means and standard deviation Two parameters, the formula of Gaussian distribution is: ; The values are averaged over the corresponding grid, The voxel_size / 4.0, the number of added noise points per grid is also determined by calculation.

3. A system for generating simulated dynamic environment point cloud data, the system comprising: The method comprises the following steps: a data acquisition module for acquiring point cloud data of a multi-line laser radar scan with obstacles; a data processing module for dividing the point cloud data into a plurality of cuboid cells of the same size using a voxel three-dimensional grid, each cell being capable of simulating an obstacle in a three-dimensional space; a cuboid cell division module for setting a random number and a random position of the cuboid cells to simulate the randomness of the number and position of the obstacles in a real environment; the setting of the random number and the random position of the obstacle cells to simulate the randomness of the number and position of the obstacles in the real environment further comprises the following steps: adding Gaussian noise to a point cloud cell at a position to simulate an obstacle in a real environment; outputting the processed point cloud data; the data processing module for dividing the point cloud data into a plurality of cuboid cells of the same size using a voxel three-dimensional grid comprises the following steps: a data input module for inputting the point cloud data, The point cloud data processing module is configured to obtain a single frame of PCD point cloud data, and perform voxel grid processing on the point cloud data; The voxel grid processing module is configured to set a voxel size according to a LeafSize for a voxel filter PCL:VoxelGrid, that is, divide the entire point cloud space into a plurality of small cubes with LeafSize as a basic unit, so that each grid is regarded as a candidate grid of the obstacle; The setting of the random number and the random position of the cube grid simulates the randomness of the number and the position of the obstacle in the real environment, and specifically includes: obtaining a dynamic object grid with a random number and a random position, obtaining a set grid number LeafSize_len by traversing the grids from 1 to LeafSize_len; using a rand() function to assign a random number between 0 and 1 to each grid, and setting a number between 0 and 1 as the probability of obtaining the grid, setting the number assigned to each grid as r, and setting the probability of obtaining the grid as n, and only when r>n, the grid can be obtained.

4. A computer device, comprising: The computer device comprises a processor and a memory for storing a program executable by the processor, and when the processor executes the program stored in the memory, the computer device executes the method according to any one of claims 1 to 2.

5. A storage medium, characterized by The program is executed by the processor, and the processor executes the method according to any one of claims 1 to 2.

Citation Information

Patent Citations

  • Five-coordinate NC tool track fast generation method for scattered point cloud data

    CN101403907A

  • Obstacle distribution simulation method, device and terminal based on probability graph

    CN109145489A