DELG:Unifying Deep Local and Global Features for Image Search论文代码复现

前言

之前在研究图像检索的过程中,在网上看了一些资料,发现许多方法的检索结果并不是非常适合我的数据集,于是在翻看论文的时候看到了*《Large-Scale Image Retrieval with Attentive Deep Local Features》*等几篇论文,其中还包含Unifying Deep Local and Global Features for Image Search,于是进行尝试了下。

源码地址

GItHub

环境的搭建

由于Linux的环境搭建很方便,网上教程也很多,就不过多赘述,在此也贴上Windows环境搭建的链接,方便同学们查看:点击这里

复现过程

准备工作

在GitHub中,作者给出的教程也很详细,也就是先下载数据集,解压,如果不想自己训练模型,也可以直接通过调用已经训练好的模型。
需要注意的一点就是,需要注意各部分代码中包含的路径,如果路径错误,因为raise error经过‘包装’,不会告知你是具体在哪里的错误。

更换数据集

在论文中,对于验证集,所有相关信息都写在了mat文件中,明显如果我们要更换验证集,就需要大量的标注工作,但是经过实践后,只需要我们更换一下dataset文件里面的ReadDatasetFile()函数,进行常规的文件读取就可以完成更换数据集的工作。

def ReadDatasetFile():
  file_dir = 'E:\\all_images\\school_nearby\\'
  index_list = os.listdir(file_dir)
  index_list = "".join(index_list)
  index_list = index_list.replace('jpg','')
  index_list = index_list.split('.')
  for i in index_list:
    if i == '':
      index_list.remove(i)

  qfile_dir = 'E:\\all_images\\query_image\\'
  query_list = os.listdir(qfile_dir)
  query_list = "".join(query_list)
  query_list = query_list.replace('jpg','')
  query_list = query_list.split('.')
  for i in query_list:
    if i == '':
      query_list.remove(i)

  return query_list,index_list

这个就是我我自己写的读取文件函数,是可用的。

实际效果

经过实践,发现效果真的非常不错,只能说作者团队还是非常强的,因为这个模型的泛化能力真的非常强大!
我们来看一下实际效果:


因为我想要的效果是能够根据输入的图片来查找最接近的地理位置,而这个方法无疑能够达到我的需求,很赞呐!!

结言

在这一领域,还需要太多太多需要学习~~

你可能感兴趣的:(深度学习-图像处理,python,深度学习)