DELF: DEep Local Features在windows10环境下的安装配置

       以图搜图模式的图像检索是CBIR(基于内容的图像检索)任务中最难的一块,传统的基于SIFT、SURF、ORB的方法主要基于点结构特征和统计模型。DELF是google基于CNN框架提出的一种图像点特征抽取方法和匹配方法,特点是引入了注意力得分判断模型。DELF: DEep Local Features是一系列相关研究的起点,该团队后续研究都可以在delf的官方资料中找到。这个项目的环境配置比较复杂,本文记录相关环境的配置过程,后续文章会对论文的思路进行介绍。

目录

0 编译环境

参考资料

所需软件包及版本

1.安装显卡驱动和CUDA

1.1 查看显卡控制面板

1.2 下载CUDA10.1

1.3安装CUDA10.1

 1.4 配置环境变量

 1.5 测试

2.安装python环境

2.1安装Anaconda3 5.2

2.2安装tensorflow2.2

2.3测试

3.安装DELF配套环境

3.1 准备工作

3.2 安装tf-Slim

3.3 安装Protobuf

4. 安装Delf

4.1 安装tensorflow/models

4.2 编译delf中的protoc文件

4.3安装DELF包

4.4 常见错误

4.5 测试图像

4.6 模型文件

 4.7 图像列表

 4.8 执行特征抽取

 4.9 执行特征匹配


0 编译环境

参考资料

1.delf官方资料

models/research/delf at master · tensorflow/models · GitHub

所需软件包及版本

windows 10  20H2
anaconda3-5.2
python 3.6.5
cuda10.1
tensorflow 2.2
vscode

1.安装显卡驱动和CUDA

不使用GPU的TX可以跳过本节,在安装tensorflow时选择cpu版本即可。

1.1 查看显卡控制面板

 红线标记了CUDA 最高支持版本,只要版本号高于10.1就可以安装。

如果CUDA驱动版本号低于10.1,可以去官方下载高版本驱动。

显卡驱动下载地址,官方 GeForce 驱动程序 | NVIDIA。

1.2 下载CUDA10.1

CUDA版本需要和cuDNN版本一致,cuDNN很难从官方下载,貌似中国区被屏蔽了。所以先在官网下载CUDA10.1。

CUDA Toolkit Archive | NVIDIA Developer

下载地址 CUDA Toolkit 10.1 update2 Archive | NVIDIA Developer

然后去百度网盘下载cuDNN。(这是一位网友分享的,非常感谢。)

cudnn-10.1-windows10-x64-v7.6.0.64.zip_免费高速下载|百度网盘-分享无限制

 如果可以访问官网也可以去官网下载,注意选择匹配的版本。

Download cuDNN v8.0.5 (November 9th, 2020), for CUDA 10.1

下载地址 cuDNN Archive | NVIDIA Developer

1.3安装CUDA10.1

 CUDA安装很简单,运行CUDA安装程序,全程默认安装。

cuDNN安装比较奇特,需要先解压,然后将下面的文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1目录,这个是CUDA10.1默认安装目录。

覆盖完成后的文件夹是这样的

 1.4 配置环境变量

在高级系统设置中选择path

 在path中添加以下目录,

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\bin\win64

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\common\lib\x64

 

 1.5 测试

打开运行(win+R),输入cmd,打开命令提示符(管理员) 在命令提示符中,输入nvcc -V(中间有空格)后,按回车,会显示CUDA的版本号信息,表明安装成功!

2.安装python环境

2.1安装Anaconda3 5.2

Anaconda3 5.2对应的是python3.6.5,DELF需要python支持,所以选这个版本,对应的tensorflow版本是2.2。

anaconda3 推荐在清华镜像下载,注意选择5.2版本,默认安装。

.Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror22

2.2安装tensorflow2.2

1.以管理员身份运行cmd,输入以下命令升级pip

python -m pip install --upgrade pip

2. 然后运行以下命里安装tensorflow-gpu

pip install tensorflow-gpu==2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

也可以使用下面的命令安装cpu版本的tensorflow

pip install tensorflow==2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

