All Projects → OliverEdholm → Image-Retrieval

OliverEdholm / Image-Retrieval

Licence: other
Image retrieval program made in Tensorflow supporting VGG16, VGG19, InceptionV3 and InceptionV4 pretrained networks and own trained Convolutional autoencoder.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Image-Retrieval

Image similarity
PyTorch Blog Post On Image Similarity Search
Stars: ✭ 80 (+42.86%)
Mutual labels:  autoencoder, image-retrieval
natural-language-joint-query-search
Search photos on Unsplash based on OpenAI's CLIP model, support search with joint image+text queries and attention visualization.
Stars: ✭ 143 (+155.36%)
Mutual labels:  image-retrieval
Pytorch Vae
A Variational Autoencoder (VAE) implemented in PyTorch
Stars: ✭ 237 (+323.21%)
Mutual labels:  autoencoder
ImageRetrieval
Content Based Image Retrieval Techniques (e.g. knn, svm using MatLab GUI)
Stars: ✭ 51 (-8.93%)
Mutual labels:  image-retrieval
Awesome Tensorlayer
A curated list of dedicated resources and applications
Stars: ✭ 248 (+342.86%)
Mutual labels:  autoencoder
seq2seq-autoencoder
Theano implementation of Sequence-to-Sequence Autoencoder
Stars: ✭ 12 (-78.57%)
Mutual labels:  autoencoder
Deepinfomaxpytorch
Learning deep representations by mutual information estimation and maximization
Stars: ✭ 212 (+278.57%)
Mutual labels:  autoencoder
LabelRelaxation-CVPR21
Official PyTorch Implementation of Embedding Transfer with Label Relaxation for Improved Metric Learning, CVPR 2021
Stars: ✭ 37 (-33.93%)
Mutual labels:  image-retrieval
adversarial-autoencoder
Tensorflow 2.0 implementation of Adversarial Autoencoders
Stars: ✭ 17 (-69.64%)
Mutual labels:  autoencoder
Landmark-Retrival
Easy Landmark Image Recognition with TensorFlow Hub DELF Module
Stars: ✭ 20 (-64.29%)
Mutual labels:  image-retrieval
CIRR
Official repository of ICCV 2021 - Image Retrieval on Real-life Images with Pre-trained Vision-and-Language Models
Stars: ✭ 65 (+16.07%)
Mutual labels:  image-retrieval
DESOM
🌐 Deep Embedded Self-Organizing Map: Joint Representation Learning and Self-Organization
Stars: ✭ 76 (+35.71%)
Mutual labels:  autoencoder
proxy-synthesis
Official PyTorch implementation of "Proxy Synthesis: Learning with Synthetic Classes for Deep Metric Learning" (AAAI 2021)
Stars: ✭ 30 (-46.43%)
Mutual labels:  image-retrieval
Link Prediction
Representation learning for link prediction within social networks
Stars: ✭ 245 (+337.5%)
Mutual labels:  autoencoder
EZyRB
Easy Reduced Basis method
Stars: ✭ 49 (-12.5%)
Mutual labels:  autoencoder
Adversarial Autoencoders
Tensorflow implementation of Adversarial Autoencoders
Stars: ✭ 215 (+283.93%)
Mutual labels:  autoencoder
Unsupervised-Classification-with-Autoencoder
Using Autoencoders for classification as unsupervised machine learning algorithms with Deep Learning.
Stars: ✭ 43 (-23.21%)
Mutual labels:  autoencoder
pytorch integrated cell
Integrated Cell project implemented in pytorch
Stars: ✭ 40 (-28.57%)
Mutual labels:  autoencoder
tensorflow-mnist-AAE
Tensorflow implementation of adversarial auto-encoder for MNIST
Stars: ✭ 86 (+53.57%)
Mutual labels:  autoencoder
eForest
This is the official implementation for the paper 'AutoEncoder by Forest'
Stars: ✭ 71 (+26.79%)
Mutual labels:  autoencoder

Image-Retrieval

Image retrieval program made in Tensorflow supporting the pretrained networks VGG16, VGG19, InceptionV3 and InceptionV4 and own trained Convolutional Autoencoder that you can train with this tool.

Requirements

  • Python 3.*
  • Tensorflow
  • Pillow
  • tqdm
  • Pretrained VGG16, VGG19, InceptionV3 or InceptionV4 network or own trained Convolutional Autoencoder.

Usage

Firstly put your images in the images folder.

Embedding images and saving them

Get embedding from trained Convolutional autoencoder To train a Convolutional autoencoder to vectorize images do this command:

python3 autoencoder_training.py

You can get a look at the hyperparameters using.

python3 autoencoder_training.py --help

The same principles follow in all the other scripts.

Embedding with autoencoder Just do this command.

python3 vectorize_autoencoder.py

Get embedding from pretrained models Just do this command.

python3 vectorize_pretrained.py --model_path=<model_path> --model_type=<model_type> --layer_to_extract=<layer_to_extract>

What does these arguments mean?

model_path: Path to pretrained model. e.g ./inception_v4.ckpt

model_type: Type of model, either VGG16, VGG19, InceptionV3 or InceptionV4. e.g InceptionV4

layer_to_extract: Which layer to take vector from. e.g Mixed_7a

This command will save the vectors in a file in the vectors folder and will print out the path to the vectors for later use or evaluation at the end of the program.

Evaluating To evaluate your vectors you can do this command.

python3 evaluation.py --vectors_path=<vectors_path> --image_path=<image_path>

What does these arguments mean?

vectors_path: Where vectors are saved. e.g vectors/vectors_1

image_path: Image to evaluate on, i.e the image to check nearest neighbour on. e.g img.jpg

Todos

  • Dimensionality reduction using PCA.
  • More ways of doing NN search.
  • Clean the code!
  • Adversarial loss on autoencoder.

Other

Made by Oliver Edholm, 14 years old.

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].