YOLO12: اكتشاف الكائنات المرتكز على الانتباه

نظرة عامة

يقدم نموذج YOLO12، الذي تم إصداره في أوائل عام 2025، بنية مرتكزة على الانتباه تختلف عن النهج التقليدي القائم على الشبكات العصبية التلافيفية (CNN) المستخدم في إصدارات YOLO السابقة، ومع ذلك فهو يحتفظ بسرعة الاستدلال في الوقت الفعلي الضرورية للعديد من التطبيقات. يحقق هذا النموذج دقة عالية في اكتشاف الكائنات من خلال ابتكارات منهجية جديدة في آليات الانتباه وبنية الشبكة ككل، مع الحفاظ على الأداء في الوقت الفعلي. وعلى الرغم من هذه المزايا، يظل YOLO12 إصداراً يقوده المجتمع قد يُظهر عدم استقرار في التدريب، واستهلاكاً مرتفعاً للذاكرة، وإنتاجية أبطأ على وحدة المعالجة المركزية (CPU) بسبب كتل الانتباه الثقيلة، لذا توصي Ultralytics باستخدام YOLO11 أو YOLO26 لمعظم مهام العمل الإنتاجية.

نموذج مجتمعي

تتم صيانة YOLO12 بشكل أساسي لأغراض القياس والبحث. إذا كنت بحاجة إلى تدريب مستقر، واستخدام متوقع للذاكرة، واستدلال محسّن على وحدة المعالجة المركزية (CPU)، فاختر YOLO11 أو YOLO26 للنشر.



Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀

الميزات الرئيسية

  • آلية انتباه المنطقة (Area Attention Mechanism): نهج جديد للانتباه الذاتي يعالج مجالات الاستقبال الكبيرة بكفاءة. يقوم بتقسيم خرائط الميزات إلى l من المناطق متساوية الحجم (الافتراضي هو 4)، أفقياً أو عمودياً، مما يتجنب العمليات المعقدة ويحافظ على مجال استقبال فعال وكبير. هذا يقلل بشكل كبير من التكلفة الحسابية مقارنة بالانتباه الذاتي القياسي.
  • شبكات تجميع الطبقات الفعالة المتبقية (R-ELAN): وحدة محسنة لتجميع الميزات تعتمد على ELAN، مصممة لمعالجة تحديات التحسين، خاصة في النماذج الأكبر حجماً المرتكزة على الانتباه. تقدم R-ELAN ما يلي:
    • وصلات متبقية على مستوى الكتلة مع التحجيم (مشابهة لتحجيم الطبقات).
    • طريقة معاد تصميمها لتجميع الميزات تخلق بنية شبيهة بعنق الزجاجة.
  • بنية الانتباه المحسنة: يبسّط YOLO12 آلية الانتباه القياسية لتحقيق كفاءة أكبر وتوافق أفضل مع إطار عمل YOLO. يتضمن ذلك:
    • استخدام FlashAttention لتقليل حمل الوصول إلى الذاكرة.
    • إزالة الترميز الموضعي للحصول على نموذج أنظف وأسرع.
    • تعديل نسبة MLP (من النسبة المعتادة 4 إلى 1.2 أو 2) لتحقيق توازن أفضل في الحسابات بين الانتباه وطبقات التغذية الأمامية.
    • تقليل عمق الكتل المكدسة لتحسين التحسين.
    • الاستفادة من عمليات التلافيف (حيثما كان ذلك مناسباً) لكفاءتها الحسابية.
    • إضافة تلافيف قابل للفصل بحجم 7x7 ("مدرك الموضع") إلى آلية الانتباه لترميز المعلومات الموضعية ضمنياً.
  • دعم المهام الشامل: يدعم YOLO12 مجموعة من مهام الرؤية الحاسوبية الأساسية: اكتشاف الكائنات، تقسيم المثيلات، تصنيف الصور، تقدير الوضعية، واكتشاف الكائنات الموجهة (OBB).
  • كفاءة معززة: يحقق دقة أعلى بعدد أقل من المعلمات مقارنة بالعديد من النماذج السابقة، مما يظهر توازناً محسناً بين السرعة والدقة.
  • نشر مرن: مصمم للنشر عبر منصات متنوعة، بدءاً من أجهزة الحافة وصولاً إلى البنية التحتية السحابية.

