gtsfm icon indicating copy to clipboard operation
gtsfm copied to clipboard

Added ASLFeat extractor; frontend config edits

Open travisdriver opened this issue 2 years ago • 2 comments

This PR implements the ASLFeat feature detector and descriptor. This architecture was found to be particularly effective for small body imagery, as shown in the AstroVision paper (I will add the AstroVision-trained models in a future PR).

Using the ASLFeat features, along with some tuning of the outlier rejection parameters, greatly improved the reconstruction quality for AstroVision sequences. In particular, I put together a relatively easy sequence for the Hayabusa mission to Asteroid 25143 Itokawa. I was not able to get coherent results using SuperPoint + SuperGlue or SIFT + TwoWayMatcher, but ASLFeat + TwoWayMatcher was able to reconstruct 11/16 images with 1446 landmarks for the pretrained model, and 12/16 images with 1973 landmarks for the AstroVision-trained ASLFeat model (see below).

I also made some modifications to the frontend configs:

  • Exposed the ba_reproj_error_thresh parameter, which dictates the filtering threshold for the post-BA landmarks. This parameters had a default value of ba_reproj_error_thresh=0.5, much smaller than the Verifier threshold (4 pixels).
  • Exposed the robust_estimation_type parameter for the RANSAC Verifier. I found that USAC_MAGSAC was more accurate, at least for the AstroVision sequences, than the default USAC_ACCURATE.

ezgif com-resize

Pretrained ASLFeat model:

Screenshot from 2023-03-02 12-19-36

AstroVision-trained ASLFeat model:

Screenshot from 2023-03-02 16-54-12

travisdriver avatar Oct 07 '22 13:10 travisdriver