Skip to content

[feat] Add an optional overlap estimator

Julia Sanchez requested to merge OverlapEstimation into master
  • This overlap estimator allows to evaluate the registration quality at each new scan input

  • It is based on the LCP estimator implemented in SUPER4PCS random registration algorithm

  • It represents the probability for one scanned point to have a neighbor in the keypoint maps.

  • It is computed as an average of this probability for all scanned points. These probabilities are estimated with a gaussian like density fitted in map leaf space.

  • The function can be decomposed in 3 steps :

    • Transform the input points into new frame
    • Sample uniformly if needed
    • Compute customized LCP value
  • Time info on one example -> indoor data set, fixed maps 8300 points and input scan 29000 points, no sampling :

    • Without any multithreading: 5.9ms
    • With all multithreading (2 threads): 3.2ms
    • Without Transform multithreading : 3.6ms
    • Without LCP multithreading : 5.5ms
    • The LCP step is the heaviest
    • The sampling is not neglectable
  • How to interpret :

    • A good overlap estimation lies in [0.7, 1]
    • A sufficient one lies in [0.4,0.7]
    • A bad one lies in [0, 0.4]
  • It is particularly helpful to detect bad convergences (big jumps) because the overlap must show a gap. Warning: this is true when the map is fixed but can be false if we pass through a door while the map is built online.

  • DOUBT : should we keep the uniform filtering option?

    • adv :
      • it can reduce LCP computation time
      • it allows not to focus on one points cluster overlap
    • inc :
      • it can allow some overlap gap along the SLAM process with no particular reason
      • it is long with respect to the whole process

@nicolas.cadart PTAL

Edited by Julia Sanchez

Merge request reports