All Projects → fcakir → Deep Mihash

fcakir / Deep Mihash

Licence: other
Code for papers "Hashing with Mutual Information" (TPAMI 2019) and "Hashing with Binary Matrix Pursuit" (ECCV 2018)

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to Deep Mihash

towhee
Towhee is a framework that is dedicated to making neural data processing pipelines simple and fast.
Stars: ✭ 821 (+6215.38%)
Mutual labels:  embeddings, image-retrieval
Elastiknn
Elasticsearch plugin for nearest neighbor search. Store vectors and run similarity search using exact and approximate algorithms.
Stars: ✭ 139 (+969.23%)
Mutual labels:  nearest-neighbor-search, embeddings
Awesome Cbir Papers
📝Awesome and classical image retrieval papers
Stars: ✭ 1,114 (+8469.23%)
Mutual labels:  nearest-neighbor-search, image-retrieval
Hash Embeddings
PyTorch implementation of Hash Embeddings (NIPS 2017). Submission to the NIPS Implementation Challenge.
Stars: ✭ 126 (+869.23%)
Mutual labels:  hashing, embeddings
cisip-FIRe
Fast Image Retrieval (FIRe) is an open source project to promote image retrieval research. It implements most of the major binary hashing methods to date, together with different popular backbone networks and public datasets.
Stars: ✭ 40 (+207.69%)
Mutual labels:  hashing, image-retrieval
Caffe Deepbinarycode
Supervised Semantics-preserving Deep Hashing (TPAMI18)
Stars: ✭ 206 (+1484.62%)
Mutual labels:  hashing, image-retrieval
Fast Near Duplicate Image Search
Fast Near-Duplicate Image Search and Delete using pHash, t-SNE and KDTree.
Stars: ✭ 54 (+315.38%)
Mutual labels:  hashing, nearest-neighbor-search
GPQ
Generalized Product Quantization Network For Semi-supervised Image Retrieval - CVPR 2020
Stars: ✭ 60 (+361.54%)
Mutual labels:  hashing, image-retrieval
Similarity-Adaptive-Deep-Hashing
Unsupervised Deep Hashing with Similarity-Adaptive and Discrete Optimization (TPAMI2018)
Stars: ✭ 18 (+38.46%)
Mutual labels:  hashing, image-retrieval
Node2vec
Implementation of the node2vec algorithm.
Stars: ✭ 654 (+4930.77%)
Mutual labels:  embeddings
Pointcloudutilities
Utilities for point cloud processing. read ply, write ply, search nearest neighbors using octree ...
Stars: ✭ 17 (+30.77%)
Mutual labels:  nearest-neighbor-search
Ngt
Nearest Neighbor Search with Neighborhood Graph and Tree for High-dimensional Data
Stars: ✭ 636 (+4792.31%)
Mutual labels:  nearest-neighbor-search
Wikipedia2vec
A tool for learning vector representations of words and entities from Wikipedia
Stars: ✭ 655 (+4938.46%)
Mutual labels:  embeddings
Eda nlp
Data augmentation for NLP, presented at EMNLP 2019
Stars: ✭ 902 (+6838.46%)
Mutual labels:  embeddings
Sirix
SirixDB is a temporal, evolutionary database system, which uses an accumulate only approach. It keeps the full history of each resource. Every commit stores a space-efficient snapshot through structural sharing. It is log-structured and never overwrites data. SirixDB uses a novel page-level versioning approach called sliding snapshot.
Stars: ✭ 638 (+4807.69%)
Mutual labels:  hashing
Cnnimageretrieval Pytorch
CNN Image Retrieval in PyTorch: Training and evaluating CNNs for Image Retrieval in PyTorch
Stars: ✭ 931 (+7061.54%)
Mutual labels:  image-retrieval
Speedtorch
Library for faster pinned CPU <-> GPU transfer in Pytorch
Stars: ✭ 615 (+4630.77%)
Mutual labels:  embeddings
Milvus
An open-source vector database for embedding similarity search and AI applications.
Stars: ✭ 9,015 (+69246.15%)
Mutual labels:  nearest-neighbor-search
Cbir System
Content-Based Image Retrieval system (KTH DD2476 Project)
Stars: ✭ 9 (-30.77%)
Mutual labels:  image-retrieval
Orange3 Imageanalytics
🍊 🎑 Orange3 add-on for dealing with image related tasks
Stars: ✭ 24 (+84.62%)
Mutual labels:  embeddings

