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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

1<pre style="width: 75%;">
2<code>
3pip install ultralytics
4</code>
5</pre>

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

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

1<pre style="width: 75%;">
2<code>
3import cv2
4from ultralytics import YOLO, solutions
5</code>
6</pre>

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

1<pre style="width: 75%;">
2<code>
3model = YOLO("yolov8n.pt")
4names = model.model.names
5</code>
6</pre>

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

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

1<pre style="width: 75%;">
2<code>
3cap = cv2.VideoCapture("path/to/video/file.mp4")
4assert cap.isOpened(), "Error reading video file"
5w, h, fps = (int(cap.get(x)) for x in (
6cv2.CAP_PROP_FRAME_WIDTH, 
7cv2.CAP_PROP_FRAME_HEIGHT, 
8cv2.CAP_PROP_FPS))
9</code>
10</pre>

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

1<pre style="width: 75%;">
2<code>
3video_writer = cv2.VideoWriter(
4"speed_estimation.avi",
5cv2.VideoWriter_fourcc(*"mp4v"),
6fps, (w, h))
7</code>
8</pre>

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

1<pre style="width: 75%;">
2<code>
3line_pts = [(0, 360), (1280, 360)]
4</code>
5</pre>

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

1<pre style="width: 75%;">
2<code>
3speed_obj = solutions.SpeedEstimator(reg_pts=line_pts,
4                                      names=names,
5                                      view_img=True,)
6</code>
7</pre>

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

1<pre style="width: 75%;">
2<code>
3while cap.isOpened():
4  success, im0 = cap.read()
5  if not success:        
6    break
7  tracks = model.track(im0, persist=True, show=False)
8  im0 = speed_obj.estimate_speed(im0, tracks)
9  video_writer.write(im0)
10</code>
11</pre>

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

1e style="width: 75%;">
2<code>
3cap.release()
4video_writer.release()
5cv2.destroyAllWindows()
6</code>
7</pre>

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

1<pre style="width: 75%;">
2<code>
3python your_script_name.py
4</code>
5</pre>

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

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


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

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

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

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

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

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

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

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