Deep Learning of Binary Hash Codes for Fast Image Retrieval

论文下载地址
这是一篇台湾中研院发表在CVPR2015年的文章。
之前deep hash,一般来说,网络根据图像的label,输入一个二元组或者三元组,利用CNN网络提取出图像的特征,根据相同的label应该具备比较接近的海明距离作为网络的优化目标,然后提出一种新的目标函数,采用优化策略使函数能够求导,利用BP算法,得到最优解。本篇paper主要有以下几点贡献:

  1. 在第7层后加入了一个全连接层,类似于LSH的作用,得到了二进制串。
  2. 训练采用分类任务的loss进行finetune。
  3. 检索的过程采用了层次的搜索。

Method



图 1 主要结构

整个过程主要有以下三部分:

  • 在大规模的数据集进行pre-training
  • 加入Latent layer,利用分类的loss进行fine tune
  • 图像搜索过程中,采用hierarchy deep search

最近研究发现,输入的图像经过网络 F6−8 F_{6-8}得到的信息在图像分类,检索中有很大作用。但是这些信息又是高维(上千维)的特征,这些特征直接用于检索,将会非常耗时。直观的想法就是把这些有效的特征用来压缩变成二进制特征,来进行计算海明距离。所以,作者修改了网络结构,在 F7 F_7和 F8 F_8之间加入了全连接层,fine-tune的过程中,随机初始化latent layer进行训练。

在检索的过程中,浅层学习了图像的局部特征,深层学习了语义信息。作者提出了一个粗粒度到细粒度的检索策略,首先检索语义信息,得到相似的候选集,然后再从候选集中利用mid-level进行检测。

给定图片 I I,首先作者利用latent layer得到的输出作为图像的信息,记作Out(H)Out(H)。latent layer总共有h个节点,会得到h个值。通过设定阈值对输出进行二值化:

