gtsfm
gtsfm copied to clipboard
Added ASLFeat extractor; frontend config edits
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 ofba_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 thatUSAC_MAGSAC
was more accurate, at least for the AstroVision sequences, than the defaultUSAC_ACCURATE
.