上面是用清华镜像安装,公网用户可以将镜像地址替换为豆瓣

http://pypi.douban.com/simple --trusted-host pypi.douban.com

3.可能的错误

1.ERROR: Cannot uninstall 'wrapt'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

输入 pip install -U --ignore-installed wrapt enum34 simplejson netaddr

2.3测试

在python中输入以下程序测试

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello=tf.constant('Hello,Tensorflow!')
sess=tf.compat.v1.Session()
print(sess.run(hello))

3.安装DELF配套环境

推荐使用conda部署DELF的配套环境。

建议先在硬盘上创建一个工程文件夹,然后在该文件夹执行以下指令,本文使用的目录是C:\dlenv。

3.1 准备工作

注册GITHUB账号,添加SSH。具体方法可参考下面文章。

Github 生成SSH秘钥(详细教程)_sunwenxu的博客-CSDN博客_github ssh

3.2 安装tf-Slim

cd c:\dlenv
git clone git@github.com:google-research/tf-slim.git
cd tf-slim
pip3 install .

3.3 安装Protobuf

下载protobuf Releases · protocolbuffers/protobuf · GitHub

本文下载的是3.17.3版本,项目要求版本>=3.3即可

Releases · protocolbuffers/protobuf · GitHub

下载上述文件包后解压到工程目录

 

 将protoc-3.17.3-win64\bin下的protoc.exe复制到protobuf-python-3.17.3\protobuf-3.17.3\src

打开cmd窗口,执行下面的命令编译

cd C:\dLenv\protobuf-python-3.17.3\protobuf-3.17.3\python
python setup.py build

执行命令,测试编译是否成功

python setup.py test

 执行下面命令安装

python setup.py install 

进入python,执行下面命令测试安装是否成功

import google.protobuf

4. 安装Delf

安装前建议先安装vscode。

4.1 安装tensorflow/models

打开cmd,进入工程文件夹,执行下面命令

git clone git@github.com:tensorflow/models.git

或者,这个会快一点。

git clone https://github.com/tensorflow/models.git

下载有点慢,还会卡住,如果卡住可以关掉后重新执行。

4.2 编译delf中的protoc文件

打开cmd执行以下命令。

cd C:\dLenv\models\research\delf
C:\dLenv\protoc-3.17.3-win64\bin\protoc delf/protos/*.proto --python_out=.

4.3安装DELF包

建议先修改C:\dLenv\models\research\delf\setup.py文件,将版本需求的>=改为==。

打开cmd执行以下命令。

cd C:\dLenv\models\research\delf
pip install -e .

4.4 常见错误

这里可能会自动升级到较高的版本,下面是一些降版本的方法。

numpy版本过高,在编译程序时会出现以下问题。

报错

ImportError: cannot import name '_validate_lengths'

打开cmd修改版本

pip install numpy==1.16.1

4.5 测试图像

http://www.robots.ox.ac.uk/~vgg/data/oxbuildings/oxbuild_images.tgz

将图像数据解压到C:\dLenv\models\research\delf\data\oxford5k_images目录,data文件夹需要自己创建。

另外在data文件夹创建一个oxford5k_features文件夹存放特征文件

4.6 模型文件

下载模型文件 http://download.tensorflow.org/models/delf_v1_20171026.tar.gz

 创建parameters目录存放解压的模型文件

 4.7 图像列表

在delf根目录创建list_image.txt文本文件,将图像文件名和路径填写到文件中,文件编码为utf-8。

 4.8 执行特征抽取

用vscode打开C:\dLenv\models\research\delf目录

 打开python\example目录下的delf_config_example.pbtxt文件,修改默认输入参数与前面设定的一致。

 打开python\example目录下的extract_features.py文件,修改默认输入参数与前面设定的一致。


执行extract_features.py,抽取的特征文件保存在C:\dLenv\models\research\delf\data\oxford5k_features中。

 4.9 执行特征匹配

 打开python\example目录下的match_images.py文件,修改默认输入参数。

 

 执行match_images.py

匹配结果输出到C:\dLenv\models\research\delf的aaa文件。

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值