انتقل إلى المحتوى

إدارة طابور الانتظار باستخدام 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 YOLO11Queue monitoring in crowd using Ultralytics YOLO11
Queue management at airport ticket counter Using Ultralytics YOLO11Queue monitoring in crowd Ultralytics YOLO11

مثال على إدارة قائمة الانتظار باستخدام YOLO11

# Run a queue example
yolo solutions queue show=True

# Pass a source video
yolo solutions queue source="path/to/video/file.mp4"

# Pass queue coordinates
yolo solutions queue region=[(20, 400), (1080, 404), (1080, 360), (20, 360)]
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

اسمنوعافتراضيوصف
modelstrNoneالمسار إلى Ultralytics YOLO ملف نموذج
regionlist[(20, 400), (1260, 400)]قائمة النقاط التي تحدد منطقة قائمة الانتظار.
line_widthint2سمك الخط للمربعات المحيطة.
showboolFalseضع علامة للتحكم في ما إذا كنت تريد عرض دفق الفيديو أم لا.

الحجج model.track

جدالنوعافتراضيوصف
sourcestrNoneيحدد الدليل المصدر للصور أو مقاطع الفيديو. يدعم مسارات الملفات وعناوين URL.
persistboolFalseتمكين التتبع المستمر للكائنات بين الإطارات، والحفاظ على المعرفات عبر تسلسلات الفيديو.
trackerstrbotsort.yamlيحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال, bytetrack.yaml أو botsort.yaml.
conffloat0.3تعيين عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة.
ioufloat0.5يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة.
classeslistNoneتصفية النتائج حسب فهرس الفئة. على سبيل المثال, classes=[0, 2, 3] يتتبع الفئات المحددة فقط.
verboseboolTrueيتحكم في عرض نتائج التتبع، مما يوفر إخراجًا مرئيًا للأجسام المتعقبة.

الأسئلة المتداولة

كيف يمكنني استخدام Ultralytics YOLO11 لإدارة قوائم الانتظار في الوقت الفعلي؟

لاستخدام Ultralytics YOLO11 لإدارة قائمة الانتظار في الوقت الفعلي، يمكنك اتباع الخطوات التالية:

  1. تحميل نموذج YOLO11 مع YOLO("yolo11n.pt").
  2. التقاط موجز الفيديو باستخدام cv2.VideoCapture.
  3. تحديد منطقة الاهتمام (ROI) لإدارة قائمة الانتظار.
  4. معالجة الإطارات للكشف عن الكائنات وإدارة قوائم الانتظار.

إليك مثال بسيط:

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 في العديد من التطبيقات الواقعية لإدارة قوائم الانتظار:

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

راجع مدونتنا حول إدارة قوائم الانتظار في العالم الحقيقي لمعرفة المزيد.

📅 Created 7 months ago ✏️ Updated 7 days ago

التعليقات