Skip to content

SayantaniDeb/Snap-Shop

Repository files navigation

🛒Snap&Shop

Enhance shopping experience with Visual Search.

You can find the app:

💡Motivation

  • Searching for the name of accesories/garment to purchase them get tedious.
  • We often come across fashion statements we don't know name of.
  • It's impossible to know names of all the different varieties of dresses.
  • Watches, shoes, garments, accessories: with numerous varieties of each category, searching by word gets time consuming and often not effective.

📲What it does?

  • Browse: It allows the user to browse through its local files to seek for the image of the garment/accessory of their desire.
  • Enabled visual search: It searches for similar garment/dress/accesory from its database.
  • Similar image recommendation: it recommends similar choices for the user to choose from.

🎛️ Resources used

  • Streamlit - Streamlit is an open-source app framework for Machine Learning and Data Science teams.
  • numpy - NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more.
  • Visual Studio Code - Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft for Windows, Linux and macOS.
  • OpenCV - Open Source Computer Vision and Machine Learning software library
  • Tensorflow - TensorFlow is an end-to-end open source platform for machine learning.
  • Tqdm - tqdm is a Python library that allows you to output a smart progress bar by wrapping around any iterable.
  • streamlit - Streamlit is an open-source app framework for Machine Learning and Data Science teams. Create beautiful data apps in hours, not weeks.
  • pandas - pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language.
  • Pillow - PIL is the Python Imaging Library by Fredrik Lundh and Contributors.
  • scikit-learn - Scikit-learn is a free software machine learning library for the Python programming language.
  • opencv-python - OpenCV is a huge open-source library for computer vision, machine learning, and image processing.

🛠️How I built it?

Software Version
numpy 1.21.4
tensorflow 2.8.0
tqdm 4.62.3
streamlit 1.2.0
streamlit-lottie 0.0.3
opencv-python 4.5.4.60
scikit-learn 1.0.1
sklearn 0.0
Pillow 8.4.0
pandas 1.3.4

💻 App Showcase

Desktop-UI Phone-UI
Desktop-UI-demonstration Phone-UI-demonstration-video

How to get started

git clone https://github.com/SayantaniDeb01/Snapshop

Installation

Use pip to install the requirements.

pip install -r requirements.txt

Usage

To run the web server, simply execute streamlit with the main recommender app:

streamlit run main.py

🧠Challenges faced

  • This was my very first time working on a machine learning project.
  • It took a lot of time to train the model.
  • Faced challenges during deployment of the app
  • It was my first time working with streamlit as a frontend and python as the backend.
  • It was tough to play around with streamlit considering its limited UI features.
  • Git Lfs was disabled due to exceeding the limit while simultaneously deploying with the huge kaggle dataset.
  • Therefore it was not possible for the app to be deployed.

🥇Accomplishments I am proud of

🚀Future Scope

The future scope is to integrate the ecommerce sites like myntra and amazon so that it can show the available items with direct link to purchase which are similar to the photo uploaded . This was beyond the scope of this project since it requires web scraping . Current state of the project is a prototype , hoping to work on the future scope.

👩🏻‍💻Made By

Sayantani Deb


Sayantani Deb


Beta Microsoft
Learn Student Ambassador