TRY THIS MODEL
Drop image here to test
eqq-quality-grading/1 (latest)
Go to Universe Home
Roboflow App
Roboflow App
Documentation
Edit Project

Eqq quality grading

Object Detection
Overview
Images
75
Dataset
1
Model
1
API Docs
Analytics

How to Use the Eqq quality grading Detection API

Use this pre-trained Eqq quality grading computer vision model to retrieve predictions with our hosted API or deploy to the edge. Learn More About Roboflow Inference

Switch Model:
v1
eqq-quality-grading/1
v1
eqq-quality-grading/1
Trained On: 2024-08-01-9-53am
mAP 55.1%
Precision 70.8%
Recall 39.0%
Trained On: eqq-quality-grading 75 Images
View Version
Model Type: Roboflow 3.0 Object Detection (Fast)
Checkpoint: COCOn
mAP is equal to the average of the Average Precision metric across all classes in a model. Learn more
mAP
55.1%
Precision measures how often your model's predictions are correct. Learn more
Precision
70.8%
Recall measures what percentage of relevant labels were successfully identified. Learn more
Recall
39.0%
View Model Graphs

Samples from Test Set

Add images to Test Set to preview inferences.

View Test Set

Upload Image or Video File

Drop file here or

Paste YouTube or Image URL

Try With Webcam
Try On My Machine
0
fps
0
objects detected

Confidence Threshold: 50

0%

100%

Overlap Threshold: 50

0%

100%

Label Display Mode:
Getting Prediction...
Copy
Copied
Roboflow Inference

Inference is Roboflow's open source deployment package for developer-friendly vision inference.

How to Deploy the Eqq quality grading Detection API

Using Roboflow, you can deploy your object detection model to a range of environments, including:

  • Raspberry Pi
  • NVIDIA Jetson
  • A Docker container
  • A web page
  • iOS
  • A Python script using the Roboflow SDK.

Below, we have instructions on how to use our deployment options.

Code Snippets

Hosted API
On Device
Native SDKs
Cloud
Utilities
Python
cURL
Javascript
Swift
.NET

Infer on Local and Hosted Images

To install dependencies, pip install inference-sdk.

Then, add the following code snippet to a Python script:

from inference_sdk import InferenceHTTPClient

CLIENT = InferenceHTTPClient(
    api_url="https://detect.roboflow.com",
    api_key="API_KEY"
)

result = CLIENT.infer(your_image.jpg, model_id="eqq-quality-grading/1")

See the inference-sdk docs

Linux or MacOS

Retrieving JSON predictions for a local file called YOUR_IMAGE.jpg:

base64 YOUR_IMAGE.jpg | curl -d @- \
"https://detect.roboflow.com/eqq-quality-grading/1?api_key=API_KEY"

