Implementation of "Segment Anything Model is a Good Teacher for Local Feature Learning" (http://arxiv.org/abs/2309.16992).
Keywords: Local features detection and description; local descriptors; image matching; Segment Aything Model.
To do:
- Evaluation code and Trained model for SAMFeat
- Training code (Coming soon)
conda env create -f environment.yml,
HPatches Image Matching Benchmark
- Download trained SAMFeat model:
cd ckpt
Use the link https://drive.google.com/file/d/1NTRGZ2aJnT59_6b-n_SFY33jOwwxCJOM/view?usp=drive_link to download our trained model checkpoint from Google Drive. Place it under the ckpt
folder.
- Download HPatches benchmark:
cd evaluation_hpatch/hpatches_sequences
then bash download.sh
- configure evaluation file:
Edit SAMFeat_eva.yaml
file located in the configs
folder
- Extract local descriptors:
cd evaluation_hpatch
python export.py --top-k 10000 --tag SAMFeat --output_root output_path --config PATH_TO_SAMFeat_eva.yaml
This will extract descriptors and place it under the output folder
- Evaluation
python get_score.py
This will print out the MMA score from threshold 1-to-10 and output a Pdf MMA Curve