Anchor Boxes
تعلم كيف تعمل صناديق الارتكاز (Anchor Boxes) كقوالب مرجعية لاكتشاف الكائنات. اكتشف كيف تحسن الدقة وكيف تستخدم نماذج مثل Ultralytics YOLO26 التصميمات الخالية من الارتكاز.
صناديق التثبيت (Anchor boxes) هي مستطيلات مرجعية محددة مسبقاً ذات نسب أبعاد ومقاييس معينة، يتم وضعها عبر الصورة لمساعدة نماذج اكتشاف الكائنات في تحديد وتصنيف الكائنات. بدلاً من مطالبة الشبكة العصبية بالتنبؤ بالحجم الدقيق وموضع الكائن من الصفر - وهو ما قد يكون غير مستقر نظراً لتنوع أشكال الكائنات الواسع - يستخدم النموذج هذه القوالب الثابتة نقطة بداية. من خلال التعلم للتنبؤ بمقدار ضبط، أو "انحدار" (regress)، هذه الصناديق الأولية لتناسب الحقيقة الأرضية، يمكن للنظام تحقيق تقارب أسرع ودقة أعلى. لقد أحدثت هذه التقنية تحولاً جذرياً في مجال الرؤية الحاسوبية (computer vision) من خلال تبسيط مهمة التوطين المعقدة لتصبح مشكلة تحسين أكثر قابلية للإدارة.
آلية عمل صناديق الارتساء#
في كاشفات القائمين على صناديق التثبيت التقليدية، يتم تقسيم صورة الإدخال إلى شبكة من الخلايا. في كل موقع خلية، تنشئ الشبكة صناديق تثبيت متعددة بهندسات مختلفة. على سبيل المثال، لاكتشاف مشاة طويل القامة وسارة واسعة في نفس الوقت، قد يقترح النموذج صندوقاً طويلاً وضيقة وصندوقاً قصيراً وواسعاً في نفس نقطة المركز.
أثناء تدريب النموذج، تتم مطابقة هذه الصناديق مقابل الكائنات الفعلية باستخدام مقياس يسمى التقاطع على الاتحاد (IoU). تُعين الصناديق التي تتقاطع بشكل كبير مع كائن محدد كعينات "إيجابية". بعد ذلك، تتعلم الشبكة مهمتين متوازيتين:
-
التصنيف: تعين درجة احتمالية لصندوق التثبيت، مما يشير إلى احتمالية احتوائه على فئة معينة (مثل "كلب" أو "دراجة"). يستخدم هذا أهداف التعلم الخاضع للإشراف القياسية مثل خسارة الانتروبيا المتقاطعة.
-
انحدار الصندوق: يحسب قيم الإزاحة الدقيقة (تحولات الإحداثيات وعوامل التحجيم) اللازمة لتحويل صندوق التثبيت العام إلى صندوق إحاطة محكم.
يسمح هذا النهج للنموذج بالتعامل مع كائنات متعددة بأحجام مختلفة تقع بالقرب من بعضها البعض، حيث يمكن تعيين كل كائن للصندوق الذي يطابق شكله بشكل أفضل.
تطبيقات العالم الحقيقي#
على الرغم من أن البنى الأحدث تتجه نحو تصميمات خالية من الارتساء (anchor-free)، تظل صناديق الارتساء حيوية في العديد من أنظمة الإنتاج الراسخة حيث تكون خصائص الكائنات قابلة للتنبؤ.
- البيع بالتجزئة وإدارة المخزون: في حلول البيع بالتجزئة المدعومة بالذكاء الاصطناعي، تراقب الكاميرات مخزون الرفوف. نظراً لأن منتجات مثل علب الحبوب أو علب الصودا لها أبعاد قياسية، يمكن ضبط صناديق التثبيت لتناسب نسب الأبعاد المحددة هذه. تساعد هذه المعرفة المسبقة النموذج في الحفاظ على استدعاء عالٍ حتى في البيئات المزدحمة.
- القيادة الذاتية: تعتمد حزم الإدراك في المركبات ذاتية القيادة على اكتشاف المشاة والمركبات وإشارات المرور. نظراً لأن السيارة التي تُرى من مسافة بعيدة لها ملف تعريف شكل متسق نسبياً مقارنة بالطريق، فإن استخدام صناديق تثبيت مصممة خصيصاً لهذه الأشكال يضمن تتبع الكائنات وتقدير المسافة بقوة.
الأنظمة القائمة على الارتساء مقابل الخالية من الارتساء#
من المهم التمييز بين الطرق التقليدية القائمة على صناديق التثبيت والكاشفات الحديثة الخالية من صناديق التثبيت.
- قائمة على المراسي: تستخدم نماذج مثل Faster R-CNN الأصلية أو إصدارات YOLO المبكرة (مثل Ultralytics YOLOv5) هذه القوالب المحددة مسبقاً. وهي قوية ولكنها غالباً ما تتطلب ضبطاً يدوياً للمعلمات الفائقة (أحجام/نسب المراسي) أو خوارزميات التجميع مثل التجميع بوسطة الوسيطات (k-means) للتكيف مع مجموعات البيانات الجديدة.
- الخالية من صناديق التثبيت: غالباً ما تستخدم النماذج المتقدمة، بما في ذلك YOLO26، نهجاً خالية من صناديق التثبيت أو نهجاً من البداية إلى النهاية. تتنبأ هذه الشبكات بمراكز الكائنات أو النقاط الرئيسية مباشراً، مما يزيل الحاجة إلى تكوين صناديق التثبيت اليدوية. يؤدي هذا إلى تبسيط البنية وتسريع الاستدلال من خلال القضاء على الحساب المطلوب لمعالجة آلاف خلفيات الخلفية الفارغة.
مثال: الوصول إلى معلومات صناديق الارتساء#
بينما تقوم واجهات برمجة التطبيقات عالية المستوى الحديثة مثل منصة 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 للتخفيف من ذلك عن طريق تقليل وزن أمثلة الخلفية السهلة. بالإضافة إلى ذلك، يتطلب الإخراج النهائي عادةً التقييم غير الأقصى (NMS) لتصفية الصناديق المتراكبة الزائدة، مما يضمن بقاء الكشف الأكثر ثقة فقط لكل كائن.