Inferring on an image hosted elsewhere on the web via its URL (don't forget to URL encode it:

curl -X POST "https://detect.roboflow.com/eqq-quality-grading/1?\
api_key=API_KEY&\
image=https://source.roboflow.com/dlwWyoVTJfWN2JGnbh7zTJGOv4p2/fLgGLCl3PU694SUDct5k/original.jpg"

Windows

You will need to install curl for Windows and GNU's base64 tool for Windows. The easiest way to do this is to use the git for Windows installer which also includes the curl and base64 command line tools when you select "Use Git and optional Unix tools from the Command Prompt" during installation.
Then you can use the same commands as above.

Node.js

We're using axios to perform the POST request in this example so first run npm install axios to install the dependency.

Inferring on a Local Image

const axios = require("axios");
const fs = require("fs");

const image = fs.readFileSync("YOUR_IMAGE.jpg", {
    encoding: "base64"
});

axios({
    method: "POST",
    url: "https://detect.roboflow.com/eqq-quality-grading/1",
    params: {
        api_key: "API_KEY"
    },
    data: image,
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});

Inferring on an Image Hosted Elsewhere via URL

const axios = require("axios");

axios({
    method: "POST",
    url: "https://detect.roboflow.com/eqq-quality-grading/1",
    params: {
        api_key: "API_KEY",
        image: "IMAGE_URL"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});

Front-End Web

Inferring on a Local Image in Browser

We have realtime on-device inference available via inferencejs; see the documentation here..

This will load your model to run realtime inference directly in your users' web-browser using WebGL instead of passing images to the server-side.

Inferring on a Local Image via API

Note: you shouldn't expose your Roboflow API key in the front-end to users outside of your organization.

This snippet should either use your users' API key (for example, if you're building model assisted labeling into your own labeling tool) or be put behind authentication so it's only usable by users who already have access to your Roboflow workspace.

import axios from 'axios';

const loadImageBase64 = (file) => {
    return new Promise((resolve, reject) => {
        const reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = () => resolve(reader.result);
        reader.onerror = (error) => reject(error);
    });
}

const image = await loadImageBase64(fileData);

axios({
    method: "POST",
    url: "https://detect.roboflow.com/eqq-quality-grading/1",
    params: {
        api_key: "API_KEY"
    },
    data: image,
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});

Uploading a Local Image Using base64

import UIKit

// Load Image and Convert to Base64
let image = UIImage(named: "your-image-path") // path to image to upload ex: image.jpg
let imageData = image?.jpegData(compressionQuality: 1)
let fileContent = imageData?.base64EncodedString()
let postData = fileContent!.data(using: .utf8)

// Initialize Inference Server Request with API KEY, Model, and Model Version
var request = URLRequest(url: URL(string: "https://detect.roboflow.com/eqq-quality-grading/1?api_key=API_KEY&name=YOUR_IMAGE.jpg")!,timeoutInterval: Double.infinity)
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.httpBody = postData

// Execute Post Request
URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in

    // Parse Response to String
    guard let data = data else {
        print(String(describing: error))
        return
    }

    // Convert Response String to Dictionary
    do {
        let dict = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
    } catch {
        print(error.localizedDescription)
    }

    // Print String Response
    print(String(data: data, encoding: .utf8)!)
}).resume()

Uploading a Local Image

using System;
using System.IO;
using System.Net;
using System.Text;

namespace UploadLocal
{
    class UploadLocal
    {

        static void Main(string[] args)
        {
            byte[] imageArray = System.IO.File.ReadAllBytes(@"YOUR_IMAGE.jpg");
            string encoded = Convert.ToBase64String(imageArray);
            byte[] data = Encoding.ASCII.GetBytes(encoded);
            string api_key = "API_KEY"; // Your API Key
            string DATASET_NAME = "eqq-quality-grading"; // Set Dataset Name (Found in Dataset URL)

            // Construct the URL
            string uploadURL =
                    "https://api.roboflow.com/dataset/" +
                            DATASET_NAME + "/upload" +
                            "?api_key=" + api_key +
                            "&name=YOUR_IMAGE.jpg" +
                            "&split=train";

            // Service Request Config
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            // Configure Request
            WebRequest request = WebRequest.Create(uploadURL);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = data.Length;

            // Write Data
            using (Stream stream = request.GetRequestStream())
            {
                stream.Write(data, 0, data.Length);
            }

            // Get Response
            string responseContent = null;
            using (WebResponse response = request.GetResponse())
            {
                using (Stream stream = response.GetResponseStream())
                {
                    using (StreamReader sr99 = new StreamReader(stream))
                    {
                        responseContent = sr99.ReadToEnd();
                    }
                }
            }

            Console.WriteLine(responseContent);

        }
    }
}

Inferring a Local Image

using System;
using System.IO;
using System.Net;
using System.Text;

namespace InferenceLocal
{
    class InferenceLocal
    {

