Meet YOLO26: next-gen vision AI.

Link to this sectionالاستنتاج#

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

علامة تبويب توقع النموذج في Ultralytics Platform مع تراكب الاكتشافات

Link to this sectionعلامة تبويب التنبؤ#

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

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

منطقة إسقاط تحميل الصور في علامة تبويب التوقع بـ Ultralytics Platform

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:#fff

Link 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كاميرا الويب#

انقر على بطاقة كاميرا الويب لبدء بث الكاميرا المباشر:

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

Link to this sectionعرض النتائج#

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

  • صناديق التحديد مع تسميات الفئات كتراكبات SVG
  • درجات الثقة لكل اكتشاف
  • ألوان الفئات من لوحة ألوان مجموعة البيانات الخاصة بك (أو لوحة الألوان الافتراضية لـ Ultralytics)
  • تفصيل السرعة: وقت المعالجة الأولية، الاستنتاج، المعالجة اللاحقة، والشبكة

نتائج علامة تبويب التوقع في Ultralytics Platform مع الاكتشافات وإحصائيات السرعة

تظهر لوحة النتائج:

الحقلالوصف
قائمة الاكتشافاتكل اكتشاف مع اسم الفئة والثقة
إحصائيات السرعةالمعالجة الأولية، الاستنتاج، المعالجة اللاحقة، الشبكة (بالمللي ثانية)
استجابة JSONاستجابة API الخام في كتلة كود

Link to this sectionمعايير الاستنتاج#

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

منزلقات معايير علامة تبويب التوقع في Ultralytics Platform

المعاملالنطاقالافتراضيالوصف
الثقة (Confidence)0.01 – 1.00.25الحد الأدنى لعتبة الثقة
IoU0.0 – 0.950.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 مطلوب

لتشغيل الاستنتاج من البرامج النصية أو دفاتر الملاحظات أو التطبيقات الخاصة بك، قم بتضمين مفتاح API. قم بإنشاء واحد في Settings > API Keys.

Link to this sectionنقطة النهاية#

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

Link 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())

أمثلة كود علامة تبويب التوقع في Ultralytics Platform علامة تبويب Python

Link to this sectionمعايير الطلب#

المعاملالنوعالافتراضيالنطاقالوصف
fileملف--ملف صورة أو فيديو (مطلوب ما لم يتم تعيين source)
conffloat0.250.01 – 1.0الحد الأدنى لعتبة الثقة
ioufloat0.70.0 – 0.95عتبة NMS IoU
imgszint64032 – 1280حجم صورة الإدخال بالبكسل
normalizeمنطقي (bool)false-إرجاع إحداثيات صندوق التحديد كـ 0 – 1
decimalsint50 – 10الدقة العشرية لقيم الإحداثيات
sourcestring--عنوان 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"
        }
    }
}

عرض استجابة JSON في علامة تبويب التوقع بـ Ultralytics Platform

Link to this sectionحقول الاستجابة#

الحقلالنوعالوصف
imagesمصفوفةقائمة بالصور المعالجة
images[].shapeمصفوفةأبعاد الصورة [الارتفاع، العرض]
images[].resultsمصفوفةقائمة الكشف
images[].results[].classintفهرس الفئة (معرف رقمي)
images[].results[].namestringاسم الفئة
images[].results[].confidencefloatثقة الكشف (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. للتصور:

  1. استخدم التنبؤات لرسم المربعات محلياً
  2. استخدم طريقة 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 الحالية بمعالجة صورة واحدة لكل طلب. للدفعات:

  1. أرسل طلبات متزامنة
  2. استخدم نقطة نهاية مخصصة لإنتاجية أعلى
  3. ضع في اعتبارك الاستدلال المحلي للدفعات الكبيرة
استدلال الدفعات باستخدام Python
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))

التعليقات