Ultralytics YOLOv8 لتقدير السرعة في مشاريع الرؤية الحاسوبية
اكتشف كيف يمكن استخدام نموذج Ultralytics YOLOv8 لتقدير السرعة في مشاريع الرؤية الحاسوبية. جرّبه بنفسك باستخدام مثال برمجي بسيط.
Abirami Vina6 دقيقة قراءة
لا شك أن معظمنا شاهد إشارات تحديد السرعة على الطرق. وربما تلقى بعضنا إشعارًا آليًا بمخالفة تجاوز السرعة عبر البريد أو البريد الإلكتروني. وتستطيع أنظمة إدارة المرور المعتمدة على الذكاء الاصطناعي (AI) رصد مخالفات السرعة تلقائيًا بفضل الرؤية الحاسوبية. وتُستخدم اللقطات الآنية التي تلتقطها الكاميرات عند إشارات المرور وعلى الطرق السريعة لتقدير السرعة وتعزيز السلامة على الطرق.
لا يقتصر تقدير السرعة على السلامة على الطرق السريعة فحسب، بل يمكن استخدامه في الرياضة والمركبات ذاتية القيادة وتطبيقات أخرى متنوعة. في هذه المقالة، سنناقش كيفية استخدام نموذج Ultralytics YOLOv8 لتقدير السرعة في مشروعات الرؤية الحاسوبية. وسنشرح أيضًا مثالًا برمجيًا خطوة بخطوة حتى تتمكن من تجربته بنفسك.
يسهّل تقدير السرعة إدارة حركة المرور#
وفقًا لمنظمة الصحة العالمية (WHO)، يتوفى نحو 1.16 مليون شخص سنويًا في حوادث المرور، وتُعد السرعة الزائدة عاملًا رئيسيًا فيها. كما يتعرض 20 إلى 50 مليون شخص آخر لإصابات غير مميتة، يؤدي كثير منها إلى إعاقات. ولا يمكن المبالغة في أهمية السلامة المرورية، ولا سيما أن تقدير السرعة يساعد على منع الحوادث وإنقاذ الأرواح والحفاظ على طرق آمنة وفعالة.
ينطوي تقدير السرعة باستخدام الرؤية الحاسوبية على اكتشاف الأجسام وتتبّعها في إطارات الفيديو لحساب سرعة حركتها. تستطيع نماذج مثل Ultralytics YOLOv8 تحديد الأجسام، مثل المركبات، وتتبعها عبر الإطارات المتتالية. ويقيس النظام المسافة التي تقطعها هذه الأجسام باستخدام كاميرات معايرة أو نقاط مرجعية لتقدير المسافات في العالم الحقيقي. ومن خلال قياس الزمن الذي تستغرقه الأجسام للانتقال بين نقطتين، يحسب النظام سرعتها باستخدام نسبة المسافة إلى الزمن.

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

