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.