Link to this sectionالاستنتاج#
توفر Ultralytics Platform واجهة برمجة تطبيقات (API) للاستنتاج لاختبار النماذج المدربة. استخدم علامة التبويب Predict المستندة إلى المتصفح للتحقق السريع أو استخدم REST API للوصول البرمجي.

Link to this sectionعلامة تبويب التنبؤ#
يتضمن كل نموذج علامة تبويب Predict للاستنتاج عبر المتصفح:
- انتقل إلى نموذجك
- انقر فوق علامة التبويب Predict
- قم بتحميل صورة، أو استخدم مثالاً، أو افتح كاميرا الويب الخاصة بك
- عرض التوقعات فوراً مع تراكبات صناديق التحديد

Link to this sectionطرق الإدخال#
تدعم لوحة التوقع طرق إدخال متعددة:
| الطريقة (Method) | الوصف |
|---|---|
| تحميل الصور | سحب وإفلات أو انقر لتحميل صورة |
| صور الأمثلة | انقر فوق الأمثلة المضمنة (صور مجموعة البيانات أو الافتراضية) |
| التقاط كاميرا الويب | بث مباشر للكاميرا مع التقاط إطار واحد |
graph LR
A[Upload Image] --> D[Auto-Inference]
B[Example Image] --> D
C[Webcam Capture] --> D
D --> E[Results + Overlays]
style D fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fffLink to this sectionتحميل صورة#
سحب وإفلات أو انقر للتحميل:
- التنسيقات المدعومة: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- الحجم الأقصى: 10MB
- الاستنتاج التلقائي: تظهر النتائج تلقائياً بعد التحميل
تعمل لوحة التوقع على إجراء الاستنتاج تلقائياً عند تحميل صورة، أو اختيار مثال، أو التقاط إطار من كاميرا الويب. لا حاجة للنقر على أي زر.
Link to this sectionصور الأمثلة#
تعرض لوحة التوقع صوراً توضيحية من مجموعة البيانات المرتبطة بنموذجك. إذا لم يتم ربط أي مجموعة بيانات، يتم استخدام الأمثلة الافتراضية:
| الصورة | المحتوى |
|---|---|
bus.jpg | مشهد شارع مع مركبات |
zidane.jpg | مشهد رياضي مع أشخاص |
بالنسبة لنماذج OBB، يتم عرض صور جوية للقوارب والمطارات بدلاً من ذلك.
يتم تحميل صور الأمثلة مسبقاً عند تحميل الصفحة، لذا فإن النقر على مثال يؤدي إلى بدء الاستنتاج فوراً تقريباً دون انتظار التحميل.
Link to this sectionكاميرا الويب#
انقر على بطاقة كاميرا الويب لبدء بث الكاميرا المباشر:
- امنح إذن الوصول للكاميرا عند المطالبة بذلك
- انقر على معاينة الفيديو لالتقاط إطار
- يتم إجراء الاستنتاج تلقائياً على الإطار الذي تم التقاطه
- انقر مرة أخرى لإعادة تشغيل كاميرا الويب
Link to this sectionعرض النتائج#
عرض نتائج الاستنتاج:
- صناديق التحديد مع تسميات الفئات كتراكبات SVG
- درجات الثقة لكل اكتشاف
- ألوان الفئات من لوحة ألوان مجموعة البيانات الخاصة بك (أو لوحة الألوان الافتراضية لـ Ultralytics)
- تفصيل السرعة: وقت المعالجة الأولية، الاستنتاج، المعالجة اللاحقة، والشبكة

تظهر لوحة النتائج:
| الحقل | الوصف |
|---|---|
| قائمة الاكتشافات | كل اكتشاف مع اسم الفئة والثقة |
| إحصائيات السرعة | المعالجة الأولية، الاستنتاج، المعالجة اللاحقة، الشبكة (بالمللي ثانية) |
| استجابة JSON | استجابة API الخام في كتلة كود |
Link to this sectionمعايير الاستنتاج#
اضبط سلوك الاكتشاف باستخدام المعايير في قسم Parameters القابل للطي:

