曠視開源了一套影像檢索和 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)。
02 方法
該庫目前支援的方法:
DirectResize (DR): 將影像長寬縮放到目標大小; PadResize (PR): 根據影像長邊將影像等比例縮放到目標大小,空白區域用ImageNet均值填充; ShorterResize (SR): 根據影像短邊將影像等比例縮放到目標大小; TwoFlip (TF): 返回原始影像和水平翻轉影像; CenterCrop (CC): 從影像中心crop出目標大小的影像區域; TenCrop (TC): crop影像並按照上下左右翻轉
3、後處理方法:
SVD : 使用矩陣SVM分解降維; PCA : PCA降維度; DBA : 資料庫中每一個特徵用它自己和自己的近鄰的加權和表示; QE : 使用返回的 top-k 近鄰 和原始查詢影像再進行一次檢索; k-reciprocal : 編碼K個倒數最近鄰,增強檢索精度。
03 結果
作者在基於內容的影像檢索(CBIR)和行人重識別(ReID)常用資料集 Oxford5k、CUB-200-2011、Indoor、Caltech101、Market-1501上進行了實驗。
使用 PyRetri 檢索時各階段用時比較:
論文地址:
https://arxiv.org/abs/2005.02154
程式碼地址:
https://github.com/PyRetri/PyRetri
模型下載:
官方不僅開源了程式碼,也提供了在ImageNet、Places365、Market-1501、DukeMTMC-reID資料集上的預訓練模型,可惜國內無法下載。