الاستنتاج#
Ultralytics Platform يوفر استدلالاً مستنداً إلى المتصفح لاختبار النماذج المدربة ونطاقات مخصصة للوصول البرمجي.

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

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

| المعامل | النطاق | الافتراضي | الوصف |
|---|---|---|---|
| الثقة (Confidence) | 0.01 إلى 1.0، بخطوات قدرها 0.01 | 0.25 | الحد الأدنى لعتبة الثقة |
| IoU | 0.0 إلى 0.95، بخطوات قدرها 0.01 | 0.7 | عتبة NMS IoU |
| حجم الصورة | 32 إلى 1280، بخطوات قدرها 32 | 640 | بعد تغيير حجم الإدخال |
يؤدي تغيير أي معلمة تلقائياً إلى إعادة تشغيل الاستنتاج على الصورة الحالية مع تأخير 500 مللي ثانية. لا حاجة لإعادة التحميل.
عتبة الثقة#
تصفية التوقعات حسب الثقة:
- أعلى (0.5+): توقعات أقل، ولكن أكثر يقينية
- أقل (0.1-0.25): توقعات أكثر، مع بعض الضوضاء
- افتراضي (0.25): متوازن لمعظم حالات الاستخدام
عتبة IoU#
التحكم في خوارزمية NMS (Non-Maximum Suppression):
- أعلى (0.7+): السماح بمزيد من الصناديق المتداخلة
- الحد الأدنى (0.3-0.5): قمع الاكتشافات المتداخلة بشكل أكثر عدوانية
- افتراضي (0.7): سلوك NMS متوازن لمعظم حالات الاستخدام
توقع النشر#
تتضمن كل نقطة نهاية مخصصة قيد التشغيل علامة تبويب Predict مباشرة على بطاقة نشرها. يستخدم هذا خدمة الاستدلال الخاصة بالنشر نفسه بدلاً من خدمة التنبؤ المشتركة، مما يتيح لك اختبار نقطة النهاية المنشورة من المتصفح.
API النطاق المخصص#
تحتوي بطاقة API Docs في علامة تبويب نموذج Predict على أمثلة لطلبات Python وJavaScript وcURL. تستخدم الأمثلة عناصر نائب حتى تقوم بنشر النموذج. بعد النشر، تملأ علامة تبويب Code الخاصة ببطاقة النشر عنوان URL لنقطة النهاية ومفتاح API المتاح لمساحة العمل الخاصة بك.
المصادقة#
قم بتضمين مفتاح API الخاص بك في الطلبات:
Authorization: Bearer YOUR_API_KEYلإجراء الاستدلال من نصوصك أو دفاتر ملاحظاتك أو تطبيقاتك الخاصة، قم تضمين مفتاح API. أنشئ مفتاحاً في Settings > API Keys.
نقطة النهاية#
POST https://YOUR_DEPLOYMENT_URL.run.app/predictطلب#
import requests
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
with open("image.jpg", "rb") as image_file:
response = requests.post(url, headers=headers, files={"file": image_file}, data=data)
print(response.json())
معلمات الطلب#
| المعامل | النوع | الافتراضي | النطاق | الوصف |
|---|---|---|---|---|
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 | - | إرجاع إحداثيات صندوق الإحاطة (bounding box) كـ 0 – 1 |
decimals | int | 5 | 0 – 10 | الدقة العشرية لقيم الإحداثيات |
source | string | - | - | عنوان URL لصورة أو سلسلة base64 (بديل لـ file) |
استجابة#
{
"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,
"task": "detect",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
حقول الاستجابة#
| الحقل | النوع | الوصف |
|---|---|---|
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 | كائن | بيانات تعريف الطلب ومعلومات الإصدار |
الاستجابات الخاصة بكل مهمة#
يختلف تنسيق الاستجابة حسب المهمة:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}حدود المعدل#
واجهة برمجة تطبيقات النموذج المشترك مقيدة بـ 20 طلباً/دقيقة لكل مفتاح API، أو مستخدم مسجل الدخول، أو عنوان IP مجهول. عند التقنين، تعيد واجهة برمجة التطبيقات 429 مع ترويسة Retry-After. راجع مرجع معدل الطلبات الكامل لجميع فئات نقاط النهاية.
الطلبات المرسلة مباشرة إلى نقطة نهاية مخصصة لا تمر عبر محدد معدل طلبات واجهة برمجة تطبيقات المنصة. للاستدلال المحلي عالي الحجم، راجع دليل وضع التنبؤ.
معالجة الأخطاء#
استجابات الخطأ الشائعة:
| الكود | الرسالة | الحل |
|---|---|---|
| 400 | صورة غير صالحة | تحقق من تنسيق الملف |
| 401 | غير مصرح به | تحقق من مفتاح الـ API |
| 404 | النموذج غير موجود | تحقق من معرف النموذج |
| 429 | تم تجاوز حد المعدل | انتظر وأعد المحاولة، أو أرسل الطلبات مباشرة إلى نقطة نهاية مخصصة |
| 500 | خطأ في الخادم | أعد محاولة الطلب |
| 503 | الخدمة غير متوفرة | خدمة Predict قيد التشغيل أو يتعذر الوصول إليها؛ انتظر قليلاً وأعد المحاولة |
الأسئلة الشائعة#
تقبل كلتا طريقتي الاستدلال ملفات الفيديو:
- النقاط النهائية المخصصة تقبل ملفات الفيديو مباشرة. التنسيقات المدعومة (حتى 100 ميغابايت): ASF وAVI وGIF وM4V وMKV وMOV وMP4 وMPEG وMPG وTS وWEBM وWMV. تتم معالجة كل إطار على حدة ويتم إرجاع النتائج لكل إطار. راجع النقاط النهائية المخصصة للتفاصيل.
- يستخدم الاستدلال المشترك (
/api/models/{id}/predict) نفس خدمة التنبؤ ويقبل نفس تنسيقات الفيديو. تختار علامة تبويب Predict في المتصفح الصور فقط، لذا استخدم واجهة برمجة التطبيقات أو نقطة نهاية مخصصة للفيديو.
تقوم الـ API بإرجاع تنبؤات بتنسيق JSON. للتصور:
- استخدم التنبؤات لرسم المربعات محلياً
- استخدم طريقة Ultralytics
plot():
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model("image.jpg") results[0].save("annotated.jpg")راجع توثيق وضع التنبؤ لمعرفة واجهة برمجة تطبيقات النتائج الكاملة وخيارات التصور.
- حد علامة التبويب Predict: 10 ميجابايت
- حد API النطاق المخصص: 100 ميجابايت
- تغيير الحجم تلقائياً في علامة تبويب Predict: يتم تغيير حجم الصور إلى
Image Sizeالمحدد قبل التحميل
يتم تغيير حجم الصور الكبيرة تلقائياً مع الحفاظ على نسبة العرض إلى الارتفاع.
تقوم الـ API الحالية بمعالجة صورة واحدة لكل طلب. للدفعات:
- إرسال طلبات منفصلة لكل صورة
- توزيع الطلبات عبر النطاقات المخصصة عندما يكون ذلك مناسباً
- استخدام الاستدلال المحلي للدفعات الكبيرة
استدلال الدفعات باستخدام Pythonimport 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))