تعرف على كيفية قيام إعادة تحديد الهوية (Re-ID) بمطابقة الهويات عبر مشاهدات الكاميرا. اكتشف كيفية استخدام Ultralytics و BoT-SORT لتتبع بصري قوي.
إعادة تحديد الكائن (Re-ID) هي مهمة متخصصة في الرؤية الحاسوبية (CV) مصممة لمطابقة كائن أو فرد معين عبر مشاهدات كاميرا مختلفة غير متداخلة أو على مدى فترات طويلة. في حين أن الكشف عن الكائنات القياسي على التعرف على فئة الكيان - تحديد أن الصورة تحتوي على "شخص" أو "سيارة" - فإن إعادة التعريف تذهب إلى أبعد من ذلك من خلال تحديد الشخص أو السيارة المحددة بناءً على المظهر البصري. هذه القدرة ضرورية لإنشاء سرد متماسك للحركة في البيئات واسعة النطاق حيث لا يمكن لكاميرا واحدة تغطية المنطقة بأكملها ، مما يربط بشكل فعال بين النقاط بين الملاحظات البصرية المعزولة.
يتمثل التحدي الأساسي لـ Re-ID في الحفاظ على اتساق الهوية على الرغم من الاختلافات في الإضاءة وزوايا الكاميرا والوضعية وفوضى الخلفية. لتحقيق ذلك، يستخدم النظام عادةً خط أنابيب متعدد الخطوات يتضمن شبكات عصبية عميقة .
من المهم التمييز بين إعادة تحديد الهوية وتتبع الكائنات، حيث إنهما يؤديان أدوارًا تكميلية ولكنها متميزة في مسار الرؤية.
تتيح القدرة على الحفاظ على الهوية عبر وجهات النظر المتباينة إجراء تحليلات متطورة في مختلف الصناعات.
غالبًا ما تجمع سير عمل الرؤية الحديثة بالذكاء الاصطناعي بين أجهزة الكشف عالية الأداء وأجهزة التتبع التي تستخدم مفاهيم إعادة التعريف. يمكن دمج نموذج YOLO26 بسلاسة مع أجهزة التتبع مثل BoT-SORT، التي تستفيد من ميزات المظهر للحفاظ على track . بالنسبة للمستخدمين الذين يرغبون في إدارة مجموعات البيانات وخطوط التدريب بكفاءة، توفر Ultralytics واجهة موحدة للتعليق التوضيحي والنشر.
يوضح المثال التالي كيفية إجراء تتبع الكائنات باستخدامPython Ultralytics Python ، التي تدير استمرارية الهوية تلقائيًا:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Track objects in a video file
# The 'persist=True' argument is vital for maintaining IDs across frames
# BoT-SORT is a tracker that can utilize appearance features for Re-ID
results = model.track(
source="https://www.ultralytics.com/blog/ultralytics-yolov8-for-speed-estimation-in-computer-vision-projects",
tracker="botsort.yaml",
persist=True,
)
# Print the unique ID assigned to the first detected object in the first frame
if results[0].boxes.id is not None:
print(f"Tracked Object ID: {results[0].boxes.id[0].item()}")
للحصول على أداء قوي، يتطلب تدريب هذه النماذج بيانات تدريب عالية الجودة . غالبًا ما يتم استخدام تقنيات مثل خسارة الثلاثيات أثناء تدريب وحدات فرعية محددة من Re-ID لتحسين القدرة التمييزية للدمج. كما أن فهم الفروق الدقيقة في الدقة والاسترجاع أمر بالغ الأهمية عند تقييم مدى نجاح نظام Re-ID في تجنب المطابقات الخاطئة.