RansML / Bayesian_Hilbert_Maps

Mapping spatiotemporal patterns in an online and continuous fashion
102 stars 24 forks source link
mapping occupancy-grid-map occupancy-map occupancy-modeling robotics spatio-temporal

Bayesian Hilbert Maps (BHM) for Occupancy Mapping

Online Bayesian Hilbert Mapping

Rather than discretizing the space, we learn a parameterized continuous function of occupancy. Once the parameters are learned, we discard data. This function can be queried to obtain the mean and variance (i.e. uncertanty) of occupancy. In the online setting, we recursively use the estmated parameters as prior information. The model is suitable for both small and large datasets and requires minimal parameter tuning.

Tutorials An intuitive guide to Bayesian Hilbert maps - BHM_tutorial.ipynb

Demonstrations Now BHM is available in both numpy and pytorch (CUDA).

Datasets Intel Lab dataset KITTI dataset Carla dataset - link_to_be_included

Videos: https://youtu.be/LDrLsvfJ0V0

https://youtu.be/gxi0JKuzJvU

https://youtu.be/iNXnRjLEsHQ

Example:

import sbhm

X = #numpy array of size (N,2)
y = #numpy array of size (N,)
X_pred = #numpy array of size (N_pred,2)

model = sbhm.SBHM(gamma)
model.fit(X, y)
y_pred = model.predict_proba(X_pred)[:,1]

# with pytorch
See the demonstrations.

Papers: Introduction to Bayesian Hilbert Maps

@inproceedings{senanayake2017bayesian,
  title={Bayesian hilbert maps for dynamic continuous occupancy mapping},
  author={Senanayake, Ransalu and Ramos, Fabio},
  booktitle={Conference on Robot Learning},
  pages={458--471},
  year={2017}
}

Examples with moving robots and the similarities to Gaussian process based techniques:

@inproceedings{senanayake2018continuous,
  title={Building Continuous Occupancy Maps with Moving Robots},
  author={Senanayake, Ransalu and Ramos, Fabio},
  booktitle={Proceedings of the Thirty Second AAAI Conference on Artificial Intelligence},
  year={2018},
  organization={AAAI Press}
}

Learning hinge points and kernel parameters:

@inproceedings{senanayake2018automorphing,
  title={Automorphing Kernels for Nonstationarity in Mapping Unstructured Environments},
  author={Senanayake*, Ransalu and Tomkins*, Anthony and Ramos, Fabio},
  booktitle={Conference on Robot Learning},
  pages={--},
  year={2018}
}

code: https://github.com/MushroomHunting/autormorphing-kernels

Fast fusion with multiple robots

@inproceedings{zhi2019fusion,
  title={Continuous Occupancy Map Fusion with Fast Bayesian Hilbert Maps},
  author={Zhi, William and Ott, Lionel and Senanayake, Ransalu and Ramos, Fabio},
  booktitle={The International Conference on Robotics and Automation (ICRA)},
  pages={--},
  year={2019}
}