YOLO11 مقابل YOLOv7#
يتطور مجال الرؤية الحاسوبية بسرعة، ويظل كشف الكائنات في الزمن الحقيقي أحد أكثر تطبيقاته انتشارًا في النشر. ويتطلب اختيار البنية المناسبة الموازنة بين السرعة والدقة وسهولة النشر. يقدم هذا الدليل مقارنة تقنية بين بنيتين بارزتين: Ultralytics YOLO11 وYOLOv7.
خلفية النموذج والتفاصيل التقنية#
أثر كلا النموذجين في مجتمع التعلم العميق، لكنهما ينتميان إلى فلسفتين وعصرين مختلفين في التطوير.
تفاصيل YOLO11:
- المؤلفان: Glenn Jocher وJing Qiu
- الجهة: Ultralytics
- التاريخ: 2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- الوثائق: https://docs.ultralytics.com/models/yolo11
تفاصيل YOLOv7:
- المؤلفون: Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao
- المؤسسة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- arXiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- الوثائق: https://docs.ultralytics.com/models/yolov7
الاختلافات المعمارية#
يستخدم كلا الكاشفين مفاهيم تصميم حديثة، لكن أساسيهما البنيويين مختلفان.
قدّم YOLOv7 مفهوم شبكات تجميع الطبقات الفعالة الممتدة (E-ELAN). وصُممت هذه البنية لتعزيز قدرة الشبكة على التعلم باستمرار دون إتلاف مسار التدرج الأصلي، كما ورد في الورقة البحثية. ويعتمد YOLOv7 أثناء التدريب على إعادة المعلمة البنيوية ومنهجية «مجموعة المزايا المجانية» القابلة للتدريب، ما يحسّن الدقة الإجمالية على مجموعة بيانات COCO دون زيادة تكاليف الاستدلال.
في المقابل، بُني YOLO11 على بنية Ultralytics. ويركز على خط أنابيب أكثر تطورًا لـاستخراج السمات باستخدام عدد أقل من المعلمات، ما يقلل استهلاك الذاكرة أثناء التدريب. ويحقق YOLO11 توازنًا قويًا في الأداء، إذ يستخدم معلمات أقل مع مضاهاة دقة الكشف في النماذج الأكبر أو تجاوزها. كما يدعم YOLO11 نطاقًا أوسع من المهام، ما يجعله خيارًا متعدد الاستخدامات لتطبيقات الرؤية الحاسوبية الحديثة.
تحتاج نماذج Ultralytics YOLO عادةً إلى ذاكرة أقل أثناء التدريب مقارنةً بالعديد من الكواشف الأخرى، ما يتيح للمطورين تدريب شبكات عالية القدرة باستخدام PyTorch على وحدات معالجة الرسومات المخصصة للمستهلكين.
مقارنة الأداء والمقاييس#
لقياس الجدوى العملية، قارن بين مقاييس مثل متوسط الدقة (mAP)، وسرعة الاستدلال، ومعلمات النموذج، والتعقيد الحسابي (FLOPs). يعرض الجدول التالي مقارنة متغيرات التحجيم في YOLO11 بنماذج YOLOv7 الأكبر.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (ms) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
يحقق YOLO11x مقدار 54.7 mAP مقارنةً بـ53.1 mAP في YOLOv7x، مع استخدام عدد أقل من المعلمات (56.9M مقابل 71.3M) وزمن استجابة مماثل على T4 TensorRT. وعند المقياس l، يكون YOLO11l أدق (53.4 مقابل 51.4 mAP) وأسرع (6.2 ms مقابل 6.84 ms) وأصغر (25.3M مقابل 36.9M معلمة) من YOLOv7l.
كفاءة التدريب وسهولة استخدام النظام البيئي#
تُعد تجربة المطور والنظام البيئي المحيط من أبرز الخصائص التي تميز هاتين البنيتين.
YOLOv7 مستودع بحث أكاديمي في جوهره. وغالبًا ما يتطلب تدريب النماذج إعداد بيئات معقدة وإدارة يدوية للاعتماديات وحججًا طويلة لسطر الأوامر. ورغم دعمه للتجارب البحثية، قد يستغرق تكييف شيفرة مستودع YOLOv7 على GitHub لبيئات الإنتاج المخصصة وقتًا طويلًا.
YOLO11 يركز على سهولة الاستخدام. وهو متكامل بالكامل مع منصة Ultralytics، وهي منظومة تحظى بصيانة جيدة وتغطي سير العمل بأكمله. ومن وسم البيانات والتدريب المحلي إلى النشر، تعمل واجهة Python API الموحدة وواجهة سطر الأوامر البسيطة على تبسيط العملية برمتها.
مقارنة الشيفرة#
لا يتطلب تدريب نموذج لكشف الكائنات باستخدام YOLO11 سوى بضعة أسطر من التعليمات البرمجية:
from ultralytics import YOLO
# تحميل نموذج YOLO11 صغير مدرّب مسبقاً
model = YOLO("yolo11s.pt")
# درّب النموذج باستخدام API موحّد
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# التصدير سريعاً إلى تنسيق ONNX
model.export(format="onnx")في المقابل، يبدو أمر التدريب المعتاد لـYOLOv7 كما يلي، ويتطلب إعداداً دقيقاً للمسارات وملفات التهيئة ونصوص bash:
python train.py --workers 8 --device 0 --batch-size 32 --data data/coco.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights 'yolov7_training.pt'YOLO11 أكثر تعددًا للاستخدام أيضًا. فبينما يعتمد YOLOv7 على فروع منفصلة أو تعديلات لدعم مهام تتجاوز الكشف (مثل تقدير الوضعية أو التجزئة)، يتعامل YOLO11 مع كشف الكائنات وتجزئة المثيلات وتصنيف الصور وتقدير الوضعية وكشف صناديق الإحاطة الموجّهة (OBB) ضمن إطار عمل موحد ومتكامل.
التطبيقات الواقعية وحالات الاستخدام المثالية#
يعتمد الاختيار بين YOLOv7 وYOLO11 على نطاق المشروع وقيود النشر.
متى تنظر في YOLOv7:
- قياس أداء النماذج القديمة: قد يستخدم الباحثون الأكاديميون الذين يستكشفون تصاميم مسارات التدرج YOLOv7 خط أساس لتقييم الشبكات العصبية الالتفافية الأحدث.
- مسارات العمل المخصصة القائمة: الفرق التي لديها مسارات عمل مخصصة بدرجة كبيرة بلغة C++ أو CUDA ومبنية خصيصاً حول منطق فك مربعات الإحاطة المميز في YOLOv7.
متى تختار YOLO11:
- الإنتاج التجاري: تستفيد التطبيقات في البيع بالتجزئة الذكي أو التشخيصات الصحية من قاعدة شيفرات YOLO11 التي تحظى بالصيانة والاستقرار.
- البيئات محدودة الموارد: يجعل الحجم الخفيف لـYOLO11n منه خيارًا مناسبًا للنشر على الأجهزة المحمولة والطرفية عبر ONNX.
- المشاريع متعددة المهام: إذا احتاج تطبيق واحد إلى تحديد شخص ورسم هيكله العظمي (الوضعية) وتقسيم كائن يحمله، فإن YOLO11 يوفر حلاً موحداً.
المضي قدمًا مع YOLO26#
يظل YOLO11 خيارًا موثوقًا، لكن بالنسبة إلى المهندسين الذين يبدؤون مشاريع جديدة اليوم، فإن Ultralytics YOLO26 هو النموذج الموصى به.
يضيف YOLO26، الصادر في يناير 2026، تصميمًا شاملًا اختياريًا خاليًا من NMS (nms=False) يزيل زمن الاستجابة الناتج عن المعالجة اللاحقة لـالقمع غير الأقصى. كما يضيف YOLO26 مُحسِّن MuSGD، المستوحى من أساليب تدريب نماذج اللغة الكبيرة (LLM)، لتحقيق تقارب أسرع. وبفضل ProgLoss + STAL للأجسام الصغيرة، وإزالة DFL التي تسهم في تسريع استدلال YOLO26n على CPU بنسبة تصل إلى 43% مقارنةً بـYOLO11n، جرى تحسين YOLO26 للحوسبة الطرفية.
للمهتمين ببنى بديلة متخصصة، قد يكون استكشاف نموذج RT-DETR القائم على المحولات أو نموذج YOLO-World الديناميكي ذي المفردات المفتوحة مناسبًا أيضًا لبعض عمليات نشر الرؤية الحاسوبية.