版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
本文记录了本小学渣利用官方源代码复现DELF图像检索算法的过程,希望能帮助同样实现本任务的小伙伴们避开一些坑,更快捷地完成实现!
目录
论文简介
在2017年与2019年先后有两篇关于 DELF(DEep Local Features) 的论文发表,其中提出了基于深度网络提取的一种局部图像特征,可以用于大规模图像检索。目前基于这两篇论文的合体的研究成果代码已在 Github 开源:delf-Github.
两篇论文分别为:
Large-Scale Image Retrieval with Attentive Deep Local FeaturesICCV’2017.
Detect-to-Retrieve: Efficient Regional Aggregation for Image SearchCVPR’2019.
以下论文对现有的多种图像检索算法进行了对比,其中DELF取得了最优的效果:
Revisiting Oxford and Paris: Large-Scale Image Retrieval BenchmarkingCVPR’2018.
废话少说,我们先复现功能再详细学习。
环境配置
CPUUbuntu 18.04python 3.6.9tensorflow 1.14
(以上仅供参考)
安装
(注意要全程使用 pip3 / python3指令)
首先安装 Protobuf,(因为这是我第一次使用这个包哈哈哈)
wget https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.zip unzip protoc-3.3.0-linux-x86_64.zip PATH_TO_PROTOC=`pwd`
可能需要安装一些依赖项:
pip3 install matplotlib numpy scikit-image scipy
接下来下载整个 tensorflow/models 的Github 目录,(其中包含delf