Detection Head
رأس الكشف هو الجزء الأخير من كاشف الأجسام، إذ يحوّل خصائص العمود الفقري والعنق إلى صندوق ودرجات للفئات عند كل موضع في الشبكة.
رأس الكشف هو المجموعة النهائية من الطبقات في شبكة اكتشاف الأجسام. ويقرأ خرائط الميزات التي أنتجتها الطبقات السابقة، ثم يُخرج عند كل موضع مرشح صندوق إحاطة ودرجة لكل فئة. ويحدد تصميمه طريقة ترميز الصناديق، سواء كانت إزاحات من صناديق الارتكاز أو مسافات من نقطة، وعدد الصناديق المرشحة التي ينتجها النموذج، وما إذا كانت خطوة معالجة لاحقة مثل كبت القيم غير القصوى (NMS) مطلوبة لإزالة التكرارات.
موضع الرأس#
تتكون الكواشف الحديثة من ثلاث مراحل. يحوّل العمود الفقري، الذي يكون عادةً شبكة التفافية أو محول رؤية، البكسلات إلى خرائط ميزات تنخفض دقتها المكانية ويزداد محتواها الدلالي مع العمق. وتدمج الرقبة، مثل شبكة هرم الميزات (FPN)، الخرائط العميقة والسطحية، بحيث يحمل كل مقياس خرج التفاصيل الدقيقة والسياق معًا. ثم يشغّل الرأس فروعًا التفافية صغيرة على كل مستوى من الهرم، عادةً عند خطوات 8 و16 و32، بحيث تكتشف الخرائط الدقيقة الأجسام الصغيرة، وتكتشف الخرائط الخشنة الأجسام الكبيرة.
لدى الكواشف أحادية المرحلة رأس كثيف واحد يتنبأ في كل خلية من الشبكة. أما الكواشف ثنائية المرحلة، مثل Faster R-CNN، فلديها رأسان: شبكة اقتراح المناطق التي تقيّم صناديق الارتكاز في كل موضع، ثم رأس منطقة الاهتمام الذي يصنّف بضع مئات من المناطق التي يقترحها ويحسّنها.
آلية تنبؤ الرأس بالصناديق والفئات#
يتنبأ الرأس الكثيف في كل خلية شبكية بثلاثة أنواع من القيم:
- درجات الفئات: درجة واحدة لكل فئة، تمر كل منها عبر دالة سيغمويد، بحيث يمكن للموضع تقييم كل فئة على نحو مستقل.
- انحدار الصندوق: أربعة أرقام تحدد موضع الصندوق، إما إزاحات تحرّك صندوق الارتكاز وتغيّر حجمه، أو مسافات من مركز الخلية إلى حواف الصندوق الأربع.
- الجودة ومخرجات المهام: درجة وجود الجسم (من YOLOv1 إلى YOLOv5) أو درجة المركزية (FCOS) لترتيب الصناديق، إضافة إلى قيم خاصة بالمهمة مثل معاملات الأقنعة لتقسيم المثيلات أو النقاط المفتاحية لتقدير الوضعية.
يفصل ترميز الصندوق بين الكواشف المعتمدة على الارتكاز والكواشف غير المعتمدة على الارتكاز. ويتألف كل فرع من بضع طبقات التفاف تنتهي بالتفاف 1 × 1 ذي قناة خرج واحدة لكل قيمة متوقعة. واستخدم RetinaNet وFCOS بالفعل فرعين منفصلين للتصنيف والانحدار، ثم جلب YOLOX هذا الرأس المفصول إلى YOLO عام 2021، مشيرًا إلى تقارب التدريب بسرعة أكبر بكثير من طبقة الخرج المشتركة الواحدة في YOLOv3. ويوضّح الرسم أدناه بناء طبقات 1 × 1 النهائية لمستويات الهرم الثلاثة لصورة بحجم 640 × 640، ثم تسطيح مخرجاتها في قائمة واحدة من المرشحين:
import torch
from torch import nn
# Neck outputs for a 640x640 image at strides 8, 16, and 32 (80x80, 40x40, and 20x20 grids)
channels = (64, 128, 256)
features = [torch.randn(1, c, 640 // s, 640 // s) for c, s in zip(channels, (8, 16, 32))]
# Decoupled head: a box branch (4 values) and a class branch (80 scores) for every pyramid level
box_branches = nn.ModuleList(nn.Conv2d(c, 4, 1) for c in channels)
cls_branches = nn.ModuleList(nn.Conv2d(c, 80, 1) for c in channels)
# Flatten each level's grid and concatenate, giving one candidate per grid cell
boxes = torch.cat([branch(f).flatten(2) for branch, f in zip(box_branches, features)], dim=2)
scores = torch.cat([branch(f).flatten(2) for branch, f in zip(cls_branches, features)], dim=2).sigmoid()
print(f"boxes {tuple(boxes.shape)}, class scores {tuple(scores.shape)}")يطبع boxes (1, 4, 8400), class scores (1, 80, 8400): وتقترح خلايا الشبكة البالغ عددها 6,400 + 1,600 + 400 صندوقًا واحدًا لكل منها مع 80 درجة للفئات.
من المخرجات الخام إلى عمليات الكشف#
يحدد التدريب عدد التنبؤات التي يتلقاها كل جسم. ويُعلّم الإسناد واحد إلى متعدد عدة خلايا قريبة من كل جسم بوصفها إيجابية، ما يزوّد الرأس بإشارات تدريب أكثر ويترك عدة صناديق متداخلة لكل جسم أثناء الاستدلال، لذا يحتفظ NMS بالأفضل. أما الإسناد واحد إلى واحد، الذي يستخدمه DETR ورأس الاستدلال في YOLOv10، فيدرّب تنبؤًا واحدًا بالضبط لكل جسم، لذا لا تحتاج المخرجات إلى NMS.
يتنبأ رأس YOLO26 بمسافات الحواف الأربع مباشرةً، مستغنيًا عن مخرج خسارة البؤرة التوزيعية ذي 16 فئة لكل حافة، الذي استخدمه YOLOv8 وYOLO11، كما يدرّب نسخة واحد إلى متعدد ونسخة واحد إلى واحد من فرعي الصندوق والفئة. ويطبّق YOLO26 افتراضيًا NMS على مخرجات واحد إلى متعدد، بينما يؤدي تمرير nms=False إلى التبديل إلى فروع واحد إلى واحد، التي تعيد 300 صندوق كحد أقصى لكل صورة دون خطوة NMS.
تصميم الرأس عمليًا#
- الضبط الدقيق على فئات جديدة: ينتهي فرع الفئة بقناة خرج واحدة لكل فئة؛ لذا يتطلب التدريب على مجموعة بيانات ذات عدد مختلف من الفئات طبقة تصنيف نهائية جديدة، بينما يمكن إعادة استخدام أوزان العمود الفقري والرقبة المدرّبة مسبقًا.
- النشر: تُنفّذ كل عملية في الرأس على الجهاز المستهدف؛ لذا يسهّل فك ترميز الصناديق البسيط والمخرجات التي لا تتطلب NMS عملية التصدير ويقللان زمن المعالجة اللاحقة.
- الأجسام الصغيرة: تمنح إضافة مستوى هرمي بخطوة 4 الرأس شبكة أدق للأجسام الصغيرة جدًا، مقابل كلفة حسابية إضافية: إذ تضيف 160 × 160 = 25,600 خلية لمُدخل بحجم 640 × 640، أي أربعة أضعاف عدد خلايا المستوى ذي الخطوة 8.










