Home

Awesome

SiLK - Simple Learned Keypoints

[Arxiv Paper] <br/> Authors : Pierre Gleize, Weiyao Wang and Matt Feiszli <br/> Conference : ICCV 2023

SiLK is a self-supervised framework for learning keypoints. SiLK focuses on simplicity and flexibility, while also providing state-of-art and competitive results on existing benchmarks.

<p float="middle"> <img src="doc/images/keypoints.png" width="33%"/> <img src="doc/images/matches.png" width="66%"/> </p>

Pre-trained models are also provided.

The released code has been tested on Linux, with two Tesla V100-SXM2 GPUs and takes about 5 hours to train.

Requirements

Usage

Results

The results below have been computed using our VGG-4 backbone (checkpoint pvgg-4.ckpt for tab 2,3,6 and coco-rgb-aug for tab 4,5). To reproduce the IMC2022 results, we also provide the Kaggle notebook.

<img src="doc/images/results-hpatches-sparse.png" width="100%"/> <p float="middle"> <img src="doc/images/results-hpatches-dense.png" width="46%"/> <img src="doc/images/results-imc.png" width="53%"/> </p> <p float="middle"> <img src="doc/images/results-scannet-pose.png" width="36%"/> <img src="doc/images/results-scannet-pcloud.png" width="63%"/> </p>

Full Documentation

We provide a documentation, but it is non-exhaustive. Please create a new issue if clarification is required regarding some part of the code. We will add documentation if required by the community.

Our documentation can be found here.

Contributions

See the CONTRIBUTING file for how to help out.

License

SiLK is licensed under a GNU General Public License (Version 3), as specified in the LICENSE file.