انتقل إلى المحتوى

الكشف التفاعلي عن الكائنات: Gradio & Ultralytics YOLOv8 🚀

مقدمة في الكشف التفاعلي عن الأشياء

توفر واجهة Gradio هذه طريقة سهلة وتفاعلية لأداء اكتشاف الكائنات باستخدام Ultralytics YOLOv8 نموذج. يمكن للمستخدمين تحميل الصور وضبط المعلمات مثل عتبة الثقة وعتبة التقاطع عبر الاتحاد (IoU) للحصول على نتائج الكشف في الوقت الفعلي.



شاهد: تكامل Gradio مع Ultralytics YOLOv8

لماذا استخدام Gradio لاكتشاف الكائنات؟

  • واجهة سهلة الاستخدام: يوفر Gradio نظاما أساسيا مباشرا للمستخدمين لتحميل الصور وتصور نتائج الكشف دون أي متطلبات ترميز.
  • التعديلات في الوقت الحقيقي: يمكن تعديل المعلمات مثل الثقة وعتبات إنترنت الأشياء أثناء التنقل ، مما يسمح بردود الفعل الفورية وتحسين نتائج الكشف.
  • إمكانية الوصول على نطاق واسع: يمكن لأي شخص الوصول إلى واجهة الويب Gradio ، مما يجعلها أداة ممتازة للعروض التوضيحية والأغراض التعليمية والتجارب السريعة.

لقطة شاشة مثال Gradio

كيفية تثبيت Gradio

pip install gradio

كيفية استخدام الواجهة

  1. تحميل الصورة: انقر فوق "تحميل صورة" لاختيار ملف صورة لاكتشاف الكائن.
  2. ضبط المعلمات:
    • عتبة الثقة: شريط التمرير لتعيين الحد الأدنى لمستوى الثقة لاكتشاف الكائنات.
    • عتبة إنترنت الأشياء: شريط التمرير لتعيين عتبة IoU لتمييز الكائنات المختلفة.
  3. عرض النتائج: سيتم عرض الصورة المعالجة مع الكائنات المكتشفة وعلاماتها.

أمثلة على حالات الاستخدام

  • صورة نموذجية 1: اكتشاف الناقل مع الحدود الافتراضية.
  • صورة نموذجية 2: الكشف عن صورة رياضية ذات حدود افتراضية.

مثال على الاستخدام

يوفر هذا القسم Python التعليمات البرمجية المستخدمة لإنشاء واجهة Gradio مع Ultralytics YOLOv8 نموذج. يدعم مهام التصنيف ومهام الكشف ومهام التجزئة ومهام النقاط الرئيسية.

import gradio as gr
import PIL.Image as Image

from ultralytics import ASSETS, YOLO

model = YOLO("yolov8n.pt")


def predict_image(img, conf_threshold, iou_threshold):
    """Predicts objects in an image using a YOLOv8 model with adjustable confidence and IOU thresholds."""
    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

مكون وصف
إدخال الصورة لتحميل الصورة للكشف.
المتزلجون لضبط الثقة وعتبات إنترنت الأشياء.
إخراج الصورة لعرض نتائج الكشف.

الأسئلة المتداولة

كيف يمكنني استخدام Gradio مع Ultralytics YOLOv8 لاكتشاف الأجسام؟

لاستخدام Gradio مع Ultralytics YOLOv8 لاكتشاف الأجسام، يمكنك اتباع الخطوات التالية:

  1. تثبيت غراديو: استخدم الأمر pip install gradio.
  2. إنشاء واجهة: اكتب برنامج نصي Python لتهيئة واجهة Gradio. يمكنك الرجوع إلى المثال البرمجي المقدم في الوثائق للحصول على التفاصيل.
  3. التحميل والضبط: قم بتحميل صورتك وضبط عتبات الثقة وعتبات IoU على واجهة Gradio للحصول على نتائج اكتشاف الأجسام في الوقت الفعلي.

إليك مقتطف رمز بسيط للرجوع إليه:

import gradio as gr

