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

إدارة قائمة الانتظار باستخدام 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,
    fontsize=1.0,
    region_color=(255, 144, 31),
)

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)

        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,
    fontsize=1.0,
    region_color=(255, 144, 31),
)

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

    if success:
        tracks = model.track(im0, show=False, persist=True, verbose=False, 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 سماكة الخطوط التوضيحية.
track_thickness int 2 سُمك خطوط المسار.
view_img bool False ما إذا كان سيتم عرض إطارات الصور أم لا.
region_color tuple (255, 0, 255) لون خطوط منطقة العد (BGR).
view_queue_counts bool True ما إذا كان سيتم عرض عدد قوائم الانتظار أم لا.
draw_tracks bool False سواء لرسم مسارات الكائنات.
count_txt_color tuple (255, 255, 255) لون نص العد (BGR).
track_color tuple None لون المسارات. إذا كان None، سيتم استخدام ألوان مختلفة لمسارات مختلفة.
region_thickness int 5 سُمك خطوط منطقة العد.
fontsize float 0.7 حجم الخط للتعليقات التوضيحية النصية.

الحجج model.track

اسم نوع افتراضي وصف
source im0 None الدليل المصدر للصور أو مقاطع الفيديو
persist bool False المسارات المستمرة بين الإطارات
tracker str botsort.yaml طريقة التتبع "bytetrack" أو "botsort"
conf float 0.3 عتبة الثقة
iou float 0.5 عتبة IOU
classes list None تصفية النتائج حسب الفئة ، أي الفئات = 0 ، أو الفئات = [0،2،3]
verbose bool True عرض نتائج تعقب الكائن

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

كيف يمكنني استخدام 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,
    fontsize=1.0,
    region_color=(255, 144, 31),
)

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,
    fontsize=1.0,
    region_color=(0, 255, 0),
)

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

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

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

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

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



تم الإنشاء 2024-04-02، تم التحديث 2024-07-14
المؤلفون: RizwanMunawar (1)، glenn-jocher (5)، IvorZhu331 (1)، Burhan-Q (1)

التعليقات