عد الكائنات في مناطق مختلفة باستخدام Ultralytics YOLO 🚀
ما هو عد الكائنات في المناطق؟
يتضمن عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO26 تحديد عدد الكائنات بدقة داخل مساحات معينة باستخدام رؤية حاسوبية متقدمة. هذا النهج ذو قيمة كبيرة لتحسين العمليات، وتعزيز الأمن، ورفع الكفاءة في تطبيقات مختلفة.
Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀
مزايا عد الكائنات في المناطق
- الدقة والضبط: يضمن عد الكائنات في المناطق باستخدام رؤية حاسوبية متقدمة الحصول على أعداد دقيقة ومضبوطة، مما يقلل من الأخطاء المرتبطة عادةً بالعد اليدوي.
- تحسين الكفاءة: يعمل العد الآلي للكائنات على تعزيز الكفاءة التشغيلية، ويوفر نتائج فورية ويُبسّط العمليات عبر تطبيقات مختلفة.
- تعدد الاستخدامات والتطبيقات: تجعل مرونة عد الكائنات في المناطق منه خياراً قابلاً للتطبيق في مجالات متنوعة، بدءاً من التصنيع والمراقبة وصولاً إلى مراقبة حركة المرور، مما يساهم في انتشاره وفائدته.
تطبيقات العالم الحقيقي
| تجزئة التجزئة | شوارع السوق |
|---|---|
![]() | ![]() |
| عد الأشخاص في مناطق مختلفة باستخدام Ultralytics YOLO26 | عد الحشود في مناطق مختلفة باستخدام Ultralytics YOLO26 |
أمثلة الاستخدام
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 متاحة في قسم الأمثلة الخاص بنا. يمكنك استكشاف هذا المثال لتخصيص الكود وتعديله ليناسب حالة الاستخدام الخاصة بك.
وسائط RegionCounter
إليك جدول يحتوي على وسائط RegionCounter:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | مسار إلى ملف نموذج Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | قائمة النقاط التي تحدد منطقة العد. |
يُمكن حل RegionCounter من استخدام بارامترات تتبع الكائنات:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.yaml' | يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال، bytetrack.yaml أو botsort.yaml. |
conf | float | 0.1 | يضبط عتبة الثقة للكشوف؛ القيم المنخفضة تسمح بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة. |
iou | float | 0.7 | يضبط عتبة التقاطع فوق الاتحاد (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 | int or None | None | يحدد عرض خط صناديق الإحاطة. إذا كانت القيمة None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
show_conf | bool | True | يعرض درجة الثقة لكل اكتشاف بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل اكتشاف. |
show_labels | bool | True | يعرض تسميات لكل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة. |
الأسئلة الشائعة
ما هو عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO26؟
يتضمن عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO26 اكتشاف وحصر عدد الكائنات داخل مساحات محددة باستخدام رؤية حاسوبية متقدمة. هذه الطريقة الدقيقة تعزز الكفاءة والدقة عبر تطبيقات مختلفة مثل التصنيع والمراقبة ومراقبة حركة المرور.
كيف أقوم بتشغيل سكريبت عد الكائنات القائم على المناطق باستخدام Ultralytics YOLO26؟
اتبع هذه الخطوات لتشغيل عد الكائنات في Ultralytics YOLO26:
-
قم باستنساخ مستودع Ultralytics وانتقل إلى الدليل:
git clone https://github.com/ultralytics/ultralytics cd ultralytics/examples/YOLOv8-Region-Counter -
نفذ سكريبت عد المناطق:
python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
لمزيد من الخيارات، قم بزيارة قسم أمثلة الاستخدام.
لماذا يجب أن أستخدم Ultralytics YOLO26 لعد الكائنات في المناطق؟
يوفر استخدام Ultralytics YOLO26 لعد الكائنات في المناطق العديد من المزايا:
- المعالجة في الوقت الحقيقي: تتيح بنية YOLO26 استنتاجاً سريعاً، مما يجعله مثالياً للتطبيقات التي تتطلب نتائج عد فورية.
- مرونة تعريف المناطق: يسمح لك الحل بتعريف مناطق مخصصة متعددة كمضلعات أو مستطيلات أو خطوط لتلبية احتياجات المراقبة الخاصة بك.
- دعم فئات متعددة: قم بعد أنواع مختلفة من الكائنات في آن واحد داخل نفس المناطق، مما يوفر تحليلات شاملة.
- قدرات التكامل: تكامل بسهولة مع الأنظمة الحالية من خلال واجهة برمجة تطبيقات Ultralytics Python أو واجهة سطر الأوامر.
استكشف فوائد أعمق في قسم المزايا.
ما هي بعض تطبيقات العالم الحقيقي لعد الكائنات في المناطق؟
يمكن تطبيق عد الكائنات باستخدام Ultralytics YOLO26 في العديد من سيناريوهات العالم الحقيقي:
- تحليلات التجزئة: عد العملاء في أقسام مختلفة من المتجر لتحسين التخطيط وتوزيع الموظفين.
- إدارة حركة المرور: مراقبة تدفق المركبات في قطاعات طرق معينة أو تقاطعات.
- التصنيع: تتبع المنتجات التي تتحرك عبر مناطق إنتاج مختلفة.
- عمليات المستودعات: عد عناصر المخزون في مناطق التخزين المخصصة.
- السلامة العامة: مراقبة كثافة الحشود في مناطق معينة أثناء الفعاليات.
استكشف المزيد من الأمثلة في قسم تطبيقات العالم الحقيقي وحل TrackZone لمزيد من قدرات المراقبة القائمة على المناطق.