| المعامل | النطاق | الافتراضي | الوصف |
|---|---|---|---|
| الثقة (Confidence) | 0.01 – 1.0 | 0.25 | الحد الأدنى لعتبة الثقة |
| IoU | 0.0 – 0.95 | 0.7 | عتبة NMS IoU |
| حجم الصورة | 320, 640, 1280 (تبديل واجهة المستخدم) | 640 | بعد تغيير حجم الإدخال (تقبل API أي قيمة من 32 إلى 1280) |
يؤدي تغيير أي معلمة تلقائياً إلى إعادة تشغيل الاستنتاج على الصورة الحالية مع تأخير 500 مللي ثانية. لا حاجة لإعادة التحميل.
Link to this sectionعتبة الثقة#
تصفية التوقعات حسب الثقة:
- أعلى (0.5+): توقعات أقل، ولكن أكثر يقينية
- أقل (0.1-0.25): توقعات أكثر، مع بعض الضوضاء
- افتراضي (0.25): متوازن لمعظم حالات الاستخدام
Link to this sectionعتبة IoU#
التحكم في خوارزمية NMS (Non-Maximum Suppression):
- أعلى (0.7+): السماح بمزيد من الصناديق المتداخلة
- أقل (0.3-0.5): دمج الاكتشافات القريبة بشكل أكثر عدوانية
- افتراضي (0.7): سلوك NMS متوازن لمعظم حالات الاستخدام
Link to this sectionتوقع النشر#
يتضمن كل نقطة نهاية مخصصة قيد التشغيل علامة تبويب Predict مباشرة على بطاقة النشر الخاصة بها. يستخدم هذا خدمة استنتاج النشر نفسها بدلاً من خدمة التوقع المشتركة، مما يتيح لك اختبار نقطة النهاية المنشورة من المتصفح.
Link to this sectionREST API#
الوصول إلى الاستنتاج برمجياً:
Link to this sectionالمصادقة#
قم بتضمين مفتاح API الخاص بك في الطلبات:
Authorization: Bearer YOUR_API_KEYلتشغيل الاستنتاج من البرامج النصية أو دفاتر الملاحظات أو التطبيقات الخاصة بك، قم بتضمين مفتاح API. قم بإنشاء واحد في Settings > API Keys.
Link to this sectionنقطة النهاية#
POST https://platform.ultralytics.com/api/models/{modelId}/predictLink to this sectionطلب#
import requests
url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
Link to this sectionمعايير الطلب#
| المعامل | النوع | الافتراضي | النطاق | الوصف |
|---|---|---|---|---|
file | ملف | - | - | ملف صورة أو فيديو (مطلوب ما لم يتم تعيين source) |
conf | float | 0.25 | 0.01 – 1.0 | الحد الأدنى لعتبة الثقة |
iou | float | 0.7 | 0.0 – 0.95 | عتبة NMS IoU |
imgsz | int | 640 | 32 – 1280 | حجم صورة الإدخال بالبكسل |
normalize | منطقي (bool) | false | - | إرجاع إحداثيات صندوق التحديد كـ 0 – 1 |
decimals | int | 5 | 0 – 10 | الدقة العشرية لقيم الإحداثيات |
source | string | - | - | عنوان URL للصورة أو سلسلة base64 (بديل لـ file) |
Link to this sectionاستجابة#
{
"images": [
{
"shape": [1080, 1920],
"results": [
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
},
{
"class": 2,
"name": "car",
"confidence": 0.87,
"box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
}
],
"speed": {
"preprocess": 1.2,
"inference": 12.5,
"postprocess": 2.3
}
}
],
"metadata": {
"imageCount": 1,
"functionTimeCall": 0.018,
"model": "model.pt",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
Link to this sectionحقول الاستجابة#
| الحقل | النوع | الوصف |
|---|---|---|
images | مصفوفة | قائمة بالصور المعالجة |
images[].shape | مصفوفة | أبعاد الصورة [الارتفاع، العرض] |
images[].results | مصفوفة | قائمة الكشف |
images[].results[].class | int | فهرس الفئة (معرف رقمي) |
images[].results[].name | string | اسم الفئة |
images[].results[].confidence | float | ثقة الكشف (0-1) |
images[].results[].box | كائن | إحداثيات مربع الإحاطة (BBox) |
images[].speed | كائن | أوقات المعالجة بالملي ثانية |
metadata | كائن | بيانات تعريف الطلب ومعلومات الإصدار |
Link to this sectionالاستجابات الخاصة بكل مهمة#
يختلف تنسيق الاستجابة حسب المهمة:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Link to this sectionالفواتير#
الاستدلال المشترك (علامة التبويب Predict ونقطة النهاية /api/models/{id}/predict) مشمول بدون تكلفة إضافية في جميع الخطط. لا توجد رسوم لكل طلب للاستدلال المشترك.
بالنسبة لأحمال عمل الإنتاج التي تتطلب إنتاجية أعلى، قم بنشر نقطة نهاية مخصصة.
Link to this sectionحدود المعدل#
يخضع الاستدلال المشترك لمعدل محدود بـ 20 طلباً/دقيقة لكل مفتاح API. عند التقييد، تُرجع الـ API الخطأ 429 مع ترويسة Retry-After. راجع مرجع حدود المعدل الكامل لجميع فئات نقاط النهاية.
قم بنشر نقطة نهاية مخصصة للاستدلال غير المحدود بدون قيود على المعدل، وإنتاجية متوقعة، واستجابات ذات زمن انتقال منخفض ثابت. للاستدلال المحلي، راجع دليل وضع Predict.
Link to this sectionمعالجة الأخطاء#
استجابات الخطأ الشائعة:
| الكود | الرسالة | الحل |
|---|---|---|
| 400 | صورة غير صالحة | تحقق من تنسيق الملف |
| 401 | غير مصرح به | تحقق من مفتاح الـ API |
| 404 | النموذج غير موجود | تحقق من معرف النموذج |
| 429 | تم تجاوز حد المعدل | انتظر ثم أعد المحاولة، أو استخدم نقطة نهاية مخصصة لإنتاجية غير محدودة |
| 500 | خطأ في الخادم | أعد محاولة الطلب |
| 503 | الخدمة غير متوفرة | خدمة Predict قيد التشغيل أو يتعذر الوصول إليها؛ انتظر قليلاً وأعد المحاولة |
Link to this sectionالأسئلة الشائعة#
Link to this sectionهل يمكنني إجراء الاستدلال على الفيديو؟#
تقبل كلتا طريقتي الاستدلال ملفات الفيديو:
- نقاط النهاية المخصصة تقبل ملفات الفيديو مباشرة. التنسيقات المدعومة (حتى 100 ميجابايت): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. تتم معالجة كل إطار على حدة ويتم إرجاع النتائج لكل إطار. راجع نقاط النهاية المخصصة للحصول على التفاصيل.
- الاستدلال المشترك (
/api/models/{id}/predict) يستخدم نفس خدمة Predict ويقبل نفس تنسيقات الفيديو. ومع ذلك، فإن علامة تبويب Predict في المتصفح ضمن واجهة المستخدم تقوم بتحميل الصور فقط - استخدم REST API مباشرة أو نقطة نهاية مخصصة لسير عمل الفيديو. نقطة النهاية المشتركة أيضاً محدودة بـ 20 طلباً/دقيقة، لذا فإن نقاط النهاية المخصصة هي الخيار الأفضل لأحمال عمل الفيديو المكثفة.
Link to this sectionكيف أحصل على الصورة المشروحة؟#
تقوم الـ API بإرجاع تنبؤات بتنسيق JSON. للتصور:
- استخدم التنبؤات لرسم المربعات محلياً
- استخدم طريقة
plot()الخاصة بـ Ultralytics:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")راجع توثيق وضع Predict للحصول على نتائج الـ API الكاملة وخيارات التصور.
Link to this sectionما هو الحد الأقصى لحجم الصورة؟#
- حد التحميل: 10 ميجابايت
- موصى به: أقل من 5 ميجابايت لاستدلال سريع
- تغيير الحجم التلقائي: يتم تغيير حجم الصور إلى معلمة
Image Sizeالمحددة
يتم تغيير حجم الصور الكبيرة تلقائياً مع الحفاظ على نسبة العرض إلى الارتفاع.
Link to this sectionهل يمكنني تشغيل استدلال الدفعات (Batch Inference)؟#
تقوم الـ API الحالية بمعالجة صورة واحدة لكل طلب. للدفعات:
- أرسل طلبات متزامنة
- استخدم نقطة نهاية مخصصة لإنتاجية أعلى
- ضع في اعتبارك الاستدلال المحلي للدفعات الكبيرة
import concurrent.futures
import requests
url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]
def predict(image_path):
with open(image_path, "rb") as f:
return requests.post(url, headers=headers, files={"file": f}).json()
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
results = list(executor.map(predict, images))