Object Re-identification (Re-ID)
تعرف على كيفية مطابقة إعادة تحديد الكائنات (Re-ID) للهويات عبر مشاهد الكاميرا. اكتشف كيفية استخدام Ultralytics YOLO26 و BoT-SORT للتتبع البصري القوي.
تعد إعادة تحديد هوية الكائن (Re-ID) مهمة متخصصة في الرؤية الحاسوبية (CV) مصممة لمطابقة كائن أو فرد معين عبر مشاهد كاميرا مختلفة غير متداخلة أو على فترات زمنية ممتدة. فبينما يركز كشف الكائنات القياسي على التعرف على فئة الكيان - أي تحديد أن الصورة تحتوي على "شخص" أو "سيارة" - تذهب Re-ID خطوة أبعد من ذلك بتحديد أي شخص أو سيارة معينة هي بناءً على المظهر البصري. تعد هذه القدرة ضرورية لإنشاء سرد متماسك للحركة في البيئات واسعة النطاق حيث لا يمكن لكاميرا واحدة تغطية المنطقة بأكملها، مما يربط النقاط بفعالية بين الملاحظات البصرية المعزولة.
Link to this sectionكيف تعمل إعادة تحديد الهوية (Re-ID)#
التحدي الأساسي لـ Re-ID هو الحفاظ على ثبات الهوية على الرغم من الاختلافات في الإضاءة وزوايا الكاميرا والوضعية وتداخل الخلفية. ولتحقيق ذلك، يستخدم النظام عادةً خط أنابيب متعدد الخطوات يتضمن شبكات عصبية عميقة.
- استخراج الميزات: بمجرد اكتشاف كائن ما، تقوم شبكة عصبية تلافيفية (CNN) بتحليل قص الصورة لإنشاء متجه ميزات، يُعرف عادةً باسم التضمين (Embedding). هذا المتجه عبارة عن تمثيل رقمي مكثف للسمات البصرية الفريدة للكائن، مثل ملمس الملابس أو لون المركبة.
- تعلم المقاييس: يتم تدريب النماذج الأساسية باستخدام تقنيات تعلم المقاييس (Metric Learning). الهدف هو التأكد من أن تضمينات نفس الكائن تكون متقاربة رياضياً في فضاء المتجهات، بينما يتم دفع تضمينات الكائنات المختلفة بعيداً عن بعضها البعض. غالباً ما تُستخدم معماريات متخصصة مثل الشبكات العصبية السيامية (Siamese neural networks) لتعلم هذه العلاقات.
- مطابقة التشابه: أثناء النشر، يقوم النظام بمقارنة تضمين كائن الاستعلام مقابل معرض للهويات المخزنة. تتضمن هذه المقارنة عادةً حساب تشابه جيب التمام (cosine similarity) أو المسافة الإقليدية (Euclidean distance). إذا تجاوزت درجة التشابه عتبة محددة مسبقاً، يؤكد النظام وجود تطابق.
Link to this sectionRe-ID مقابل تتبع الكائنات#
من المهم التمييز بين Re-ID وتتبع الكائنات (object tracking)، حيث يؤدي كلاهما أدواراً متكاملة ولكنها متميزة في خط أنابيب الرؤية.
- تتبع الكائنات: تعتمد هذه العملية على الاستمرارية الزمنية. تتنبأ خوارزميات مثل مرشح كالمان (Kalman Filter) بالموقع المستقبلي للكائن في الإطار التالي مباشرة بناءً على سرعته ومساره الحاليين. غالباً ما يستخدم التقاطع فوق الاتحاد (IoU) لربط الاكتشافات في الإطارات المتجاورة.
- إعادة تحديد الهوية: تعد Re-ID أمراً حاسماً عندما تنقطع الاستمرارية الزمنية. يحدث هذا أثناء الإخفاء - عندما يكون الكائن مخفياً خلف عائق - أو عندما يغادر الكائن مجال رؤية كاميرا واحدة ويدخل إلى أخرى. تعيد Re-ID تأسيس الهوية بناءً على المظهر بدلاً من سجل الموقع، مما يتيح تتبع الكائنات المتعددة (MOT) بشكل قوي.
Link to this sectionتطبيقات العالم الحقيقي#
تسمح القدرة على الحفاظ على الهوية عبر المشاهد المنفصلة بإجراء تحليلات متطورة في مختلف الصناعات.
- إدارة حركة المرور في المدن الذكية: في سياق الذكاء الاصطناعي في المدن الذكية، تسمح Re-ID للأنظمة البلدية بتتبع المركبة أثناء تحركها عبر شبكة من التقاطعات على مستوى المدينة. يساعد هذا في حساب متوسط أوقات السفر وتحسين توقيت إشارات المرور دون الاعتماد فقط على التعرف على لوحة الترخيص.
- تحليلات عملاء التجزئة: يستخدم تجار التجزئة Re-ID لفهم سلوك المتسوقين. من خلال ربط مشاهدات العميل عبر ممرات مختلفة، يمكن للمتاجر إنشاء خرائط حرارية (heatmaps) للمسارات الشائعة. يساعد هذا في تحسين تخطيطات المتجر ومستويات التوظيف، مما يوفر رؤى حول رحلة العميل بأكملها بدلاً من مجرد تفاعلات معزولة.
Link to this sectionتنفيذ التتبع باستخدام ميزات Re-ID#
غالباً ما تجمع سير عمل الذكاء الاصطناعي للرؤية الحديثة بين كاشفات عالية الأداء ومتتبعات تستخدم مفاهيم Re-ID. يمكن دمج نموذج YOLO26 بسلاسة مع متتبعات مثل BoT-SORT، التي تستفيد من ميزات المظهر للحفاظ على ثبات التتبع. بالنسبة للمستخدمين الذين يتطلعون إلى إدارة مجموعات البيانات وخطوط أنابيب التدريب الخاصة بهم بكفاءة، توفر منصة Ultralytics واجهة موحدة للتعليق التوضيحي والنشر.
يوضح المثال التالي كيفية إجراء تتبع الكائنات باستخدام حزمة 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()}")للحصول على أداء قوي، يتطلب تدريب هذه النماذج بيانات تدريب عالية الجودة. غالباً ما تُستخدم تقنيات مثل فقدان الثلاثية (triplet loss) أثناء تدريب وحدات Re-ID الفرعية المحددة لتحسين القدرة التمييزية للتضمينات. يعد فهم الفروق الدقيقة في الدقة والاستدعاء (precision and recall) أمراً بالغ الأهمية أيضاً عند تقييم مدى جودة تجنب نظام Re-ID للمطابقات الخاطئة.