تصور مقارنة YOLO12

المهام والأنماط المدعومة

يدعم YOLO12 مجموعة متنوعة من مهام الرؤية الحاسوبية. يوضح الجدول أدناه دعم المهام وأوضاع التشغيل (الاستدلال، التحقق، التدريب، والتصدير) الممكنة لكل منها:

توافر الأوزان المدربة مسبقاً

تم إصدار أوزان الاكتشاف فقط (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) على ultralytics/assets. تم تعريف بنيات التقسيم، والتصنيف، والوضعية، و OBB في ultralytics/cfg/models/12/، لذا تدعم هذه المتغيرات التدريب من الصفر باستخدام إعدادات .yaml، ولكن لا توجد ملفات .pt مدربة مسبقاً متاحة لها حالياً. للحصول على نقاط فحص مدربة مسبقاً للتقسيم، أو الوضعية، أو التصنيف، أو OBB، توصي Ultralytics باستخدام YOLO11 أو YOLO26.

نوع النموذجالمهمةالأوزان المدربة مسبقاًالاستدلالالتحققالتدريبتصدير
YOLO12الكشف
YOLO12-segالتقسيم
YOLO12-poseالوضعية
YOLO12-clsالتصنيف
YOLO12-obbOBB

All YOLO12 architectures support every mode once a trained checkpoint is available. The Pretrained Weights column indicates only whether Ultralytics publishes an official pretrained .pt on ultralytics/assets: for segmentation, pose, classification, and OBB, you must train your own checkpoint from the corresponding .yaml before running inference, validation, or export.

مقاييس الأداء

يُظهر YOLO12 تحسينات كبيرة في الدقة عبر جميع أحجام النماذج، مع بعض المقايضات في السرعة مقارنة بأسرع نماذج YOLO السابقة. فيما يلي النتائج الكمية لـ اكتشاف الكائنات على مجموعة بيانات التحقق COCO:

أداء الاكتشاف (COCO val2017)

الأداء
النموذجالحجم
(بكسل)
mAPval
50-95
السرعة
CPU ONNX
(ملي ثانية)
السرعة
T4 TensorRT
(ملي ثانية)
المعلمات
(مليون)
FLOPs
(مليار)
المقارنة
(mAP/السرعة)
YOLO12n64040.6-1.642.66.5+2.1%/-9% (مقابل YOLOv10n)
YOLO12s64048.0-2.619.321.4+0.1%/+42% (مقابل RT-DETRv2)
YOLO12m64052.5-4.8620.267.5+1.0%/-3% (مقابل YOLO11m)
YOLO12l64053.7-6.7726.488.9+0.4%/-8% (مقابل YOLO11l)
YOLO12x64055.2-11.7959.1199.0+0.6%/-4% (مقابل YOLO11x)
  • تم قياس سرعة الاستدلال على وحدة معالجة الرسوميات NVIDIA T4 باستخدام دقة TensorRT FP16.
  • تُظهر المقارنات التحسن النسبي في mAP والتغير بالنسبة المئوية في السرعة (الموجب يشير إلى سرعة أكبر؛ السالب يشير إلى سرعة أبطأ). يتم إجراء المقارنات مقابل النتائج المنشورة لـ YOLOv10 و YOLO11 و RT-DETR حيثما توفرت.

أمثلة الاستخدام

يوفر هذا القسم أمثلة للتدريب والاستدلال باستخدام YOLO12. للحصول على توثيق أكثر شمولاً حول هذه الأوضاع وغيرها (بما في ذلك التحقق و التصدير)، راجع صفحات التنبؤ و التدريب المخصصة.

