YOLO12: كشف الكائنات المعتمد على الانتباه#
نظرة عامة#
يُقدم YOLO12، الذي تم إصداره في أوائل عام 2025، بنية معتمدة على الانتباه تبتعد عن نهج الـ CNN التقليدي المستخدم في نماذج YOLO السابقة، ومع ذلك فهي تحتفظ بسرعة الاستدلال في الوقت الفعلي الضرورية للعديد من التطبيقات. يحقق هذا النموذج دقة عالية في كشف الكائنات من خلال ابتكارات منهجية جديدة في آليات الانتباه وبنية الشبكة ككل، مع الحفاظ على الأداء في الوقت الفعلي. وعلى الرغم من هذه المزايا، يظل YOLO12 إصداراً موجهاً من قبل المجتمع قد يُظهر عدم استقرار في التدريب، واستهلاكاً مرتفعاً للذاكرة، وإنتاجية أبطأ لوحدة المعالجة المركزية (CPU) بسبب كتل الانتباه الثقيلة فيه، لذلك توصي Ultralytics باستخدام 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 مجموعة متنوعة من مهام الرؤية الحاسوبية. يوضح الجدول أدناه دعم المهام وأنماط التشغيل (الاستدلال، التحقق، التدريب، والتصدير) الممكنة لكل منها:
يتم إصدار أوزان الكشف فقط (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) على ultralytics/assets. يتم تعريف بنى التجزئة والتصنيف والوضعية و OBB في ultralytics/cfg/models/12/، لذا فإن هذه المتغيرات تدعم التدريب من الصفر باستخدام ملفات التكوين .yaml، ولكن لا توجد ملفات .pt مدربة مسبقاً متاحة لها حالياً. للحصول على نقاط فحص (checkpoints) مدربة مسبقاً للتجزئة أو الوضعية أو التصنيف أو OBB، توصي Ultralytics باستخدام YOLO11 أو YOLO26.
| نوع النموذج | المهمة | الأوزان المدربة مسبقاً | التدريب | التحقق | الاستنتاج | التصدير |
|---|---|---|---|---|---|---|
| YOLO12 | الكشف | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | التجزئة | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | التصنيف | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | الوضعية | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
تدعم جميع بنى YOLO12 كل الأوضاع بمجرد توفر نقطة تفتيش مدربة. يشير عمود Pretrained Weights فقط إلى ما إذا كانت Ultralytics تنشر ملف .pt مدرباً مسبقاً رسمياً على ultralytics/assets: بالنسبة للتجزئة (segmentation)، والوضع (pose)، والتصنيف (classification)، وOBB، يجب عليك تدريب نقطة التفتيش الخاصة بك من ملف .yaml المقابل قبل إجراء الاستدلال أو التحقق أو التصدير.
مقاييس الأداء#
يُظهر YOLO12 تحسينات كبيرة في الدقة عبر جميع مقاييس النماذج، مع بعض المقايضات في السرعة مقارنة بـ أسرع نماذج YOLO السابقة. فيما يلي النتائج الكمية لـ كشف الكائنات على مجموعة بيانات التحقق COCO:
أداء الكشف (COCO val2017)#
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT (ms) | المعلمات (M) | FLOPs (B) | المقارنة (mAP/السرعة) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 7.6 | +2.1%/-9% (مقابل YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 23.7 | +0.1%/+42% (مقابل RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 71.3 | +1.0%/-3% (مقابل YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 96.3 | +0.4%/-8% (مقابل YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 210.2 | +0.6%/-4% (مقابل YOLO11x) |
- تم قياس سرعة الاستدلال على وحدة معالجة رسوميات (GPU) من نوع NVIDIA T4 باستخدام دقة TensorRT FP16.
- تُظهر المقارنات التحسن النسبي في mAP والتغير بالنسبة المئوية في السرعة (الإيجابي يشير إلى سرعة أكبر؛ والسلبي يشير إلى سرعة أبطأ). تتم المقارنات مقابل النتائج المنشورة لـ YOLOv10 و YOLO11 و RT-DETR حيثما توفرت.
أمثلة الاستخدام#
يقدم هذا القسم أمثلة للتدريب والاستدلال باستخدام YOLO12. للحصول على وثائق أكثر شمولاً حول هذه الأنماط وغيرها (بما في ذلك التحقق و التصدير)، راجع صفحات التنبؤ و التدريب المخصصة.
تركز الأمثلة أدناه على نماذج YOLO12 Detect (لاكتشاف الكائنات). للتعرف على المهام الأخرى المدعومة (التجزئة، التصنيف، تقدير الوضعية، واكتشاف الكائنات الموجهة)، يرجى الرجوع إلى الوثائق الخاصة بكل مهمة: 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")تحسينات رئيسية#
-
استخراج ميزات معزز:
- انتباه المنطقة (Area Attention): يعالج مجالات الاستقبال الكبيرة بكفاءة، مما يقلل من التكلفة الحسابية.
- توازن محسّن: توازن أفضل بين حسابات الانتباه وشبكة التغذية الأمامية.
- R-ELAN: يعزز تجميع الميزات باستخدام بنية R-ELAN.
-
ابتكارات التحسين:
- وصلات متبقية: تقدم وصلات متبقية مع قياس لتحقيق استقرار التدريب، خاصة في النماذج الأكبر.
- تكامل ميزات منقح: يطبق طريقة محسّنة لتكامل الميزات داخل R-ELAN.
- FlashAttention: يدمج FlashAttention لتقليل حمل الوصول إلى الذاكرة.
-
كفاءة معمارية:
- عدد بارامترات أقل: يحقق عدداً أقل من البارامترات مع الحفاظ على الدقة أو تحسينها مقارنة بالعديد من النماذج السابقة.
- انتباه مبسط: يستخدم تطبيقاً مبسطاً للانتباه، متجنباً الترميز الموضعي.
- نسب MLP محسّنة: يعدل نسب MLP لتخصيص الموارد الحسابية بشكل أكثر فعالية.
المتطلبات#
بشكل افتراضي، تنفيذ Ultralytics YOLO12 لا يتطلب FlashAttention. ومع ذلك، يمكن تجميع FlashAttention واستخدامه اختيارياً مع YOLO12. لتجميع FlashAttention، يلزم توفر إحدى وحدات معالجة الرسوميات (GPUs) التالية من NVIDIA:
- وحدات معالجة الرسوميات Turing (على سبيل المثال، T4، سلسلة Quadro RTX)
- وحدات معالجة الرسوميات Ampere (على سبيل المثال، سلسلة RTX30، A30/40/100)
- وحدات معالجة الرسوميات Ada Lovelace (على سبيل المثال، سلسلة RTX40)
- وحدات معالجة الرسوميات Hopper (على سبيل المثال، H100/H200)
الاقتباسات والشكر#
إذا كنت تستخدم 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 proceedings، مع نسخة أولية متاحة على arXiv.
الأسئلة الشائعة#
كيف يحقق YOLO12 كشف الكائنات في الوقت الفعلي مع الحفاظ على دقة عالية؟#
يدمج YOLO12 العديد من الابتكارات الرئيسية لموازنة السرعة والدقة. تعالج آلية انتباه المنطقة مجالات استقبال كبيرة بكفاءة، مما يقلل من التكلفة الحسابية مقارنة بالانتباه الذاتي القياسي. تعمل شبكات تجميع الطبقات الفعالة المتبقية (R-ELAN) على تحسين تجميع الميزات، مما يعالج تحديات التحسين في النماذج الكبيرة المعتمدة على الانتباه. تعمل بنية الانتباه المحسّنة، بما في ذلك استخدام FlashAttention وإزالة الترميز الموضعي، على تعزيز الكفاءة بشكل أكبر. تسمح هذه الميزات لـ YOLO12 بتحقيق دقة متطورة مع الحفاظ على سرعة الاستدلال في الوقت الفعلي الضرورية للعديد من التطبيقات.
ما هي مهام الرؤية الحاسوبية التي يدعمها YOLO12؟#
YOLO12 نموذج متعدد الاستخدامات يدعم مجموعة واسعة من مهام الرؤية الحاسوبية الأساسية. يتفوق في الكشف عن الكائنات، تجزئة المثيلات، تصنيف الصور، تقدير الوضعية، وكشف الكائنات الموجهة (OBB) (انظر التفاصيل). هذا الدعم الشامل للمهام يجعل من YOLO12 أداة قوية لتطبيقات متنوعة، من الروبوتات والقيادة الذاتية إلى التصوير الطبي والفحص الصناعي. لاحظ أن أوزان .pt المدربة مسبقاً منشورة حالياً للكشف فقط؛ يتم توفير بنى التجزئة والوضعية والتصنيف و OBB كملفات تكوين .yaml للتدريب من الصفر.
كيف يقارن YOLO12 بنماذج YOLO الأخرى والمنافسين مثل RT-DETR؟#
تُظهر YOLO12 تحسينات كبيرة في الدقة عبر جميع أحجام النماذج مقارنة بنماذج YOLO السابقة مثل YOLOv10 وYOLO11، مع بعض المقايضات في السرعة مقارنة بـ أسرع النماذج السابقة. على سبيل المثال، تحقق YOLO12n تحسناً بنسبة +2.1% في mAP مقارنة بـ YOLOv10n و+1.2% مقارنة بـ YOLO11n على مجموعة بيانات COCO val2017. مقارنة بنماذج مثل RT-DETR، توفر YOLO12s تحسناً بنسبة +1.5% في mAP وزيادة كبيرة في السرعة بنسبة +42%. تسلط هذه المقاييس الضوء على التوازن القوي لـ YOLO12 بين الدقة والكفاءة. راجع قسم مقاييس الأداء للحصول على مقارنات تفصيلية.
ما هي متطلبات الأجهزة لتشغيل YOLO12، خاصة لاستخدام FlashAttention؟#
بشكل افتراضي، لا يتطلب تنفيذ Ultralytics YOLO12 استخدام FlashAttention. ومع ذلك، يمكن تجميع FlashAttention واستخدامه اختيارياً مع YOLO12 لتقليل حمل الوصول إلى الذاكرة. لتجميع FlashAttention، يلزم توفر إحدى وحدات معالجة الرسوميات (GPUs) التالية من NVIDIA: وحدات معالجة الرسوميات Turing (على سبيل المثال، T4، سلسلة Quadro RTX)، وحدات معالجة الرسوميات Ampere (على سبيل المثال، سلسلة RTX30، A30/40/100)، وحدات معالجة الرسوميات Ada Lovelace (على سبيل المثال، سلسلة RTX40)، أو وحدات معالجة الرسوميات Hopper (على سبيل المثال، H100/H200). تتيح هذه المرونة للمستخدمين الاستفادة من مزايا FlashAttention عندما تسمح موارد الأجهزة بذلك.
أين يمكنني العثور على أمثلة الاستخدام والمزيد من الوثائق التفصيلية لـ YOLO12؟#
توفر هذه الصفحة أمثلة usage examples أساسية للتدريب والاستدلال. للحصول على وثائق شاملة حول هذه الأنماط وغيرها، بما في ذلك Validation و Export، يرجى الرجوع إلى صفحتَي Predict و Train المخصصتين. للحصول على معلومات خاصة بالمهمة (التجزئة، التصنيف، تقدير الوضعية، واكتشاف الكائنات الموجهة)، يرجى الرجوع إلى الوثائق الخاصة بكل منها: Segment، Classify، Pose، و OBB. توفر هذه الموارد إرشادات متعمقة للاستخدام الفعّال لـ YOLO12 في سيناريوهات مختلفة.