Python HTML
Switch branches/tags
Nothing to show
Clone or download
Latest commit e594905 Jun 15, 2018
Failed to load latest commit information.
static ⭐️ gitkeep Mar 8, 2017
templates format html Mar 10, 2017
.gitignore ⭐️ gitkeep Mar 8, 2017
LICENSE Initial commit Mar 8, 2017 🐛 typo Jun 15, 2018 🐛 tf graph Jun 15, 2018 ⭐️ intial commit Mar 8, 2017
requirements.txt ♻️ cleanup Dec 14, 2017 📝 Dec 14, 2017

Sis: Simple Image Search Engine




  • Sis is a simple image-based image search engine using Keras + Flask. You can launch the search engine just by running two python scripts.
  • This script extracts deep features from images. Given a set of database images, a 4096D fc6-feature is extracted for each image using the VGG16 network with ImageNet pre-trained weights.
  • This script runs a web-server. You can send your query image to the server via a Flask web-intereface. Then relevant images to the query are retrieved by the simple nearest neighbor search.
  • On an aws-ec2 instance with t2.large, the feature extraction takes 0.9 s per image. The search for 1000 images takes 10 ms. We tested Sis on Ubuntu 16.04 with Python3.



# Clone the code and install libraries
$ git clone
$ cd sis
$ pip install -r requirements.txt

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

$ python
# 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.

$ python
# Now you can do the search via localhost:5000

Launch on AWS EC2

  • You can easily launch Sis on AWS EC2. Note that the following configuration is just for the demo purpose, which would not be secure.
  • To run the server on AWS, please first open the port 5000 and launch an EC2 instance. Note that you can create a security group such that port 5000 is opened.
  • A middle-level CPU instance is fine, e.g., m4.large.
  • After you log in the instance by ssh, the easist way to setup the environment is to use anaconda:
$ wget
$ bash # Say yes for all settings
$ source ~/.bashrc  # Activate anaconda
  • Then let's run the commands in the above usage section.
  • After you run $ python, you can access the system via
  • (Advanced) If you'd like to deploy the system properly, please consider to run the Sis with the usual web server, e.g., uWSGI + nginx.


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