{"id":17841995,"url":"https://github.com/yangboz/visual_search_go","last_synced_at":"2026-04-04T16:31:44.875Z","repository":{"id":139103604,"uuid":"112271441","full_name":"yangboz/visual_search_go","owner":"yangboz","description":"visual search microservices for go game sgf files .","archived":false,"fork":false,"pushed_at":"2017-12-19T03:53:22.000Z","size":9369,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-08T05:17:37.491Z","etag":null,"topics":["cnn-for-visual-recognition","docker","docker-compose","elasticsearch","faster-rcnn","go-game","microservices","sgf-files","tensorflow"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/yangboz.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-28T01:49:55.000Z","updated_at":"2017-11-30T13:22:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"7b377116-6f35-47fe-9f20-56903b2346e0","html_url":"https://github.com/yangboz/visual_search_go","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/yangboz%2Fvisual_search_go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangboz%2Fvisual_search_go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangboz%2Fvisual_search_go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangboz%2Fvisual_search_go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yangboz","download_url":"https://codeload.github.com/yangboz/visual_search_go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246828503,"owners_count":20840474,"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":["cnn-for-visual-recognition","docker","docker-compose","elasticsearch","faster-rcnn","go-game","microservices","sgf-files","tensorflow"],"created_at":"2024-10-27T21:09:33.773Z","updated_at":"2025-12-30T23:11:47.222Z","avatar_url":"https://github.com/yangboz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Computing-Thinking](http://people.cs.vt.edu/~kafura/CS6604/Images/CT-Logo.jpg)\n\nA visual search engine(for go) based on Elasticsearch, and A Tensorflow implementation of faster RCNN detection.\n\n![Visual search enging](https://raw.githubusercontent.com/yangboz/visual_search_go/master/Screenshot%20from%202017-11-28%2009-55-37.png)\n## Requirements\n There are serveral python2.7 libraries you must to install before building the search engine.\n \n * `elasticsearch==5.2.0`\n * `Tensorflow==0.12.1`\n * `Flask`\n * `opencv-python`\n * `easydict`\n * `cython`\n * `numpy`\n \n * Or\n \n ```\n pip install -r requirements.txt\n ```\n\n* Then\n\n```\ncd visual_search/lib \u0026 make\n```\n\n## Setup\n * Setup Elasticsearch5\n\n The easiest way to setup is using [Docker](https://www.docker.com/) with [Docker Compose](https://docs.docker.com/compose/). With `docker-compose` everything you have to do is so simple:\n\n ```bash\n cd visual_search/elasticsearch\n docker-compose up -d\n ```\n\n * Building elasticsearch plugin\n\n We need to build Elasticsearch plugin to compute distance between feature vectors.\n Make sure that you have [Maven](https://maven.apache.org/) installed.\n\n ```bash\n cd visual_search/es-plugin\n mvn install\n\n cd target/release\n // create simple server to serve plugin\n python -m 'SimpleHTTPServer' \u0026\n\n //install plugin\n cd ../elasticsearch\n docker exec -it elasticsearch_elasticsearch_1 elasticsearch-plugin install http://localhost:8000/esplugin-0.0.1.zip\n docker-compose restart\n ```\n\n * Index preparation\n\n ```bash\n curl -XPUT http://localhost:9200/im_data -d @schema_es.json\n ```\n * Setup faster r-cnn\n\n I used earlier  `faster r-cnn` version implemented by [@Endernewton](https://github.com/endernewton) for object detection. You can fetch pre-trained model [here](https://drive.google.com/drive/folders/0BzY0S4QyX701OE1BLW5MTldkRVk?usp=sharing). \n## Indexing images to elasticsearch\n\n ```bash\n export WEIGHT_PATH=...\n export MODEL_PATH=...\n export INPUT=..\n cd visual_search\n python index_es.py --weight $WEIGHT_PATH --model_path $MODEL_PATH --input $INPUT\n ```\n### Example\n\n```\nsudo python index_es.py --weight ./models/imagenet_weights/vgg16.weights --model_path ./models/faster_rcnn_models/coco_2014_train+coco_2014_valminusminival/default/vgg16_faster_rcnn_iter_490000.ckpt --input ../KGSoutput/2002-01-01-9.png\n```\n\n## Start server\n\n Before starting the server, you must to update `IMGS_PATH` variable in `visual_search/server.py` to the location of folder where images are stored.\n\n ```bash\n cd visual_search\n python server.py\n ```\n\n and access the link `http://localhost:5000/static/index.html` to test the search engine.\n\n Have fun =))\n\n## Issue\n\n```\nexport CFLAGS=\"-I /usr/local/lib/python3.5/dist-packages/numpy/core/include $CFLAGS\"\n```\n\nhttps://github.com/tensorflow/tensorflow/issues/251\n\n## References\n\nhttps://blog.algorithmia.com/deep-dive-into-object-detection-with-open-images-using-tensorflow/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangboz%2Fvisual_search_go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyangboz%2Fvisual_search_go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangboz%2Fvisual_search_go/lists"}