2 |
Generalizable Stable Points Segmentation for 3D LiDAR Scan-to-Map Long-Term Localization
3 |
4 |
5 |
6 |
7 |
8 |
9 | Our method segments stable and unstable points in 3D LiDAR scans exploiting the discrepancy of scan voxels and overlapping map voxels (highlighted as submap voxels). We showcase two LiDAR scans captured during separate localization sessions within an outdoor vineyard. The scan on the left depicts the vineyard state in April, while the scan on the right reveals environmental changes in plant growth in June
10 |
11 |
12 |
13 | Click here for qualitative results!
14 |
15 | [](https://github.com/ibrahimhroob/SPS/assets/47870260/0f93743f-170c-4ca3-be15-77623f45720c)
16 |
17 |
18 | Our stable points segmentation prediction for three datasets. The stable points are depicted in black, while the unstable points are represented in red.
19 |
20 |
21 |
22 |
23 |
24 |
25 | ### Building the Docker image
26 | We provide a ```Dockerfile``` and a ```docker-compose.yaml``` to run all docker commands.
27 |
28 | **IMPORTANT** To have GPU access during the build stage, make ```nvidia``` the default runtime in ```/etc/docker/daemon.json```:
29 |
30 | ```yaml
31 | {
32 | "runtimes": {
33 | "nvidia": {
34 | "path": "/usr/bin/nvidia-container-runtime",
35 | "runtimeArgs": []
36 | }
37 | },
38 | "default-runtime": "nvidia"
39 | }
40 | ```
41 | Save the file and run ```sudo systemctl restart docker``` to restart docker.
42 |
43 |
44 | To build the image, simply type the following in the terminal:
45 | ```bash
46 | bash build_docker.sh
47 | ```
48 |
49 | Once the build process finishes, initiate the Docker container in detached mode using Docker Compose from the project directory:
50 | ```bash
51 | docker-compose up -d # or [docker compose up -d] for older versions
52 | ```
53 |
54 | ## Usage Instructions
55 |
56 | ### Training
57 |
58 | To train the model with the parameters specified in `config/config.yaml`, follow these steps:
59 |
60 | 1. Export the path to the dataset (This step may be necessary before initiating the container):
61 | ```bash
62 | export DATA=path/to/dataset
63 | ```
64 |
65 | 2. Initiate training by executing the following command from within the container:
66 | ```bash
67 | python scripts/train.py
68 | ```
69 |
70 | ### Segmentation Metrics
71 |
72 | To evaluate the segmentation metrics for a specific sequence:
73 |
74 | ```bash
75 | python scripts/predict.py -seq