تخطي إلى المحتوى

عد الكائنات في مناطق مختلفة باستخدام Ultralytics YOLO 🚀

ما هو تعداد الأجسام في المناطق؟

عد الكائنات في المناطق باستخدام Ultralytics YOLO11 يتضمن تحديد عدد الكائنات بدقة داخل مناطق محددة باستخدام رؤية الكمبيوتر المتقدمة. هذا النهج ذو قيمة لتحسين العمليات وتعزيز الأمن وتحسين الكفاءة في مختلف التطبيقات.



شاهد: عد الكائنات في مناطق مختلفة باستخدام Ultralytics YOLO11 | حلول Ultralytics 🚀

ما هي مزايا عد الكائنات في المناطق؟

  • الإحكام (Precision) والدقة (Accuracy): يضمن عد الكائنات في المناطق باستخدام الرؤية الحاسوبية المتقدمة عدًا دقيقًا ومحكمًا، مما يقلل الأخطاء المرتبطة غالبًا بالعد اليدوي.
  • تحسين الكفاءة: يعزز عد الكائنات الآلي الكفاءة التشغيلية، ويوفر نتائج في الوقت الفعلي ويبسط العمليات عبر التطبيقات المختلفة.
  • تعدد الاستخدامات والتطبيق: إن تعدد استخدامات عد الكائنات في المناطق يجعله قابلاً للتطبيق في مختلف المجالات، من التصنيع والمراقبة إلى مراقبة حركة المرور، مما يساهم في انتشاره وفعاليته على نطاق واسع.

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

البيع بالتجزئة شوارع السوق
تعداد الأشخاص في مناطق مختلفة باستخدام Ultralytics YOLO11 عد الحشود في منطقة مختلفة باستخدام Ultralytics YOLO11
تعداد الأشخاص في مناطق مختلفة باستخدام Ultralytics YOLO11 عد الحشود في منطقة مختلفة باستخدام Ultralytics YOLO11

أمثلة الاستخدام

عد المناطق باستخدام Ultralytics YOLO

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Pass region as list
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

# Pass region as dictionary
region_points = {
    "region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
    "region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
}

# 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("region_counting.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize region counter object
regioncounter = solutions.RegionCounter(
    show=True,  # display the frame
    region=region_points,  # pass region points
    model="yolo11n.pt",  # model for counting in regions i.e yolo11s.pt
)

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

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = regioncounter(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

مثال على كود Ultralytics

تتوفر وحدة عد المناطق Ultralytics في قسم الأمثلة الخاص بنا. يمكنك استكشاف هذا المثال لتخصيص التعليمات البرمجية وتعديلها لتناسب حالة الاستخدام المحددة الخاصة بك.

RegionCounter الوسائط

إليك جدول مع RegionCounter arguments:

الوسيطة النوع افتراضي الوصف
model str None مسار إلى ملف نموذج Ultralytics YOLO.
region list '[(20, 400), (1260, 400)]' قائمة النقاط التي تحدد منطقة العد.

في RegionCounter يتيح الحل استخدام معلمات تتبع الكائنات:

الوسيطة النوع افتراضي الوصف
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 يتحكم في عرض نتائج التتبع، مما يوفر مخرجًا مرئيًا للكائنات التي يتم تتبعها.
device str None يحدد الجهاز الخاص بالاستدلال (على سبيل المثال، cpu, cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين CPU أو GPU معين أو أجهزة حساب أخرى لتنفيذ النموذج.

بالإضافة إلى ذلك، يتم دعم إعدادات العرض المرئي التالية:

الوسيطة النوع افتراضي الوصف
show bool False إذا True، يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على تعليقات مرئية فورية أثناء التطوير أو الاختبار.
line_width None or int None يحدد عرض خطوط مربعات الإحاطة. إذا None، يتم تعديل عرض الخط تلقائيًا بناءً على حجم الصورة. يوفر تخصيصًا مرئيًا للوضوح.
show_conf bool True يعرض قيمة الثقة لكل كائن يتم الكشف عنه بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل كائن تم الكشف عنه.
show_labels bool True يعرض تسميات لكل كائن يتم الكشف عنه في الناتج المرئي. يوفر فهمًا فوريًا للكائنات التي تم الكشف عنها.

الأسئلة الشائعة

ما هو تعداد الأجسام في مناطق محددة باستخدام Ultralytics YOLO11؟

يتضمن عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO11 اكتشاف وحساب عدد الكائنات داخل مناطق محددة باستخدام رؤية الكمبيوتر المتقدمة. تعمل هذه الطريقة الدقيقة على تحسين الكفاءة و الدقة في مختلف التطبيقات مثل التصنيع والمراقبة ومراقبة حركة المرور.

كيف يمكنني تشغيل البرنامج النصي لعد الكائنات المستند إلى المنطقة باستخدام Ultralytics YOLO11؟

اتبع هذه الخطوات لتشغيل عد الكائنات في Ultralytics YOLO11:

  1. استنساخ مستودع Ultralytics والانتقال إلى الدليل:

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
    
  2. نفّذ البرنامج النصي لعد المناطق:

    python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
    

لمزيد من الخيارات، قم بزيارة قسم أمثلة الاستخدام.

لماذا يجب عليّ استخدام Ultralytics YOLO11 لعد الأجسام في مناطق معينة؟

يوفر استخدام Ultralytics YOLO11 لعد الكائنات في المناطق العديد من المزايا:

  1. معالجة في الوقت الفعلي: تتيح بنية YOLO11 استدلالًا سريعًا، مما يجعله مثاليًا للتطبيقات التي تتطلب نتائج عد فورية.
  2. تعريف مرن للمنطقة: يتيح لك هذا الحل تحديد مناطق مخصصة متعددة كمضلعات أو مستطيلات أو خطوط لتناسب احتياجات المراقبة الخاصة بك.
  3. دعم متعدد الفئات: عد أنواع الكائنات المختلفة في وقت واحد داخل نفس المناطق، مما يوفر تحليلات شاملة.
  4. إمكانيات التكامل: يمكنك الاندماج بسهولة مع الأنظمة الحالية من خلال Ultralytics Python API أو واجهة سطر الأوامر.

استكشف المزيد من المزايا في قسم المزايا.

ما هي بعض التطبيقات الواقعية لعد الكائنات في المناطق؟

يمكن تطبيق عد الكائنات باستخدام Ultralytics YOLO11 على العديد من السيناريوهات الواقعية:

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

استكشف المزيد من الأمثلة في قسم تطبيقات العالم الحقيقي وحل TrackZone للحصول على قدرات مراقبة إضافية قائمة على المناطق.



📅 تم الإنشاء منذ سنة واحدة ✏️ تم التحديث منذ شهرين

تعليقات