Awesome Open Source
Awesome Open Source

Simple Image Search Engine





  • Simple image-based image search engine using Keras + Flask. You can launch the search engine just by running two python scripts.
  • 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.
  • 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.
  • GPUs are not required.
  • Tested on Ubuntu 18.04 and WSL2 (Ubuntu 20.04)



git clone
cd sis
pip install -r requirements.txt

# Put your image files (*.jpg) on static/img

# Then fc6 features are extracted and saved on static/feature
# Note that it takes time for the first time because Keras downloads the VGG weights.

# Now you can do the search via localhost:5000

Advanced: Launch on AWS EC2

  • You can easily launch the search engine server on AWS EC2. Please first open the port 5000 and launch an EC2 instance. Note that you need to create a security group such that the port 5000 is opened.
  • A middle-level CPU instance is sufficient, e.g., m5.large.
  • After you log-in to the instance by ssh, please setup the python environment (e.g., by anaconda).
  • Run and
  • After you run python, you can access the server from your browser via something like
  • (Advanced) If you'd like to deploy the system in a secure way, please consider running the search engine with the usual web server, e.g., uWSGI + nginx.


    author = {Yusuke Matsui},
    title = {Simple Image Search Engine},
    howpublished = {\url{}}

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (50,132
keras (736
flask (492
search-engine (165
image-retrieval (67
aws-ec2 (36
image-search (16

Find Open Source By Browsing 7,000 Topics Across 59 Categories