README.md
January 18, 2026 ยท View on GitHub
SimpleMatch: A Simple and Strong Baseline for Semantic Correspondence
This is the official code for SimpleMatch implemented with PyTorch.
Prepare Datasets
- Download PF-PASCAL and PF-WILLOW datasets: Download
- Download SPair-71k dataset: Download
- Unzip the datasets and place them in the
datadirectory - Organized as follows
./data
PF-PASCAL
PF-WILLOW
SPair-71k
Download pretrained parameters of backbone.
mkdir checkpoints and put them in checkpoints directory.
Environment Settings
conda create -n DCM python=3.8.0
conda activate DCM
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
pip install -r requirements.txt
Download Pretrained weights
mkdir ckpts
# Then, place the downloaded checkpoints in the ckpts directory
Evaluation on SPair-71k
(To evaluate on other datasets, replace the configuration file and the corresponding checkpoint path.)
python test.py \
--config configs/task_dinov2-b14_448x448_spair.py \
--model_path ckpts/dinov2_448x448_spair/best_model.pth \
--log_name infer
Evaluation on AP10k
python test.py --config configs/task_dinov2-b14_448x448_ap10k.py \
--model_path ckpts/dinvov2_448x448_ap10k/best_model.pth \
--log_name infer \
--cfg-options \
test_dataloader.dataset.eval_type=cross-family # `intra-species`, `cross-species`, `cross-family`
Training on SPair-71k
python train.py \
--config configs/task_dinov2-b14_252x252_spair.py \
--work-dir work_dirs/tmp
Training on PF-PASCAL
python train.py \
--config configs/task_ibot-b16_256x256_pfpascal.py \
--work-dir work_dirs/tmp