Skip to content

This system can perform 3D point-to-point associations between plants' point clouds acquired in different session even in presence of highly repetitive structures and drastic changes.

License

Notifications You must be signed in to change notification settings

PRBonn/plants_temporal_matcher

Repository files navigation

Estimating 4D Data Associations Towards Spatial-Temporal Mapping of Growing Plants for Agricultural Robots

This system can perform 3D point-to-point associations between plants' point clouds acquired in different session even in presence of highly repetitive structures and drastic changes.

IMPORTANT: if you are searching for a repository to compute temporal data association take a look to our new repo, you will find a nice extension of this research.

Installation

First, clone our repository

git clone git@github.com:PRBonn/plants_temporal_matcher.git && cd plants_temporal_matcher

Then, we recommend setting up a virtual environment of your choice and installing the provided requirements through:

pip install -r requirements.txt

How to Use It

We propose two scripts:

  • temporal_matcher.py -> it compute associations between the point cloud extracted from a single frame and a reference map (the script used to evaluate the system in our paper)
  • sparse_maps_matcher.py -> it takes two pre-computed maps and extract all the 3D point-to-point associations between them

In order to understand how to use the code it is important to keep in mind these information:

  • The dataset is divided in sessions, each session is indicated by a number, ordered according to the time in which the recording was made
  • We refer with the name "reference" to the RGB-D sequence recorded first and with "query" to the RGB-D sequence recorded after
  • Each session is divided in rows, where each row is an actual different row in the glasshouse: of course, associations can be computed only between same rows

Type:

python temporal_matcher.py --help

or

python sparse_maps_matcher.py --help

to see how to run the scripts.

This is the output from the first script (temporal_matcher.py)

temporal matcher help

This is the output from the second script (sparse_maps_matcher.py)

sparse maps matcher help

This is an example on how to call the script:

python temporal_matcher.py /path/to/the/dataset/ --ref-number 1 --query-number 2 --row-number 3 --render-matches --no-visualize-map 

Dataset

If you want to test this code on the dataset presented in the paper and reproducing the results, please send an email to Luca Lobefaro.

Publication

If you use our code in your academic work, please cite the corresponding paper:

@inproceedings{lobefaro2023iros,
  author = {L. Lobefaro and M.V.R. Malladi and O. Vysotska and T. Guadagnino and C. Stachniss},
  title = {{Estimating 4D Data Associations Towards Spatial-Temporal Mapping of Growing Plants for Agricultural Robots}},
  booktitle = iros,
  year = 2023,
  codeurl = {https://github.com/PRBonn/plants_temporal_matcher}
}

License

This project is free software made available under the MIT License. For details see the LICENSE file.

About

This system can perform 3D point-to-point associations between plants' point clouds acquired in different session even in presence of highly repetitive structures and drastic changes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages