الشيك الأخضر
تم نسخ الرابط إلى الحافظة

Ultralytics YOLOv8 لتقدير السرعة في مشاريع الرؤية الحاسوبية

اكتشف كيف يمكن استخدام نموذج Ultralytics YOLOv8 لتقدير السرعة في مشاريع الرؤية الحاسوبية الخاصة بك. جربه بنفسك من خلال مثال ترميز بسيط.

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

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

تقدير السرعة يجعل إدارة حركة المرور أكثر سهولة

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

يتضمن تقدير السرعة باستخدام الرؤية الحاسوبية اكتشاف الأجسام وتتبعها في إطارات الفيديو لحساب سرعة حركتها. يمكن للخوارزميات مثل YOLOv8 تحديد وتتبع الأجسام مثل المركبات عبر إطارات متتالية. يقيس النظام المسافة التي تقطعها هذه الأجسام باستخدام كاميرات معايرة أو نقاط مرجعية لقياس المسافات في العالم الحقيقي. ومن خلال توقيت الوقت الذي تستغرقه الأجسام للتحرك بين نقطتين، يقوم النظام بحساب سرعتها باستخدام نسبة المسافة إلى الوقت.

الشكل 1. تقدير السرعة باستخدام Ultralytics YOLOv8 نموذج

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

تطبيقات تقدير السرعة في الصناعات الأخرى

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

فيما يلي بعض الأمثلة على الأماكن التي يتم فيها استخدام تقدير السرعة:

  • تستخدم سيارات Tesla ذاتية القيادة تقدير السرعة القائم على الرؤية لتجنب الاصطدامات.
  • سيتم استخدام الرؤية الحاسوبية وتقدير السرعة في دورة الألعاب الأولمبية لعام 2024 لتحسين تحليلات الأداء في سباقات المضمار والميدان.
  • تبحث المدن الذكية في تحليل مشية المشاة لمراقبة سرعة المشي وزيادة التنقل والسلامة في المناطق الحضرية. يمكن لهذه الأنظمة تنبيه السائقين إلى وجود المشاة ومنع وقوع الحوادث.
  • تستخدم أنظمة مراقبة سلوك الحيوانات تقدير السرعة لتتبع حركة الحيوانات واكتشاف علامات الضيق أو المرض.
الشكل 2. يمكن لتقدير السرعة قياس سرعة مشي الشخص.

فوائد تقدير السرعة باستخدام الرؤية الحاسوبية

تحل أنظمة تقدير السرعة القائمة على الرؤية محل الأساليب التقليدية القائمة على أجهزة الاستشعار بسبب دقتها المعززة وفعاليتها من حيث التكلفة ومرونتها. على عكس الأنظمة التي تعتمد على أجهزة استشعار باهظة الثمن مثل LiDAR، تستخدم الرؤية الحاسوبية كاميرات قياسية لمراقبة السرعة وتحليلها في الوقت الفعلي. يمكن دمج حلول الرؤية الحاسوبية لتقدير السرعة بسلاسة مع البنية التحتية الحالية لحركة المرور. كما يمكن تصميم هذه الأنظمة لأداء عدد من المهام المعقدة مثل تحديد نوع المركبة وتحليل أنماط حركة المرور لتحسين التدفق العام لحركة المرور والسلامة.

جرّب بنفسك: تقدير السرعة باستخدام YOLOv8

الآن بعد أن أصبح لدينا فهم واضح لتقدير السرعة وتطبيقاته، دعنا نلقي نظرة فاحصة على كيفية دمج تقدير السرعة في مشاريع الرؤية الحاسوبية الخاصة بك من خلال التعليمات البرمجية. سنقوم باكتشاف المركبات المتحركة وتقدير سرعتها باستخدام نموذج YOLOv8 .

يستخدم هذا المثال فيديو لسيارات على طريق تم تنزيله من الإنترنت. يمكنك استخدام الفيديو نفسه أو أي فيديو ذي صلة. يحدد النموذج YOLOv8 مركز كل سيارة ويحسب سرعتها بناءً على سرعة عبور هذا المركز لخط أفقي في إطار الفيديو. 

الشكل 3. إدخال فيديو لسيارات على الطريق

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

الخطوة 1: سنبدأ بتثبيت الحزمة Ultralytics . افتح موجه الأوامر أو المحطة الطرفية وقم بتشغيل الأمر الموضح أدناه. 


