- Simple image-based image search engine using Keras + Flask. You can launch the search engine just by running two python scripts.
extract_features.py
: This script extracts a deep-feature from each database image. Each feature is a 4096D fc6 activation from a VGG16 model with ImageNet pre-trained weights.server.py
: This script runs a web-server. You can send your query image to the server via a Flask web-interface. The server finds similar images to the query by a simple linear scan.- Nvidia GPU strongly recommended as it's painfully slow on CPU
- Tested on Windows 10, python 3.9
git clone https://github.com/matsui528/sis.git
cd sis
pip install -r requirements.txt
# Then fc6 features are extracted and saved on static/feature/data.h5
# Note that it takes time for the first time because Keras downloads the VGG weights.
python extract_features.py --dataset "/path/to/dataset/dir"
# Now you can do the search via localhost:5000
python server.py --dataset "/path/to/dataset/dir"
@misc{sis,
author = {Yusuke Matsui},
title = {Simple Image Search Engine},
howpublished = {\url{https://github.com/matsui528/sis}}
}