This project demonstrates a comprehensive solution that integrates frontend, backend, cloud + devops, and AI/ML components. It is designed to analyze high-end watch images and classify them according to their brands using machine learning techniques.
-
Frontend (UI):
- The
ui
directory contains the frontend components built with modern web technologies, providing an interactive interface for users to upload images and view classification results.
- The
-
Backend:
- The
server
directory hosts the backend services responsible for handling API requests, processing data, and interacting with the machine learning model. The backend is implemented in Python using Flask, ensuring scalability and ease of deployment.
- The
-
Cloud + DevOps:
- The project is designed with cloud deployment in mind, allowing it to be hosted on cloud platforms like AWS, Azure, or Google Cloud. DevOps practices such as continuous integration/continuous deployment (CI/CD) can be integrated to ensure smooth updates and maintenance.
-
AI + ML:
- The core of the project lies in its machine learning model, which is trained to classify images of high-end watches. The
notebooks
directory contains Jupyter notebooks detailing the model training process. While the classifier model file (classifier.pkl
) is not included due to its size, it is essential for running the complete system.
- The core of the project lies in its machine learning model, which is trained to classify images of high-end watches. The
-
Image Classification:
- The system can classify images of various luxury watch brands, including Rolex, Omega, Cartier, and more.
-
Scraping and Data Collection:
- The
scraper
directory contains Ruby scripts that were used to scrape images and data from various sources, which were then used to train the machine learning model.
- The
-
Interactive UI:
- A user-friendly interface allows users to upload images and receive classification results in real-time.
-
Frontend:
- Navigate to the
ui
directory and run the following commands to install dependencies and start the development server:npm install npm start
- Navigate to the
-
Backend:
- Navigate to the
server
directory and set up the Python environment:pip install -r requirements.txt python server.py
- Navigate to the
-
Model:
- The model is placed in the
models
directory. It is under the nameclassifier.pkl
- The model is placed in the
-
Deployment:
- The project is cloud-ready and can be deployed using Docker or directly on cloud services like AWS, Azure, or Google Cloud. Ensure that all environment variables are correctly set up for production deployment.
- Start both the frontend and backend servers.
- Access the UI via your web browser.
- Upload an image of a high-end watch to receive a brand classification.
Contributions are welcome! Please submit a pull request or open an issue for any suggestions or improvements.