# Semantic Image Search with Convolutional Neural Networks

An example project that builds a semantic image search application using a pretrained convolutional neural network for feature extraction and FAISS for retrieval.

This repository explores applying convolutional neural network models, such as EfficientNets, to semantic image search. It extracts a numeric feature representation for each image with a pretrained CNN, then uses the FAISS library's approximate nearest-neighbour algorithms to find the most similar images to a query image as a dataset grows too large to compare directly.

It provides scripts for feature extraction and semantic search, a script to build a FAISS index from a dataset, and a Flask backend and front-end application for visualizing search query performance across two datasets, along with a tutorial notebook that walks through the basics.

The project builds on content from Cloudera Fast Forward Labs' report on deep learning for image analysis, which covers convolutional neural networks and their application to image classification, object detection and image generation in more depth.

Website: https://github.com/cloudera/CML_AMP_Image_Analysis
