HF-Net:是一种大尺度下的稳健分层定位算子,论文为 CVPR 2019《HF-Net: Robust Hierarchical Localization at Large Scale》。 引入了六自由度视觉定位方法,该方法准确,可扩展且有效,使用HF-Net(单层深度神经网络用于描述子的提取(类似sift).据官方说提出的解决方案可实时运行,而且在很多大型数据集上准确度很高.
HFnet配置起来说难很难,说简单也很简单.主要是他的tensorflow使用的是老版本的1.12,导致其他相关的依赖库要有适合的版本才能运行,里面的细节有很多的坑,运气好的直接跑起来,运气不好像笔者这样就要费一番功夫.
接下里贴上笔者自己实验成功的版本配置,读者可以先按自己的配置安装,如果报错一个一个解决,很多问题都是tf1.12和CUDA 10.x不兼容的问题导致的:
GPU:GTX1060 nvida驱动:418.56 CUDA Version: 9.0.176 cudnn:libcudnn7_7.1.4.18-1+cuda9.0_amd64 tensorflow == 1.12 numpy == 1.60 Keras == 2.2.4
hfnet-github地址下载好之后在文件夹里:
make install # install Python requirements, setup paths安装过程中如果遇到模型路径的设置,可以按下文下载好的文件存放路径填写. 可以简单看一眼配置文件的内容:(可以看到是没有keras的,如果遇到keras的问题,可以pip安装上文的版本),
cd hfnet-master/setup nano requirements.txt tensorflow-gpu==1.12 torch==0.4.1 numpy scipy opencv-python tqdm pyyaml flake8 jupyter matplotlib protobuf sklearn pillow deepdish下载官方为我们训练好的权重HFnet权重下载地址,文件名为hfnet_tf.tar.gz,解压后有两个文件夹:hfnet和saved_models,把他们放在hfnet-master文件夹里. 如果中间没有其他报错,那么基本上安装已经成功,接下来我们运行一下库中自带的demo.
HF-Net初探之二:运行demo及相关报错处理