تركز الأمثلة أدناه على نماذج اكتشاف YOLO12 (لاكتشاف الكائنات). للمهام الأخرى المدعومة (التقسيم، التصنيف، اكتشاف الكائنات الموجهة، وتقدير الوضعية)، ارجع إلى الوثائق الخاصة بكل مهمة: التقسيم، التصنيف، OBB، و الوضعية.

مثال

يمكن تمرير النماذج المدربة مسبقاً *.pt (باستخدام PyTorch) وملفات التكوين *.yaml إلى فئة YOLO() لإنشاء مثيل للنموذج في Python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

التحسينات الرئيسية

  1. استخراج ميزات معزز:

    • انتباه المنطقة: يعالج بكفاءة مجالات الاستقبال الكبيرة، مما يقلل التكلفة الحسابية.
    • توازن محسّن: توازن أفضل بين حسابات الانتباه وشبكة التغذية الأمامية.
    • R-ELAN: يعزز تجميع الميزات باستخدام بنية R-ELAN.
  2. ابتكارات التحسين:

    • الوصلات المتبقية: يقدم وصلات متبقية مع التحجيم لتحقيق استقرار التدريب، خاصة في النماذج الأكبر.
    • تكامل الميزات المنقح: ينفذ طريقة محسنة لتكامل الميزات داخل R-ELAN.
    • FlashAttention: يدمج FlashAttention لتقليل حمل الوصول إلى الذاكرة.
  3. الكفاءة المعمارية:

    • معلمات مخفضة: يحقق عدداً أقل من المعلمات مع الحفاظ على الدقة أو تحسينها مقارنة بالعديد من النماذج السابقة.
    • انتباه مبسط: يستخدم تنفيذاً مبسطاً للانتباه، متجنباً الترميز الموضعي.
    • نسب MLP محسنة: يعدل نسب MLP لتخصيص الموارد الحسابية بشكل أكثر فعالية.

المتطلبات

تنفيذ Ultralytics YOLO12، افتراضياً، لا يتطلب FlashAttention. ومع ذلك، يمكن تجميع FlashAttention اختيارياً واستخدامه مع YOLO12. لتجميع FlashAttention، يلزم توفر إحدى وحدات معالجة الرسوميات NVIDIA التالية:

  • Turing GPUs (على سبيل المثال، T4، سلسلة Quadro RTX)
  • Ampere GPUs (على سبيل المثال، سلسلة RTX30، A30/40/100)
  • Ada Lovelace GPUs (على سبيل المثال، سلسلة RTX40)
  • Hopper GPUs (على سبيل المثال، H100/H200)

الاقتباسات والشكر

إذا كنت تستخدم YOLO12 في بحثك، يرجى الاستشهاد بالعمل الأصلي الذي قامت به جامعة بوفالو وجامعة الأكاديمية الصينية للعلوم:

اقتباس
@article{tian2025yolo12,
  title={YOLO12: Attention-Centric Real-Time Object Detectors},
  author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
  journal={arXiv preprint arXiv:2502.12524},
  year={2025}
}

