بناء نظام لإدارة مواقف السيارات باستخدام 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 هذه العملية من خلال توفير أداة "مُعلِّق أماكن الوقوف" التي تتيح لك تحديد مناطق موقف السيارات، والتي يمكن استخدامها لاحقًا في عمليات معالجة إضافية.
الخطوة-1: التقط إطارًا من الفيديو أو دفق الكاميرا الذي تريد إدارة موقف السيارات فيه.
الخطوة-2: استخدم التعليمات البرمجية المتوفرة لتشغيل واجهة رسومية، حيث يمكنك تحديد صورة والبدء في تحديد مناطق الوقوف بالنقر بالماوس لإنشاء مضلعات.
خطوة إضافية لتثبيت `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 في دليل العمل لديك — وهو اسم الملف نفسه الذي يحمّله نص الإدارة أدناه.

الخطوة-4: يمكنك الآن تشغيل حل إدارة مواقف السيارات باستخدام التعليمات البرمجية أدناه.
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:
| الوسيطة | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | المسار إلى ملف نموذج Ultralytics YOLO. |
json_file | str | None | مسار ملف JSON الذي يحتوي على جميع بيانات إحداثيات مواقف السيارات. |
line_width | int | 2 | سُمك الخط للصناديق والنقاط الرئيسية والأعداد التي يرسمها الحل. |
verbose | bool | True | يمكّن سجل الحل لكل إطار، والذي يتضمن شكل الإدخال وأعداد الفئات وسرعة المعالجة. ويظل استدعاء التتبع نفسه صامتًا دائمًا. |
يتيح حل ParkingManagement استخدام عدة مَعلمات track:
| الوسيطة | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.yaml' | يحدد خوارزمية التتبع المراد استخدامها. الخيارات المضمنة: botsort.yaml وbytetrack.yaml وocsort.yaml وdeepocsort.yaml وfasttrack.yaml وtracktrack.yaml. |
conf | float | 0.25 | يضبط عتبة الثقة للاكتشافات؛ إذ تتيح القيم الأقل تتبع مزيد من الكائنات، لكنها قد تتضمن إيجابيات كاذبة. |
iou | float | 0.7 | يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة. |
classes | list | None | يصفّي النتائج حسب فهرس الفئة. على سبيل المثال، لا يتتبع classes=[0, 2, 3] سوى الفئات المحددة. |
device | str | None | يحدد الجهاز المستخدم للاستدلال (مثل cpu أو cuda:0 أو 0). ويتيح للمستخدمين الاختيار بين CPU أو GPU محدد أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
imgsz | int or tuple | 640 | حجم صورة الاستدلال المستهدفة: عدد صحيح لشكل مربع أو زوج (height, width). يتم ضبط الأشكال لتتناسب مع خطوة النموذج. |
max_det | int | 300 | الحد الأقصى لعدد الاكتشافات المحتفظ بها لكل إطار قبل التتبع، مما يحد من الكائنات التي يعالجها الحل في المشاهد المزدحمة. |
quantize | int or str | None | دقة الاستدلال: 16 (FP16) أو 32/غير محدد (FP32) لنموذجي PyTorch وTorchScript؛ بينما تحسب التنسيقات الأخرى بالدقة التي تحددها ملفاتها ومحيط تشغيلها. يحل محل علامة half المهملة. |
علاوةً على ذلك، تُدعَم خيارات التصور التالية:
| الوسيطة | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كانت قيمة True، يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. ويفيد ذلك في الحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار. |
الأسئلة الشائعة#
توفر Ultralytics YOLO26 كشف المركبات في الوقت الفعلي ومراقبتها لأنظمة مواقف السيارات، ما يحسّن استخدام أماكن الوقوف ويقلل الازدحام ويعزز السلامة من خلال المراقبة المستمرة. كما يساعد تشغيلها على تغذية كاميرا مباشرة في إدارة حركة المرور وتقليل وقت توقف المركبات. للاطلاع على الإعداد الكامل، راجع سير عمل برمجة إدارة مواقف السيارات.
يحقق استخدام Ultralytics YOLO26 لمواقف السيارات الذكية فوائد عديدة:
- الكفاءة: يحسّن استخدام أماكن الوقوف ويقلل الازدحام.
- السلامة والأمن: يعزز المراقبة ويضمن سلامة المركبات والمشاة.
- الأثر البيئي: يساعد على تقليل الانبعاثات من خلال تقليل أوقات توقف المركبات. تعرّف على مزيد من الفوائد في قسم مزايا نظام إدارة مواقف السيارات.
يُعد تحديد أماكن الوقوف أمرًا مباشرًا باستخدام Ultralytics YOLO26:
- التقط إطارًا من فيديو أو دفق كاميرا.
- استخدم التعليمات البرمجية المتوفرة لتشغيل واجهة GUI لاختيار صورة ورسم المضلعات لتحديد أماكن الوقوف.
- احفظ البيانات المُعنونة بتنسيق JSON لإجراء مزيد من المعالجة. للحصول على تعليمات شاملة، راجع قسم تحديد النقاط أعلاه.
الإعداد الأكثر ارتباطًا بخصائص الموقف هو
json_file: وجّهه إلى ملف JSON لمناطق الوقوف الذي أنشأته باستخدام مُعلِّق النقاط لتكييف الحل مع تخطيط جديد. ويمكنك تخصيصه أكثر من خلال المعطيات الأخرى — عيّنmodelإلى كاشف مُدرَّب مخصصًا، وقصر عمليات الكشف علىclassesلمركبات محددة، واضبط عتباتconfوiou، وبدّلtracker، واستخدمline_widthلتغيير حجم التسميات المعروضة على الإطار وقراءة الإشغال، أو اخترdeviceللاستدلال. ولمراقبة المناطق ذات الصلة، راجع دليل عدّ الأجسام.تُستخدم Ultralytics YOLO26 في تطبيقات واقعية متنوعة لإدارة مواقف السيارات، ومنها:
- كشف أماكن الوقوف: تحديد الأماكن المتاحة والمشغولة بدقة.
- المراقبة: تعزيز الأمن من خلال المراقبة في الوقت الفعلي.
- إدارة حركة المرور: تقليل أوقات التوقف والازدحام من خلال التعامل الفعّال مع حركة المرور. ويمكن العثور على صور تعرض هذه التطبيقات في التطبيقات الواقعية.