Hashing with Mutual Information

This repository contains the MATLAB implementation of the following paper:

Hashing with Mutual Information,
Fatih Cakir*, Kun He*, Sarah Adel Bargal, and Stan Sclaroff. TPAMI 2019 (PDF, arXiv)

If you use this code in your research, please cite:

@inproceedings{Cakir_deep_mihash,
  author    = {Fatih Cakir and Kun He and Sarah Adel Bargal and Stan Sclaroff},
  title     = {Hashing with Mutual Information},
  booktitle = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year      = {2019},
}

⚠️ The hbmp branch contains the implementation of the following paper:

Hashing with Binary Matrix Pursuit,
Fatih Cakir, Kun He, and Stan Sclaroff. ECCV 2018 (conference page, arXiv)

If you use this code in your research, please cite:

@InProceedings{Cakir_2018_ECCV,
author = {Cakir, Fatih and He, Kun and Sclaroff, Stan},
title = {Hashing with Binary Matrix Pursuit},
booktitle = {The European Conference on Computer Vision (ECCV)},
year = {2018}
}

Setup

  • Install or symlink MatConvNet at ./matconvnet (for training CNNs)
  • Install or symlink VLFeat at ./vlfeat
  • Download necessary datasets to ./cachedir/data/ Note: Large file ~35GB
  • Download necessary model files to ./cachedir/models/
  • Create ./cachedir/results/ folder to hold experimental data
  • In the root folder, run startup.m

⚠️ Follow the setup instructions for HBMP in the hbmp branch.

Example Commands

  • The main functions for experimenting are demo_imagenet.m (for the ImageNet100 benchmark) and demo_AP.m (for other benchmarks such as CIFAR-10 and NUSWIDE).
  • The main arguments can be found in get_opts.m.
  • Below are examples commands to replicate some of the results in the paper. Please refer to Section 5 of the paper and get_opts.m for experimental setting and parameter details. A MATLAB diary will be saved to the corresponding experimental folder.
    • CIFAR-1 32 bits:
      • demo_AP('cifar',32,'vggf','split',1,'nbins',32,'sigmf', [1 0],'lr', 1e-3,'lrstep',50,'epoch',100,'obj','mi','testInterval',10, 'batchSize', 256, 'metrics', 'AP')
      • Diary. Achieves 0.78-0.79 mAP at 100 epochs.
    • CIFAR-2 32 bits:
      • demo_AP('cifar',32,'vggf','split',2,'nbins',12,'sigmf', [30 0],'lr', 2e-3,'lrstep',50,'epoch',100,'obj','mi','testInterval',10, 'batchSize', 256, 'metrics', 'AP')
      • Diary. Achieves 0.93-0.94 mAP at 100 epochs.
    • NUSWIDE-1 32 bits :
    • NUSWIDE-2 32 bits :
    • ImageNet100 48 bits:
      • demo_imagenet(48, 'alexnet_ft', 'split', 1 , 'nbins', 16, 'lr', 0.1, 'lrdecay', 0.05, 'lrmult', 0.01, 'lrstep', 100, 'nbins', 16, 'sigmf', [10 0], 'testInterval', 25, 'metrics', {'AP', '[email protected]'}, 'epoch', 125)
      • Diary. Achieves 0.68-0.69 [email protected] at 125 epochs.

License

MIT License, see LICENSE

Contact

For questions and comments, feel free to contact: [email protected]

Notes

  • This implementation extends MIHash, and is specifically designed for deep learning experiments. Special thanks to Kun and Sarah.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].