{"id":13578761,"url":"https://github.com/matsui528/sis","last_synced_at":"2025-12-24T22:48:09.977Z","repository":{"id":39898189,"uuid":"84272942","full_name":"matsui528/sis","owner":"matsui528","description":"Simple image search engine","archived":false,"fork":false,"pushed_at":"2021-11-14T14:55:38.000Z","size":28,"stargazers_count":750,"open_issues_count":0,"forks_count":242,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-11-05T16:48:30.734Z","etag":null,"topics":["aws-ec2","flask","image-retrieval","image-search","keras","python","search-engine"],"latest_commit_sha":null,"homepage":"http://yusukematsui.me/project/sis/sis.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matsui528.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-08T03:13:43.000Z","updated_at":"2024-11-02T02:16:09.000Z","dependencies_parsed_at":"2022-08-09T22:40:16.350Z","dependency_job_id":null,"html_url":"https://github.com/matsui528/sis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsui528%2Fsis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsui528%2Fsis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsui528%2Fsis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsui528%2Fsis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matsui528","download_url":"https://codeload.github.com/matsui528/sis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393095,"owners_count":20931804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-ec2","flask","image-retrieval","image-search","keras","python","search-engine"],"created_at":"2024-08-01T15:01:33.530Z","updated_at":"2025-12-24T22:48:09.939Z","avatar_url":"https://github.com/matsui528.png","language":"Python","readme":"# Simple Image Search Engine\n\n\n## [Demo](https://www.simple-image-search.xyz/)\n![](http://yusukematsui.me/project/sis/img/screencapture2.jpg)\n\n## Workflow\n![](http://yusukematsui.me/project/sis/img/overview.png)\n\n## News\n- [2020.06] Updated many parts of the code for [CVPR 2020 tutorial](https://matsui528.github.io/cvpr2020_tutorial_retrieval/)\n\n\n## Overview\n- Simple image-based image search engine using Keras + Flask. You can launch the search engine just by running two python scripts.\n- `offline.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.\n- `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.\n- GPUs are not required.\n- Tested on Ubuntu 18.04 and WSL2 (Ubuntu 20.04)\n\n## Links\n- [Demo](https://www.simple-image-search.xyz/)\n- [Course at CVPR2020](https://matsui528.github.io/cvpr2020_tutorial_retrieval/) [[slides](https://speakerdeck.com/matsui_528/cvpr20-tutorial-live-coding-demo-to-implement-an-image-search-engine-from-scratch)] [[video](https://www.youtube.com/watch?v=M0Y9_vBmYXU)]\n- [Project page](http://yusukematsui.me/project/sis/sis.html)\n- [Tutorial](https://ourcodeworld.com/articles/read/981/how-to-implement-an-image-search-engine-using-keras-tensorflow-with-python-3-in-ubuntu-18-04) and [Video](https://www.youtube.com/watch?v=Htu7b8PUyRg) by [@sdkcarlos](https://github.com/sdkcarlos)\n\n## Usage\n```bash\ngit clone https://github.com/matsui528/sis.git\ncd sis\npip install -r requirements.txt\n\n# Put your image files (*.jpg) on static/img\n\n# Then fc6 features are extracted and saved on static/feature\n# Note that it takes time for the first time because Keras downloads the VGG weights.\npython offline.py\n\n# Now you can do the search via localhost:5000\npython server.py\n```\n\n## Advanced: Launch on AWS\n- 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.\n- A middle-level CPU instance is sufficient, e.g., m5.large.\n- After you log-in to the instance by ssh, please setup the python environment (e.g., by [anaconda](https://docs.anaconda.com/anaconda/install/linux/)).\n- Run `offline.py` and `server.py`.\n- After you run `python server.py`, you can access the server from your browser via something like `http://ec2-XX-XX-XXX-XXX.us-west-2.compute.amazonaws.com:5000`\n- (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.\n- (Advanced) If you want to deploy the system serverlessly, [AWS AppRunner](https://docs.aws.amazon.com/apprunner/latest/dg/what-is-apprunner.html) is the way to go.\n\n\n## Citation\n\n    @misc{sis,\n\t    author = {Yusuke Matsui},\n\t    title = {Simple Image Search Engine},\n\t    howpublished = {\\url{https://github.com/matsui528/sis}}\n    }\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatsui528%2Fsis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatsui528%2Fsis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatsui528%2Fsis/lists"}