Link to this sectionعد الكائنات في مناطق مختلفة باستخدام Ultralytics YOLO 🚀#
Link to this sectionما هو عد الكائنات في المناطق؟#
عد الكائنات في المناطق باستخدام Ultralytics YOLO26 يتضمن تحديد عدد الكائنات بدقة داخل مناطق محددة باستخدام الرؤية الحاسوبية المتقدمة. هذا النهج مفيد لتحسين العمليات، وتعزيز الأمان، وزيادة الكفاءة في تطبيقات متنوعة.
Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀
Link to this sectionمزايا عد الكائنات في المناطق#
- الدقة والضبط: يضمن عد الكائنات في المناطق باستخدام الرؤية الحاسوبية المتقدمة الحصول على أعداد دقيقة ومضبوطة، مما يقلل من الأخطاء المرتبطة عادةً بالعد اليدوي.
- تحسين الكفاءة: يعزز عد الكائنات الآلي الكفاءة التشغيلية، حيث يوفر نتائج في الوقت الفعلي ويبسط العمليات عبر تطبيقات مختلفة.
- التنوع والتطبيق: تجعل مرونة عد الكائنات في المناطق منه قابلاً للتطبيق في مجالات متنوعة، من التصنيع والمراقبة إلى مراقبة حركة المرور، مما يساهم في فائدته وفعاليته الواسعة.
Link to this sectionتطبيقات العالم الحقيقي#
| التجزئة | شوارع السوق |
|---|---|
![]() | ![]() |
| عد الأشخاص في مناطق مختلفة باستخدام Ultralytics YOLO26 | عد الحشود في مناطق مختلفة باستخدام Ultralytics YOLO26 |
Link to this sectionأمثلة الاستخدام#
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 في قسم الأمثلة لدينا. يمكنك استكشاف هذا المثال لتخصيص الكود وتعديله ليناسب حالة استخدامك المحددة.
Link to this sectionوسائط RegionCounter#
إليك جدول يحتوي على وسائط RegionCounter:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | المسار إلى ملف نموذج Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | قائمة النقاط التي تحدد منطقة العد. |
يتيح حل RegionCounter استخدام معاملات تتبع الكائنات:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.yaml' | يحدد خوارزمية التتبع المطلوب استخدامها. الخيارات المدمجة هي: botsort.yaml و bytetrack.yaml و ocsort.yaml و deepocsort.yaml و fasttrack.yaml و tracktrack.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). يسمح للمستخدمين بالاختيار بين وحدة المعالجة المركزية، أو وحدة معالجة رسومات محددة، أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
بالإضافة إلى ذلك، يتم دعم إعدادات التصور التالية:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كان True، فإنه يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار. |
line_width | int or None | None | يحدد عرض خط صناديق التحديد. إذا كان None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
show_conf | bool | True | يعرض درجة الثقة لكل اكتشاف بجانب التصنيف. يوفر رؤية حول مدى يقين النموذج في كل اكتشاف. |
show_labels | bool | True | يعرض تصنيفات كل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة. |
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هو عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO26؟#
يتضمن عد الكائنات في مناطق محددة باستخدام Ultralytics YOLO26 اكتشاف وإحصاء عدد الكائنات داخل مناطق معرفة باستخدام الرؤية الحاسوبية المتقدمة. تعزز هذه الطريقة الدقيقة الكفاءة والدقة عبر تطبيقات متنوعة مثل التصنيع، والمراقبة، ومراقبة حركة المرور.
Link to this sectionكيف يمكنني تشغيل سكربت عد الكائنات المستند إلى المناطق باستخدام 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
لمزيد من الخيارات، قم بزيارة قسم أمثلة الاستخدام.
Link to this sectionلماذا يجب أن أستخدم Ultralytics YOLO26 لعد الكائنات في المناطق؟#
يوفر استخدام Ultralytics YOLO26 لعد الكائنات في المناطق العديد من المزايا:
- المعالجة في الوقت الفعلي: تمكّن بنية YOLO26 من إجراء استدلال سريع، مما يجعله مثاليًا للتطبيقات التي تتطلب نتائج عد فورية.
- تحديد مرن للمناطق: يسمح لك الحل بتحديد مناطق مخصصة متعددة كمضلعات، أو مستطيلات، أو خطوط لتناسب احتياجات المراقبة الخاصة بك.
- دعم فئات متعددة: عد أنواع مختلفة من الكائنات في وقت واحد داخل نفس المناطق، مما يوفر تحليلات شاملة.
- قدرات التكامل: التكامل بسهولة مع الأنظمة الحالية من خلال واجهة برمجة تطبيقات Ultralytics Python أو واجهة سطر الأوامر.
استكشف فوائد أعمق في قسم المزايا.
Link to this sectionما هي بعض تطبيقات العالم الحقيقي لعد الكائنات في المناطق؟#
يمكن تطبيق عد الكائنات باستخدام Ultralytics YOLO26 في العديد من سيناريوهات العالم الحقيقي:
- تحليلات التجزئة: عد العملاء في أقسام المتجر المختلفة لتحسين التخطيط وتوزيع الموظفين.
- إدارة حركة المرور: مراقبة تدفق المركبات في قطاعات طرق معينة أو تقاطعات.
- التصنيع: تتبع المنتجات التي تتحرك عبر مناطق إنتاج مختلفة.
- عمليات المستودعات: عد عناصر المخزون في مناطق تخزين محددة.
- السلامة العامة: مراقبة كثافة الحشود في مناطق محددة أثناء الفعاليات.
استكشف المزيد من الأمثلة في قسم تطبيقات العالم الحقيقي وحل TrackZone للحصول على قدرات إضافية للمراقبة القائمة على المناطق.

