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

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

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



Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀

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

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

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

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

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

عد المناطق باستخدام 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="yolo26n.pt",  # model for counting in regions, e.g., yolo26s.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:

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

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

المعاملالنوعالافتراضيالوصف
trackerstr'botsort.yaml'يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال، bytetrack.yaml أو botsort.yaml.
conffloat0.1يضبط عتبة الثقة للكشوف؛ القيم المنخفضة تسمح بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة.
ioufloat0.7يضبط عتبة التقاطع فوق الاتحاد (IoU) لتصفية الكشوف المتداخلة.
classeslistNoneيصفي النتائج حسب فهرس الفئة. على سبيل المثال، classes=[0, 2, 3] يتتبع فقط الفئات المحددة.
verboseboolTrueيتحكم في عرض نتائج التتبع، مما يوفر مخرجات مرئية للكائنات المتتبعة.
devicestrNoneيحدد الجهاز للاستنتاج (على سبيل المثال، cpu، أو cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين CPU، أو GPU محدد، أو أجهزة حوسبة أخرى لتنفيذ النموذج.

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

المعاملالنوعالافتراضيالوصف
showboolFalseإذا كانت القيمة True، يتم عرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على تعليقات مرئية فورية أثناء التطوير أو الاختبار.
line_widthint or NoneNoneيحدد عرض خط صناديق الإحاطة. إذا كانت القيمة None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح.
show_confboolTrueيعرض درجة الثقة لكل اكتشاف بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل اكتشاف.
show_labelsboolTrueيعرض تسميات لكل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة.

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

ما هو عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO26؟

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

كيف أقوم بتشغيل سكريبت عد الكائنات القائم على المناطق باستخدام Ultralytics YOLO26؟

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

  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 YOLO26 لعد الكائنات في المناطق؟

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

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

استكشف فوائد أعمق في قسم المزايا.

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

يمكن تطبيق عد الكائنات باستخدام Ultralytics YOLO26 في العديد من سيناريوهات العالم الحقيقي:

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

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

التعليقات