|
1 | 1 | # RevSearch |
2 | | -Reverse Image search based on AI |
| 2 | + |
| 3 | +RevSearch is a Minimum Viable Product (MVP) showcasing a car reverse image search application. It leverages cutting-edge machine learning, computer vision, and cloud-based technologies to provide an efficient and accurate image search experience. Built as a self-initiative, this project demonstrates end-to-end machine learning workflow expertise. |
| 4 | + |
| 5 | +**Note:** The deployment has been taken down due to running costs. |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## Workflow |
| 10 | + |
| 11 | +1. **Image Upload**: Users upload an image in various formats (JPG, PNG, BMP, etc.). |
| 12 | +2. **Feature Encoding**: The uploaded image is encoded into a feature vector using a trained neural network encoder (EfficientNet). |
| 13 | +3. **Similarity Search**: The encoded feature vector is compared to precomputed feature vectors in the database. |
| 14 | +4. **Top Matches**: The system retrieves the top 10 image URLs based on similarity scores. |
| 15 | +5. **Image Retrieval**: Top 10 images are fetched from AWS S3 storage via AWS API Gateway and AWS Lambda. |
| 16 | + |
| 17 | +> **Note**: RevSearch is currently not deployed due to associated operational costs. |
| 18 | +
|
| 19 | +--- |
| 20 | + |
| 21 | +## Project Details |
| 22 | + |
| 23 | +- **Company**: Self-initiative project for applying end-to-end machine learning workflows. |
| 24 | +- **Timeline**: April 2022 - May 2022 |
| 25 | +- **Codebase**: |
| 26 | + - Backend, Frontend, and Core Technology |
| 27 | + - [DeepImageSearchAPI](https://github.com/ibadrather/DeepImageSearchAPI) |
| 28 | + - [RevSearch](https://github.com/ibadrather/RevSearch) |
| 29 | + |
| 30 | +--- |
| 31 | + |
| 32 | +## Key Features |
| 33 | + |
| 34 | +- Upload images in various formats (JPG, PNG, BMP, etc.) for reverse search. |
| 35 | +- Interactive slider to select up to 6 similar images. |
| 36 | +- Powered by the EfficientNet neural network architecture for accurate feature extraction. |
| 37 | +- Responsive and seamless user experience powered by FastAPI. |
| 38 | +- Fully interactive **Reverse Image Search WebUI**. |
| 39 | + |
| 40 | +--- |
| 41 | + |
| 42 | +## Technologies Used |
| 43 | + |
| 44 | +| **Category** | **Technologies** | |
| 45 | +|-----------------------|----------------------------------------------------------------------| |
| 46 | +| Core Technologies | Python, PyTorch, ONNX, ONNX Runtime, Pandas | |
| 47 | +| Data Preprocessing | Albumentations | |
| 48 | +| Model Optimization | MLflow, Optuna | |
| 49 | +| Web App & Deployment | Streamlit, FastAPI, Docker, Heroku | |
| 50 | +| Cloud Services | AWS S3, AWS API Gateway, AWS Lambda | |
| 51 | +| CI/CD & Code Quality | GitHub Actions, Black, Pytest | |
| 52 | +| Image Processing | PIL | |
| 53 | + |
| 54 | +--- |
| 55 | + |
| 56 | +## About the Dataset |
| 57 | + |
| 58 | +- **Source**: Stanford University AI Lab’s Cars dataset. |
| 59 | +- **Composition**: |
| 60 | + - 16,185 images across 196 car classes. |
| 61 | + - Serves as the foundation for the feature extractor (encoder). |
| 62 | + |
| 63 | +--- |
| 64 | + |
| 65 | +## DeepSearchLite Integration |
| 66 | + |
| 67 | +RevSearch integrates **DeepSearchLite**, a custom lightweight library, for fast and efficient similarity searches with minimal dependencies. |
| 68 | +Find it on PyPi: [DeepSearchLite](https://pypi.org/project/DeepSearchLite/) |
| 69 | + |
| 70 | +--- |
| 71 | + |
| 72 | +## Challenges and Future Improvements |
| 73 | + |
| 74 | +1. **Dataset Limitations**: |
| 75 | + - Cars dataset (16,185 images) is outdated, impacting accuracy for newer models. |
| 76 | +2. **MVP Status**: |
| 77 | + - Currently demonstrates potential but requires further enhancements. |
| 78 | +3. **Next Steps**: |
| 79 | + - Expand the dataset to include more images and newer models. |
| 80 | + - Refine search algorithms for improved accuracy and speed. |
| 81 | + - Incorporate user feedback for additional features and functionality. |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +This project highlights expertise in advanced technologies and practical solutions for the automotive domain. |
0 commit comments