旷视开源了一套图像检索和ReID的PyTorch库

旷视开源了一套图像检索和 ReID 的 PyTorch 库,论文“PyRetri: A PyTorch-based Library for Unsupervised Image Retrieval by Deep Convolutional Neural Networks”介绍了其主要内容。

 

01 架构
深度学习图像检索无监督方法的架构:
  • 在特征提取阶段,包含:数据增强(Data Augmentation对图像做各种变换)、骨干网选择(Backbone,使用不同的骨干网架构和预训练模型)、特征聚合(Aggregation,将不同网络提取的特征聚合成一个特征向量)。
  • 在索引阶段,包含:维度处理(Dimension Process,PCA降维等)、特征增强(Feature Enhance)、距离度量(Distance Metric,衡量样本之间的相似性)、重排序(Rerank,对相似度较高的图像按照再次查询等方法重新排序)。
  • 在评估阶段,包含:结果量化(Quantitative results)和可视化(Visualization)。
0方法
该库目前支持的方法:
1、前处理方法:
  • DirectResize (DR): 将图像长宽缩放到目标大小;
  • PadResize (PR): 根据图像长边将图像等比例缩放到目标大小,空白区域用ImageNet均值填充;
  • ShorterResize (SR): 根据图像短边将图像等比例缩放到目标大小;
  • TwoFlip (TF): 返回原始图像和水平翻转图像;
  • CenterCrop (CC): 从图像中心crop出目标大小的图像区域;
  • TenCrop (TC): crop图像并按照上下左右翻转
2、特征表示方法:

 

3、后处理方法:

  • SVD : 使用矩阵SVM分解降维;
  • PCA : PCA降维度;
  • DBA : 数据库中每一个特征用它自己和自己的近邻的加权和表示;
  • QE : 使用饭就的 top-k 近邻 和原始查询图像再进行一次检索;
  • k-reciprocal : 编码K个倒数最近邻,增强检索精度。
特别值得一提的是,为了降低用户选择不同算法和超参数配置的难度,PyRetri提供了自动化的配置搜索工具,可根据用户定义的搜索空间和搜索脚本,自动选择最优的算法流程。
03 结果
作者在基于内容的图像检索(CBIR)和行人重识别(ReID)常用数据集 Oxford5k、CUB-200-2011、Indoor、Caltech101、Market-1501上进行了实验。

上表列出了通过搜索配置得到的前三个算法配置和每个数据集上的baseline方案结果的比较,可见使用官方推荐的配置工具,大大提高了检索mAP!

使用 PyRetri 检索时各阶段用时比较:

 

可见每幅图像平均时间还不到 8ms。
以下是在ReID问题上的实验结果:
可见,PyRetri 较好的复现了经典论文的结果,而且如果使用自动搜索配置的方法,能大幅提高精度!超过原方案10个百分点之多!

 

论文地址:

https://arxiv.org/abs/2005.02154

代码地址:

https://github.com/PyRetri/PyRetri

模型下载:

官方不仅开源了代码,也提供了在ImageNet、Places365、Market-1501、DukeMTMC-reID数据集上的预训练模型,可惜国内无法下载。

CV君已经将其搬运到了百度云,在我爱计算机视觉公众号后台回复“PyRetri”,即可收到下载链接。

转载请注明:《旷视开源了一套图像检索和ReID的PyTorch库