BEAMRobotics / beam_robotics

Parent Directory for all code used with Beam Robotics
2 stars 0 forks source link

Create relocalization module #63

Closed jakemclaughlin6 closed 2 years ago

jakemclaughlin6 commented 3 years ago

Relocalization module is meant to localize a robot given a previously gathered map using 1 or more images.

The two main methods of relocalization are:

  1. Image2Map: which checks for feature correspondences in the query image directly to the 3d map
  2. Image2Image: which checks for the best matching image in the dataset and localizes wrt to it

However our case of relocalization is quite unique due to our access to different pieces of data. We can assume we not only have access to the raw images of a map, but also the triangulated location of features in the images, and labelled defects.

The solution proposed would therefore be a hybrid:

  1. Determine the best matching image using defect enhanced bag of words
  2. get initial estimate using ransac-8-point algorithm
  3. pose refinement using co-visibility of features and minimize reprojection error
adthoms commented 2 years ago

@jakemclaughlin6 will this be done outside of beam_robotics? say in beam_slam and/or libbeam?

jakemclaughlin6 commented 2 years ago

@adthoms yes this can be removed, this functionality will be split between beam slam and libbeam