cisip-FIRe - Fast Image Retrieval

Overview

cisip-FIRe - Fast Image Retrieval

Documentation Status

Documentation: https://fast-image-retrieval.readthedocs.io/en/latest/

Introduction

Fast Image Retrieval (FIRe) is an open source image retrieval project release by Center of Image and Signal Processing Lab (CISiP Lab), Universiti Malaya. This framework implements most of the major binary hashing methods, together with different popular backbone networks and public datasets.

Major features

  • One for All

    Herein, we unified (i) various binary hashing methods, (ii) different backbone, and (iii) multiple datasets under a single framework to ease the research and benchmarking in this domain. It supports popular binary hashing methods, e.g. HashNet, GreedyHash, DPN, OrthoHash, etc.

  • Modularity

    We break the framework into parts so that one can easily implement their own method by joining up the components.

License

This project is released under BSD 3-Clause License.

Changelog

Please refer to Changelog for more detail.

Implemented method/backbone/datasets

Backbone

  1. Alexnet
  2. VGG{16}
  3. ResNet{18,34,50,101,152}

Loss (Method)

Supervised

Method Config Template Loss Name 64bit ImageNet AlexNet ([email protected])
ADSH adsh.yaml adsh 0.645
BiHalf bihalf-supervised.yaml bihalf-supervised 0.684
Cross Entropy ce.yaml ce 0.434
CSQ csq.yaml csq 0.686
DFH dfh.yaml dfh 0.689
DPN dpn.yaml dpn 0.692
DPSH dpsh.yaml dpsh 0.599
DTSH dtsh.yaml dtsh 0.608
GreedyHash greedyhash.yaml greedyhash 0.667
HashNet hashnet.yml hashnet 0.588
JMLH jmlh.yaml jmlh 0.664
OrthoCos(OrthoHash) orthocos.yaml orthocos 0.701
OrthoArc(OrthoHash) orthoarc.yaml orthoarc 0.698
SDH-C sdhc.yaml sdhc 0.639

Unsupervised

Method Config Template Loss Name 64bit ImageNet AlexNet ([email protected])
BiHalf bihalf.yaml bihalf 0.403
CIBHash cibhash.yaml cibhash 0.322
GreedyHash greedyhash-unsupervised.yaml greedyhash-unsupervised 0.407
SSDH ssdh.yaml ssdh 0.146
TBH tbh.yaml tbh 0.324

Shallow (Non-Deep learning methods)

Method Config Template Loss Name 64bit ImageNet AlexNet ([email protected])
ITQ itq.yaml itq 0.402
LsH lsh.yaml lsh 0.206
PCAHash pca.yaml pca 0.405
SH sh.yaml sh 0.350
Shallow methods only works with descriptor datasets. We will upload the descriptor datasets and 

Datasets

Dataset Name in framework
ImageNet100 imagenet100
NUS-WIDE nuswide
MS-COCO coco
MIRFLICKR/Flickr25k mirflickr
Stanford Online Product sop
Cars dataset cars
CIFAR10 cifar10

Installation

Please head up to Get Started Docs for guides on setup conda environment and installation.

Tutorials

Please head up to Tutorials Docs for guidance.

Reference

If you find this framework useful in your research, please consider cite this project.

@inproceedings{dpn2020,
  title={Deep Polarized Network for Supervised Learning of Accurate Binary Hashing Codes.},
  author={Fan, Lixin and Ng, Kam Woh and Ju, Ce and Zhang, Tianyu and Chan, Chee Seng},
  booktitle={IJCAI},
  pages={825--831},
  year={2020}
}

@inproceedings{orthohash2021,
  title={One Loss for All: Deep Hashing with a Single Cosine Similarity based Learning Objective},
  author={Hoe, Jiun Tian and Ng, Kam Woh and Zhang, Tianyu and Chan, Chee Seng and Song, Yi-Zhe and Xiang, Tao},
  booktitle={Advances in Neural Information Processing Systems (NeurIPS)},
  year={2021}
}

Contributing

We welcome the contributions to improve this project. Please file your suggestions/issues by creating new issues or send us a pull request for your new changes/improvement/features/fixes.

Owner
CISiP Lab
Center of Image and Signal Processing (CISiP) Lab
CISiP Lab
Experiments with differentiable stacks and queues in PyTorch

Please use stacknn-core instead! StackNN This project implements differentiable stacks and queues in PyTorch. The data structures are implemented in s

Will Merrill 141 Oct 06, 2022
DeepHawkeye is a library to detect unusual patterns in images using features from pretrained neural networks

English | 简体中文 Introduction DeepHawkeye is a library to detect unusual patterns in images using features from pretrained neural networks Reference Pat

CV Newbie 28 Dec 13, 2022
CN24 is a complete semantic segmentation framework using fully convolutional networks

Build status: master (production branch): develop (development branch): Welcome to the CN24 GitHub repository! CN24 is a complete semantic segmentatio

