نظرة عامة على مجموعات بيانات التتبّع متعدد الكائنات#
يُعدّ التتبّع متعدد الكائنات مكوّنًا أساسيًا في تحليلات الفيديو، إذ يحدّد الكائنات ويحافظ على معرّفات فريدة لكل كائن مكتشف عبر إطارات الفيديو. يوفّر Ultralytics YOLO إمكانات تتبّع قوية يمكن تطبيقها في مجالات متنوعة، بما في ذلك المراقبة وتحليلات الرياضة ومراقبة حركة المرور.
تنسيق مجموعة البيانات#
لا يدرّب وضع التتبّع متتبّعًا ولا يتطلب مجموعة بيانات خاصة بالمتتبّع. درّب نموذج كشف أو تجزئة أو وضعية أو OBB باستخدام تنسيق مجموعة البيانات القياسي للمهمة المعنية، ثم استخدم الأوزان الناتجة مع model.track() أو yolo track. يربط المتتبّع المحدد تنبؤات النموذج عبر الإطارات أثناء الاستدلال.
المتتبّعات المتاحة#
يدعم Ultralytics YOLO خوارزميات التتبّع التالية:
- BoT-SORT - استخدم
botsort.yamlلتمكين هذا المتتبّع - ByteTrack - استخدم
bytetrack.yamlلتمكين هذا المتتبّع - OC-SORT - استخدم
ocsort.yamlلتمكين هذا المتتبّع - Deep OC-SORT - استخدم
deepocsort.yamlلتمكين هذا المتتبّع - FastTracker - استخدم
fasttrack.yamlلتمكين هذا المتتبّع - TrackTrack - استخدم
tracktrack.yamlلتمكين هذا المتتبّع (الافتراضي)
الاستخدام#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)الحفاظ على مسارات التتبّع بين الإطارات#
لإجراء تتبّع مستمر عبر إطارات الفيديو، يمكنك استخدام المعلَمة persist=True:
import cv2
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("yolo26n.pt")
# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# Run tracking with persistence between frames
results = model.track(frame, persist=True)
# Visualize the results
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()الأسئلة الشائعة#
لاستخدام التتبّع متعدد الكائنات مع Ultralytics YOLO، يمكنك البدء باستخدام أمثلة Python أو CLI المتوفرة. إليك طريقة البدء:
مثالfrom ultralytics import YOLO model = YOLO("yolo26n.pt") # Load the YOLO26 model results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)تُحمّل هذه الأوامر نموذج YOLO26 وتستخدمه لتتبّع الكائنات في مصدر الفيديو المحدد، مع عتبات ثقة محددة (
conf) والتقاطع على الاتحاد (iou). لمزيد من التفاصيل، راجع وثائق وضع التتبّع.Ultralytics YOLO هو نموذج متطور لكشف الكائنات معروف بأدائه الفوري ودقته العالية. يوفّر استخدام YOLO للتتبّع متعدد الكائنات مزايا عديدة:
- التتبّع الفوري: تحقيق تتبّع فعّال وعالي السرعة، مثالي للبيئات الديناميكية.
- المرونة مع النماذج المدرّبة مسبقًا: لا حاجة إلى التدريب من الصفر؛ ما عليك سوى استخدام نماذج الكشف أو التجزئة أو الوضعية أو OBB المدرّبة مسبقًا.
- سهولة الاستخدام: يسهّل تكامل API البسيط مع كل من Python وCLI إعداد مسارات عمل التتبّع.
- وثائق شاملة ودعم مجتمعي: توفّر Ultralytics وثائق شاملة ومنتدى مجتمعيًا نشطًا لاستكشاف الأخطاء وإصلاحها وتحسين نماذج التتبّع.
لمزيد من التفاصيل حول إعداد YOLO واستخدامه للتتبّع، تفضّل بزيارة دليل استخدام التتبّع.
نعم. درّب نموذج كشف أو تجزئة أو وضعية أو OBB على مجموعة بياناتك المخصصة، ثم مرّر أوزانه إلى
model.track(). يعمل المتتبّع نفسه أثناء الاستدلال ولا يتطلب بيانات تدريب منفصلة.بعد تشغيل مهمة تتبّع باستخدام Ultralytics YOLO، تتضمن النتائج نقاط بيانات متنوعة، مثل معرّفات الكائنات المتتبَّعة ومربعاتها المحيطة ودرجات الثقة. فيما يلي نظرة موجزة على كيفية تفسير هذه النتائج:
- المعرّفات المتتبَّعة: يُسنَد إلى كل كائن معرّف فريد، ما يساعد على تتبّعه عبر الإطارات.
- المربعات المحيطة: تشير هذه المربعات إلى موضع الكائنات المتتبَّعة داخل الإطار.
- درجات الثقة: تعكس هذه الدرجات مدى ثقة النموذج في كشف الكائن المتتبَّع.
للاطلاع على إرشادات تفصيلية حول تفسير هذه النتائج وتصورها، راجع دليل معالجة النتائج.
يمكنك تخصيص المتتبّع من خلال إنشاء نسخة معدّلة من ملف إعدادات المتتبّع. انسخ ملف إعدادات متتبّع موجودًا من ultralytics/cfg/trackers، وعدّل المعلَمات حسب الحاجة، وحدد هذا الملف عند تشغيل المتتبّع:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")