الكشف التفاعلي عن الأجسام: Gradio و Ultralytics YOLO26 🚀#
مقدمة إلى الكشف التفاعلي عن الأجسام#
توفر واجهة Gradio هذه طريقة سهلة وتفاعلية لإجراء اكتشاف الكائنات باستخدام نموذج Ultralytics YOLO26. يمكن للمستخدمين تحميل الصور وتعديل المعلمات مثل عتبة الثقة وعتبة تقاطع الاتحاد (IoU) للحصول على نتائج اكتشاف في الوقت الفعلي.
Watch: Deploy Ultralytics YOLO26 in a Browser with Gradio | Complete Tutorial | Vision AI 🌐
لماذا نستخدم Gradio للكشف عن الأجسام؟#
- واجهة سهلة الاستخدام: يوفر Gradio منصة مباشرة للمستخدمين لتحميل الصور وتصور نتائج الكشف دون الحاجة إلى أي برمجة.
- تعديلات في الوقت الفعلي: يمكن ضبط المعلمات مثل عتبات الثقة وIoU أثناء التشغيل، مما يسمح بردود فعل فورية وتحسين نتائج الكشف.
- إمكانية وصول واسعة: يمكن لأي شخص الوصول إلى واجهة الويب الخاصة بـ Gradio، مما يجعلها أداة ممتازة للعروض التوضيحية والأغراض التعليمية والتجارب السريعة.
كيفية تثبيت Gradio#
pip install gradioكيفية استخدام الواجهة#
- تحميل صورة: انقر على 'Upload Image' لاختيار ملف صورة للكشف عن الأجسام.
- ضبط المعلمات:
- عتبة الثقة (Confidence Threshold): شريط تمرير لضبط الحد الأدنى لمستوى الثقة للكشف عن الأجسام.
- عتبة IoU: شريط تمرير لضبط عتبة IoU للتمييز بين الأجسام المختلفة.
- عرض النتائج: سيتم عرض الصورة المعالجة مع الأجسام المكتشفة وتسمياتها.
أمثلة على حالات الاستخدام#
- صورة تجريبية 1: كشف الحافلات باستخدام العتبات الافتراضية.
- صورة تجريبية 2: كشف الأجسام في صورة رياضية باستخدام العتبات الافتراضية.
مثال على الاستخدام#
يوفر هذا القسم كود Python المستخدم لإنشاء واجهة Gradio للكشف عن الأجسام باستخدام Ultralytics YOLO26. يمكن تكييف المثال ليناسب مهام التصنيف، وتجزئة الأنسجة، وتحديد الوضعية، ومهام YOLO الأخرى من خلال تحميل نقطة فحص النموذج المقابلة.
import gradio as gr
from PIL import Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo26n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO26 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 YOLO26n 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 | عتبة تقاطع الاتحاد (IoU) للفصل بين الأجسام. |
مكونات واجهة Gradio#
| المكون | الوصف |
|---|---|
| إدخال الصورة | لتحميل الصورة للكشف عنها. |
| أشرطة التمرير | لضبط عتبات الثقة وIoU. |
| إخراج الصورة | لعرض نتائج الكشف. |
الأسئلة الشائعة#
لاستخدام Gradio مع Ultralytics YOLO26 للكشف عن الأجسام، يمكنك اتباع الخطوات التالية:
- تثبيت Gradio: استخدم الأمر
pip install gradio. - إنشاء واجهة: اكتب نص برمجي بلغة Python لتهيئة واجهة Gradio. يمكنك الرجوع إلى مثال الكود المرفق في الوثائق للحصول على التفاصيل.
- التحميل والضبط: قم بتحميل صورتك واضبط عتبات الثقة وIoU على واجهة Gradio للحصول على نتائج كشف فورية.
إليك مقتطف كود بسيط للرجوع إليه:
import gradio as gr from ultralytics import YOLO model = YOLO("yolo26n.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 YOLO26", description="Upload images for YOLO26 object detection.", ) iface.launch()- تثبيت Gradio: استخدم الأمر
يوفر استخدام Gradio للكشف عن الأجسام باستخدام Ultralytics YOLO26 عدة فوائد:
- واجهة سهلة الاستخدام: يوفر Gradio واجهة بديهية للمستخدمين لتحميل الصور وتصور نتائج الكشف دون أي جهد برمجي.
- تعديلات في الوقت الفعلي: يمكنك ضبط معلمات الكشف ديناميكياً مثل عتبات الثقة وIoU ورؤية التأثيرات على الفور.
- إمكانية الوصول: واجهة الويب متاحة لأي شخص، مما يجعلها مفيدة للتجارب السريعة والأغراض التعليمية والعروض التوضيحية.
لمزيد من التفاصيل، يمكنك قراءة منشور المدونة حول الذكاء الاصطناعي في الأشعة الذي يعرض تقنيات تصور تفاعلية مشابهة.
نعم، يمكن استخدام Gradio وUltralytics YOLO26 معًا لأغراض تعليمية بشكل فعال. تجعل واجهة الويب البديهية لـ Gradio من السهل على الطلاب والمعلمين التفاعل مع نماذج التعلم العميق الحديثة مثل Ultralytics YOLO26 دون الحاجة إلى مهارات برمجة متقدمة. هذا الإعداد مثالي لتوضيح المفاهيم الرئيسية في اكتشاف الكائنات ورؤية الكمبيوتر، حيث توفر Gradio تغذية راجعة مرئية فورية تساعد في فهم تأثير المعلمات المختلفة على أداء الاكتشاف.
في واجهة Gradio لـ YOLO26، يمكنك ضبط عتبات الثقة وIoU باستخدام أشرطة التمرير المتوفرة. تساعد هذه العتبات في التحكم في دقة التنبؤ وفصل الكائنات:
- عتبة الثقة: تحدد الحد الأدنى لمستوى الثقة للكشف عن الأجسام. قم بالتحريك لزيادة أو تقليل الثقة المطلوبة.
- عتبة IoU: تحدد عتبة تقاطع الاتحاد للتمييز بين الأجسام المتداخلة. اضبط هذه القيمة لتحسين فصل الأجسام.
لمزيد من المعلومات حول هذه المعلمات، تفضل بزيارة قسم شرح المعلمات.
تشمل التطبيقات العملية للجمع بين Ultralytics YOLO26 و Gradio ما يلي:
- عروض الكشف عن الأجسام في الوقت الفعلي: مثالية لعرض كيفية عمل الكشف عن الأجسام في الوقت الفعلي.
- الأدوات التعليمية: مفيدة في البيئات الأكاديمية لتدريس مفاهيم الكشف عن الأجسام ورؤية الحاسوب.
- تطوير النماذج الأولية: فعالة لتطوير واختبار تطبيقات الكشف عن الأجسام الأولية بسرعة.
- المجتمع والتعاون: تسهل مشاركة النماذج مع المجتمع للحصول على ملاحظات وتعاون.
للحصول على أمثلة لحالات استخدام مماثلة، راجع مدونة Ultralytics حول مراقبة سلوك الحيوان التي توضح كيف يمكن للتصور التفاعلي أن يعزز جهود الحفاظ على الحياة البرية.