Hj={1,Outj(H)>0.50,otherwise

H_j = \begin{cases}1, Out_j(H) > 0.5&\\ 0 ,\quad otherwise \end{cases}
假定图像集为 Γ={I1,I2,I3,......,In} \Gamma=\{I_1,I_2,I_3,......,I_n\},n是待检索图像的数目。每幅图像得到一个长度为h的二进制码 Hi∈{0,1}h H_i \in \{0,1\}^h,得到二进制码的集合 ΓH={H1,H2,H3,......,Hn} \Gamma_H=\{H_1,H_2,H_3,......,H_n\}。给定查询图像 Iq I_q,首先根据海明距离,取小于指定阈值的二进制码,得到包含m个元素的候选集 P={Ic1,Ic2,Ic3,......,Icn} P=\{I_1^c,I_2^c,I_3^c,......,I_n^c\}。

得到候选集以后,作者从第7层的输出,和候选集图像的第7层输出特征,进行计算欧式距离,然后选取最小的K个特征。

Experiment

作者分别在Mnist,CIFAR-10, Yahoo-1M数据集上进行实验。

MNIST

mnist数据集总共10类,修改网络 F8 F_8为10-way 的softmax预测分类结果。作者加入了latent layer,为了进行比较,分别设置latent节点个数为48和128,使用SGD方法进行训练。learning rate 0.001,5000次迭代。
结果如下所示:



CIFAR-10

同样把 F8 F_8改为10-way的softmax,latent layer节点的数目设置为48和128。
实验结果如下所示:



Yahoo-1M

数据集图像总共116类,最后分类层神经元数目设定为116。latent layer节点的数目设定为128。
作者分别测试了不同网络和网络层得到的特征进行比较:

  • ALexNet pre-training F7得到的特征
  • Ours-ES 作者网络F7得到的特征
  • Ours-BCS 作者网络latent-layer 得到的二进制特征
  • Ours-HDS 融合作者网络的F7 和latent layer的特征

References

Kevin Lin†, Huei-Fang Yang†, Jen-Hao Hsiao‡, Chu-Song Chen
Deep Learning of Binary Hash Codes for Fast Image Retrieval cvpr 15

Deep Learning of Binary Hash Codes for Fast Image Retrieval相关推荐

  1. 基于deep learning的快速图像检索(Deep Learning of Binary Hash Codes for Fast Image Retrieval)

     基于deep learning的快速图像检索(Deep Learning of Binary Hash Codes for Fast Image Retrieval) 2016-07-25 14 ...

  2. Deep Learning of Binary Hash Codes for Fast Image Retrieval(代码跑通了)

    deephash:项目地址 (pytorch14) liuyitao@gpu3:~/XIAN_AI/xuda/deephash/pytorch_deephash-master$ python trai ...

  3. Deep Learning of Binary Hash Codes for Fast Image Retrieval(2015)

    基于pytorch框架实现 https://github.com/flyingpot/pytorch_deephash 知乎上面解读 https://zhuanlan.zhihu.com/p/2389 ...

  4. Must-read papers on deep learning to hash

    哈希开源库 https://cloud.tencent.com/developer/article/1425650 pytorch实现 https://github.com/search?q=pyto ...

  5. 基于deep learning的快速图像检索系统

    深度学习与计算机视觉(11)_基于deep learning的快速图像检索系统 作者:寒小阳  时间:2016年3月.  出处:  声明:版权所有,转载请联系作者并注明出处 1.引言 本系统是基于CV ...

  6. Turbo Autoencoder: Deep learning based channel code for point-to-point communication channels

    Turbo Autoencoder: Deep learning based channel code for point-to-point communication channels Abstra ...

  7. AnatomyNet: Deep Learning for Fast and Fully Automated Whole-volume Segmentation of Head and Neck An

    AnatomyNet: Deep Learning for Fast and Fully Automated Whole-volume Segmentation of Head and Neck An ...

  8. 《Roller: Fast and Efficient Tensor Compilation for Deep Learning》

    <Roller: Fast and Efficient Tensor Compilation for Deep Learning> 用于深度学习 快速高效的张量编译器 作者 微软亚洲研究院 ...

  9. 《Deep Learning With Python second edition》英文版读书笔记:第十一章DL for text: NLP、Transformer、Seq2Seq

    文章目录 第十一章:Deep learning for text 11.1 Natural language processing: The bird's eye view 11.2 Preparin ...

最新文章

  1. The database returned no natively generated identity value错误解决方案
  2. 在gitee下使用git克隆企业仓库
  3. 解决PLSQL Developer 9连接oracle10g出现乱码
  4. TP查询搜索函数的find select get value
  5. 关于sprintf和snprintf的比较
  6. 快速掌握 10 个 HTML5 必备技巧
  7. crx文件里面的html文件,javascript – Chrome扩展程序:在crx文件中打开html,标签上没有图标...
  8. MongoDB数据库读书笔记
  9. pandas 行列转换
  10. EasyExcel 三分钟搞定导入导出
  11. 傅里叶变换和逆变换公式的我理解意义
  12. Excel方向键无法移动单元格/scrollLock解锁方法
  13. 20世纪十大哲学问题
  14. 分享|百度ACE智能交通“双智”实践蓝皮书(附PDF)
  15. LifecycleScope
  16. 梦想在此起航,定要全力以赴。
  17. nbu进程的异常造成备份出错
  18. Unity 理解预制体(Prefab)和预制体变体(PrefabVariant)
  19. 关于VESA的一些简单介绍
  20. 天玑9000和麒麟990处理器哪个好

热门文章

  1. linux创建目录无权限,linux下文件夹权限 linux 创建文件夹没有权限
  2. 光盘 显示0字符 无法读取文件的修复方法!!
  3. JavaScript正则表达式:正则表达式中的特殊字符
  4. linux dd删目录,dd命令详解(清除硬盘数据)
  5. 【前端圭臬】十:从规范看 JavaScript 执行上下文(上)
  6. MySQL 字符串函数:字符串截取
  7. 怎么给视频添加字幕?分享一种非常便捷的加字幕方法
  8. html坦克游戏,HTML5经典小游戏之坦克
  9. 我不写故事,只是想聊一聊关于聊天这件事情
  10. java jvm 参数 -Xms -Xmx -Xmn -Xss 调优