PyRetri (pronounced as [ˈperɪˈtriː]) is a unified deep learning based image retrieval toolbox based on PyTorch, which is designed for researchers and engineers.
PyRetri is a versatile deep learning based image retrieval toolbox designed with simplicity and flexibility in mind.
- Modular Design: We decompose the deep learning based image retrieval into several stages and users can easily construct an image retrieval pipeline by selecting and combining different modules.
- Flexible Loading: The toolbox is able to adapt to load several types of model parameters, including parameters with the same keys and shape, parameters with different keys, and parameters with the same keys but different shapes.
- Support of Multiple Methods: The toolbox directly supports several popluar methods designed for deep learning based image retrieval, which is also suitable for person re-identification.
- Combinations Search Tool: We provide the pipeline combinations search scripts to help users to find the optimal combinations of these supported methods with various hyper-parameters.
The toolbox supports popluar and prominent methods of image retrieval and users can also design and add their own modules.
- Pre-processing
- DirectReszie, PadResize, ShorterResize
- CenterCrop, TenCrop
- TwoFlip
- ToTensor, ToCaffeTensor
- Normalize
- Feature Representation
- Post-processing
- SVD, PCA
- DBA
- QE, K-reciprocal
This project is released under the Apache 2.0 license.
Please refer to INSTALL.md for installation and dataset preparation.
Please see GETTING_STARTED.md for the basic usage of PyRetri.
Results and models are available in MODEL_ZOO.md.
If you use this toolbox in your research, please cite this project.
If you have any questions about our work, please do not hesitate to contact us by emails.
Xiu-Shen Wei: weixs.gm@gmail.com
Benyi Hu: hby0906@stu.xjtu.edu.cn
Renjie Song: songrenjie@megvii.com