تقدير السرعة باستخدام Ultralytics YOLO11 🚀
ما هو تقدير السرعة؟
تقدير السرعة هي عملية حساب معدل حركة جسم ما ضمن سياق معين، وغالبًا ما تُستخدم في تطبيقات الرؤية الحاسوبية. باستخدام Ultralytics YOLO11 يمكنك الآن حساب سرعة الأجسام باستخدام تتبع الأجسام إلى جانب بيانات المسافة والوقت، وهو أمر بالغ الأهمية لمهام مثل مراقبة حركة المرور والمراقبة. تؤثر دقة تقدير السرعة تأثيراً مباشراً على كفاءة وموثوقية التطبيقات المختلفة، مما يجعلها عنصراً أساسياً في تطوير الأنظمة الذكية وعمليات اتخاذ القرار في الوقت الحقيقي.
شاهد: تقدير السرعة باستخدام Ultralytics YOLO11
اطلع على مدونتنا
للحصول على رؤى أعمق حول تقدير السرعة، راجع منشور مدونتنا: Ultralytics YOLO11 لتقدير السرعة في مشاريع الرؤية الحاسوبية
مزايا تقدير السرعة
- التحكم الفعال في حركة المرور: يساعد التقدير الدقيق للسرعة في إدارة تدفق حركة المرور وتعزيز السلامة وتقليل الازدحام على الطرق.
- ملاحة ذاتية القيادة دقيقة: في الأنظمة ذاتية القيادة مثل السيارات ذاتية القيادة، يضمن التقدير الموثوق للسرعة الملاحة الآمنة والدقيقة للمركبة.
- تعزيز أمن المراقبة: يساعد التقدير السريع في تحليلات المراقبة على تحديد السلوكيات غير الاعتيادية أو التهديدات المحتملة، مما يحسن من فعالية الإجراءات الأمنية.
التطبيقات الواقعية
النقل والمواصلات | النقل والمواصلات |
---|---|
![]() |
![]() |
تقدير السرعة على الطريق باستخدام Ultralytics YOLO11 | تقدير السرعة على الجسر باستخدام Ultralytics YOLO11 |
السرعة هي تقدير
ستكون السرعة تقديرية وقد لا تكون دقيقة تمامًا. بالإضافة إلى ذلك، يمكن أن يختلف التقدير حسب سرعة GPU والعوامل البيئية.
تقدير السرعة باستخدام Ultralytics YOLO
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
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_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# speed region points
speed_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
# Initialize speed estimation object
speedestimator = solutions.SpeedEstimator(
show=True, # display the output
model="yolo11n.pt", # path to the YOLO11 model file.
region=speed_region, # pass region points
# classes=[0, 2], # estimate speed of specific classes.
# line_width=2, # adjust the line width for bounding boxes
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = speedestimator(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
SpeedEstimator
الحجج
إليك الجدول الذي يحتوي على SpeedEstimator
الحجج
الجدال | النوع | افتراضي | الوصف |
---|---|---|---|
model |
str |
None |
المسار إلى ملف نموذج Ultralytics YOLO Model File. |
region |
list |
[(20, 400), (1260, 400)] |
قائمة النقاط التي تحدد منطقة العد. |
إن SpeedEstimator
يسمح الحل باستخدام track
المعلمات:
الجدال | النوع | افتراضي | الوصف |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال, bytetrack.yaml أو botsort.yaml . |
conf |
float |
0.3 |
تعيين عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة. |
iou |
float |
0.5 |
يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة. |
classes |
list |
None |
تصفية النتائج حسب فهرس الفئة. على سبيل المثال, classes=[0, 2, 3] يتتبع الفئات المحددة فقط. |
verbose |
bool |
True |
يتحكم في عرض نتائج التتبع، مما يوفر إخراجًا مرئيًا للأجسام المتعقبة. |
device |
str |
None |
يحدد جهاز الاستدلال (على سبيل المثال, cpu , cuda:0 أو 0 ). يسمح للمستخدمين بالاختيار بين CPU ، أو جهاز GPU معين، أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
بالإضافة إلى ذلك، يتم دعم خيارات التصور التالية:
الجدال | النوع | افتراضي | الوصف |
---|---|---|---|
show |
bool |
False |
إذا كان True يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للتعليقات المرئية الفورية أثناء التطوير أو الاختبار. |
line_width |
None or int |
None |
يحدد عرض خط المربعات المحدودة. إذا كان None ، يتم ضبط عرض الخط تلقائيًا بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
الأسئلة الشائعة
كيف يمكنني تقدير سرعة الجسم باستخدام Ultralytics YOLO11 ؟
يتضمن تقدير سرعة الجسم باستخدام Ultralytics YOLO11 الجمع بين تقنيات اكتشاف الأجسام وتتبعها. أولاً، تحتاج إلى اكتشاف الأجسام في كل إطار باستخدام نموذج YOLO11 . بعد ذلك، تتبّع هذه الأجسام عبر الإطارات لحساب حركتها بمرور الوقت. وأخيراً، استخدم المسافة التي يقطعها الجسم بين الإطارات ومعدل الإطارات لتقدير سرعته.
مثال على ذلك:
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(
region=[(0, 360), (1280, 360)],
model="yolo11n.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 YOLO11 لتقدير السرعة في إدارة حركة المرور؟
يوفر استخدام Ultralytics YOLO11 لتقدير السرعة مزايا كبيرة في إدارة حركة المرور:
- تعزيز السلامة: تقدير سرعة السيارة بدقة للكشف عن السرعة الزائدة وتحسين السلامة على الطريق.
- المراقبة في الوقت الحقيقي: استفد من قدرة YOLO11 على اكتشاف الأجسام في الوقت الفعلي لمراقبة تدفق حركة المرور والازدحام بفعالية.
- قابلية التوسع: نشر النموذج على مختلف إعدادات الأجهزة، بدءًا من الأجهزة الطرفية إلى الخوادم، مما يضمن حلولاً مرنة وقابلة للتطوير للتطبيقات واسعة النطاق.
لمزيد من التطبيقات، راجع مزايا تقدير السرعة.
هل يمكن دمج YOLO11 مع أطر عمل الذكاء الاصطناعي الأخرى مثل TensorFlow أو PyTorch?
نعم، يمكن دمج YOLO11 مع أطر عمل الذكاء الاصطناعي الأخرى مثل TensorFlow و PyTorch. يوفر Ultralytics دعمًا لتصدير نماذج YOLO11 إلى تنسيقات مختلفة مثل ONNX, TensorRTو CoreMLلضمان قابلية التشغيل البيني السلس مع أطر التعلم الآلي الأخرى.
لتصدير نموذج YOLO11 إلى تنسيق ONNX :
تعرف على المزيد حول تصدير النماذج في دليلنا الخاص بالتصدير.
ما مدى دقة تقدير السرعة باستخدام Ultralytics YOLO11 ؟
وتعتمد دقة تقدير السرعة باستخدام Ultralytics YOLO11 على عدة عوامل، بما في ذلك جودة تتبع الأجسام، ودقة ومعدل إطارات الفيديو، والمتغيرات البيئية. على الرغم من أن مقدر السرعة يوفر تقديرات موثوقة، إلا أنه قد لا يكون دقيقًا بنسبة 100% بسبب الاختلافات في سرعة معالجة الإطارات وانسداد الأجسام.
ملحوظة: ضع في اعتبارك دائماً هامش الخطأ وتحقق من صحة التقديرات باستخدام بيانات الحقيقة الأرضية عندما يكون ذلك ممكناً.
لمزيد من النصائح حول تحسين الدقة، راجع الحجج SpeedEstimator
القسم.