تعرف على كيفية عمل مربعات الربط كقوالب مرجعية لاكتشاف الكائنات. اكتشف كيف تعمل على تحسين الدقة وكيف تستخدم نماذج مثل Ultralytics تصميمات خالية من الربط.
مربعات التثبيت هي مستطيلات مرجعية محددة مسبقًا ذات نسب عرض إلى ارتفاع ومقاييس محددة يتم وضعها عبر الصورة لمساعدة نماذج اكتشاف الكائنات في تحديد مواقع الكائنات وتصنيفها. بدلاً من مطالبة الشبكة العصبية بتوقع الحجم والموضع الدقيقين للكائن من الصفر — وهو ما قد يكون غير مستقر بسبب التنوع الهائل في أشكال الكائنات — يستخدم النموذج هذه القوالب الثابتة كنقطة انطلاق. من خلال تعلم كيفية التنبؤ بمدى تعديل أو "تراجع" هذه المربعات الأولية لتتناسب مع الحقيقة الأساسية، يمكن للنظام تحقيق تقارب أسرع ودقة أعلى . لقد أحدثت هذه التقنية تحولًا جذريًا في مجال الرؤية الحاسوبية (CV) من خلال تبسيط المهمة المعقدة للتحديد المكاني إلى مشكلة تحسين أكثر قابلية للإدارة.
في أجهزة الكشف الكلاسيكية القائمة على المراسي، تُقسم الصورة المدخلة إلى شبكة من الخلايا. في كل موقع خلية، تولد الشبكة عدة مربعات مرساة ذات هندسات مختلفة. على سبيل المثال، detect في وقت واحد detect طويل القامة وسيارة عريضة، قد يقترح النموذج مربعًا طويلًا وضيقًا ومربعًا قصيرًا وعريضًا في نفس نقطة المركز.
أثناء تدريب النموذج، تتم مطابقة هذه المراسي مع الأشياء الفعلية باستخدام مقياس يسمى Intersection over Union (IoU). المراسي التي تتداخل بشكل كبير مع كائن مصنف يتم تعيينها كعينات "إيجابية". ثم تتعلم الشبكة مهمتين متوازيتين:
يتيح هذا النهج للنموذج التعامل مع كائنات متعددة ذات أحجام مختلفة تقع بالقرب من بعضها البعض، حيث يمكن تخصيص كل كائن للمرساة التي تتطابق بشكل أفضل مع شكله.
على الرغم من أن الهياكل الأحدث تتجه نحو التصميمات الخالية من المراسي، إلا أن صناديق المراسي لا تزال حيوية في العديد من أنظمة الإنتاج الراسخة حيث يمكن التنبؤ بخصائص الكائنات.
من المهم التمييز بين الطرق التقليدية القائمة على المثبتات وأجهزة الكشف الحديثة الخالية من المثبتات.
في حين أن واجهات برمجة التطبيقات الحديثة عالية المستوى مثل Ultralytics تستبعد هذه التفاصيل أثناء التدريب، فإن فهم المراسي مفيد عند العمل مع بنى نماذج قديمة أو تحليل ملفات تكوين النماذج. يوضح المقتطف التالي كيفية تحميل نموذج وفحص تكوينه، حيث يتم عادةً تحديد إعدادات المراسي (إن وجدت).
from ultralytics import YOLO
# Load a pre-trained YOLO model (YOLO26 is anchor-free, but legacy configs act similarly)
model = YOLO("yolo26n.pt")
# Inspect the model's stride, which relates to grid cell sizing in detection
print(f"Model strides: {model.model.stride}")
# For older anchor-based models, anchors might be stored in the model's attributes
# Modern anchor-free models calculate targets dynamically without fixed boxes
if hasattr(model.model, "anchors"):
print(f"Anchors: {model.model.anchors}")
else:
print("This model architecture is anchor-free.")
على الرغم من فعالية صناديق الربط، إلا أنها تسبب تعقيدًا. يؤدي العدد الهائل من الروابط التي يتم إنشاؤها — غالبًا ما يصل إلى عشرات الآلاف لكل صورة — إلى مشكلة عدم توازن الفئات، حيث أن معظم الروابط تغطي الخلفية فقط. تُستخدم تقنيات مثل Focal Loss للتخفيف من هذه المشكلة عن طريق تقليل وزن أمثلة الخلفية السهلة. بالإضافة إلى ذلك، يتطلب الناتج النهائي عادةً Non-Maximum Suppression (NMS) لتصفية المربعات المتداخلة الزائدة، مما يضمن بقاء الكشف الأكثر ثقة لكل كائن.