HF-Net初探之二:运行demo及相关报错处理

在浏览器中打开demo.ipynb文件

官方提供的demo在库的根目录下面,名为demo.ipynb,接触过数据学科的同学很熟悉,要用jupyter打开,回去看看配置文件,官方已经贴心的帮我们安装好了.
在hfnet文件中中打开命令行,输入:

jupyter notebook

就会在浏览器中出现在这里插入图片描述
打开demo.ipynb会出现如下的视图,这就已经可以开始调试,运气好的同学点击run就可以一个一个运行直到出现最后的结果,笔者就属于不好的,接下来就一个一个来解决.在这里插入图片描述

运行中报错处理

加载依赖库时,ros相关错误

首先,安装ros的同学会报一个ros的opencv版本冲突的错误,可以这样解决,给最开头
加上,如果没有遇到这个错误,就不用care:

import sys
ros_path = '/opt/ros/kinetic/lib/python2.7/dist-packages'
if ros_path in sys.path:
    sys.path.remove(ros_path)

图片加载错误

  File "<ipython-input-6-5687d5d2c80a>", line 3
    image_query = read_image(f'query{query_idx}.jpg')
                                                   ^
SyntaxError: invalid syntax

按理来说要写一个自动化的读图脚本,但是笔者只是现在demo中测试一下出个结果.所以就先偷懒一下,用笨办法解决,以后使用的时候再优化,程序效果是一样的

image_query =cv2.imread('/home/indemind/Documents/indemind/hfnet-master/doc/demo/query1.jpg')
#images_db = [read_image(f'db{i}.jpg') for i in range(1, 5)]
image1 = cv2.imread('/home/indemind/Documents/indemind/hfnet-master/doc/demo/db1.jpg')
image2 = cv2.imread('/home/indemind/Documents/indemind/hfnet-master/doc/demo/db2.jpg')
image3 = cv2.imread('/home/indemind/Documents/indemind/hfnet-master/doc/demo/db3.jpg')
image4 = cv2.imread('/home/indemind/Documents/indemind/hfnet-master/doc/demo/db4.jpg')
image5 = cv2.imread('/home/indemind/Documents/indemind/hfnet-master/doc/demo/db5.jpg')
images_db = [image1,image2,image3,image4,image5]
print(image1.shape)
plot_images([image_query] + images_db, dpi=50)

此时如果没有错误,就可以得到以下的结果:在这里插入图片描述

加载训练模型的错误

首先将模型的路径填写正确,笔者的模型路径如下,否则会报一个找不到pd.txt文件的错误
错误:OSError: SavedModel file does not exist at: /home/indemind/Documents/indemind/hfnet/hfnet/saved_models/hfne/{saved_model.pbtxt|saved_model.pb}

model_path = Path(EXPER_PATH, '/home/indemind/Documents/indemind/hfnet-master/saved_models/hfnet')
outputs = ['global_descriptor', 'keypoints', 'local_descriptors']
hfnet = HFNet(model_path, outputs)

如果出现,说明加载成功[07/09/2020 18:30:35 INFO] Restoring parameters from /home/indemind/Documents/indemind/hfnet-master/saved_models/hfnet/variables/variables

加载模型的错误非常多,但大多数是与CUDA,numpy,tensorflow等的版本相关的错误,可以一个一个百度/google,如果一直好不了,可能就得像笔者一样,将相关的库一一卸载,然后安装成合适的版本.如果没有错误就可以继续往下执行.

运行结果

在这里插入图片描述
可以看到HFnet通过模型提取特征,并且找到检索图像对应的白天场景,并且讲绘制出匹配连线.
接下来我们讲把HFnet当做一种匹配描述子来测试一下他的性能:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值