Code for the CoRL 2021 Oral paper "SeqMatchNet: Contrastive Learning with Sequence Matching for Place Recognition and Relocalization"
[OpenReview] [PDF] [CoRL 2021 YouTube Video]

SeqMatchNet: Contrastive Learning with Sequence Matching.
conda create -n seqnet numpy pytorch=1.8.0 torchvision tqdm scikit-learn faiss tensorboardx h5py wandb -c pytorch -c conda-forgeRun bash download.sh to download single image NetVLAD descriptors (3.4 GB) for the Nordland-clean dataset [a] and the Oxford dataset (0.3 GB) [b].
You can download model trained on Oxford from here.
To train SeqMatchNet on the Oxford dataset with both the loss and negative mining based on sequence matching:
pythonmain.py--modetrain--seqL5--pooling--datasetoxford-v1.0--loss_trip_methodmeanOfPairs--neg_trip_methodmeanOfPairs--expNameox10_MoP_negMoPFor the Nordland dataset:
pythonmain.py--modetrain--seqL5--pooling--datasetnordland-sw--loss_trip_methodmeanOfPairs--neg_trip_methodmeanOfPairs--expNamenord-sw_MoP_negMoPTo train without sequence matching:
pythonmain.py--modetrain--seqL5--pooling--datasetoxford-v1.0--loss_trip_methodcenterOnly--neg_trip_methodcenterOnly--expNameox10_CO_negCOpythonmain.py--modetest--seqL5--pooling-datasetoxford-v1.0--splittest--resume ./data/runs/<name_of_the_model_file>The code in this repository is based on oravus/seqNet and Nanne/pytorch-NetVlad.
@inproceedings{garg2021seqmatchnet,
title={SeqMatchNet: Contrastive Learning with Sequence Matching for Place Recognition \& Relocalization},
author={Garg, Sourav and Vankadari, Madhu and Milford, Michael},
booktitle={5th Annual Conference on Robot Learning},
year={2021}
}
SeqNet; Delta Descriptors (2020); Patch-NetVLAD (2021); CoarseHash (2020); seq2single (2019); LoST (2018)
[a] This is the clean version of the dataset that excludes images from the tunnels and red lights and can be downloaded from here.
[b] These will automatically save to ./data/, you can modify this path in download.sh and get_datasets.py to specify your workdir.