استخدام TrackZone مع Ultralytics YOLO26
ما هو TrackZone؟
يتخصص TrackZone في مراقبة الكائنات داخل مناطق محددة من الإطار بدلاً من الإطار بأكمله. تم بناؤه على Ultralytics YOLO26، وهو يدمج اكتشاف الكائنات وتتبعها داخل مناطق مخصصة لمقاطع الفيديو وخلاصات الكاميرا المباشرة. تجعل الخوارزميات المتقدمة وتقنيات التعلم العميق الخاصة بـ YOLO26 منه خياراً مثالياً لحالات الاستخدام في الوقت الفعلي، حيث يوفر تتبعاً دقيقاً وفعالاً للكائنات في تطبيقات مثل مراقبة الحشود والرقابة الأمنية.
Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀
مزايا تتبع الكائنات في المناطق (TrackZone)
- تحليل مستهدف: يسمح تتبع الكائنات داخل مناطق محددة بالحصول على رؤى أكثر تركيزاً، مما يتيح مراقبة وتحليلاً دقيقاً لمناطق الاهتمام، مثل نقاط الدخول أو المناطق المحظورة.
- كفاءة محسنة: من خلال تضييق نطاق التتبع إلى مناطق محددة، يقلل TrackZone من العبء الحسابي، مما يضمن معالجة أسرع وأداءً مثالياً.
- أمن معزز: يعمل التتبع النطاقي على تحسين الرقابة من خلال مراقبة المناطق الحرجة، مما يساعد في الكشف المبكر عن الأنشطة غير العادية أو الخروقات الأمنية.
- حلول قابلة للتوسع: تجعل القدرة على التركيز على مناطق محددة من TrackZone حلاً قابلاً للتكيف مع سيناريوهات مختلفة، بدءاً من مساحات التجزئة وصولاً إلى الإعدادات الصناعية، مما يضمن تكاملاً وتوسعاً سلساً.
تطبيقات العالم الحقيقي
| الزراعة | النقل |
|---|---|
| تتبع النباتات في الحقل باستخدام Ultralytics YOLO26 | تتبع المركبات على الطريق باستخدام Ultralytics YOLO26 |
# Run a trackzone example
yolo solutions trackzone show=True
# Pass a source video
yolo solutions trackzone source="path/to/video.mp4" show=True
# Pass region coordinates
yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"يعتمد TrackZone على قائمة region لمعرفة أي جزء من الإطار يجب مراقبته. حدد المضلع ليتناسب مع المنطقة المادية التي تهتم بها (أبواب، بوابات، إلخ)، وأبقِ show=True مفعلاً أثناء التكوين حتى تتمكن من التحقق من توافق الطبقة المرئية مع بث الفيديو.
وسائط TrackZone
إليك جدول يحتوي على وسائط TrackZone:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | مسار إلى ملف نموذج Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | قائمة النقاط التي تحدد منطقة العد. |
يتضمن حل TrackZone دعماً لوسائط track:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
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. ببساطة استخدم الأمر الموضح أدناه لبدء التتبع. يضمن هذا النهج تحليلاً فعالاً ونتائج دقيقة، مما يجعله مثالياً لتطبيقات مثل الرقابة، وإدارة الحشود، أو أي سيناريو يتطلب تتبعاً نطاقياً.
yolo solutions trackzone source="path/to/video.mp4" show=Trueكيف يمكنني استخدام TrackZone في Python مع Ultralytics YOLO26؟
ببضعة أسطر فقط من الكود، يمكنك إعداد تتبع الكائنات في مناطق محددة، مما يسهل دمجه في مشاريعك.
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]
# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
show=True, # display the output
region=region_points, # pass region points
model="yolo26n.pt",
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
results = trackzone(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()كيف أقوم بضبط نقاط المنطقة لمعالجة الفيديو باستخدام Ultralytics TrackZone؟
ضبط نقاط المنطقة لمعالجة الفيديو باستخدام Ultralytics TrackZone بسيط وقابل للتخصيص. يمكنك تحديد المناطق وتعديلها مباشرة من خلال سكربت Python، مما يسمح بتحكم دقيق في المناطق التي ترغب في مراقبتها.
# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]
# Initialize trackzone
trackzone = solutions.TrackZone(
show=True, # display the output
region=region_points, # pass region points
)