تخطي إلى المحتوى

الاستدلال

منصة Ultralytics توفر Inference API لاختبار النماذج المدربة. استخدم علامة تبويب الاختبار المستندة إلى المتصفح للتحقق السريع أو REST API للوصول البرمجي.

علامة تبويب الاختبار

يتضمن كل نموذج علامة تبويب للاختبار للاستدلال المستند إلى المتصفح:

  1. انتقل إلى نموذجك
  2. انقر على علامة تبويب الاختبار
  3. حمّل صورة أو استخدم الأمثلة
  4. شاهد التنبؤات فورًا

تحميل صورة

اسحب وأفلت أو انقر للتحميل:

  • التنسيقات المدعومة: JPG، PNG، WebP، GIF
  • الحجم الأقصى: 10 ميجابايت
  • الاستدلال التلقائي: تظهر النتائج تلقائيًا

صور أمثلة

استخدم صور الأمثلة المضمنة للاختبار السريع:

صورةالمحتوى
bus.jpgمشهد شارع بمركبات
zidane.jpgمشهد رياضي بأشخاص

عرض النتائج

عرض نتائج الاستدلال:

  • صناديق الإحاطة مع تسميات الفئات
  • درجات الثقة لكل detect
  • ألوان الفئات المطابقة لمجموعة بياناتك

معلمات الاستدلال

اضبط سلوك الـ detect باستخدام المعلمات:

المعلمةالنطاقافتراضيالوصف
الثقة0.0-1.00.25الحد الأدنى لعتبة الثقة
IoU0.0-1.00.70عتبة NMS IoU
حجم الصورة32-1280640أبعاد تغيير حجم الإدخال

عتبة الثقة

فلترة التنبؤات حسب الثقة:

  • أعلى (0.5+): تنبؤات أقل وأكثر تأكيدًا
  • أقل (0.1-0.25): تنبؤات أكثر، مع بعض التشويش
  • افتراضي (0.25): متوازن لمعظم حالات الاستخدام

عتبة IoU

التحكم في قمع القيم غير القصوى:

  • أعلى (0.7+): السماح بمزيد من التداخل بين المربعات
  • أقل (0.3-0.5): دمج عمليات الكشف القريبة بشكل أكثر قوة
  • الافتراضي (0.70): NMS متوازن لمعظم حالات الاستخدام

REST API

الوصول إلى الاستدلال برمجيًا:

المصادقة

قم بتضمين مفتاح API الخاص بك في الطلبات:

Authorization: Bearer YOUR_API_KEY

نقطة النهاية

POST https://platform.ultralytics.com/api/models/{model_slug}/predict

الطلب

curl -X POST \
  "https://platform.ultralytics.com/api/models/username/project/model/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.25" \
  -F "iou=0.7"
import requests

url = "https://platform.ultralytics.com/api/models/username/project/model/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())

استجابة

{
    "success": true,
    "predictions": [
        {
            "class": "person",
            "confidence": 0.92,
            "box": {
                "x1": 100,
                "y1": 50,
                "x2": 300,
                "y2": 400
            }
        },
        {
            "class": "car",
            "confidence": 0.87,
            "box": {
                "x1": 400,
                "y1": 200,
                "x2": 600,
                "y2": 350
            }
        }
    ],
    "image": {
        "width": 1920,
        "height": 1080
    }
}

حقول الاستجابة

الحقلالنوعالوصف
successقيمة منطقيةحالة الطلب
predictionsمصفوفةقائمة الاكتشافات
predictions[].classسلسلة نصيةاسم الفئة
predictions[].confidenceعائمثقة الاكتشاف (0-1)
predictions[].boxكائنإحداثيات صندوق الإحاطة
imageكائنأبعاد الصورة الأصلية

استجابات خاصة بالمهام

تنسيق الاستجابة يختلف حسب المهمة:

{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "segments": [[100, 50], [150, 60], ...]
}
{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "keypoints": [
    {"x": 200, "y": 75, "conf": 0.95},
    ...
  ]
}
{
  "predictions": [
    {"class": "cat", "confidence": 0.95},
    {"class": "dog", "confidence": 0.03}
  ]
}

حدود المعدل

الاستدلال المشترك يخضع لقيود معدل:

الخطةالطلبات/الدقيقةالطلبات/اليوم
مجاني10100
احترافي6010,000

للحصول على حدود أعلى، انشر نقطة نهاية مخصصة.

معالجة الأخطاء

استجابات الأخطاء الشائعة:

الرمزالرسالةالحل
400صورة غير صالحةتحقق من تنسيق الملف
401غير مصرح بهتحقق من مفتاح API
404النموذج غير موجودتحقق من معرف النموذج
429تم تجاوز حد المعدلانتظر أو قم بترقية الخطة
500خطأ في الخادمأعد محاولة الطلب

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

هل يمكنني إجراء الاستدلال على الفيديو؟

تقبل واجهة برمجة التطبيقات (API) الإطارات الفردية. بالنسبة للفيديو:

  1. استخرج الإطارات محليًا
  2. أرسل كل إطار إلى واجهة برمجة التطبيقات (API)
  3. اجمع النتائج

للفيديو في الوقت الفعلي، فكر في نشر نقطة نهاية مخصصة.

كيف أحصل على الصورة المشروحة؟

تعيد الـ API تنبؤات بصيغة JSON. للتصور:

  1. استخدم التنبؤات لرسم المربعات محليًا
  2. استخدم Ultralytics plot() الطريقة:
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")

ما هو أقصى حجم للصورة؟

  • حد التحميل: 10 ميجابايت
  • Recommended: <5MB for fast inference
  • تغيير الحجم تلقائيًا: يتم تغيير حجم الصور إلى imgsz معامل

يتم تغيير حجم الصور الكبيرة تلقائيًا مع الحفاظ على نسبة العرض إلى الارتفاع.

هل يمكنني إجراء الاستدلال الدفعي؟

تعالج الـ API الحالية صورة واحدة لكل طلب. للمعالجة الدفعية:

  1. أرسل طلبات متزامنة
  2. استخدم نقطة نهاية مخصصة لإنتاجية أعلى
  3. فكر في الاستدلال المحلي للدفعات الكبيرة


📅 تم الإنشاء قبل 20 أيام ✏️ تم التحديث قبل 14 أيام
glenn-jocherLaughing-q

تعليقات