الكشف التفاعلي عن العناصر: Gradio و Ultralytics YOLO11 🚀
مقدمة إلى الكشف التفاعلي عن الكائنات
توفر واجهة Gradio هذه طريقة سهلة وتفاعلية لإجراء الكشف عن الكائنات باستخدام نموذج Ultralytics YOLO11. يمكن للمستخدمين تحميل الصور وضبط معلمات مثل عتبة الثقة وعتبة التقاطع على الاتحاد (IoU) للحصول على نتائج الكشف في الوقت الفعلي.
شاهد: تكامل Gradio مع Ultralytics YOLO11
لماذا نستخدم Gradio للكشف عن الكائنات؟
- واجهة سهلة الاستخدام: تقدم Gradio نظامًا أساسيًا مباشرًا للمستخدمين لتحميل الصور وتصور نتائج الكشف دون أي متطلبات ترميز.
- تعديلات في الوقت الفعلي: يمكن تعديل معلمات مثل عتبات الثقة و IoU على الفور، مما يسمح بتلقي ملاحظات فورية وتحسين نتائج الاكتشاف.
- إمكانية وصول واسعة: يمكن لأي شخص الوصول إلى واجهة الويب Gradio، مما يجعلها أداة ممتازة للعروض التوضيحية والأغراض التعليمية والتجارب السريعة.
كيفية تثبيت Gradio
pip install gradio
كيفية استخدام الواجهة
- تحميل صورة: انقر فوق 'تحميل صورة' لاختيار ملف صورة للكشف عن الأجسام.
- ضبط المعلمات:
- عتبة الثقة: شريط تمرير لتعيين الحد الأدنى لمستوى الثقة لاكتشاف الكائنات.
- عتبة IoU: شريط تمرير لتعيين عتبة IoU للتمييز بين الكائنات المختلفة.
- عرض النتائج: سيتم عرض الصورة التي تمت معالجتها مع الكائنات المكتشفة وتسمياتها.
أمثلة على حالات الاستخدام
- صورة نموذجية 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 للكشف عن الأجسام، يمكنك اتباع الخطوات التالية:
- تثبيت Gradio: استخدم الأمر
pip install gradio
. - إنشاء واجهة: اكتب برنامج python لتهيئة واجهة Gradio. يمكنك الرجوع إلى مثال التعليمات البرمجية المتوفر في الوثائق للحصول على التفاصيل.
- التحميل والضبط: قم بتحميل صورتك واضبط قيم الثقة و 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 حول مراقبة سلوك الحيوانات التي توضح كيف يمكن للتصور التفاعلي أن يعزز جهود الحفاظ على الحياة البرية.