YOLO Vision 2026:

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 ما يلي:
    • وصلات متبقية على مستوى الكتلة مع قياس (مشابه لقياس الطبقات).
    • طريقة مُعاد تصميمها لتجميع الميزات تخلق بنية تشبه الاختناق (bottleneck).
  • بنية انتباه محسّنة: يبسّط YOLO12 آلية الانتباه القياسية لتحقيق كفاءة أكبر وتوافق مع إطار عمل YOLO. يتضمن ذلك:
    • استخدام FlashAttention لتقليل حمل الوصول إلى الذاكرة.
    • إزالة الترميز الموضعي (positional encoding) للحصول على نموذج أنظف وأسرع.
    • تعديل نسبة الـ MLP (من النسبة المعتادة 4 إلى 1.2 أو 2) لتحقيق توازن أفضل في العمليات الحسابية بين طبقات الانتباه وطبقات التغذية الأمامية.
    • تقليل عمق الكتل المتراصة لتحسين عملية التحسين.
    • الاستفادة من عمليات الالتفاف (حيثما كان ذلك مناسباً) لكفاءتها الحسابية.
    • إضافة التفاف منفصل 7x7 (يُسمى "مدرك الموقع") إلى آلية الانتباه لترميز المعلومات الموقعية بشكل ضمني.
  • دعم شامل للمهام: يدعم YOLO12 مجموعة من مهام الرؤية الحاسوبية الأساسية: اكتشاف الكائنات، تجزئة المثيلات، تصنيف الصور، تقدير الوضعية، واكتشاف الكائنات الموجهة (OBB).
  • كفاءة معززة: يحقق دقة أعلى بعدد أقل من البارامترات مقارنة بالعديد من النماذج السابقة، مما يظهر توازناً محسّناً بين السرعة والدقة.
  • نشر مرن: مصمم للنشر عبر منصات متنوعة، بدءاً من أجهزة الحافة (edge devices) وحتى البنية التحتية السحابية.

تصور مقارنة 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-clsالتصنيف
YOLO12-posePose
YOLO12-obbOBB

تدعم جميع بنيات YOLO12 كل وضع بمجرد توفر نقطة تحقق مدربة. يشير عمود Pretrained Weights فقط إلى ما إذا كانت Ultralytics تنشر .pt رسميًا مسبق التدريب على ultralytics/assets: بالنسبة للتجزئة والوضعيات والتصنيف وOBB، يجب عليك تدريب نقطة التحقق الخاصة بك من .yaml المقابل قبل تشغيل الاستدلال أو التحقق أو التصدير.

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

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

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

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

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

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

تركز الأمثلة أدناه على نماذج Detect من YOLO12 (لاكتشاف الكائنات). بالنسبة للمهام الأخرى المدعومة (التجزئة، التصنيف، تقدير الوضعية، واكتشاف الكائنات الموجهة)، راجع وثائق المهام الخاصة بكل منها: Segment، وClassify، وPose، و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. استخراج الميزات المحسّن:

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

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

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

المتطلبات#

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

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

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

اقتباس
@inproceedings{tian2025yolov12,
  title={YOLOv12: Attention-Centric Real-Time Object Detectors},
  author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
  booktitle={Advances in Neural Information Processing Systems},
  volume={38},
  pages={78433--78457},
  year={2025},
  url={https://proceedings.neurips.cc/paper_files/paper/2025/file/7103444259031cc58051f8c9a4868533-Paper-Conference.pdf}
}

@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 في وقائع مؤتمر NeurIPS 2025، مع نسخة أولية على arXiv.

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

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

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

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

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

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

التعليقات