Adding point cloud sampling examples (#770) · timmarkhuff/PythonRobotics@3dc9699 · GitHub
Skip to content

Commit 3dc9699

Browse files
authored
Adding point cloud sampling examples (AtsushiSakai#770)
1 parent e771054 commit 3dc9699

7 files changed

Lines changed: 254 additions & 0 deletions

File tree

Lines changed: 168 additions & 0 deletions

docs/modules/mapping/mapping_main.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Mapping
99
gaussian_grid_map/gaussian_grid_map
1010
ray_casting_grid_map/ray_casting_grid_map
1111
lidar_to_grid_map_tutorial/lidar_to_grid_map_tutorial
12+
point_cloud_sampling/point_cloud_sampling
1213
k_means_object_clustering/k_means_object_clustering
1314
circle_fitting/circle_fitting
1415
rectangle_fitting/rectangle_fitting
247 KB
Loading
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
.. _point_cloud_sampling:
2+
3+
Point cloud Sampling
4+
----------------------
5+
6+
This sections explains point cloud sampling algorithms in PythonRobotics.
7+
8+
Point clouds are two-dimensional and three-dimensional based data
9+
acquired by external sensors like LIDAR, cameras, etc.
10+
In general, Point Cloud data is very large in number of data.
11+
So, if you process all the data, computation time might become an issue.
12+
13+
Point cloud sampling is a technique for solving this computational complexity
14+
issue by extracting only representative point data and thinning the point
15+
cloud data without compromising the performance of processing using the point
16+
cloud data.
17+
18+
Voxel Point Sampling
19+
~~~~~~~~~~~~~~~~~~~~~~~~
20+
.. figure:: voxel_point_sampling.png
21+
22+
Voxel grid sampling is a method of reducing point cloud data by using the
23+
`Voxel grids <https://en.wikipedia.org/wiki/Voxel>`_ which is regular grids
24+
in three-dimensional space.
25+
26+
This method determines which each point is in a grid, and replaces the point
27+
clouds that are in the same Voxel with their average to reduce the number of
28+
points.
29+
30+
API
31+
=====
32+
33+
.. autofunction:: Mapping.point_cloud_sampling.point_cloud_sampling.voxel_point_sampling
34+
35+
36+
Farthest Point Sampling
37+
~~~~~~~~~~~~~~~~~~~~~~~~~
38+
.. figure:: farthest_point_sampling.png
39+
40+
Farthest Point Sampling is a point cloud sampling method by a specified
41+
number of points so that the distance between points is as far from as
42+
possible.
43+
44+
This method is useful for machine learning and other situations where
45+
you want to obtain a specified number of points from point cloud.
46+
47+
API
48+
=====
49+
50+
.. autofunction:: Mapping.point_cloud_sampling.point_cloud_sampling.farthest_point_sampling
51+
52+
Poisson Disk Sampling
53+
~~~~~~~~~~~~~~~~~~~~~~~~~
54+
.. figure:: poisson_disk_sampling.png
55+
56+
Poisson disk sample is a point cloud sampling method by a specified
57+
number of points so that the algorithm selects points where the distance
58+
from selected points is greater than a certain distance.
59+
60+
Although this method does not have good performance comparing the Farthest
61+
distance sample where each point is distributed farther from each other,
62+
this is suitable for real-time processing because of its fast computation time.
63+
64+
API
65+
=====
66+
67+
.. autofunction:: Mapping.point_cloud_sampling.point_cloud_sampling.poisson_disk_sampling
68+
69+
70+
259 KB
Loading
245 KB
Loading

tests/test_point_cloud_sampling.py

Lines changed: 15 additions & 0 deletions

0 commit comments

Comments
 (0)