Fast Euclidean clustering (FEC) of point clouds implemented for PCL. No GPU is required!
FEC is an approximation algorithm. A cluster may be falsely splitted into multiple clusters, but not the other way around.
Just copy fast_euclidean_clustering.h
to local and #include
it!
#points = 1,000,071
Tolerance (m) | FEC (q = 0.0) | FEC (q = 0.5) | FEC (q = 0.9) | EC | ||||
---|---|---|---|---|---|---|---|---|
#clusters | Time (s) | #clusters | Time (s) | #clusters | Time (s) | #clusters | Time (s) | |
0.01 | 464,420 | 0.9 | 442,669 | 0.9 | 441,151 | 1.0 | 441,151 | 1.0 |
0.1 | 22,592 | 0.4 | 20,422 | 0.7 | 20,261 | 4.5 | 20,261 | 8.9 |
1 | 175 | 0.3 | 163 | 0.8 | 160 | 15.0 | 160 | 795.8 |
10 | 37 | 0.3 | 35 | 0.7 | 33 | 11.0 | N/A¹ | >1,000¹ |
100 | 2 | 0.3 | 2 | 0.5 | 2 | 2.7 | N/A¹ | >1,000¹ |
¹ Computation did not complete within 1,000 seconds.
- FEC:
FastEuclideanClustering
, q is the quality parameter. - EC:
pcl::EuclideanClusterExtraction
.
See examples/fec/main.cc
.