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