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

إدارة قائمة الانتظار باستخدام Ultralytics YOLOv8 🚀

ما هي إدارة قائمة الانتظار؟

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



شاهد: كيفية تنفيذ إدارة طوابير الانتظار باستخدام Ultralytics YOLOv8 | المطار ومحطة المترو

مزايا إدارة قائمة الانتظار؟

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

تطبيقات العالم الحقيقي

السوقيات التجزئه
إدارة قائمة الانتظار في شباك تذاكر المطار باستخدام Ultralytics YOLOv8 مراقبة قائمة الانتظار في الحشد باستخدام Ultralytics YOLOv8
إدارة قائمة الانتظار في شباك تذاكر المطار باستخدام Ultralytics YOLOv8 مراقبة قائمة الانتظار في الحشد Ultralytics YOLOv8

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

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
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 = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

queue = solutions.QueueManager(
    names=model.names,
    reg_pts=queue_region,
    line_thickness=3,
)

while cap.isOpened():
    success, im0 = cap.read()

    if success:
        tracks = model.track(im0, persist=True)
        out = queue.process_queue(im0, tracks)

        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()
import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
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 = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

queue = solutions.QueueManager(
    names=model.names,
    reg_pts=queue_region,
    line_thickness=3,
)

while cap.isOpened():
    success, im0 = cap.read()

    if success:
        tracks = model.track(im0, persist=True, classes=0)  # Only person class
        out = queue.process_queue(im0, tracks)

        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

اسم نوع افتراضي وصف
names dict model.names قاموس تعيين معرّفات الفئات إلى أسماء الفئات.
reg_pts list of tuples [(20, 400), (1260, 400)] النقاط التي تحدد مضلع منطقة العد. افتراضي إلى مستطيل محدد مسبقاً.
line_thickness int 2 سماكة الخطوط التوضيحية.
view_img bool False ما إذا كان سيتم عرض إطارات الصور أم لا.
draw_tracks bool False سواء لرسم مسارات الكائنات.

الحجج model.track

جدال نوع افتراضي وصف
source str None Specifies the source directory for images or videos. Supports file paths and URLs.
persist bool False Enables persistent tracking of objects between frames, maintaining IDs across video sequences.
tracker str botsort.yaml Specifies the tracking algorithm to use, e.g., bytetrack.yaml أو botsort.yaml.
conf float 0.3 Sets the confidence threshold for detections; lower values allow more objects to be tracked but may include false positives.
iou float 0.5 Sets the Intersection over Union (IoU) threshold for filtering overlapping detections.
classes list None Filters results by class index. For example, classes=[0, 2, 3] only tracks the specified classes.
verbose bool True Controls the display of tracking results, providing a visual output of tracked objects.

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

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

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

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

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

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
cap = cv2.VideoCapture("path/to/video.mp4")
queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

queue = solutions.QueueManager(
    names=model.names,
    reg_pts=queue_region,
    line_thickness=3,
)

while cap.isOpened():
    success, im0 = cap.read()
    if success:
        tracks = model.track(im0, show=False, persist=True, verbose=False)
        out = queue.process_queue(im0, tracks)
        cv2.imshow("Queue Management", im0)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break

cap.release()
cv2.destroyAllWindows()

يمكن أن تؤدي الاستفادة من Ultralytics HUB إلى تبسيط هذه العملية من خلال توفير منصة سهلة الاستخدام لنشر حل إدارة قوائم الانتظار وإدارته.

ما هي المزايا الرئيسية لاستخدام Ultralytics YOLOv8 لإدارة قوائم الانتظار؟

يوفر استخدام Ultralytics YOLOv8 لإدارة قوائم الانتظار العديد من المزايا:

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

لمزيد من التفاصيل، استكشف حلول إدارة قوائم الانتظار الخاصة بنا.

لماذا يجب أن أختار Ultralytics YOLOv8 على المنافسين مثل TensorFlow أو Detectron2 لإدارة قوائم الانتظار؟

Ultralytics YOLOv8 العديد من المزايا على TensorFlow و Detectron2 لإدارة قوائم الانتظار:

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

تعلّم كيف تبدأ مع Ultralytics YOLO.

هل يمكن لموقع Ultralytics YOLOv8 التعامل مع أنواع متعددة من قوائم الانتظار، كما هو الحال في المطارات وتجارة التجزئة؟

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

مثال للمطارات:

queue_region_airport = [(50, 600), (1200, 600), (1200, 550), (50, 550)]
queue_airport = solutions.QueueManager(
    names=model.names,
    reg_pts=queue_region_airport,
    line_thickness=3,
)

للمزيد من المعلومات حول التطبيقات المتنوعة، راجع قسم تطبيقات العالم الحقيقي.

ما هي بعض التطبيقات الواقعية لـ Ultralytics YOLOv8 في إدارة قوائم الانتظار؟

Ultralytics YOLOv8 في العديد من التطبيقات الواقعية لإدارة قوائم الانتظار:

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

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


📅 Created 5 months ago ✏️ Updated 4 days ago

التعليقات