إحصاء الكائنات في مناطق مختلفة باستخدام Ultralytics YOLO 🚀 🚀
ما هو عد الكائنات في المناطق؟
عد الكائنات في المناطق ذات Ultralytics YOLO11 يتضمن تحديد عدد الكائنات بدقة داخل مناطق محددة باستخدام رؤية حاسوبية متقدمة. هذا النهج ذو قيمة لتحسين العمليات وتعزيز الأمن وتحسين الكفاءة في مختلف التطبيقات.
شاهد: عدّ الكائنات في مناطق مختلفة باستخدام Ultralytics YOLO11 | | Ultralytics الحلول 🚀
مزايا عد الكائنات في المناطق؟
- الدقة والدقة: يضمن عد الكائنات في المناطق ذات الرؤية الحاسوبية المتقدمة عدّ الكائنات بدقة ودقة عالية، مما يقلل من الأخطاء التي ترتبط غالبًا بالعد اليدوي.
- تحسين الكفاءة: يعمل العد الآلي للأشياء على تعزيز الكفاءة التشغيلية، وتوفير نتائج في الوقت الفعلي وتبسيط العمليات عبر التطبيقات المختلفة.
- تعدد الاستخدامات والتطبيق: إن تعدد استخدامات عدّ الكائنات في المناطق يجعلها قابلة للتطبيق في مختلف المجالات، من التصنيع والمراقبة إلى مراقبة حركة المرور، مما يساهم في انتشار فائدتها وفعاليتها على نطاق واسع.
التطبيقات الواقعية
البيع بالتجزئة | شوارع السوق |
---|---|
![]() |
![]() |
عد الأشخاص في مناطق مختلفة باستخدام 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
الحجج
الجدال | النوع | افتراضي | الوصف |
---|---|---|---|
model |
str |
None |
المسار إلى ملف نموذج Ultralytics YOLO Model File. |
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 ، يتم ضبط عرض الخط تلقائيًا بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
الأسئلة الشائعة
ما هو عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO11 ؟
عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO11 يتضمن الكشف عن عدد الأجسام في مناطق محددة وإحصائها باستخدام رؤية حاسوبية متقدمة. تعمل هذه الطريقة الدقيقة على تعزيز الكفاءة والدقة في مختلف التطبيقات مثل التصنيع والمراقبة ومراقبة حركة المرور.
كيف أقوم بتشغيل البرنامج النصي لحساب عدد الكائنات القائمة على المنطقة باستخدام Ultralytics YOLO11 ؟
اتبع هذه الخطوات لتشغيل عد الكائنات في Ultralytics YOLO11 :
-
استنسخ المستودع Ultralytics وانتقل إلى الدليل:
-
تنفيذ البرنامج النصي لحساب المنطقة:
للمزيد من الخيارات، قم بزيارة قسم عد مناطق التشغيل.
لماذا يجب استخدام Ultralytics YOLO11 لعد الكائنات في المناطق؟
يوفر استخدام Ultralytics YOLO11 لعد الكائنات في المناطق العديد من المزايا:
- المعالجة في الوقت الحقيقي: تُتيح بنية YOLO11 إمكانية الاستدلال السريع، مما يجعلها مثالية للتطبيقات التي تتطلب نتائج عد فورية.
- تعريف مرن للمناطق: يسمح لك الحل بتحديد مناطق مخصصة متعددة كمضلعات أو مستطيلات أو خطوط مخصصة لتناسب احتياجات المراقبة الخاصة بك.
- دعم متعدد الفئات: عد أنواع الكائنات المختلفة في نفس الوقت داخل نفس المناطق، مما يوفر تحليلات شاملة.
- قدرات التكامل: التكامل بسهولة مع الأنظمة الحالية من خلال واجهة برمجة تطبيقات Ultralytics Python أو واجهة سطر الأوامر.
استكشف مزايا أعمق في قسم المزايا.
ما هي بعض التطبيقات الواقعية لعد الكائنات في المناطق؟
يمكن تطبيق عد الكائنات باستخدام Ultralytics YOLO11 على العديد من سيناريوهات العالم الحقيقي:
- تحليلات البيع بالتجزئة: احسب عدد العملاء في أقسام المتجر المختلفة لتحسين التخطيط والتوظيف.
- إدارة حركة المرور: مراقبة تدفق المركبات في مقاطع طرق أو تقاطعات طرق محددة.
- التصنيع: تتبع المنتجات التي تنتقل عبر مناطق الإنتاج المختلفة.
- عمليات المستودعات: جرد أصناف المخزون في مناطق التخزين المخصصة.
- السلامة العامة: مراقبة كثافة الحشود في مناطق محددة خلال الفعاليات.
استكشف المزيد من الأمثلة في قسم تطبيقات العالم الحقيقي وحل TrackZone للحصول على إمكانيات مراقبة إضافية قائمة على المنطقة.