رؤية YOLO 2026:

استخدام Python#

مرحباً بك في وثائق استخدام Ultralytics YOLO Python! صُمم هذا الدليل لمساعدتك على دمج Ultralytics YOLO بسلاسة في مشاريع Python الخاصة بك من أجل اكتشاف الكائنات، وتجزئة المثيلات، والتجزئة الدلالية، وتقدير العمق، والتصنيف. ستتعلم هنا كيفية تحميل واستخدام النماذج المدربة مسبقاً، وتدريب نماذج جديدة، وإجراء التنبؤات على الصور. تُعد واجهة Python سهلة الاستخدام مورداً قيماً لأي شخص يتطلع إلى دمج YOLO في مشاريع Python الخاصة به، مما يتيح لك تطبيق إمكانيات متقدمة لاكتشاف الكائنات بسرعة. لنبدأ!



Watch: Mastering Ultralytics YOLO: Python

على سبيل المثال، يمكن للمستخدمين تحميل نموذج، وتدريبه، وتقييم أدائه على مجموعة تحقق، وحتى تصديره إلى صيغة ONNX باستخدام بضعة أسطر فقط من الكود.

Python
from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolo26n.yaml")

# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo26n.pt")

# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to ONNX format
success = model.export(format="onnx")

التدريب#

وضع التدريب (Train) يُستخدم لتدريب نموذج YOLO على مجموعة بيانات مخصصة. في هذا الوضع، يتم تدريب النموذج باستخدام مجموعة البيانات المحددة والمعلمات الفائقة (hyperparameters). تتضمن عملية التدريب تحسين معاملات النموذج لكي يتمكن من التنبؤ بدقة بفئات ومواقع الكائنات في الصورة.

التدريب
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # pass any model type
results = model.train(epochs=5)

أمثلة التدريب

التحقق#

وضع التحقق (Val) يُستخدم للتحقق من صحة نموذج YOLO بعد تدريبه. في هذا الوضع، يُقيم النموذج على مجموعة تحقق لقياس دقالته وأداء التعميم لديه. يمكن استخدام هذا الوضع لضبط المعلمات الفائقة للنموذج لتحسين أدائه.

التحقق
from ultralytics import YOLO

# Load a YOLO model
model = YOLO("yolo26n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate on training data
model.val()

أمثلة التحقق

التنبؤ#

وضع التنبؤ (Predict) يُستخدم لإجراء تنبؤات باستخدام نموذج YOLO مدرب على صور أو مقاطع فيديو جديدة. في هذا الوضع، يُحمل النموذج من ملف نقطة حفظ (checkpoint)، ويمكن للمستخدم توفير صور أو مقاطع فيديو لإجراء الاستدلال (inference). يتنبأ النموذج بفئات ومواقع الكائنات في الصور أو مقاطع الفيديو المدخلة.

التنبؤ
import cv2
from PIL import Image

from ultralytics import YOLO

model = YOLO("model.pt")
# accepts all formats - image/dir/Path/URL/video/PIL/ndarray. 0 for webcam
results = model.predict(source="0")
results = model.predict(source="folder", show=True)  # Display preds. Accepts all YOLO predict arguments

# from PIL
im1 = Image.open("bus.jpg")
results = model.predict(source=im1, save=True)  # save plotted images

# from ndarray
im2 = cv2.imread("bus.jpg")
results = model.predict(source=im2, save=True, save_txt=True)  # save predictions as labels

# from list of PIL/ndarray
results = model.predict(source=[im1, im2])

أمثلة التنبؤ

التصدير#

وضع التصدير (Export) يُستخدم لتصدير نموذج YOLO إلى صيغة يمكن استخدامها للنشر. في هذا الوضع، يتم تحويل النموذج إلى صيغة يمكن استخدامها بواسطة تطبيقات برمجية أخرى أو أجهزة عتادية. يكون هذا الوضع مفيداً عند نشر النموذج في بيئات الإنتاج.

التصدير

قم بتصدير نموذج YOLO رسمي إلى صيغة ONNX مع حجم دُفعة (batch-size) وحجم صورة (image-size) ديناميكيين.

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="onnx", dynamic=True)

أمثلة التصدير

التتبع#

وضع التتبع (Track) يُستخدم لتتبع الكائنات في الوقت الفعلي باستخدام نموذج YOLO. في هذا الوضع، يُحمل النموذج من ملف نقطة حفظ، ويمكن للمستخدم توفير دفق فيديو مباشر لإجراء تتبع الكائنات في الوقت الفعلي. يكون هذا الوضع مفيداً لتطبيقات مثل أنظمة المراقبة أو السيارات ذاتية القيادة.

التتبع
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official detection model
model = YOLO("yolo26n-seg.pt")  # load an official segmentation model
model = YOLO("path/to/best.pt")  # load a custom model

# Track with the model
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True)
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml")

أمثلة التتبع

قياس الأداء (Benchmark)#