        static void Main(string[] args)
        {
            byte[] imageArray = System.IO.File.ReadAllBytes(@"YOUR_IMAGE.jpg");
            string encoded = Convert.ToBase64String(imageArray);
            byte[] data = Encoding.ASCII.GetBytes(encoded);
            string api_key = "API_KEY"; // Your API Key
            string model_endpoint = "eqq-quality-grading/1"; // Set model endpoint

            // Construct the URL
            string uploadURL =
                    "https://detect.roboflow.com/" + model_endpoint + "?api_key=" + API_KEY
                + "&name=YOUR_IMAGE.jpg";

            // Service Request Config
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            // Configure Request
            WebRequest request = WebRequest.Create(uploadURL);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = data.Length;

            // Write Data
            using (Stream stream = request.GetRequestStream())
            {
                stream.Write(data, 0, data.Length);
            }

            // Get Response
            string responseContent = null;
            using (WebResponse response = request.GetResponse())
            {
                using (Stream stream = response.GetResponseStream())
                {
                    using (StreamReader sr99 = new StreamReader(stream))
                    {
                        responseContent = sr99.ReadToEnd();
                    }
                }
            }

            Console.WriteLine(responseContent);

        }
    }
}

Uploading an Image Hosted Elsewhere via URL

using System;
using System.IO;
using System.Net;
using System.Web;

namespace InferenceHosted
{
    class InferenceHosted
    {
        static void Main(string[] args)
        {
            string api_key = ""; // Your API Key
            string imageURL = "https://i.ibb.co/jzr27x0/YOUR-IMAGE.jpg";
            string model_endpoint = "dataset/v"; // Set model endpoint

            // Construct the URL
            string uploadURL =
                    "https://detect.roboflow.com/" + model_endpoint
                    + "?api_key=" + api_key
                    + "&image=" + HttpUtility.UrlEncode(imageURL);

            // Service Point Config
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            // Configure Http Request
            WebRequest request = WebRequest.Create(uploadURL);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = 0;

            // Get Response
            string responseContent = null;
            using (WebResponse response = request.GetResponse())
            {
                using (Stream stream = response.GetResponseStream())
                {
                    using (StreamReader sr99 = new StreamReader(stream))
                    {
                        responseContent = sr99.ReadToEnd();
                    }
                }
            }

            Console.WriteLine(responseContent);

        }
    }
}
More Deployment Resources
Use with Snap AR's Lens Studio

Export and use this model to create custom lenses within Snap AR's Lens Studio. Read More

Roboflow Inference Documentation

Look through our Inference documentation for more information and resources on how to utilize this model.

Example Web App

Use this model with a full fledged web application that has all sample code included.

Deploy to NVIDIA Jetson

Perform inference at the edge with a Jetson via our Docker container.

Deploy Mobile iOS

Utilize your model on your mobile device.

Similar Projects

See More
Object Detection
Eggs Pro
egg quality grading
73 images
Object Detection
egg quality greeting
EGG Quaity greeting
89 images
Object DetectionModelsnap
Egg Detection
Sakshi
102 images1 model
Object Detection
Eggs Quality Grading
ML
49 images
Object Detection
Egg Detection
Anshraj Singh
50 images
© 2025 Roboflow, Inc. All rights reserved.
Explore Datasets and Models
  • Object Detection
  • Image Classification
  • Multimodal
  • Instance Segmentation
  • Research
Explore Use Cases
  • Construction
  • Documents
  • Manufacturing
  • Robotics
  • Self Driving
  • Sports
Resources
  • Product Overview
  • Pricing
  • Documentation
  • Blog
  • YouTube
  • Support
  • Forum
Company
  • Careers
  • Press
  • Terms of Use
  • Privacy

    🚂 Roboflow Train Metrics

    Validation Set
    Test Set
    Training Graphs

    Average Precision by Class (mAP50)

    all
    55
    Blood stain egg
    51
    Blood-Stained-Eggs
    39
    Brown Egg
    18
    Calcium Dent
    50
    Dirt stain egg
    52
    White Egg
    77
    calcium Deposit
    100

    Average Precision by Class (mAP50)

    all
    75
    Blood-Stained-Eggs
    100
    Brown Egg
    43
    White Egg
    59
    calcium Deposit
    100