@software{yolo12,
  author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
  title = {YOLO12: Attention-Centric Real-Time Object Detectors},
  year = {2025},
  url = {https://github.com/sunsmarterjie/yolov12},
  license = {AGPL-3.0}
}

الأسئلة الشائعة

كيف يحقق YOLO12 اكتشاف الكائنات في الوقت الفعلي مع الحفاظ على دقة عالية؟

يدمج YOLO12 العديد من الابتكارات الرئيسية لتحقيق التوازن بين السرعة والدقة. تعالج آلية الانتباه للمنطقة بكفاءة مجالات الاستقبال الكبيرة، مما يقلل التكلفة الحسابية مقارنة بالانتباه الذاتي القياسي. تعمل شبكات تجميع الطبقات الفعالة المتبقية (R-ELAN) على تحسين تجميع الميزات، مما يعالج تحديات التحسين في النماذج الأكبر حجماً المرتكزة على الانتباه. وتعمل بنية الانتباه المحسنة، بما في ذلك استخدام FlashAttention وإزالة الترميز الموضعي، على تعزيز الكفاءة بشكل أكبر. تسمح هذه الميزات لـ YOLO12 بتحقيق دقة متطورة مع الحفاظ على سرعة الاستدلال في الوقت الفعلي الضرورية للعديد من التطبيقات.

ما هي مهام الرؤية الحاسوبية التي يدعمها YOLO12؟

YOLO12 هو نموذج متعدد الاستخدامات يدعم مجموعة واسعة من مهام الرؤية الحاسوبية الأساسية. يتفوق في اكتشاف الكائنات، وتقسيم المثيلات، وتصنيف الصور، وتقدير الوضعية، واكتشاف الكائنات الموجهة (OBB) (انظر التفاصيل). يجعل هذا الدعم الشامل للمهام من YOLO12 أداة قوية لتطبيقات متنوعة، بدءاً من الروبوتات والقيادة الذاتية وصولاً إلى التصوير الطبي والفحص الصناعي. لاحظ أن أوزان .pt المدربة مسبقاً منشورة حالياً للاكتشاف فقط؛ يتم توفير بنيات التقسيم، والوضعية، والتصنيف، و OBB كملفات تكوين .yaml للتدريب من الصفر.

كيف يقارن YOLO12 بنماذج YOLO الأخرى والمنافسين مثل RT-DETR؟

يُظهر YOLO12 تحسينات كبيرة في الدقة عبر جميع أحجام النماذج مقارنة بنماذج YOLO السابقة مثل YOLOv10 و YOLO11، مع بعض المقايضات في السرعة مقارنة بأسرع النماذج السابقة. على سبيل المثال، يحقق YOLO12n تحسناً في mAP بنسبة +2.1% مقارنة بـ YOLOv10n وبنسبة +1.2% مقارنة بـ YOLO11n على مجموعة بيانات COCO val2017. مقارنة بنماذج مثل RT-DETR، يوفر YOLO12s تحسناً في mAP بنسبة +1.5% وزيادة كبيرة في السرعة بنسبة +42%. تُبرز هذه المقاييس التوازن القوي لـ YOLO12 بين الدقة والكفاءة. راجع قسم مقاييس الأداء للمقارنات التفصيلية.

ما هي متطلبات الأجهزة لتشغيل YOLO12، خاصة لاستخدام FlashAttention؟

افتراضياً، لا يتطلب تنفيذ Ultralytics YOLO12 FlashAttention. ومع ذلك، يمكن تجميع FlashAttention اختيارياً واستخدامه مع YOLO12 لتقليل حمل الوصول إلى الذاكرة. لتجميع FlashAttention، يلزم توفر إحدى وحدات معالجة الرسوميات NVIDIA التالية: Turing GPUs (على سبيل المثال، T4، سلسلة Quadro RTX)، Ampere GPUs (على سبيل المثال، سلسلة RTX30، A30/40/100)، Ada Lovelace GPUs (على سبيل المثال، سلسلة RTX40)، أو Hopper GPUs (على سبيل المثال، H100/H200). تتيح هذه المرونة للمستخدمين الاستفادة من مزايا FlashAttention عندما تسمح موارد الأجهزة بذلك.

أين يمكنني العثور على أمثلة للاستخدام وتوثيق أكثر تفصيلاً لـ YOLO12؟

This page provides basic usage examples for training and inference. For comprehensive documentation on these and other modes, including Validation and Export, consult the dedicated Predict and Train pages. For task-specific information (segmentation, classification, oriented object detection, and pose estimation), refer to the respective documentation: Segment, Classify, OBB, and Pose. These resources provide in-depth guidance for effectively utilizing YOLO12 in various scenarios.

التعليقات