Project Name

Image Recommendation

Project Overview

The Image Recommendation Project is designed to provide users with intelligent and personalized image suggestions based on the content of the images they upload. Leveraging the power of machine learning and cloud services, the project integrates Azure Custom Vision, Azure Storage, and MongoDB to deliver accurate predictions and efficient storage.

Services Used

1. Azure Custom Vision

Azure Custom Vision was used to train a custom vision model for predicting image tags based on specific categories. Azure Custom Vision is employed for training a custom machine learning model specifically tailored for image classification based on predefined categories (tags).

Training URL: Azure Custom Vision

  • Training Key: Replace_with_your_training_key

How It Works:

The training dataset comprises images labeled with categories such as "men dress," "women footwear," etc. The model is trained to recognize these categories, achieving a high level of accuracy through iterative training cycles. Once trained, the model is deployed to the Azure Custom Vision service, ready to make predictions on new images.

2. Azure Storage

Azure Storage serves as the storage solution for managing and hosting images. Azure Storage serves as the primary repository for storing and managing user-uploaded images.

How It Works:

When a user uploads an image, it is securely stored in Azure Blob Storage. The storage architecture allows for efficient retrieval and delivery of images to the user interface.

  • Storage Account: Your Storage Account
  • Connection String: Replace_with_your_connection_string
  • Container Name: mystorage01

3. MongoDB

MongoDB is utilized for storing predictions and relevant information. MongoDB is used as the backend database to store predictions generated by the Azure Custom Vision model.

How It Works:

After an image is uploaded, the predictions (tags and categories) made by the Custom Vision model are logged into the MongoDB database. The schema includes fields such as imageUrl, predictedTags, and timestamp. MongoDB enables seamless retrieval and analysis of prediction data, contributing to user profiling and adaptive recommendations.

  • Database Connection String: Replace_with_your_mongodb_connection_string
  • **Database Name:**mydb01
  • Collection Name: your_collection_name

Internal Working model of services

Step 1: Set Up Azure Custom Vision Create Custom Vision Project:

Log in to the Azure Custom Vision portal. Create a new project and upload a diverse set of images representing your classification categories (tags). Train the model until it reaches satisfactory accuracy. Get Prediction Endpoint and Key:

Obtain the endpoint URL and prediction key from the Custom Vision portal. These will be used to make predictions using the trained model.

Step 2: Configure Azure Storage Create an Azure Storage Account:

In the Azure portal, create a new Storage Account. Set up a container to store user-uploaded images. Obtain Connection String:

Retrieve the connection string for your Storage Account. This will be used to connect to Azure Storage from your application.

Step 3: Set Up MongoDB Create a MongoDB Database:

Create a new MongoDB database in Azure Cosmos DB. Define MongoDB Schema:

Define a schema for storing predictions and related information in MongoDB. This schema will guide how data is structured within MongoDB.

Step 4: Integrate Azure Services in Your Application Install Necessary Packages:

Install the required Node.js packages, including @azure/storage-blob for Azure Storage and mongodb for MongoDB. Configure Azure Storage:

Use the obtained Azure Storage connection string to set up the Storage client in your application. Implement logic to upload and retrieve images from Azure Storage. Configure MongoDB Connection:

Set up the connection to your MongoDB database using the MongoDB Node.js driver. Process Image Uploads:

When a user uploads an image, store it in Azure Storage. Trigger the Custom Vision API with the uploaded image to obtain predictions. Store Predictions in MongoDB:

After receiving predictions, create a new document based on the defined MongoDB schema and insert it into the MongoDB collection.

Step 5: Implement Recommendation Logic Retrieve Predictions:

Implement logic to retrieve predictions from MongoDB based on user-uploaded images.

Display the obtained predictions on the user interface, showcasing the predicted tags and confidence levels.

Outcome

The Image Recommendation Project delivers a user-friendly platform for uploading images and receiving intelligent recommendations based on Azure Custom Vision predictions. Utilizing Azure Storage and MongoDB, the system ensures scalability, adaptive recommendations, and user profiling. The outcome includes a seamless integration of services, versatility for future enhancements, insights through analytics, enhanced user engagement, and a foundation for continuous improvement, making it a robust and adaptable solution in the domain of image recommendation systems.