from ultralytics import 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,
    )
    return results[0].plot() if results else None


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 YOLOv8",
    description="Upload images for YOLOv8 object detection.",
)
iface.launch()

ما هي فوائد استخدام Gradio للكشف عن الأجسام Ultralytics YOLOv8 ؟

يوفر استخدام Gradio لـ Ultralytics YOLOv8 الكشف عن الأجسام العديد من الفوائد:

  • واجهة سهلة الاستخدام: يوفر Gradio واجهة سهلة الاستخدام للمستخدمين لتحميل الصور وتصور نتائج الكشف دون أي جهد برمجي.
  • تعديلات في الوقت الحقيقي: يمكنك ضبط معلمات الاكتشاف ديناميكيًا مثل عتبات الثقة وعتبات IoU ورؤية التأثيرات على الفور.
  • إمكانية الوصول: واجهة الويب متاحة لأي شخص، مما يجعلها مفيدة للتجارب السريعة والأغراض التعليمية والعروض التوضيحية.

لمزيد من التفاصيل، يمكنك قراءة هذه التدوينة.

هل يمكنني استخدام Gradio و Ultralytics YOLOv8 معاً لأغراض تعليمية؟

نعم، يمكن استخدام Gradio و Ultralytics YOLOv8 معًا لأغراض تعليمية بفعالية. تسهّل واجهة الويب البديهية لـ Gradio على الطلاب والمعلمين التفاعل مع أحدث نماذج التعلم العميق مثل Ultralytics YOLOv8 دون الحاجة إلى مهارات برمجة متقدمة. يعد هذا الإعداد مثاليًا لتوضيح المفاهيم الأساسية في اكتشاف الأجسام والرؤية الحاسوبية، حيث يوفر Gradio تغذية راجعة مرئية فورية تساعد في فهم تأثير المعلمات المختلفة على أداء الاكتشاف.

كيف يمكنني ضبط عتبات الثقة وعتبات IoU في واجهة Gradio على YOLOv8 ؟

في واجهة Gradio لـ YOLOv8 ، يمكنك ضبط عتبات الثقة وعتبات IoU باستخدام أشرطة التمرير المتوفرة. تساعد هذه العتبات في التحكم في دقة التنبؤ وفصل الكائنات:

  • عتبة الثقة: يحدد الحد الأدنى من مستوى الثقة لاكتشاف الأجسام. مرر لزيادة الثقة المطلوبة أو تقليلها.
  • عتبة IoU: يضبط عتبة التقاطع فوق الاتحاد للتمييز بين الكائنات المتداخلة. اضبط هذه القيمة لتحسين فصل الكائنات.

لمزيد من المعلومات حول هذه المعلمات، يرجى زيارة قسم شرح المعلمات.

ما هي بعض التطبيقات العملية لاستخدام Ultralytics YOLOv8 مع غراديو؟

تشمل التطبيقات العملية للجمع بين Ultralytics YOLOv8 مع غراديو ما يلي:

  • عروض توضيحية لاكتشاف الأجسام في الوقت الحقيقي: مثالية لعرض كيفية عمل اكتشاف الكائنات في الوقت الفعلي.
  • أدوات تعليمية: مفيدة في البيئات الأكاديمية لتعليم اكتشاف الأجسام ومفاهيم الرؤية الحاسوبية.
  • تطوير النماذج الأولية: فعال لتطوير واختبار تطبيقات الكشف عن الأجسام النموذجية الأولية واختبارها بسرعة.
  • المجتمع والتعاون: تسهيل مشاركة النماذج مع المجتمع للحصول على التعليقات والتعاون.

للحصول على أمثلة لحالات استخدام مماثلة، راجع مدونةUltralytics .

إن توفير هذه المعلومات ضمن الوثائق سيساعد في تعزيز قابلية استخدام وإمكانية الوصول إلى Ultralytics YOLOv8 ، مما يجعله أكثر سهولة للمستخدمين على جميع مستويات الخبرة.



تم الإنشاء 2024-02-01، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (6)، أمبيتيوس-أكتوبوس (1)، إيفور زو331 (1)، رضوان منور (1)

التعليقات