[English] / 简体中文
This is the official repository for FEC.
Code repository locate permanently at here.
THIS REPOSITORY IN UNDER DAILY UPDATING!
Segmentation from point cloud data is essential in many applications ,such as remote sensing, mobile robots, or autonomous cars. However, the point clouds captured by the 3D range sensor are commonly sparse and unstructured, challenging efficient segmentation. A fast solution for point cloud instance segmentation with small computational demands is lacking. To this end, we propose a novel fast Euclidean clustering (FEC) algorithm which applies a point-wise scheme over the cluster-wise scheme used in existing works. The proposed method avoids traversing every point constantly in each nested loop, which is time and memory-consuming. Our approach is conceptually simple, easy to implement (40 lines in C++), and achieves two orders of magnitudes faster against the classical segmentation methods while producing high-quality results.
In order to apply the FEC to varies programming language environment, we provide C++, Python, and Matlab style codes for implementation.
The recommended way is to use Mini-/Anaconda and to create a new environment using:
$ conda env create -f environment.yml
If you are interested in building everything locally, it is recommended using Docker. To build, simply run:
$ make build
There are two ways how you can install FEC: Editable or non-editable. If all you want to do is run experiments with existing datasets and existing models, you can use the non-editable installation. To install the latest release from PyPI:
$ pip install fec(not registered yet)
To install the package directly from the current master branch of this repository, including any changes that are not yet part of a release, run:
$ pip install git+https://github.com/YizhenLAO/FEC.git
If you want to try implementing your own models or datasets, you’ll need an editable installation. For this, start by downloading or cloning the repository to your local machine. If you use git, you can run:
$ git clone https://github.com/YizhenLAO/FEC.git
If you don’t know git, you can also download the code from here and extract the zip-file. After you cloned or downloaded the zip-file, you’ll end up with a directory called “fec” (or “fec-master”). Next, we’ll go to that directory and install a local, editable copy of the package:
$ cd fec
$ pip install -e .
Please download demo data from:
In case you use FEC in your research or work, it would be highly appreciated if you include a reference to our paper in any kind of publication.
latex
@Article{cao2022fec,
AUTHOR = {Cao, Yu and Wang, Yancheng and Xue, Yifei and Zhang, Huiqing and Lao, Yizhen},
TITLE = {FEC: Fast Euclidean Clustering for Point Cloud Segmentation},
JOURNAL = {Drones},
VOLUME = {6},
YEAR = {2022},
NUMBER = {11},
ARTICLE-NUMBER = {325},
URL = {https://www.mdpi.com/2504-446X/6/11/325},
ISSN = {2504-446X},
ABSTRACT = {Segmentation from point cloud data is essential in many applications, such as remote sensing, mobile robots, or autonomous cars. However, the point clouds captured by the 3D range sensor are commonly sparse and unstructured, challenging efficient segmentation. A fast solution for point cloud instance segmentation with small computational demands is lacking. To this end, we propose a novel fast Euclidean clustering (FEC) algorithm which applies a point-wise scheme over the cluster-wise scheme used in existing works. The proposed method avoids traversing every point constantly in each nested loop, which is time and memory-consuming. Our approach is conceptually simple, easy to implement (40 lines in C++), and achieves two orders of magnitudes faster against the classical segmentation methods while producing high-quality results.},
DOI = {10.3390/drones6110325}
}
@YizhenLAO @IfeiHsueh @Cyy-caoyu
MIT(LICENSE) © Yizhen LAO