Link to this sectionتتبع المناطق (TrackZone) باستخدام Ultralytics YOLO26#
Link to this sectionما هو TrackZone؟#
يتخصص TrackZone في مراقبة الكائنات داخل مناطق محددة من الإطار بدلاً من الإطار بأكمله. تم بناؤه على Ultralytics YOLO26، وهو يدمج اكتشاف الكائنات وتتبعها تحديداً داخل المناطق في الفيديوهات وخلاصات الكاميرا المباشرة. تجعل الخوارزميات المتقدمة وتقنيات التعلم العميق الخاصة بـ YOLO26 منه خياراً مثالياً لحالات الاستخدام في الوقت الفعلي، حيث يوفر تتبعاً دقيقاً وفعالاً للكائنات في تطبيقات مثل مراقبة الحشود والأمن.
Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀
Link to this sectionمزايا تتبع الكائنات في المناطق (TrackZone)#
- تحليل مستهدف: يسمح تتبع الكائنات داخل مناطق محددة بالحصول على رؤى أكثر تركيزاً، مما يتيح مراقبة وتحليلاً دقيقاً للمناطق ذات الأهمية، مثل نقاط الدخول أو المناطق المقيدة.
- كفاءة محسنة: من خلال تضييق نطاق التتبع إلى مناطق محددة، يقلل TrackZone من العبء الحسابي، مما يضمن معالجة أسرع وأداء أمثل.
- أمن معزز: يعمل التتبع المعتمد على المناطق على تحسين المراقبة من خلال مراقبة المناطق الحرجة، مما يساعد في الكشف المبكر عن الأنشطة غير العادية أو الخروقات الأمنية.
- حلول قابلة للتوسع: تجعل القدرة على التركيز على مناطق محددة TrackZone قابلاً للتكيف مع سيناريوهات مختلفة، بدءاً من مساحات التجزئة وصولاً إلى الإعدادات الصناعية، مما يضمن تكاملاً سلساً وقابلية للتوسع.
Link to this sectionتطبيقات العالم الحقيقي#
| الزراعة | النقل |
|---|---|
| تتبع النباتات في الحقل باستخدام 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 مفعلاً أثناء التهيئة حتى تتمكن من التحقق من توافق التراكب مع بث الفيديو.
Link to this sectionوسائط TrackZone#
إليك جدول يحتوي على وسائط TrackZone:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | المسار إلى ملف نموذج Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | قائمة النقاط التي تحدد منطقة العد. |
يتضمن حل TrackZone دعماً لبارامترات track:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
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. ببساطة، استخدم الأمر الموضح أدناه لبدء التتبع. يضمن هذا النهج تحليلاً فعالاً ونتائج دقيقة، مما يجعله مثالياً لتطبيقات مثل المراقبة، أو إدارة الحشود، أو أي سيناريو يتطلب تتبعاً يعتمد على المناطق.
yolo solutions trackzone source="path/to/video.mp4" show=TrueLink to this sectionكيف يمكنني استخدام 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()Link to this sectionكيف أقوم بتهيئة نقاط المنطقة لمعالجة الفيديو باستخدام 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
)