ZippyPoint: Fast Interest Point Detection, Description, and Matching through Mixed Precision Discretization
July 18, 2023 ยท View on GitHub
This is the official repository of ZippyPoint. ZippyPoint is an efficient detection and description neural networks for mobile or robot platforms. We utilize network quantization to enable realtime inference on computationally limited platforms. In addition, we propose the use of a binary descriptor normalization layer during the network optimization, enabling the generation of distinctive binary descriptors, essential for efficient descriptor matching.
This repository contains the "fake" quantized model based on TensorFlow and Larq, alongside an image matching demo. The generation of the quantization model relies on the Larq Compute Engine (LCE). Please refer to LCE for instructions on how to convert our ZippyPoint model for efficient deployment on your hardware platform of choice.
Dependencies
- Python 3 >= 3.8
- TensorFlow >= 2.4
- Larq >= 0.12.2
- OpenCV >= 3.4
- Matplotlib >= 3.1
- NumPy >= 1.18
Demo
Simply run the following command:
python demo.py --output_dir ./tmpdir/
Citation
If you use this code or models, please consider citing our paper:
@inproceedings{kanakis2023zippypoint,
title={ZippyPoint: Fast Interest Point Detection, Description, and Matching through Mixed Precision Discretization},
author={Kanakis, Menelaos and Maurer, Simon and Spallanzani, Matteo and Chhatkuli, Ajad and Van Gool, Luc},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={6113--6122},
year={2023}
}
Acknowledgements
This demo is based on that of SuperGlue