Ultralytics YOLO27:

بناء نظام لإدارة مواقف السيارات باستخدام Ultralytics YOLO26#

ما نظام إدارة مواقف السيارات؟#

يكتشف نظام إدارة مواقف السيارات المُنشأ باستخدام Ultralytics YOLO26 المركبات في الوقت الفعلي لتتبّع أماكن الوقوف المشغولة أو المتاحة، ثم يعرض إشغال الموقف مباشرةً. ويجمع بين كشف الأجسام باستخدام YOLO26 وتخطيط مواقف السيارات المحدد بتنسيق JSON، ما يتيح لك مراقبة موقف كامل من خلال دفق فيديو أو تغذية كاميرا واحدة.



Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗

مزايا نظام إدارة مواقف السيارات#

  • الكفاءة: يحسّن استخدام أماكن الوقوف ويقلل الازدحام في أنحاء الموقف.
  • السلامة والأمن: يحسّن سلامة الأشخاص والمركبات من خلال المراقبة المستمرة.
  • تقليل الانبعاثات: يدير حركة المرور لتقليل وقت التوقف والانبعاثات في مواقف السيارات.

التطبيقات الواقعية#

نظام إدارة مواقف السياراتنظام إدارة مواقف السيارات
تحليلات مواقف السيارات باستخدام Ultralytics YOLO26العرض العلوي لإدارة مواقف السيارات باستخدام Ultralytics YOLO26
العرض الجوي لإدارة مواقف السيارات باستخدام Ultralytics YOLO26العرض العلوي لإدارة مواقف السيارات باستخدام Ultralytics YOLO26

سير عمل برمجة نظام إدارة مواقف السيارات#

أصبح تحديد النقاط سهلًا الآن

يُعد اختيار نقاط الوقوف مهمةً بالغة الأهمية ومعقدة في أنظمة إدارة مواقف السيارات. وتبسّط Ultralytics هذه العملية من خلال توفير أداة "مُعلِّق أماكن الوقوف" التي تتيح لك تحديد مناطق موقف السيارات، والتي يمكن استخدامها لاحقًا في عمليات معالجة إضافية.

الخطوة-1: التقط إطارًا من الفيديو أو دفق الكاميرا الذي تريد إدارة موقف السيارات فيه.

الخطوة-2: استخدم التعليمات البرمجية المتوفرة لتشغيل واجهة رسومية، حيث يمكنك تحديد صورة والبدء في تحديد مناطق الوقوف بالنقر بالماوس لإنشاء مضلعات.

مُعلِّق أماكن الوقوف Ultralytics YOLO
خطوة إضافية لتثبيت `tkinter`

بوجه عام، تأتي tkinter مضمنةً مسبقًا مع Python. ومع ذلك، إذا لم تكن كذلك، يمكنك تثبيتها باستخدام الخطوات الموضحة:

  • Linux: (Debian/Ubuntu): sudo apt install python3-tk
  • Fedora: sudo dnf install python3-tkinter
  • Arch: sudo pacman -S tk
  • Windows: أعد تثبيت Python ومكّن مربع الاختيار tcl/tk and IDLE ضمن الميزات الاختيارية أثناء التثبيت
  • MacOS: أعد تثبيت Python من https://www.python.org/downloads/macos/ أو باستخدام brew install python-tk
from ultralytics import solutions

solutions.ParkingPtsSelection()

الخطوة-3: بعد تحديد مناطق الوقوف باستخدام المضلعات، انقر على save لتخزين البيانات باسم bounding_boxes.json في دليل العمل لديك — وهو اسم الملف نفسه الذي يحمّله نص الإدارة أدناه.

عرض توضيحي لتحديد نقاط Ultralytics YOLO26

الخطوة-4: يمكنك الآن تشغيل حل إدارة مواقف السيارات باستخدام التعليمات البرمجية أدناه.

إدارة مواقف السيارات باستخدام Ultralytics YOLO
import cv2

from ultralytics import solutions

# Video capture
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("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize parking management object
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # path to model file
    json_file="bounding_boxes.json",  # path to parking annotations file
)

