Skip to content

الكشف التفاعلي عن العناصر: Gradio و Ultralytics YOLO11 🚀

مقدمة إلى الكشف التفاعلي عن الكائنات

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



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

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

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

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

كيفية تثبيت Gradio

pip install gradio

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

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

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

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

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

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

import gradio as gr
import PIL.Image as Image

from ultralytics import ASSETS, YOLO

model = YOLO("yolo11n.pt")


def predict_image(img, conf_threshold, iou_threshold):
    """Predicts objects in an image using a YOLO11 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 YOLO11n 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 عتبة تقاطع الاتحاد (Intersection-over-union) لفصل الكائنات.

مكونات واجهة Gradio

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

الأسئلة الشائعة

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

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

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

إليك مقتطف بسيط من التعليمات البرمجية كمرجع:

import gradio as gr

from ultralytics import YOLO

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

ما هي فوائد استخدام Gradio للكشف عن الكائنات باستخدام Ultralytics YOLO11؟

يوفر استخدام Gradio لاكتشاف الكائنات Ultralytics YOLO11 العديد من المزايا:

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

لمزيد من التفاصيل، يمكنك قراءة منشور المدونة هذا حول الذكاء الاصطناعي في علم الأشعة الذي يعرض تقنيات التصور التفاعلية المماثلة.

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

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

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

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

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

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

ما هي بعض التطبيقات العملية لاستخدام Ultralytics YOLO11 مع Gradio؟

تشمل التطبيقات العملية للجمع بين Ultralytics YOLO11 و Gradio ما يلي:

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

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



📅 تم الإنشاء منذ سنة واحدة ✏️ تم التحديث منذ 4 أشهر

تعليقات