وضع القياس المرجعي (Benchmark) يُستخدم لتقييم سرعة ودقة صيغ التصدير المختلفة لـ YOLO. توفر القياسات المرجعية معلومات حول حجم الصيغة المُصدَّرة، ومقاييس mAP50-95 الخاصة بها (لاكتشاف الكائنات والتجزئة) أو مقاييس accuracy_top1 (للتصنيف)، وقت الاستدلال بالمللي ثانية لكل صورة عبر صيغ التصدير المختلفة مثل ONNX، وOpenVINO، وTensorRT وغيرها. يمكن أن تساعد هذه المعلومات المستخدمين في اختيار صيغة التصدير المثلى لحالة الاستخدام الخاصة بهم بناءً على متطلباتهم المتعلقة بالسرعة والدقة.

قياس الأداء (Benchmark)

قياس أداء نموذج YOLO رسمي عبر جميع تنسيقات التصدير.

from ultralytics.utils.benchmarks import benchmark

# Benchmark
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, device=0)

أمثلة القياس المقارنة

استخدام المدربين (Trainers)#

فئة نموذج YOLO تعمل غلافاً عالي المستوى (high-level wrapper) لفئات المدربين (Trainer). تمتلك كل مهمة من مهام YOLO مدربها الخاص، والذي يرث من BaseTrainer. تتيح هذه البنية مرونة أكبر وتخصيصاً أفضل في سير عمل تعلم الآلة الخاص بك.

مثال على مدرب الاكتشاف
from ultralytics.models.yolo.detect import DetectionPredictor, DetectionTrainer, DetectionValidator

# trainer
trainer = DetectionTrainer(overrides={})
trainer.train()
trained_model = trainer.best

# Validator
val = DetectionValidator(args=...)
val(model=trained_model)

# predictor
pred = DetectionPredictor(overrides={})
pred(source=SOURCE, model=trained_model)

# resume from last weight
overrides["resume"] = trainer.last
trainer = DetectionTrainer(overrides=overrides)

يمكنك بسهولة تخصيص المدربين لدعم مهام مخصصة أو استكشاف أفكار البحث والتطوير. يتيح لك التصميم الوحدوي لـ Ultralytics YOLO تكيف الإطار مع احتياجاتك الخاصة، سواء كنت تعمل على مهمة رؤية حاسوبية جديدة أو تقوم بضبط النماذج الحالية لتحقيق أداء أفضل.

دروس التخصيص

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

  • دمج Ultralytics YOLO في مشاريع Python الخاصة بك بسيط. يمكنك تحميل نموذج مدرب مسبقاً أو تدريب نموذج جديد من الصفر. إليك كيفية البدء:

    from ultralytics import YOLO
    
    # Load a pretrained YOLO model
    model = YOLO("yolo26n.pt")
    
    # Perform object detection on an image
    results = model("https://ultralytics.com/images/bus.jpg")
    
    # Visualize the results
    for result in results:
        result.show()

    راجع المزيد من الأمثلة التفصيلية في قسم وضع التنبؤ (Predict Mode).

  • يوفر Ultralytics YOLO أوضاعاً مختلفة لتلبي احتياجات تعلم الآلة المختلفة. تشمل هذه الأوضاع:

    صُمم كل وضع لتقديم وظائف شاملة لمراحل مختلفة من تطوير النماذج ونشرها.

  • لتدريب نموذج YOLO مخصص، تحتاج إلى تحديد مجموعة البيانات الخاصة بك وغيرها من المعلمات الفائقة. إليك مثال سريع:

    from ultralytics import YOLO
    
    # Load the YOLO model
    model = YOLO("yolo26n.yaml")
    
    # Train the model with custom dataset
    model.train(data="path/to/your/dataset.yaml", epochs=10)

    لمزيد من التفاصيل حول التدريب والروابط التشعبية للاستخدام النموذجي، تفضل بزيارة صفحة وضع التدريب (Train Mode).

  • تصدير نماذج YOLO بصيغة مناسبة للنشر أمر بسيط للغاية باستخدام دالة export. على سبيل المثال، يمكنك تصصدير نموذج إلى صيغة ONNX:

    from ultralytics import YOLO
    
    # Load the YOLO model
    model = YOLO("yolo26n.pt")
    
    # Export the model to ONNX format
    model.export(format="onnx")

    للاطلاع على خيارات التصدير المختلفة، يرجى الرجوع إلى وثائق وضع التصدير (Export Mode).

  • نعم، التحقق من نماذج YOLO على مجموعات بيانات مختلفة ممكن. بعد التدريب، يمكنك استخدام وضع التحقق لتقييم الأداء:

    from ultralytics import YOLO
    
    # Load a YOLO model
    model = YOLO("yolo26n.yaml")
    
    # Train the model
    model.train(data="coco8.yaml", epochs=5)
    
    # Validate the model on a different dataset
    model.val(data="path/to/separate/data.yaml")

    تحقق من صفحة وضع التحقق (Val Mode) للاطلاع على أمثلة مفصلة وطريقة الاستخدام.

التعليقات