Sparse Bayes (#1748)

* Sparse Bayes

* updated perf test

* improved tests with real data

* Making sparse works in incremental mapping

* bookkeeping optimization

* small opt

* refactoring

* splitting dense and sparse in different classes to make the code more lisible

* cleanup comments

* fixing CI

* Making all Bayes tests testing both dense and sparse

* Added multisession_3it integration test (test memory management, multisession and dense/sparse bayes in that settings)

* optimized sparse when transfer/retrieval happens (was slower than dense for that case)

* Testing retrieval param variants

* Updated multisession_3it integration tests to compare loop closure hypotheses

* bump version

* Fixed ui sum of prediction

* adding g2o gtsam to linux ci

* cleanup

* added debug crash log for ci

* Simplified Bayes/SparsePrediction description

* Dont show too dense for sparse on small maps (e.g., when we just started a new map)

* fixing amd64v3 issue with gtsam on ci ubuntu 26

* Dot not auto switch to dense based on map size.

* updating test range

* added coverage tests

* Adressing coverage

* ignore one line in coverage for purpose
This commit is contained in:
matlabbe
2026-08-23 13:21:46 -07:00
committed by GitHub
parent f647014f54
commit 9c1e117384
32 changed files with 82886 additions and 769 deletions
+2
View File
@@ -1,6 +1,8 @@
# Test data fetched by scripts/fetch_test_data.sh -- never tracked.
# The manifest (basename / source URL / sha256) is the source of truth.
*.db
*.7z
*.zip
*.pt
*.pth
*.py
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+11 -4
View File
@@ -1,14 +1,20 @@
# Test data assets fetched by scripts/fetch_test_data.sh.
# Format: <basename>\t<source>\t<sha256>
# Format: <basename>\t<source>\t<sha256>[\t<extracted>]
# - basename is the file's name on disk under data/tests/
# - source is one of:
# * a Google Drive file ID (from https://drive.google.com/file/d/<ID>/...);
# assembled into a direct-download URL by the fetch script.
# * a full http(s):// URL; used as-is. Append "&resourcekey=<key>" to a
# GDrive URL for legacy files (uploaded before 2017) that require it.
# - sha256 must match the downloaded bytes (compute with `sha256sum file.db`).
# Leave as TODO_FILL_SHA256 to bypass the integrity check on first download
# then paste the actual hash back in.
# - sha256 must match the bytes of the file the tests read (compute with
# `sha256sum file.db`), which for an archive is the file it holds rather than
# the archive itself: a corrupt archive is caught by the extractor. Leave as
# TODO_FILL_SHA256 to bypass the integrity check on first download then paste
# the actual hash back in.
# - extracted is optional and only for archives (.7z, .zip): the file the
# archive holds, which the fetch script extracts into data/tests/ and which
# the tests open. The archive is removed once extracted, so this file is both
# what the sha256 is of and what tells the script the asset is already there.
#
# Lines starting with '#' and blank lines are ignored.
netherdrone_lidar3d_sample_15s.db 1IBE8aMgY1_kmme_7Kb9W2wz6yBMLl63i 3fedb26d76d080e687d3926ab80cadee27d7c0115638562a75c1d9f08cc1c885
@@ -19,6 +25,7 @@ pr2_scan2d_corridor_50s.db 18ClEPTRM98icorrlDYBzKTWRwVOU8-bh f518cb4d9284b24a150
robust_graph_optimization_stereo.db https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/Tutorials/RobustGraphOptimization/robust_graph_optimization_stereo.db 247694b5bdb82168ebe88bb6bb5bc31c7142234f8c64567afd93e464418cf02e
loop_3it_gps.db https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/Tutorials/RobustGraphOptimization/loop_3it_gps.db 7aefeb573107a27b0a7826cb87ea03db495367aa56868b4d2b2543e6cacad3c8
stereo_20Hz.db https://github.com/introlab/rtabmap/releases/download/0.23.1/stereo_20Hz.db 94e219e1c96e540cbb1490cc23c81c65b9e7b132e8d61eda05e7990bc13393b7
multisession_3it.7z 10ulRDMqQy5V_3_kx_IeNzAJ8iUMdkkBZ 3d7b139e6b4c608185e44774288ce078b6364bfaeecd0c46c51007c95230c987 multisession_3it.db
superpoint_v1.pth https://github.com/magicleap/SuperPointPretrainedNetwork/raw/refs/heads/master/superpoint_v1.pth 52b6708629640ca883673b5d5c097c4ddad37d8048b33f09c8ca0d69db12c40e
superpoint_v6_from_tf.pth https://github.com/rpautrat/SuperPoint/raw/refs/heads/master/weights/superpoint_v6_from_tf.pth cd5d19a5061848e248c17728878ea166b66512076d43c77dbcf27f4a88a56084
demo_superpoint.py https://raw.githubusercontent.com/magicleap/SuperPointPretrainedNetwork/master/demo_superpoint.py 613706ae7e9ce3fbc2cfe042fc3f37d739838cc2e1dc8ddd08f8ec037765df04