{"id":17670702,"url":"https://github.com/sayannath/identical-image-retrieval","last_synced_at":"2025-05-12T15:42:54.561Z","repository":{"id":105050600,"uuid":"391720152","full_name":"sayannath/Identical-Image-Retrieval","owner":"sayannath","description":"Identical-Image-Retrieval using Deep Learning","archived":false,"fork":false,"pushed_at":"2021-08-16T17:06:11.000Z","size":21560,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-20T14:42:36.522Z","etag":null,"topics":["deep-learning","image-retrieval","keras","tensorflow"],"latest_commit_sha":null,"homepage":"https://ijirt.org/Article?manuscript=155052","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sayannath.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":"2021-08-01T19:32:37.000Z","updated_at":"2024-11-19T09:25:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e5b384e-692f-4b79-9e16-e622d45f2b80","html_url":"https://github.com/sayannath/Identical-Image-Retrieval","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayannath%2FIdentical-Image-Retrieval","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayannath%2FIdentical-Image-Retrieval/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayannath%2FIdentical-Image-Retrieval/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayannath%2FIdentical-Image-Retrieval/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sayannath","download_url":"https://codeload.github.com/sayannath/Identical-Image-Retrieval/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253767225,"owners_count":21961079,"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":["deep-learning","image-retrieval","keras","tensorflow"],"created_at":"2024-10-24T02:42:10.326Z","updated_at":"2025-05-12T15:42:54.508Z","avatar_url":"https://github.com/sayannath.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Identical-Image-Retrieval\n\n## Abstract\nIn recent years, we know that the interaction with images has increased. Image similarity involves fetching similar-looking images abiding by a given reference image. The target is to find out whether the image searched as a query can result in similar pictures. We are using the BigTransfer Model, which is a state-of-art model itself. BigTransfer(BiT) is essentially a ResNet but pre-trained on a larger dataset like ImageNet and ImageNet-21k with additional modifications. Using the fine-tuned pre-trained Convolution Neural Network Model, we extract the key features and train on the K- Nearest Neighbor model to obtain the nearest neighbor. The application of our model is to find similar images, which are hard to achieve through text queries within a low inference time. We analyse the benchmark of our model based on this application.\n\n## Description\nThis project presents a simple framework to retrieve images similar to a query image using Deep Learning. The framework is as follows:\n\n* Train a CNN model (A) on a set of labeled images with Triplet Loss (I used this one).\n* Use the trained CNN model (A) to extract features from the validation set.\n* Train a kNN model (B) on these extracted features with k set to the number of neighbors wanted.\n* Grab an image (I) from the validation set and extract its features using the same CNN model (A).\n* Use the same kNN model (B) to calculate the nearest neighbors of I.\n\n\u003cimg src=\"data/proposed_architecture.png\"\u003e\n\nI experimented with the Flower Dataset.\n\n\u003cimg src=\"data/sample_dataset_two.png\"\u003e\n\n## Model Used\n\nI fine-tuned pre-trained models for minimizing the Triplet Loss. I experimented with the following pre-trained models:\n\n* BigTransfer Model (also referred to as BiT) which is essentially a ResNet but pre-trained on a larger dataset with additional modifications.\n\n### Train Graph\n\u003cimg src=\"graphs/train_graph.png\"\u003e\n\n### Visualization of the embedding space\n\n\u003cimg src=\"graphs/scatter_plot_1.png\"\u003e\n\u003cimg src=\"graphs/scatter_plot_2.png\"\u003e\n\n## Results\n\n\u003cimg src=\"result/result.png\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayannath%2Fidentical-image-retrieval","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsayannath%2Fidentical-image-retrieval","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayannath%2Fidentical-image-retrieval/lists"}