Deep Learning of Binary Hash Codes for Fast Image Retrieval
Deep Learning of Binary Hash Codes for Fast Image Retrieval
论文下载地址
这是一篇台湾中研院发表在CVPR2015年的文章。
之前deep hash,一般来说,网络根据图像的label,输入一个二元组或者三元组,利用CNN网络提取出图像的特征,根据相同的label应该具备比较接近的海明距离作为网络的优化目标,然后提出一种新的目标函数,采用优化策略使函数能够求导,利用BP算法,得到最优解。本篇paper主要有以下几点贡献:
- 在第7层后加入了一个全连接层,类似于LSH的作用,得到了二进制串。
- 训练采用分类任务的loss进行finetune。
- 检索的过程采用了层次的搜索。
Method
![](/assets/blank.gif)
图 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个值。通过设定阈值对输出进行二值化:
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次迭代。
结果如下所示:
![](/assets/blank.gif)
![](/assets/blank.gif)
CIFAR-10
同样把 F8 F_8改为10-way的softmax,latent layer节点的数目设置为48和128。
实验结果如下所示:
![](/assets/blank.gif)
![](/assets/blank.gif)
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相关推荐
- 基于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 ...
- Deep Learning of Binary Hash Codes for Fast Image Retrieval(代码跑通了)
deephash:项目地址 (pytorch14) liuyitao@gpu3:~/XIAN_AI/xuda/deephash/pytorch_deephash-master$ python trai ...
- Deep Learning of Binary Hash Codes for Fast Image Retrieval(2015)
基于pytorch框架实现 https://github.com/flyingpot/pytorch_deephash 知乎上面解读 https://zhuanlan.zhihu.com/p/2389 ...
- Must-read papers on deep learning to hash
哈希开源库 https://cloud.tencent.com/developer/article/1425650 pytorch实现 https://github.com/search?q=pyto ...
- 基于deep learning的快速图像检索系统
深度学习与计算机视觉(11)_基于deep learning的快速图像检索系统 作者:寒小阳 时间:2016年3月. 出处: 声明:版权所有,转载请联系作者并注明出处 1.引言 本系统是基于CV ...
- 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 ...
- 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 ...
- 《Roller: Fast and Efficient Tensor Compilation for Deep Learning》
<Roller: Fast and Efficient Tensor Compilation for Deep Learning> 用于深度学习 快速高效的张量编译器 作者 微软亚洲研究院 ...
- 《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 ...
最新文章
- The database returned no natively generated identity value错误解决方案
- 在gitee下使用git克隆企业仓库
- 解决PLSQL Developer 9连接oracle10g出现乱码
- TP查询搜索函数的find select get value
- 关于sprintf和snprintf的比较
- 快速掌握 10 个 HTML5 必备技巧
- crx文件里面的html文件,javascript – Chrome扩展程序:在crx文件中打开html,标签上没有图标...
- MongoDB数据库读书笔记
- pandas 行列转换
- EasyExcel 三分钟搞定导入导出
- 傅里叶变换和逆变换公式的我理解意义
- Excel方向键无法移动单元格/scrollLock解锁方法
- 20世纪十大哲学问题
- 分享|百度ACE智能交通“双智”实践蓝皮书(附PDF)
- LifecycleScope
- 梦想在此起航,定要全力以赴。
- nbu进程的异常造成备份出错
- Unity 理解预制体(Prefab)和预制体变体(PrefabVariant)
- 关于VESA的一些简单介绍
- 天玑9000和麒麟990处理器哪个好
热门文章
- linux创建目录无权限,linux下文件夹权限 linux 创建文件夹没有权限
- 光盘 显示0字符 无法读取文件的修复方法!!
- JavaScript正则表达式:正则表达式中的特殊字符
- linux dd删目录,dd命令详解(清除硬盘数据)
- 【前端圭臬】十:从规范看 JavaScript 执行上下文(上)
- MySQL 字符串函数:字符串截取
- 怎么给视频添加字幕?分享一种非常便捷的加字幕方法
- html坦克游戏,HTML5经典小游戏之坦克
- 我不写故事,只是想聊一聊关于聊天这件事情
- java jvm 参数 -Xms -Xmx -Xmn -Xss 调优