Github项目推荐 | DeepHash - 深度学习哈希开源库

2019 年 4 月 30 日 AI研习社

DeepHash - An Open-Source Package for Deep Learning to Hash (DeepHash)

DeepHash是一个轻量级的深度学习哈希库,它实现了最先进的深度哈希/量化算法。我们将根据我们发布的深度哈希论文列表不断地实现更具代表性的深度哈希模型。另外要特别提到的是,我们欢迎其他研究人员根据我们的框架为此工具包提供深度哈希模型。我们将会公布对本项目有贡献的人/团队的名单以表致谢。


Github项目链接:

https://github.com/thulab/DeepHash

实施的模型包括:

  • DQN: Deep Quantization Network for Efficient Image Retrieval(用于高效图像检索的深度量化网络), Yue Cao, Mingsheng Long, Jianmin Wang, Han Zhu, Qingfu Wen, AAAI Conference on Artificial Intelligence (AAAI), 2016

  • DHN: Deep Hashing Network for Efficient Similarity Retrieval(用于高效相似性检索的深度哈希网络), Han Zhu, Mingsheng Long, Jianmin Wang, Yue Cao, AAAI Conference on Artificial Intelligence (AAAI), 2016

  • DVSQ: Deep Visual-Semantic Quantization for Efficient Image Retrieval(用于高效图像检索的深度视觉语义量化), Yue Cao, Mingsheng Long, Jianmin Wang, Shichen Liu, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017

  • DCH: Deep Cauchy Hashing for Hamming Space Retrieval(用于汉明空间检索的深度柯西哈希) ,Yue Cao, Mingsheng Long, Bin Liu, Jianmin Wang, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018

  • DTQ: Deep Triplet Quantization(深度三元量化), Bin Liu, Yue Cao, Mingsheng Long, Jianmin Wang, Jingdong Wang, ACM Multimedia (ACMMM), 2018

注意:DTQ和DCH已更新,而DQN、DHN、DVSQ可能已过时,如有任何问题请随时与我们联系。我们欢迎他人的贡献!

要求

  • Python3:建议使用Anaconda,因为它已包含很多软件包:

conda create -n DeepHash python=3.6 anacondasource activate DeepHash
  • 其他软件包

conda install -y tensorflow-gpuconda install -y -c conda-forge opencv

要导入 ./DeepHash 中实现的包,我们需要将 ./DeepHash 的路径添加到环境变量中:

export PYTHONPATH=/path/to/project/DeepHash/DeepHash:$PYTHONPATH

数据准备

在 data/cifar10/train.txt 中,我们将会举一个例子来说明如何准备图像去训练数据。在 data/cifar10/train.txt和 data/cifar10/database.txt 中,可以在预测过程中处理测试和数据库映像列表。如果要添加其他数据集作为输入,则需要准备将 train.txt, test.txt 和 database.txt 作为CIFAR-10数据集。

更重要的是,我们已将整个cifar10数据集(包括图像和数据列表)放在发布页面中。你可以直接下载并解压缩到 data/cifar10 文件夹。

确保 /path/to/project/data/cifar10 的文件树看起来像这样:

.|-- database.txt|-- test|-- test.txt|-- train`-- train.txt

如果你需要在NUSWIDE_81和COCO上运行,我们建议你按照 https://github.com/thuml/HashNet/tree/master/pytorch#datasets 的指示准备NUSWIDE_81和COCO图像。

对于DVSQ 模型,还需要语义标签的单词向量。 在这里,我们使用在GoogleNews Dataset上已经预先训练好的word2vec模型(例如:https://github.com/mmihaltz/word2vec-GoogleNews-vectors)来提取图像标签的单词嵌入,如:狗,猫等。

开始使用

预训练模型

你应该从此处或从发布页面手动下载Imagenet预先设置的AlexNet的模型文件,并将其解压缩到 /path/to/project/DeepHash/architecture/pretrained_model

确保 /path/to/project/DeepHash/architecture 的文件树看起来像这样:

├── __init__.py├── pretrained_model       └── reference_pretrain.npy

训练与测试

$method (DCH和DTQ) 的例子可以这样运行:

cd example/$method/python train_val_script.py --gpus "0,1" --data-dir $PWD/../../data --"other parameters descirbe in train_val_script.py"

对于DVSQ,DQN和DHN,请参阅示例文件夹中的 train_val.sh 和 train_val_script.py

引用

如果你觉得DeepHash对你的研究有用,请考虑引用以下文章:

@InProceedings{cite:AAAI16DQN,  Author = {Yue Cao and Mingsheng Long and Jianmin Wang and Han Zhu and Qingfu Wen},  Publisher = {AAAI},  Title = {Deep Quantization Network for Efficient Image Retrieval},  Year = {2016}}
@InProceedings{cite:AAAI16DHN, Author = {Han Zhu and Mingsheng Long and Jianmin Wang and Yue Cao}, Publisher = {AAAI}, Title = {Deep Hashing Network for Efficient Similarity Retrieval}, Year = {2016}}
@InProceedings{cite:CVPR17DVSQ, Title={Deep visual-semantic quantization for efficient image retrieval}, Author={Cao, Yue and Long, Mingsheng and Wang, Jianmin and Liu, Shichen}, Booktitle={CVPR}, Year={2017}}
@InProceedings{cite:CVPR18DCH, Title={Deep Cauchy Hashing for Hamming Space Retrieval}, Author={Cao, Yue and Long, Mingsheng and Bin, Liu and Wang, Jianmin}, Booktitle={CVPR}, Year={2018}}
@article{liu2018deep, title={Deep triplet quantization}, author={Liu, Bin and Cao, Yue and Long, Mingsheng and Wang, Jianmin and Wang, Jingdong}, journal={MM, ACM}, year={2018}}

联系

本项目仓库的维护者:

  • Yue Cao, Email: caoyue10@gmail.com

  • Bin Liu, Email: liubinthss@gmail.com


今日话题讨论

点击 阅读原文,查看更多内容
登录查看更多
26

相关内容

深度学习搜索,Exploring Deep Learning for Search
专知会员服务
56+阅读 · 2020年5月9日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
37+阅读 · 2019年10月9日
Github项目推荐 | 知识图谱文献集合
AI研习社
26+阅读 · 2019年4月12日
Github项目推荐 | awesome-bert:BERT相关资源大列表
AI研习社
27+阅读 · 2019年2月26日
Github项目推荐 | RecQ - Python推荐系统框架
AI研习社
8+阅读 · 2019年1月23日
GitHub获赞过千:PyTorch 自然语言处理项目Top 5
新智元
12+阅读 · 2018年7月10日
Github 上 Star 过千的 PyTorch NLP 相关项目
专知
3+阅读 · 2018年7月5日
推荐|Python库中Top10 的AI项目(星级3k+),赶紧收藏!
全球人工智能
10+阅读 · 2018年1月16日
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Arxiv
5+阅读 · 2018年3月28日
Arxiv
5+阅读 · 2018年3月6日
VIP会员
Top
微信扫码咨询专知VIP会员