تقدير السرعة باستخدام Ultralytics YOLO26 🚀

ما هو تقدير السرعة؟

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



Watch: Speed Estimation using Ultralytics YOLO26
اطلع على مدونتنا

للحصول على رؤى أعمق حول تقدير السرعة، اطلع على تدوينتنا: Ultralytics YOLO لتقدير السرعة في مشاريع رؤية الحاسوب

مزايا تقدير السرعة

  • التحكم الفعال في حركة المرور: يساعد تقدير السرعة بدقة في إدارة تدفق حركة المرور، وتعزيز السلامة، وتقليل الازدحام على الطرق.
  • الملاحة الذاتية الدقيقة: في الأنظمة ذاتية القيادة مثل السيارات ذاتية القيادة، يضمن تقدير السرعة الموثوق ملاحة آمنة ودقيقة للمركبة.
  • تعزيز أمن المراقبة: يساعد تقدير السرعة في تحليلات المراقبة على تحديد السلوكيات غير الطبيعية أو التهديدات المحتملة، مما يحسن فعالية التدابير الأمنية.

تطبيقات العالم الحقيقي

النقلالنقل
تقدير السرعة على الطريق باستخدام Ultralytics YOLO26تقدير السرعة على الجسر باستخدام Ultralytics YOLO26
تقدير السرعة على الطريق باستخدام Ultralytics YOLO26تقدير السرعة على الجسر باستخدام Ultralytics YOLO26
السرعة هي تقدير

ستكون السرعة تقديرية وقد لا تكون دقيقة تماماً. بالإضافة إلى ذلك، يمكن أن يختلف التقدير بناءً على مواصفات الكاميرا والعوامل ذات الصلة.

تقدير السرعة باستخدام Ultralytics YOLO
# Run a speed example
yolo solutions speed show=True

# Pass a source video
yolo solutions speed source="path/to/video.mp4"

# Adjust meter per pixel value based on camera configuration
yolo solutions speed meter_per_pixel=0.05

وسائط SpeedEstimator

إليك جدول يوضح وسائط SpeedEstimator:

المعاملالنوعالافتراضيالوصف
modelstrNoneمسار إلى ملف نموذج Ultralytics YOLO.
fpsfloat30.0الإطارات في الثانية المستخدمة لحسابات السرعة.
max_histint5أقصى عدد للنقاط التاريخية للتتبع لكل كائن لحسابات السرعة/الاتجاه.
meter_per_pixelfloat0.05عامل القياس المستخدم لتحويل مسافة البكسل إلى وحدات واقعية.
max_speedint120الحد الأقصى للسرعة في التراكبات المرئية (المستخدمة في التنبيهات).

يسمح حل SpeedEstimator باستخدام وسائط track:

المعاملالنوعالافتراضيالوصف
trackerstr'botsort.yaml'يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال، bytetrack.yaml أو botsort.yaml.
conffloat0.1يضبط عتبة الثقة للكشوف؛ القيم المنخفضة تسمح بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة.
ioufloat0.7يضبط عتبة التقاطع فوق الاتحاد (IoU) لتصفية الكشوف المتداخلة.
classeslistNoneيصفي النتائج حسب فهرس الفئة. على سبيل المثال، classes=[0, 2, 3] يتتبع فقط الفئات المحددة.
verboseboolTrueيتحكم في عرض نتائج التتبع، مما يوفر مخرجات مرئية للكائنات المتتبعة.
devicestrNoneيحدد الجهاز للاستنتاج (على سبيل المثال، cpu، أو cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين CPU، أو GPU محدد، أو أجهزة حوسبة أخرى لتنفيذ النموذج.

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

المعاملالنوعالافتراضيالوصف
showboolFalseإذا كانت القيمة True، يتم عرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على تعليقات مرئية فورية أثناء التطوير أو الاختبار.
line_widthint or NoneNoneيحدد عرض خط صناديق الإحاطة. إذا كانت القيمة None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح.
show_confboolTrueيعرض درجة الثقة لكل اكتشاف بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل اكتشاف.
show_labelsboolTrueيعرض تسميات لكل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة.

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

كيف يمكنني تقدير سرعة الجسم باستخدام Ultralytics YOLO26؟

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

مثال:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize SpeedEstimator
speedestimator = solutions.SpeedEstimator(
    model="yolo26n.pt",
    show=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = speedestimator(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

لمزيد من التفاصيل، راجع تدوينتنا الرسمية.

ما هي فوائد استخدام Ultralytics YOLO26 لتقدير السرعة في إدارة حركة المرور؟

يوفر استخدام Ultralytics YOLO26 لتقدير السرعة مزايا كبيرة في إدارة حركة المرور:

  • تعزيز السلامة: تقدير سرعات المركبات بدقة لاكتشاف تجاوز السرعة وتحسين سلامة الطرق.
  • المراقبة في الوقت الفعلي: الاستفادة من قدرة YOLO26 على كشف الأجسام في الوقت الفعلي لمراقبة تدفق حركة المرور والازدحام بفعالية.
  • قابلية التوسع: نشر النموذج على إعدادات أجهزة متنوعة، من أجهزة الحافة إلى الخوادم، مما يضمن حلولاً مرنة وقابلة للتوسع للتطبيقات واسعة النطاق.

لمزيد من التطبيقات، راجع مزايا تقدير السرعة.

هل يمكن دمج YOLO26 مع أطر عمل ذكاء اصطناعي أخرى مثل TensorFlow أو PyTorch؟

نعم، يمكن دمج YOLO26 مع أطر عمل ذكاء اصطناعي أخرى مثل TensorFlow وPyTorch. توفر Ultralytics الدعم لتصدير نماذج YOLO26 إلى تنسيقات متنوعة مثل ONNX وTensorRT وCoreML، مما يضمن التوافق السلس مع أطر عمل ML الأخرى.

لتصدير نموذج YOLO26 إلى تنسيق ONNX:

yolo export model=yolo26n.pt format=onnx

تعرف على المزيد حول تصدير النماذج في دليل التصدير الخاص بنا.

ما مدى دقة تقدير السرعة باستخدام Ultralytics YOLO26؟

تعتمد الدقة في تقدير السرعة باستخدام Ultralytics YOLO26 على عدة عوامل، بما في ذلك جودة تتبع الأجسام، ودقة الفيديو ومعدل إطاراته، والمتغيرات البيئية. بينما يوفر مقدر السرعة تقديرات موثوقة، قد لا يكون دقيقاً بنسبة 100% بسبب التباينات في سرعة معالجة الإطارات وحجب الأجسام.

ملاحظة: ضع دائماً في اعتبارك هامش الخطأ وتحقق من صحة التقديرات مقابل بيانات الحقيقة الأرضية (ground truth) متى أمكن ذلك.

For further accuracy improvement tips, check the Arguments SpeedEstimator section.

تعليقات