while cap.isOpened():
    ret, im0 = cap.read()
    if not ret:
        break

    results = parkingmanager(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

وسيطات ParkingManagement#

إليك جدولًا بوسيطات ParkingManagement:

الوسيطةالنوعالافتراضيالوصف
modelstrNoneالمسار إلى ملف نموذج Ultralytics YOLO.
json_filestrNoneمسار ملف JSON الذي يحتوي على جميع بيانات إحداثيات مواقف السيارات.
line_widthint2سُمك الخط للصناديق والنقاط الرئيسية والأعداد التي يرسمها الحل.
verboseboolTrueيمكّن سجل الحل لكل إطار، والذي يتضمن شكل الإدخال وأعداد الفئات وسرعة المعالجة. ويظل استدعاء التتبع نفسه صامتًا دائمًا.

يتيح حل ParkingManagement استخدام عدة مَعلمات track:

الوسيطةالنوعالافتراضيالوصف
trackerstr'botsort.yaml'يحدد خوارزمية التتبع المراد استخدامها. الخيارات المضمنة: botsort.yaml وbytetrack.yaml وocsort.yaml وdeepocsort.yaml وfasttrack.yaml وtracktrack.yaml.
conffloat0.25يضبط عتبة الثقة للاكتشافات؛ إذ تتيح القيم الأقل تتبع مزيد من الكائنات، لكنها قد تتضمن إيجابيات كاذبة.
ioufloat0.7يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة.
classeslistNoneيصفّي النتائج حسب فهرس الفئة. على سبيل المثال، لا يتتبع classes=[0, 2, 3] سوى الفئات المحددة.
devicestrNoneيحدد الجهاز المستخدم للاستدلال (مثل cpu أو cuda:0 أو 0). ويتيح للمستخدمين الاختيار بين CPU أو GPU محدد أو أجهزة حوسبة أخرى لتنفيذ النموذج.
imgszint or tuple640حجم صورة الاستدلال المستهدفة: عدد صحيح لشكل مربع أو زوج (height, width). يتم ضبط الأشكال لتتناسب مع خطوة النموذج.
max_detint300الحد الأقصى لعدد الاكتشافات المحتفظ بها لكل إطار قبل التتبع، مما يحد من الكائنات التي يعالجها الحل في المشاهد المزدحمة.
quantizeint or strNoneدقة الاستدلال: 16 (FP16) أو 32/غير محدد (FP32) لنموذجي PyTorch وTorchScript؛ بينما تحسب التنسيقات الأخرى بالدقة التي تحددها ملفاتها ومحيط تشغيلها. يحل محل علامة half المهملة.

علاوةً على ذلك، تُدعَم خيارات التصور التالية:

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

الأسئلة الشائعة#

  • توفر Ultralytics YOLO26 كشف المركبات في الوقت الفعلي ومراقبتها لأنظمة مواقف السيارات، ما يحسّن استخدام أماكن الوقوف ويقلل الازدحام ويعزز السلامة من خلال المراقبة المستمرة. كما يساعد تشغيلها على تغذية كاميرا مباشرة في إدارة حركة المرور وتقليل وقت توقف المركبات. للاطلاع على الإعداد الكامل، راجع سير عمل برمجة إدارة مواقف السيارات.

  • يحقق استخدام Ultralytics YOLO26 لمواقف السيارات الذكية فوائد عديدة:

    • الكفاءة: يحسّن استخدام أماكن الوقوف ويقلل الازدحام.
    • السلامة والأمن: يعزز المراقبة ويضمن سلامة المركبات والمشاة.
    • الأثر البيئي: يساعد على تقليل الانبعاثات من خلال تقليل أوقات توقف المركبات. تعرّف على مزيد من الفوائد في قسم مزايا نظام إدارة مواقف السيارات.
  • يُعد تحديد أماكن الوقوف أمرًا مباشرًا باستخدام Ultralytics YOLO26:

    1. التقط إطارًا من فيديو أو دفق كاميرا.
    2. استخدم التعليمات البرمجية المتوفرة لتشغيل واجهة GUI لاختيار صورة ورسم المضلعات لتحديد أماكن الوقوف.
    3. احفظ البيانات المُعنونة بتنسيق JSON لإجراء مزيد من المعالجة. للحصول على تعليمات شاملة، راجع قسم تحديد النقاط أعلاه.
  • الإعداد الأكثر ارتباطًا بخصائص الموقف هو json_file: وجّهه إلى ملف JSON لمناطق الوقوف الذي أنشأته باستخدام مُعلِّق النقاط لتكييف الحل مع تخطيط جديد. ويمكنك تخصيصه أكثر من خلال المعطيات الأخرى — عيّن model إلى كاشف مُدرَّب مخصصًا، وقصر عمليات الكشف على classes لمركبات محددة، واضبط عتبات conf وiou، وبدّل tracker، واستخدم line_width لتغيير حجم التسميات المعروضة على الإطار وقراءة الإشغال، أو اختر device للاستدلال. ولمراقبة المناطق ذات الصلة، راجع دليل عدّ الأجسام.

  • تُستخدم Ultralytics YOLO26 في تطبيقات واقعية متنوعة لإدارة مواقف السيارات، ومنها:

    • كشف أماكن الوقوف: تحديد الأماكن المتاحة والمشغولة بدقة.
    • المراقبة: تعزيز الأمن من خلال المراقبة في الوقت الفعلي.
    • إدارة حركة المرور: تقليل أوقات التوقف والازدحام من خلال التعامل الفعّال مع حركة المرور. ويمكن العثور على صور تعرض هذه التطبيقات في التطبيقات الواقعية.

التعليقات