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

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

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

الشكل 2. يمكن لتقدير السرعة قياس سرعة المشي للشخص.
فوائد تقدير السرعة باستخدام الرؤية الحاسوبية#
تحل أنظمة تقدير السرعة القائمة على الرؤية محل الطرق التقليدية المعتمدة على المستشعرات بسبب دقتها العالية وفعاليتها من حيث التكلفة ومرونتها. وعلى عكس الأنظمة التي تعتمد على مستشعرات باهظة الثمن مثل LiDAR، تستخدم الرؤية الحاسوبية كاميرات قياسية لمراقبة وتحليل السرعة في الوقت الفعلي. يمكن دمج حلول الرؤية الحاسوبية لتقدير السرعة بسلاسة مع البنية التحتية المرورية الحالية. كما يمكن تصميم هذه الأنظمة لأداء عدد من المهام المعقدة مثل تحديد نوع المركبة وتحليل أنماط المرور لتحسين تدفق حركة المرور والسلامة العامة.
جربه بنفسك: تقدير السرعة باستخدام Ultralytics YOLOv8#
الآن وبعد أن أصبح لدينا فهم واضح لتقدير السرعة وتطبيقاته، دعنا نلقي نظرة عن قرب على كيفية دمج تقدير السرعة في مشاريع الرؤية الحاسوبية الخاصة بك من خلال الكود. سنقوم باكتشاف المركبات المتحركة وتقدير سرعتها باستخدام نموذج Ultralytics YOLOv8.
يستخدم هذا المثال فيديو لسيارات على الطريق تم تنزيله من الإنترنت. يمكنك استخدام نفس الفيديو أو أي فيديو ذي صلة. يحدد نموذج Ultralytics YOLOv8 مركز كل مركبة ويحسب سرعتها بناءً على مدى سرعة تجاوز هذا المركز لخط أفق في إطار الفيديو.
قبل أن نبدأ، من المهم ملاحظة أنه في هذه الحالة، حساب المسافة تقريبي ويعتمد على المسافة الإقليدية (Euclidean Distance). لا يتم أخذ معايرة الكاميرا في الاعتبار، ولذلك قد لا يكون تقدير السرعة دقيقاً تماماً. أيضاً، قد تختلف السرعة المقدرة اعتماداً على سرعة وحدة معالجة الرسومات (GPU) لديك.
الخطوة 1: سنبدأ بتثبيت حزمة Ultralytics. افتح موجه الأوامر (command prompt) أو الطرفية (terminal) الخاصة بك وقم بتشغيل الأمر الموضح أدناه.
pip install ultralyticsألق نظرة على دليل تثبيت Ultralytics للحصول على إرشادات خطوة بخطوة وأفضل الممارسات لعملية التثبيت. إذا واجهت أي مشكلات أثناء تثبيت الحزم المطلوبة لـ YOLOv8، فإن دليل المشكلات الشائعة الخاص بنا يحتوي على الحلول والنصائح المفيدة.
الخطوة 2: بعد ذلك، سنقوم باستيراد المكتبات المطلوبة. ستساعدنا مكتبة OpenCV في التعامل مع معالجة الفيديو.
import cv2
from ultralytics import YOLO, solutionsالخطوة 3: بعد ذلك، يمكننا تحميل نموذج Ultralytics 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: هنا، سنقوم بتهيئة أداة كتابة الفيديو (video writer) لحفظ النتائج النهائية لتقدير السرعة. سيتم حفظ ملف الفيديو الناتج باسم "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:
print("Video frame is empty or video processing has been successfully completed.")
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تحديات تقدير السرعة القائم على الرؤية#
من المهم أيضاً فهم التحديات التي ينطوي عليها تنفيذ تقدير السرعة باستخدام الرؤية الحاسوبية. يمكن لظروف الطقس غير المواتية مثل المطر أو الضباب أو الثلوج أن تسبب مشاكل للنظام لأنها قد تعيق رؤية الطريق. وبالمثل، فإن الانسدادات الناتجة عن المركبات أو الأجسام الأخرى يمكن أن تجعل من الصعب على هذه الأنظمة تتبع سرعة المركبة المستهدفة وتقديرها بدقة. كما أن ظروف الإضاءة الضعيفة التي تسبب ظلالاً أو توهجاً من الشمس يمكن أن تزيد من تعقيد مهمة تقدير السرعة.
تتعلق تحديات أخرى بـ القدرة الحاسوبية. لتقدير السرعة في الوقت الفعلي، يتعين علينا معالجة الكثير من البيانات المرئية الواردة من كاميرات المرور عالية الجودة. قد يتطلب حلك عتادًا باهظ الثمن للتعامل مع كل ذلك وضمان عمل كل شيء بسرعة ودون تأخيرات.
ثم هناك قضية الخصوصية. قد تتضمن البيانات التي تجمعها هذه الأنظمة تفاصيل مركبة الفرد مثل النوع والطراز ومعلومات لوحة الترخيص، والتي يتم جمعها دون موافقته. يمكن لبعض الكاميرات الحديثة عالية الدقة حتى التقاط صور للركاب داخل السيارة. يمكن أن يثير جمع هذه البيانات قضايا أخلاقية وقانونية خطيرة يجب التعامل معها بأقصى درجات الحذر.
نحو المستقبل#
يمنح استخدام نموذج Ultralytics YOLOv8 لتقدير السرعة حلاً مرناً وفعالاً للعديد من الاستخدامات. على الرغم من وجود تحديات، مثل الدقة في الظروف الصعبة ومعالجة قضايا الخصوصية، إلا أن المزايا متعددة. يُعد تقدير السرعة المدعوم بالرؤية الحاسوبية أكثر فعالية من حيث التكلفة، وأكثر قابلية للتكيف وأدق مقارنة بالطرق القديمة. إنه مفيد في قطاعات مختلفة مثل النقل، والرياضة، والمراقبة، والسيارات ذاتية القيادة. مع كل هذه الفوائد والتطبيقات، مقدر له أن يكون جزءاً رئيسياً من الأنظمة الذكية المستقبلية.
هل أنت مهتم بالذكاء الاصطناعي؟ تواصل مع مجتمعنا! استكشف مستودع GitHub الخاص بنا لمعرفة المزيد حول كيف نستخدم الذكاء الاصطناعي لابتكار حلول جديدة في مختلف الصناعات مثل الرعاية الصحية والزراعة. تعاون، ابْتَكِر، وتعلَّم معنا! 🚀






