إدارة طابور الانتظار باستخدام Ultralytics YOLO11 🚀
ما هي إدارة قائمة الانتظار؟
Queue management using Ultralytics YOLO11 involves organizing and controlling lines of people or vehicles to reduce wait times and enhance efficiency. It's about optimizing queues to improve customer satisfaction and system performance in various settings like retail, banks, airports, and healthcare facilities.
شاهد: How to Implement Queue Management with Ultralytics YOLO11 | Airport and Metro Station
مزايا إدارة قائمة الانتظار؟
- تقليل أوقات الانتظار: تعمل أنظمة إدارة قائمة الانتظار على تنظيم قوائم الانتظار بكفاءة ، مما يقلل من أوقات الانتظار للعملاء. يؤدي ذلك إلى تحسين مستويات الرضا حيث يقضي العملاء وقتا أقل في الانتظار والمزيد من الوقت في التعامل مع المنتجات أو الخدمات.
- زيادة الكفاءة: يسمح تنفيذ إدارة قائمة الانتظار للشركات بتخصيص الموارد بشكل أكثر فعالية. من خلال تحليل بيانات قائمة الانتظار وتحسين نشر الموظفين، يمكن للشركات تبسيط العمليات وخفض التكاليف وتحسين الإنتاجية الإجمالية.
تطبيقات العالم الحقيقي
السوقيات | التجزئه |
---|---|
Queue management at airport ticket counter Using Ultralytics YOLO11 | Queue monitoring in crowd Ultralytics YOLO11 |
مثال على إدارة قائمة الانتظار باستخدام YOLO11
import cv2
from ultralytics import solutions
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))
# Video writer
video_writer = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Define queue region points
queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)] # Define queue region points
# queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360), (20, 400)] # Define queue polygon points
# Init Queue Manager
queue = solutions.QueueManager(
show=True, # Display the output
model="yolo11n.pt", # Path to the YOLO11 model file
region=queue_region, # Pass queue region points
# classes=[0, 2], # If you want to count specific classes i.e person and car with COCO pretrained model.
# line_width=2, # Adjust the line width for bounding boxes and text display
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if success:
out = queue.process_queue(im0)
video_writer.write(im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
continue
print("Video frame is empty or video processing has been successfully completed.")
break
cap.release()
cv2.destroyAllWindows()
الحجج QueueManager
اسم | نوع | افتراضي | وصف |
---|---|---|---|
model | str | None | المسار إلى Ultralytics YOLO ملف نموذج |
region | list | [(20, 400), (1260, 400)] | قائمة النقاط التي تحدد منطقة قائمة الانتظار. |
line_width | int | 2 | سمك الخط للمربعات المحيطة. |
show | bool | False | ضع علامة للتحكم في ما إذا كنت تريد عرض دفق الفيديو أم لا. |
الحجج model.track
جدال | نوع | افتراضي | وصف |
---|---|---|---|
source | str | None | يحدد الدليل المصدر للصور أو مقاطع الفيديو. يدعم مسارات الملفات وعناوين URL. |
persist | bool | False | تمكين التتبع المستمر للكائنات بين الإطارات، والحفاظ على المعرفات عبر تسلسلات الفيديو. |
tracker | str | botsort.yaml | يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال, bytetrack.yaml أو botsort.yaml . |
conf | float | 0.3 | تعيين عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة. |
iou | float | 0.5 | يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة. |
classes | list | None | تصفية النتائج حسب فهرس الفئة. على سبيل المثال, classes=[0, 2, 3] يتتبع الفئات المحددة فقط. |
verbose | bool | True | يتحكم في عرض نتائج التتبع، مما يوفر إخراجًا مرئيًا للأجسام المتعقبة. |
الأسئلة المتداولة
كيف يمكنني استخدام Ultralytics YOLO11 لإدارة قوائم الانتظار في الوقت الفعلي؟
لاستخدام Ultralytics YOLO11 لإدارة قائمة الانتظار في الوقت الفعلي، يمكنك اتباع الخطوات التالية:
- تحميل نموذج YOLO11 مع
YOLO("yolo11n.pt")
. - التقاط موجز الفيديو باستخدام
cv2.VideoCapture
. - تحديد منطقة الاهتمام (ROI) لإدارة قائمة الانتظار.
- معالجة الإطارات للكشف عن الكائنات وإدارة قوائم الانتظار.
إليك مثال بسيط:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]
queue = solutions.QueueManager(
model="yolo11n.pt",
region=queue_region,
line_width=3,
)
while cap.isOpened():
success, im0 = cap.read()
if success:
out = queue.process_queue(im0)
cv2.imshow("Queue Management", im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
يمكن أن تؤدي الاستفادة من Ultralytics HUB إلى تبسيط هذه العملية من خلال توفير منصة سهلة الاستخدام لنشر حل إدارة قوائم الانتظار وإدارته.
ما هي المزايا الرئيسية لاستخدام Ultralytics YOLO11 لإدارة قوائم الانتظار؟
يوفر استخدام Ultralytics YOLO11 لإدارة قوائم الانتظار العديد من المزايا:
- تقليل أوقات الانتظار: تنظيم طوابير الانتظار بكفاءة، مما يقلل من أوقات انتظار العملاء ويعزز رضاهم.
- تعزيز الكفاءة: تحليل بيانات قائمة الانتظار لتحسين نشر الموظفين والعمليات على النحو الأمثل، وبالتالي تقليل التكاليف.
- تنبيهات في الوقت الحقيقي: يوفر إشعارات في الوقت الفعلي لقوائم الانتظار الطويلة، مما يتيح التدخل السريع.
- قابلية التوسع: قابلة للتطوير بسهولة عبر بيئات مختلفة مثل البيع بالتجزئة والمطارات والرعاية الصحية.
لمزيد من التفاصيل، استكشف حلول إدارة قوائم الانتظار الخاصة بنا.
Why should I choose Ultralytics YOLO11 over competitors like TensorFlow or Detectron2 for queue management?
Ultralytics يتميز YOLO11 بالعديد من المزايا عن TensorFlow و Detectron2 لإدارة قوائم الانتظار:
- Real-time Performance: YOLO11 is known for its real-time detection capabilities, offering faster processing speeds.
- سهولة الاستخدام: يوفر Ultralytics تجربة سهلة الاستخدام، بدءًا من التدريب وحتى النشر، عبر Ultralytics HUB.
- نماذج مدربة مسبقًا: الوصول إلى مجموعة من النماذج المدربة مسبقًا، مما يقلل من الوقت اللازم للإعداد.
- دعم المجتمع: التوثيق الشامل والدعم المجتمعي النشط يجعل حل المشاكل أسهل.
تعلّم كيف تبدأ مع Ultralytics YOLO.
هل يمكن Ultralytics YOLO11 التعامل مع أنواع متعددة من قوائم الانتظار، كما هو الحال في المطارات وتجارة التجزئة؟
نعم، يمكن لـ Ultralytics YOLO11 إدارة أنواع مختلفة من قوائم الانتظار، بما في ذلك تلك الموجودة في المطارات وبيئات البيع بالتجزئة. من خلال تكوين QueueManager مع مناطق وإعدادات محددة، يمكن لـ YOLO11 التكيف مع تخطيطات وكثافات طوابير الانتظار المختلفة.
مثال للمطارات:
queue_region_airport = [(50, 600), (1200, 600), (1200, 550), (50, 550)]
queue_airport = solutions.QueueManager(
model="yolo11n.pt",
region=queue_region_airport,
line_width=3,
)
للمزيد من المعلومات حول التطبيقات المتنوعة، راجع قسم تطبيقات العالم الحقيقي.
ما هي بعض التطبيقات الواقعية لـ Ultralytics YOLO11 في إدارة قوائم الانتظار؟
Ultralytics يُستخدم YOLO11 في العديد من التطبيقات الواقعية لإدارة قوائم الانتظار:
- البيع بالتجزئة: مراقبة طوابير الدفع لتقليل أوقات الانتظار وتحسين رضا العملاء.
- المطارات: إدارة طوابير الانتظار عند شبابيك التذاكر ونقاط التفتيش الأمني لتوفير تجربة أكثر سلاسة للركاب.
- الرعاية الصحية: تحسين تدفق المرضى في العيادات والمستشفيات.
- البنوك: تحسين خدمة العملاء من خلال إدارة قوائم الانتظار بكفاءة في البنوك.
راجع مدونتنا حول إدارة قوائم الانتظار في العالم الحقيقي لمعرفة المزيد.