الشكل 2. يمكن لتقدير السرعة قياس سرعة مشي الشخص.
فوائد تقدير السرعة باستخدام الرؤية الحاسوبية#
تحل أنظمة تقدير السرعة القائمة على الرؤية محل الطرق التقليدية المعتمدة على المستشعرات بفضل دقتها المحسنة وفعاليتها من حيث التكلفة ومرونتها. وعلى خلاف الأنظمة التي تعتمد على مستشعرات باهظة الثمن مثل LiDAR، تستخدم الرؤية الحاسوبية كاميرات عادية لمراقبة السرعة وتحليلها في الوقت الفعلي. ويمكن دمج حلول الرؤية الحاسوبية لتقدير السرعة مع البنية التحتية المرورية الحالية. كما يمكن تهيئة هذه الأنظمة لتنفيذ عدد من المهام المعقدة، مثل تحديد أنواع المركبات وتحليل أنماط حركة المرور، لتحسين انسيابية المرور وسلامته عمومًا.
جرّب بنفسك: تقدير السرعة باستخدام Ultralytics YOLOv8#
بعد أن تعرفنا على تقدير السرعة وتطبيقاته، دعنا نلقي نظرة أقرب على كيفية دمجه في مشروعات الرؤية الحاسوبية من خلال الشيفرة. سنكتشف المركبات المتحركة ونقدّر سرعتها باستخدام نموذج Ultralytics YOLOv8.
يستخدم هذا المثال فيديو لسيارات تسير على طريق، جرى تنزيله من الإنترنت. يمكنك استخدام الفيديو نفسه أو أي فيديو ذي صلة. يكتشف نموذج Ultralytics YOLOv8 كل مركبة ويتتبعها، ويحوّل مقدّر السرعة المسافة التي تقطعها كل مركبة متتبعة عبر عدة إطارات إلى سرعة، باستخدام معدل إطارات الفيديو ومقياس الأمتار لكل بكسل.
قبل أن نبدأ، من المهم ملاحظة أن حساب المسافة في هذه الحالة تقريبي ويستند إلى مسافة البكسل الإقليدية مضروبة في قيمة تقديرية للأمتار لكل بكسل. ولا تُؤخذ معايرة الكاميرا في الحسبان، لذا قد لا يكون تقدير السرعة دقيقًا تمامًا.
الخطوة 1: سنبدأ بتثبيت حزمة Ultralytics. افتح موجه الأوامر أو الطرفية ونفّذ الأمر الموضح أدناه.
pip install ultralyticsاطّلع على دليل تثبيت Ultralytics للحصول على تعليمات خطوة بخطوة وأفضل الممارسات لعملية التثبيت. وإذا واجهت أي مشكلات أثناء تثبيت الحزم المطلوبة لـ YOLOv8، فسيجد في دليل المشكلات الشائعة حلولًا ونصائح مفيدة.
الخطوة 2: بعد ذلك، سنستورد المكتبات المطلوبة. وستساعدنا مكتبة OpenCV على معالجة الفيديو.
import cv2
from ultralytics import solutionsالخطوة 3: في هذه الخطوة، سنفتح ملف الفيديو المُدخل باستخدام وحدة 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))الخطوة 4: هنا، سنهيئ كاتب الفيديو لحفظ النتائج النهائية لتقدير السرعة. سيُحفظ ملف الفيديو الناتج باسم “speed_estimation.avi”.
video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))الخطوة 5: يمكننا الآن تهيئة كائن تقدير السرعة باستخدام نموذج Ultralytics YOLOv8 ومعدل إطارات الفيديو. تحدد القيمة meter_per_pixel مقياس المشهد في العالم الحقيقي، لذا يمكنك تعديلها لتلائم إعداد الكاميرا لديك.
speed_obj = solutions.SpeedEstimator(
model="yolov8n.pt",
fps=fps,
meter_per_pixel=0.05,
show=True,
)اطّلع على جميع النماذج التي ندعمها لتحديد النموذج الأنسب لمشروعك.
الخطوة 6: يعالج جوهر البرنامج النصي الفيديو إطارًا تلو الآخر. نقرأ كل إطار، ثم يكتشف مقدّر السرعة الأجسام ويتتبعها ويقدّر سرعتها، ويعيد الإطار المُعلّم الذي يُكتب في ملف الفيديو الناتج.
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
results = speed_obj(im0)
video_writer.write(results.plot_im)الخطوة 7: أخيرًا، نحرر كائني التقاط الفيديو وكتابته ونغلق أي نوافذ في OpenCV.
cap.release()
video_writer.release()
cv2.destroyAllWindows()الخطوة 8: احفظ البرنامج النصي. إذا كنت تعمل من الطرفية أو موجه الأوامر، فشغّل البرنامج النصي باستخدام الأمر التالي:
python your_script_name.pyتحديات تقدير السرعة المعتمد على الرؤية#
من المهم أيضًا فهم التحديات المرتبطة بتنفيذ تقدير السرعة باستخدام الرؤية الحاسوبية. فقد تسبب الظروف الجوية غير الملائمة، مثل المطر أو الضباب أو الثلج، مشكلات للنظام لأنها قد تحجب الرؤية على الطريق. وبالمثل، قد تجعل العوائق الناتجة عن مركبات أو أجسام أخرى من الصعب على هذه الأنظمة تتبع سرعة مركبة مستهدفة وتقديرها بدقة. كما قد تزيد ظروف الإضاءة السيئة التي تسبب الظلال أو وهج الشمس من تعقيد مهمة تقدير السرعة.
هناك تحدٍ آخر يتعلق بـالقدرة الحاسوبية. لتقدير السرعة في الوقت الفعلي، علينا معالجة قدر كبير من البيانات المرئية الواردة من كاميرات المرور عالية الجودة. قد يتطلب الحل الذي تقدمه أجهزة باهظة الثمن لمعالجة كل هذه البيانات وضمان عمل كل شيء بسرعة ومن دون تأخير.
ثم تأتي مسألة الخصوصية. قد تتضمن البيانات التي تجمعها هذه الأنظمة تفاصيل مركبة الفرد، مثل الشركة المصنّعة والطراز ومعلومات لوحة الترخيص، وقد تُجمع هذه البيانات دون موافقته. بل إن بعض كاميرات HD الحديثة تستطيع التقاط صور للركاب داخل السيارة. وقد يثير جمع هذه البيانات مشكلات أخلاقية وقانونية خطيرة ينبغي التعامل معها بأقصى درجات العناية.
نحو مستقبل السرعة#
يوفر استخدام نموذج Ultralytics YOLOv8 لتقدير السرعة حلًا مرنًا وفعالًا للعديد من الاستخدامات. وعلى الرغم من وجود تحديات، مثل الدقة في الظروف الصعبة ومعالجة مسائل الخصوصية، فإن المزايا كبيرة. ويتميز تقدير السرعة المدعوم بالرؤية الحاسوبية بفعالية أكبر من حيث التكلفة ومرونة ودقة أعلى مقارنة بالأساليب الأقدم. وهو مفيد في قطاعات متنوعة مثل النقل والرياضة والمراقبة والسيارات ذاتية القيادة. وبالنظر إلى جميع فوائده وتطبيقاته، يُرجح أن يكون جزءًا أساسيًا من الأنظمة الذكية المستقبلية.
هل تهتم بالذكاء الاصطناعي؟ تواصل مع مجتمعنا! واستكشف مستودع GitHub لمعرفة المزيد عن كيفية استخدامنا الذكاء الاصطناعي لإنشاء حلول مبتكرة في قطاعات متنوعة مثل الرعاية الصحية والزراعة. تعاون وابتكر وتعلّم معنا!
بقلم
التعليقات
اطرح سؤالًا، أو شارك نتائجك، أو ساعد شخصًا آخر.