pip install ultralytics

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

الخطوة 2: بعد ذلك، سنستورد المكتبات المطلوبة. ستساعدنا مكتبة OpenCV في التعامل مع معالجة الفيديو.


import cv2
from ultralytics import YOLO, solutions

الخطوة 3: بعد ذلك، يمكننا تحميل النموذج YOLOv8 واسترداد أسماء الفئات التي يمكن للنموذج اكتشافها.


model = YOLO("yolov8n.pt")
names = model.model.names

تحقق من جميع النماذج التي ندعمها لفهم النموذج الذي يناسب مشروعك بشكل أفضل.

الخطوة 4: في هذه الخطوة، سنفتح ملف الفيديو المُدخَل باستخدام وحدة VideoCapture في OpenCV. سنستخرج أيضًا عرض الفيديو وارتفاعه وإطاراته في الثانية (fps).


cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (
cv2.CAP_PROP_FRAME_WIDTH, 
cv2.CAP_PROP_FRAME_HEIGHT, 
cv2.CAP_PROP_FPS))

الخطوة 5: هنا، سنقوم بتهيئة كاتب الفيديو لحفظ النتائج النهائية لتقدير السرعة. سيتم حفظ ملف الفيديو الناتج باسم "speed_estimation.avi".


video_writer = cv2.VideoWriter(
"speed_estimation.avi",
cv2.VideoWriter_fourcc(*"mp4v"),
fps, (w, h))

‍الخطوة6: بعد ذلك، يمكننا تحديد نقاط الخط لتقدير السرعة. بالنسبة لفيديو الإدخال الخاص بنا، سيتم وضع هذا الخط أفقيًا في منتصف الإطار. لا تتردد في التلاعب بالقيم لوضع الخط في أنسب المواضع، اعتمادًا على فيديو الإدخال الخاص بك. 


line_pts = [(0, 360), (1280, 360)]

الخطوة 7: والآن، يمكننا تهيئة كائن تقدير السرعة باستخدام نقاط الخط المحددة وأسماء الفئات.


speed_obj = solutions.SpeedEstimator(reg_pts=line_pts,
                                      names=names,
                                      view_img=True,)

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


while cap.isOpened():
  success, im0 = cap.read()
  if not success:        
    break
  tracks = model.track(im0, persist=True, show=False)
  im0 = speed_obj.estimate_speed(im0, tracks)
  video_writer.write(im0)

الخطوة 9: أخيرًا، نحرر كائنات التقاط الفيديو والكاتب ونغلق أي نوافذ OpenCV.


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

الخطوة 10: احفظ البرنامج النصي الخاص بك. إذا كنت تعمل من المحطة الطرفية أو موجه الأوامر، قم بتشغيل البرنامج النصي باستخدام الأمر التالي:


python your_script_name.py

إذا تم تنفيذ التعليمات البرمجية بنجاح، سيبدو ملف الفيديو الناتج بهذا الشكل.

الشكل 4. ناتج تقدير السرعة باستخدام YOLOv8.


تحديات تقدير السرعة القائم على الرؤية تحديات تقدير السرعة القائم على الرؤية

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

يتعلق التحدي الآخر بالقدرة الحاسوبية. لتقدير السرعة في الوقت الفعلي، علينا معالجة الكثير من البيانات المرئية من كاميرات المرور عالية الجودة. قد يتطلب الحل أجهزة باهظة الثمن للتعامل مع كل هذا وضمان عمل كل شيء بسرعة دون تأخير.

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

السرعة نحو المستقبل

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

هل أنت مهتم بالذكاء الاصطناعي؟ تواصل مع مجتمعنا! استكشف مستودع GitHub الخاص بنا لمعرفة المزيد حول كيفية استخدامنا للذكاء الاصطناعي لإنشاء حلول مبتكرة في مختلف الصناعات مثل الرعاية الصحية والزراعة. تعاون وابتكر وتعلّم معنا! 🚀

شعار الفيسبوكشعار تويترشعار لينكد إنرمز نسخ الرابط

اقرأ المزيد في هذه الفئة

دعونا نبني المستقبل
من الذكاء الاصطناعي معا!

ابدأ رحلتك مع مستقبل التعلم الآلي