Object Re-identification (Re-ID)
تعرف على كيفية مطابقة إعادة تحديد الكائنات (Re-ID) للهويات عبر مشاهد الكاميرا. اكتشف كيفية استخدام Ultralytics YOLO26 و BoT-SORT للتتبع البصري القوي.
تعرف إعادة تحديد الكائنات (Re-ID) بأنها مهمة متخصصة في computer vision (CV) مصممة لمطابقة كائن أو فرد معين عبر وجهات كاميرا مختلفة لا تتداخل أو على مدار فترات زمنية طويلة. وفي حين أن object detection القياسي يركز على التعرف على فئة الكيان — مثل تحديد أن الصورة تحتوى على "شخص" أو "سيارة" — فإن إعادة التحديد (Re-ID) تذهب خطوة أبعد من ذلك من خلال تحديد أي شخص أو سيارة معينة هي بناءً على المظهر المرئي. تعد هذه القدرة ضرورية لإنشاء سرد متماسك للحركة واسع النطاق حيث لا تستطيع كاميرا واحدة تغطية المنطقة بأكملها، مما يربط النقاط بفعالية بين الملاحظات المرئية المعزولة.
كيف تعمل إعادة تحديد الهوية (Re-ID)#
التحدي الأساسي لـ Re-ID هو الحفاظ على ثبات الهوية على الرغم من الاختلافات في الإضاءة وزوايا الكاميرا والوضعية وتداخل الخلفية. ولتحقيق ذلك، يستخدم النظام عادةً خط أنابيب متعدد الخطوات يتضمن شبكات عصبية عميقة.
- استخراج الميزات: بمجرد اكتشاف الكائن، تقوم convolutional neural network (CNN) بتحليل اقتطاع الصورة لإنشاء متجه ميزات، المعروف باسم embedding. هذا المتجه هو تمثيل رقمي كثيف للسمات المرئية الفريدة للكائن، مثل ملمس الملابس أو لون المركبة.
- تعلم المقاييس: يتم تدريب النماذج الأساسية باستخدام تقنيات metric learning. الهدف هو ضمان أن تكون التضمينات الخاصة بنفس الكائن قريبة رياضياً من بعضها البعض في مساحة المتجهات، بينما يتم دفع تضمينات الكائنات المختلفة بعيداً عن بعضها البعض. غالباً ما تُستخدم البنى المتخصصة مثل Siamese neural networks لتعلم هذه العلاقات.
- مطابقة التشابه: أثناء التوزيع، يقارن النظام تضمين كائن الاستعلام مقابل مجموعة من الهويات المخزنة. تتضمن هذه المقارنة عادةً حساب cosine similarity أو Euclidean distance. إذا تجاوزت نتيجة التشابه عتبة محددة مسبقاً، يؤكد النظام وجود تطابق.
Re-ID مقابل تتبع الكائنات#
من المهم التمييز بين إعادة التحديد (Re-ID) وobject tracking، حيث إنهما يخدمان أدواراً متكاملة ولكنها متميزة في خط أنابيب الرؤية.
- تتبع الكائنات: تعتمد هذه العملية على الاستمرارية الزمنية. تتوقع خوارزميات مثل Kalman Filter الموقع المستقبلي للكائن في الإطار التالي مباشرة بناءً على سرعته ومساره الحاليين. وغالباً ما تستخدم Intersection over Union (IoU) لربط الاكتشافات في الإطارات المجاورة.
- إعادة التحديد: تعتبر إعادة التحديد (Re-ID) أمراً بالغ الأهمية عندما تنقطع الاستمرارية الزمنية. يحدث هذا أثناء الإحجاب — عندما يتم إخفاء كائن خلف عائق — أو عندما يترك كائن مجال رؤية كاميرا ما ويدخل في كاميرا أخرى. تعيد إعادة التحديد (Re-ID) إنشاء الهوية بناءً على المظهر بدلاً من سجل الموقع، مما يتيح إجراء multi-object tracking (MOT) قوي.
تطبيقات العالم الحقيقي#
تسمح القدرة على الحفاظ على الهوية عبر المشاهد المنفصلة بإجراء تحليلات متطورة في مختلف الصناعات.
- إدارة حركة المرور في المدن الذكية: في سياق AI in smart cities، تتيح إعادة التحديد (Re-ID) للأنظمة البلدية تتبع المركبة أثناء تحركها عبر شبكة من التقاطعات على مستوى المدينة. يساعد ذلك في حساب متوسط أوقات السفر وتحسين توقيت إشارات المرور دون الاعتماد فقط على license plate recognition.
- تحليلات عملاء التجزئة: يستفيد تجار التجزئة من إعادة التحديد (Re-ID) لفهم سلوك المتسوقين. من خلال ربط مشاهدات العميل عبر ممرات مختلفة، يمكن للمتاجر إنشاء heatmaps للمسارات الشائعة. يساعد هذا في optimizing store layouts ومستويات التوظيف، مما يوفر رؤى حول رحلة العميل بأكملها بدلاً من التفاعلات المعزولة فقط.
تنفيذ التتبع باستخدام ميزات Re-ID#
غالباً ما تجمع سير عمل الذكاء الاصطناعي للرؤية الحديثة بين أجهزة الكشف عالية الأداء والمتعقبات التي تستخدم مفاهيم إعادة التحديد (Re-ID). يمكن دمج نموذج YOLO26 بسلاسة مع المتعقبات مثل BoT-SORT، والذي يستفيد من ميزات المظهر للحفاظ على اتساق التتبع. بالنسبة للمستخدمين الذين يتطلعون إلى إدارة مجموعات البيانات الخاصة بهم وخطوط أنابيب التدريب بكفاءة، توفر منصة Ultralytics Platform واجهة موحدة للتعليقات التوضيحية والنشر.
يوضح المثال التالي كيفية إجراء تتبع الكائنات باستخدام حزمة 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()}")لتحقيق أداء قوي، يتطلب تدريب هذه النماذج training data عالية الجودة. غالباً ما يتم توظيف تقنيات مثل triplet loss أثناء تدريب الوحدات الفرعية المحددة لإعادة التحديد (Re-ID) لتحسين القوة التمييزية للتضمينات. يعد فهم الفروق الدقيقة في precision and recall أمراً بالغ الأهمية أيضاً عند تقييم مدى نجاح نظام إعادة التحديد (Re-ID) في تجنب التطابقات الخاطئة.