Computer Vision Group Jena 123 Jul 14, 2022
One-Shot Neural Ensemble Architecture Search by Diversity-Guided Search Space Shrinking

One-Shot Neural Ensemble Architecture Search by Diversity-Guided Search Space Shrinking This is an official implementation for NEAS presented in CVPR

Multimedia Research 19 Sep 08, 2022
U-Net: Convolutional Networks for Biomedical Image Segmentation

Deep Learning Tutorial for Kaggle Ultrasound Nerve Segmentation competition, using Keras This tutorial shows how to use Keras library to build deep ne

Yihui He 401 Nov 21, 2022
Tutorial on scikit-learn and IPython for parallel machine learning

Parallel Machine Learning with scikit-learn and IPython Video recording of this tutorial given at PyCon in 2013. The tutorial material has been rearra

Olivier Grisel 1.6k Dec 26, 2022
Nvdiffrast - Modular Primitives for High-Performance Differentiable Rendering

Nvdiffrast – Modular Primitives for High-Performance Differentiable Rendering Modular Primitives for High-Performance Differentiable Rendering Samuli

NVIDIA Research Projects 675 Jan 06, 2023
Style-based Point Generator with Adversarial Rendering for Point Cloud Completion (CVPR 2021)

Style-based Point Generator with Adversarial Rendering for Point Cloud Completion (CVPR 2021) An efficient PyTorch library for Point Cloud Completion.

Microsoft 119 Jan 02, 2023
Library for converting from RGB / GrayScale image to base64 and back.

Library for converting RGB / Grayscale numpy images from to base64 and back. Installation pip install -U image_to_base_64 Conversion RGB to base 64 b

Vladimir Iglovikov 16 Aug 28, 2022
🤖 Project template for your next awesome AI project. 🦾

🤖 AI Awesome Project Template 👋 Template author You may want to adjust badge links in a README.md file. 💎 Installation with pip Installation is as

Wiktor Łazarski 18 Nov 23, 2022
Pytorch implementation for DFN: Distributed Feedback Network for Single-Image Deraining.

DFN:Distributed Feedback Network for Single-Image Deraining Abstract Recently, deep convolutional neural networks have achieved great success for sing

6 Nov 05, 2022
MediaPipe Kullanarak İleri Seviye Bilgisayarla Görü

MediaPipe Kullanarak İleri Seviye Bilgisayarla Görü

Burak Bagatarhan 12 Mar 29, 2022
BMVC 2021 Oral: code for BI-GCN: Boundary-Aware Input-Dependent Graph Convolution for Biomedical Image Segmentation

BMVC 2021 BI-GConv: Boundary-Aware Input-Dependent Graph Convolution for Biomedical Image Segmentation Necassary Dependencies: PyTorch 1.2.0 Python 3.

Yanda Meng 15 Nov 08, 2022
USAD - UnSupervised Anomaly Detection on multivariate time series

USAD - UnSupervised Anomaly Detection on multivariate time series Scripts and utility programs for implementing the USAD architecture. Implementation

116 Jan 04, 2023
Codes for NeurIPS 2021 paper "Adversarial Neuron Pruning Purifies Backdoored Deep Models"

Adversarial Neuron Pruning Purifies Backdoored Deep Models Code for NeurIPS 2021 "Adversarial Neuron Pruning Purifies Backdoored Deep Models" by Dongx

Dongxian Wu 31 Dec 11, 2022
A PyTorch implementation of ViTGAN based on paper ViTGAN: Training GANs with Vision Transformers.

ViTGAN: Training GANs with Vision Transformers A PyTorch implementation of ViTGAN based on paper ViTGAN: Training GANs with Vision Transformers. Refer

Hong-Jia Chen 127 Dec 23, 2022
This project demonstrates the use of neural networks and computer vision to create a classifier that interprets the Brazilian Sign Language.

LIBRAS-Image-Classifier This project demonstrates the use of neural networks and computer vision to create a classifier that interprets the Brazilian

Aryclenio Xavier Barros 26 Oct 14, 2022
A Jinja extension (compatible with Flask and other frameworks) to compile and/or compress your assets.

A Jinja extension (compatible with Flask and other frameworks) to compile and/or compress your assets.

Jayson Reis 94 Nov 21, 2022
This repo is to present various code demos on how to use our Graph4NLP library.

Deep Learning on Graphs for Natural Language Processing Demo The repository contains code examples for DLG4NLP tutorials at NAACL 2021, SIGIR 2021, KD

Graph4AI 143 Dec 23, 2022
VIMPAC: Video Pre-Training via Masked Token Prediction and Contrastive Learning

This is a release of our VIMPAC paper to illustrate the implementations. The pretrained checkpoints and scripts will be soon open-sourced in HuggingFace transformers.

Hao Tan 74 Dec 03, 2022