vignywang / SAMFeat

The official implementation of “Segment Anything Model is a Good Teacher for Local Feature Learning”.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SAMFeat (Local features detection and description)

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)

Requirement

conda env create -f environment.yml,

Quick start

HPatches Image Matching Benchmark

  1. 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.

  1. Download HPatches benchmark:

cd evaluation_hpatch/hpatches_sequences then bash download.sh

  1. configure evaluation file:

Edit SAMFeat_eva.yaml file located in the configs folder

  1. 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

  1. Evaluation
python get_score.py

This will print out the MMA score from threshold 1-to-10 and output a Pdf MMA Curve

About

The official implementation of “Segment Anything Model is a Good Teacher for Local Feature Learning”.

License:MIT License


Languages

Language:Python 99.0%Language:Shell 1.0%