前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文阅读——利用Binary Hash Codes的深度图像检索

论文阅读——利用Binary Hash Codes的深度图像检索

作者头像
felixzhao
发布2018-03-20 16:10:56
1K0
发布2018-03-20 16:10:56
举报
文章被收录于专栏:null的专栏null的专栏null的专栏

这篇文章是阅读《Deep Learning of Binary Hash Codes for Fast Image Retrieval》后的总结,该文章提出了一种利用CNN处理基于内容的图像检索的方法。

文章的重点

  • 图像的binary hash code的生成方法
  • 两阶段的检索方法——coarse-to-fine search strategy

1、基于内容的图像检索

1.1、基于内容的图像检索

基于内容的图像检索(Content-based Image Retrieval,CBIR)旨在通过对图像内容的分析搜索出相似的图像,其主要的工作有如下两点:

  • 图像表示(image representation)
  • 相似性度量(similarity measure)

1.2、基于CNN的图像内容提取

以AlexNet卷积神经网络为例,AlexNet的网络结构如下图所示:

这里写图片描述
这里写图片描述

(图片来源:ImageNet Classification with Deep Convolutional Neural Networks)

将最终的4096维向量作为最终图像的特征向量。这样的向量是一些高维向量,不利于计算。

2、二进制哈希编码的深度学习方法

2.1、模型结构

模型结构如下图所示:

这里写图片描述
这里写图片描述

在文章中,作者指出,该模型主要有三个主要的部分:

  • 在大规模的ImageNet数据集上进行有监督的预训练;
  • 在目标数据集上对模型进行微调,同时增加隐含层;
  • 接收query,提取query的hash编码,同时查找相似的图像。

2.2、对hash的二进制编码的学习

本人认为在上图中,F7F7F_7与F8F8F_8之间会存在一个隐层,这一点不影响对Latent Layer的构造。

如上所述,我们可以使用F7F7F_7的结构作为图像的特征,但是这样的向量是一个高维的向量(4096维),这样的向量不利于计算。解决的方法有:降维(如PCA,Hash等方法)。通过Hash的方法构造出来的二进制的编码形式,可以利用hashing和Hamming距离计算相似度,那么能否通过模型学习到最好的Hash方法?

解决的方法是在F7F7F_7和F8F8F_8之间增加一个映射层(Latent Layer)H,那么如果两个图片生成的二进制编码相似,那么这两张图片也应该具有相同的标签。在H层的激活函数为Sigmoid函数。

2.3、检索

在深层的卷积神经网络中,浅层可以学习到局部的视觉表征,而深层可以捕获到适合识别的语义信息。

在检索阶段,作者采用了由粗到精的搜索策略(coarse-to-fine search strategy):

  • 首先从Latent layer中检索出一批相似的候选集
2.3.1、粗粒度检索
2.3.2、细粒度检索
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、基于内容的图像检索
    • 1.1、基于内容的图像检索
      • 1.2、基于CNN的图像内容提取
      • 2、二进制哈希编码的深度学习方法
        • 2.1、模型结构
          • 2.2、对hash的二进制编码的学习
            • 2.3、检索
              • 2.3.1、粗粒度检索
              • 2.3.2、细粒度检索
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档