Hashing baseline for image retrieval

哈希基线图像检索
本项目提供了一个基于多种无监督哈希方法的大规模图像检索基线,包括PCA-ITQ、Spectral Hashing等,旨在降低研究者的入门门槛并促进算法创新。

Hashing Baseline for Image Retrieval(HABIR)

horse

horse

项目起源

目前我主要致力于基于哈希方法的大规模图像检索。在研究的过程中,我发觉几乎很少有研究者提供不同对比方法的代码。这为研究带来了很大不便,而且我坚信在研究的过程中,我们应专注于新算法的设计,而不是新人进来时都得重新造轮子,我们可以在现有代码的基础上学习它,并将它进行拓展,为自己使用。

于是,就有了你现在看到的这个hashing-baseline-for-image-retrieval,希望它能够为关注基于哈希方法进行图像检索的小伙伴们带去些许帮助。

hashing

哈希方法

  • PCA-ITQ,PCA-RR: Iterative Quantization. 作者建立的项目详细信息请移步这里:ITQ

    Yunchao Gong and Svetlana Lazebnik. Iterative Quantization: A Procrustean Approach to Learning Binary Codes. In: IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), 2011.

  • SH: Spectral Hashing. 作者建立的项目详细信息请移步这里:SH

    Y. Weiss, A. Torralba, R. Fergus. Advances in Neural Information Processing Systems, 2008.

  • SpH: Spherical Hashing. 作者建立的项目详细信息请移步这里:SpH

    Jae-Pil Heo, Youngwoon Lee, Junfeng He, Shih-Fu Chang, and Sung-eui Yoon. Spherical Hashing. CVPR, 2012.

  • LSH: Local Sensentive Hashing. Implemented by me.

  • SKLSH: Maxim Raginsky and Svetlana Lazebnik.

    Locality-sensitive binary codes from shift-invariant kernels. Advances in Neural Information Processing 22, pp. 1509-1517, 2009.

  • PCAH: PCA Hashing. Implemented by me.

  • DSH: Density Sensitive Hashing. 项目主页请移步这里:DSH.

注意:截止此刻,所有入选进行的哈希方法都是无监督的

数据库说明

数据库cifar_10yunchao.mat是来自Yunchao GongCIFAR10提取的320维GIST特征,第321维是图像的类别标签

待做事项

  • 完善文档
  • 绘制recall vs. the number of top retrieved samples曲线
  • 再添加一个数据库

运行环境

  • 64位系统(主要是图像数据库比较大,Windows或Linux都可以)
  • 16g内存(我电脑是16g的,8g的应该也行)

版本更新

  • V1.5 2014/09/28
    • 增加不同结果进行检索时的可视化结果/li>
  • V1.4 2014/09/22
    • 修复画MAP曲线的错误,重新以Gong Yunchao所用的计算曲线面积的方法画MAP曲线
    • 将原来画曲线时只运行一次改为运行多次(10次,程序中可以自己修改设定),对10次的MAP取平均,之所以这样做是因为不同的方法中用到了随机函数,通过运行多次减少每次运行结果的差异
  • V1.3 2014/08/21
    • 完成MAP随bits长度的曲线,添加进来SpH和DSH
    • 完善绘制的图,使画出的图更美观
    • 优化框架结构,使布局更有层次
  • V1.2 成型版本: 2014/08/19
  • V1.1 初始版本: 2013/09/26
  • V1.0 原型版本: 2013/07/22

结果演示

在64位编码下,查准率与召回率曲线如下:

precision-recall-64bits

平均检索精度MAP随bits长度的变化

map-numbers-of-bits

检索实例

本页顶部所示的是用不同的编码方法对“马”,下面展示更多的检索结果:

horse

horse

加入进来

如果你觉得这个对你有用,想加入进来的话,可以先clone过去,然后再Pull Requests.

致谢

本项目是在ITQ的基础上进行拓展的,感谢Yunchao Gong.

源地址链接:http://yongyuan.name/habir/

目前没有直接的站内引用内容可以用于回答关于Covariance Attention Guidance Mamba Hashing在跨模态检索方面的问题。但一般来说,在跨模态检索领域,相关的哈希方法旨在将不同模态的数据(如图像、文本等)映射到低维的哈希码空间,以实现高效的检索。 Covariance Attention Guidance Mamba Hashing可能具有以下特点用于跨模态检索: - **协方差注意力机制**:可以捕捉不同模态数据之间的协方差关系,更好地挖掘模态间的相关性,从而在生成哈希码时保留更多有用的跨模态信息。 - **Mamba结构**:Mamba可能为模型带来高效的计算能力和更好的序列建模能力,有助于处理不同模态数据中的序列特征,提高哈希码的质量。 要获取关于Covariance Attention Guidance Mamba Hashing用于跨模态检索的详细资料,可以通过以下途径: - **学术数据库**:如IEEE Xplore、ACM Digital Library、ScienceDirect等,搜索相关的学术论文。 - **开源代码平台**:如GitHub,查找是否有该方法的开源实现和相关文档。 示例代码(这里只是一个概念性的伪代码,并非真实可运行代码): ```python # 假设这是一个Covariance Attention Guidance Mamba Hashing模型类 class CAGMambaHashing: def __init__(self, input_dim, hash_dim): # 初始化模型参数 self.input_dim = input_dim self.hash_dim = hash_dim # 定义协方差注意力层和Mamba层 # 这里只是示意,实际需要具体实现 self.covariance_attention = CovarianceAttention() self.mamba_layer = MambaLayer() self.output_layer = OutputLayer(hash_dim) def forward(self, x_modality1, x_modality2): # 前向传播 attn_output = self.covariance_attention(x_modality1, x_modality2) mamba_output = self.mamba_layer(attn_output) hash_code = self.output_layer(mamba_output) return hash_code ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值