सामग्री पर जाएं

इंटरएक्टिव ऑब्जेक्ट डिटेक्शन: Gradio & Ultralytics YOLOv8 🚀

इंटरएक्टिव ऑब्जेक्ट डिटेक्शन का परिचय

यह Gradio इंटरफ़ेस का उपयोग करके ऑब्जेक्ट डिटेक्शन करने का एक आसान और इंटरैक्टिव तरीका प्रदान करता है Ultralytics YOLOv8 को गढ़ना। उपयोगकर्ता वास्तविक समय का पता लगाने के परिणाम प्राप्त करने के लिए छवियों को अपलोड कर सकते हैं और आत्मविश्वास थ्रेशोल्ड और इंटरसेक्शन-ओवर-यूनियन (IoU) थ्रेशोल्ड जैसे मापदंडों को समायोजित कर सकते हैं।

ऑब्जेक्ट डिटेक्शन के लिए Gradio का उपयोग क्यों करें?

  • उपभोक्ता - अनुकूल इंटरफेस: Gradio उपयोगकर्ताओं को छवियों को अपलोड करने और बिना किसी कोडिंग आवश्यकता के पहचान परिणामों की कल्पना करने के लिए एक सीधा मंच प्रदान करता है।
  • वास्तविक समय समायोजन: आत्मविश्वास और IoU थ्रेसहोल्ड जैसे मापदंडों को मक्खी पर समायोजित किया जा सकता है, जिससे तत्काल प्रतिक्रिया और पता लगाने के परिणामों के अनुकूलन की अनुमति मिलती है।
  • व्यापक पहुँच: Gradio वेब इंटरफ़ेस को कोई भी एक्सेस कर सकता है, जिससे यह प्रदर्शनों, शैक्षिक उद्देश्यों और त्वरित प्रयोगों के लिए एक उत्कृष्ट उपकरण बन जाता है।

Gradio उदाहरण स्क्रीनशॉट

Gradio कैसे स्थापित करें

pip install gradio

इंटरफ़ेस का उपयोग कैसे करें

  1. छवि अपलोड करें: ऑब्जेक्ट डिटेक्शन के लिए इमेज फाइल चुनने के लिए 'अपलोड इमेज' पर क्लिक करें।
  2. पैरामीटर समायोजित करें:
    • कॉन्फिडेंस थ्रेशोल्ड: वस्तुओं का पता लगाने के लिए न्यूनतम आत्मविश्वास स्तर निर्धारित करने के लिए स्लाइडर।
    • IoU थ्रेशोल्ड: विभिन्न वस्तुओं को अलग करने के लिए IoU थ्रेशोल्ड सेट करने के लिए स्लाइडर।
  3. परिणाम देखें: पता लगाई गई वस्तुओं और उनके लेबल के साथ संसाधित छवि प्रदर्शित की जाएगी।

उदाहरण उपयोग के मामले

  • नमूना छवि 1: डिफ़ॉल्ट थ्रेसहोल्ड के साथ बस का पता लगाना।
  • नमूना छवि 2: डिफ़ॉल्ट थ्रेसहोल्ड के साथ एक खेल छवि पर पता लगाना।

उपयोग उदाहरण

यह खंड प्रदान करता है Python कोड का उपयोग Gradio इंटरफ़ेस को Ultralytics YOLOv8 को गढ़ना। वर्गीकरण कार्यों, पता लगाने के कार्यों, विभाजन कार्यों और मुख्य बिंदु कार्यों का समर्थन करता है।

import PIL.Image as Image
import gradio as gr

from ultralytics import ASSETS, YOLO

model = YOLO("yolov8n.pt")


def predict_image(img, conf_threshold, iou_threshold):
    results = model.predict(
        source=img,
        conf=conf_threshold,
        iou=iou_threshold,
        show_labels=True,
        show_conf=True,
        imgsz=640,
    )

    for r in results:
        im_array = r.plot()
        im = Image.fromarray(im_array[..., ::-1])

    return im


iface = gr.Interface(
    fn=predict_image,
    inputs=[
        gr.Image(type="pil", label="Upload Image"),
        gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
        gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold")
    ],
    outputs=gr.Image(type="pil", label="Result"),
    title="Ultralytics Gradio",
    description="Upload images for inference. The Ultralytics YOLOv8n model is used by default.",
    examples=[
        [ASSETS / "bus.jpg", 0.25, 0.45],
        [ASSETS / "zidane.jpg", 0.25, 0.45],
    ]
)

if __name__ == '__main__':
    iface.launch()

पैरामीटर स्पष्टीकरण

पैरामीटर का नाम प्रकार या क़िस्‍म
img Image वह छवि जिस पर ऑब्जेक्ट डिटेक्शन किया जाएगा।
conf_threshold float वस्तुओं का पता लगाने के लिए आत्मविश्वास दहलीज।
iou_threshold float ऑब्जेक्ट पृथक्करण के लिए चौराहे-ओवर-यूनियन थ्रेसहोल्ड।

Gradio इंटरफ़ेस घटक

घटक या क़िस्‍म
छवि इनपुट पता लगाने के लिए छवि अपलोड करने के लिए।
स्लाइडर्स आत्मविश्वास और IoU थ्रेसहोल्ड को समायोजित करने के लिए।
छवि आउटपुट पता लगाने के परिणाम प्रदर्शित करने के लिए।


2024-02-01 बनाया गया, अपडेट किया गया 2024-02-07
लेखक: रिजवानमुनव्वर (1), ग्लेन-जोचर (1)

टिप्पणियाँ