YOLOv7 YOLO: تحقيق التوازن بين الابتكار المعماري والسرعة
شهد مجال الكشف عن الأجسام في الوقت الفعلي تغيرات كبيرة في عام 2022 مع طرح YOLOv7 و YOLO. كان الهدف من كلا النموذجين هو تجاوز حدود الدقة والكمون، ولكنهما تعاملا مع التحدي من منظور هندسي مختلف تمامًا. YOLOv7 على تحسين عملية التدريب من خلال نهج "bag-of-freebies"، بينماYOLO البحث في البنية العصبية (NAS) لاكتشاف هياكل فعالة تلقائيًا.
تستكشف هذه المقارنة الشاملة هياكلها ومقاييس أدائها ومنهجيات التدريب الخاصة بها لمساعدتك في تحديد النموذج الذي يناسب تطبيقات الرؤية الحاسوبية الخاصة بك. في حين أن كلاهما لا يزالان مناسبين للمشاريع القديمة، سنناقش أيضًا سبب كون الحلول الحديثة مثل YOLO26 هي المعيار الموصى به حاليًا للتطورات الجديدة.
YOLOv7: مجموعة التحسينات القابلة للتدريب
صدر YOLOv7 في يوليو 2022، YOLOv7 علامة فارقة في YOLO حيث ركز على إصلاحات معمارية حسنت الدقة دون زيادة تكاليف الاستدلال.
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- الجهة المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- أرشيف:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
الابتكارات المعمارية
YOLOv7 شبكة تجميع الطبقات الفعالة الموسعة (E-ELAN). على عكس شبكة ELAN القياسية، التي تتحكم في أقصر وأطول مسارات التدرج، تستخدم شبكة E-ELAN التوسع والخلط ودمج الكاردينالية لتعزيز قدرة الشبكة على التعلم دون تدمير مسار التدرج الأصلي. يتيح هذا التصميم للنموذج تعلم ميزات أكثر تنوعًا، مما يحسن الأداء على مجموعات البيانات المعقدة مثل COCO.
أحد المفاهيم الأساسية في YOLOv7 "حقيبة الهدايا القابلة للتدريب". وهي عبارة عن طرق تحسين — مثل إعادة تحديد معلمات النموذج وتعيين العلامات الديناميكية — تزيد من تكاليف التدريب لتعزيز الدقة ولكنها لا تترتب عليها أي عقوبة أثناء الاستدلال. وهذا يجعل YOLOv7 ممتازًا للسيناريوهات التي تتطلب دقة عالية، مثل تحليل الصور الطبية أو الفحص الصناعي الحرج من حيث السلامة.
YOLO: الكفاءة من خلال البحث في البنية العصبية
طورت مجموعة AlibabaYOLO التي تم دمجها لاحقًا في مجموعة رؤية DAMO-Academy) مع إعطاء الأولوية للسرعة والكمون المنخفض، مستهدفة بشكل خاص التطبيقات الصناعية التي تخضع لقيود صارمة بالمللي ثانية.
- المؤلفون: شيانزه شو، يي تشي جيانغ، وي هوا تشن، ييلون هوانغ، يوان تشانغ، وشيو يو صن
- المؤسسة:مجموعة علي بابا
- التاريخ: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
MAE-NAS والتقطير
تم اشتقاق بنيةYOLO باستخدام طريقة تسمى MAE-NAS (طريقة البحث الآلي عن البنية العصبية الفعالة). وقد وجدت هذه العملية الآلية هياكل أساسية تعمل على تعظيم أداء الكشف في ظل ميزانيات زمن انتقال محددة. كما أدخلت RepGFPN (شبكة هرمية عامة للميزات معلمة بـ Rep) من أجل دمج الميزات بكفاءة و ZeroHead، وهو رأس كشف خفيف الوزن.
YOLO السمات المميزة لـYOLO الكبير على التقطير. عادةً ما يتم تدريب النماذج بمساعدة نموذج "معلم" أكبر، والذي يوجه نموذج "الطالب" لتعلم تمثيلات أفضل. على الرغم من أن هذا ينتج كفاءة مذهلة، إلا أنه يعقد عملية التدريب بشكل كبير مقارنةً بعمليات الكشف عن الكائنات القياسية.
مقارنة الأداء
يُقارن الجدول التالي أداءYOLO YOLOv7 YOLO . يصل YOLOv7 إلى دقة أعلى (mAP)، بينماYOLO نماذج خفيفة للغاية ومُحسّنة من أجل السرعة.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
تحليل المقايضات
- الدقة: يتصدرYOLOv7x بمعدل mAP 53.1٪، مما يجعله مناسبًا للمهام التي يكون فيها فقدان الكشف مكلفًا.
- السرعة:DAMO-YOLOt سريع للغاية (2.32 مللي ثانية على T4 TensorRT)، وهو مثالي لفهم الفيديو عالي معدل الإطارات في الثانية أو النشر على الأجهزة الطرفية المقيدة.
- التعقيد: معلمات YOLOv7 و FLOPs أعلى بكثير، مما يعكس تركيزها على السعة أكثر من الكفاءة البحتة.
ملاحظة حول تعقيد التدريب
بينماYOLO توازنًا ممتازًا بين السرعة والدقة، إلا أن إعادة إنتاج نتائجه على مجموعات بيانات مخصصة قد يكون أمرًا صعبًا. غالبًا ما تتطلب طريقة تدريبه عملية متعددة المراحل تتضمن نموذجًا تعليميًا ثقيلًا للتقطير، بينما YOLOv7 منهجية "التدريب من الصفر" المباشرة التي يسهل تنفيذها.
لماذا يعتبر Ultralytics الخيار الأفضل
على الرغم من أن YOLOv7 YOLO مؤثرين في وقتهما، إلا أن هذا المجال قد تطور بسرعة. بالنسبة للمطورين والباحثين الذين يبدؤون مشاريع جديدة في عام 2026، يوفر YOLO26 حلاً موحدًا يتفوق على كلا السلفين من خلال الجمع بين الدقة العالية والنشر المبسط.
سهولة استخدام ونظام بيئي لا مثيل لهما
يشتهر Ultralytics بتصميمه سهل الاستخدام. على عكس خطوط التقطير المعقدة فيYOLO يوفر YOLO26 Python مبسطة تتولى كل شيء بدءًا من تعليق البيانات وحتى نشر النموذج.
- كفاءة التدريب: قم بتدريب أحدث النماذج في بضع أسطر من التعليمات البرمجية دون الحاجة إلى إعدادات معقدة بين المعلم والطالب.
- صيانة جيدة: التحديثات المتكررة والوثائق الشاملة والدعم النشط من المجتمع يضمنون أن مشروعك سيظل صالحًا في المستقبل.
- تعدد الاستخدامات: بالإضافة إلى الكشف، يدعم YOLO26 بشكل أساسي تقسيم المثيلات وتقدير الوضع والتصنيف ومربع الحدود الموجه (OBB).
YOLO26 الاختراقات التقنية
يقدم YOLO26 العديد من الابتكارات الرئيسية التي تعمل على حل قيود البنى القديمة:
- تصميم NMS من البداية إلى النهاية: من خلال التخلص من تقنية Non-Maximum Suppression (NMS)، يقلل YOLO26 من زمن الاستدلال ويبسط منطق التصدير، وهي ميزة غير موجودة في كل YOLOv7 YOLO القياسية.
- MuSGD Optimizer: مستوحى من تدريب LLM (مثل Kimi K2)، يجمع هذا المحسن الهجين بين SGD Muon لتحقيق تقارب أسرع وتدريب مستقر.
- تحسين الحافة: أدى إزالة فقدان التركيز التوزيعي (DFL) CPU معينة CPU إلى زيادة سرعة YOLO26 بنسبة تصل إلى 43٪ في استنتاج CPU مقارنة بالأجيال السابقة، مما يلبي احتياجات زمن الاستجابة المنخفضة التي استهدفتهاYOLO .
- ProgLoss + STAL: تعمل وظائف الخسارة المتقدمة على تحسين اكتشاف الأجسام الصغيرة، وهي قدرة مهمة للغاية في مجال التصوير بالطائرات بدون طيار والروبوتات.
مثال على الكود: التدريب باستخدام Ultralytics
يوضح هذا المثال مدى سهولة تدريب نموذج YOLO26 الحديث باستخدام Ultralytics . تحل هذه الواجهة الفردية محل ملفات التكوين المعقدة وخطوط الأنابيب متعددة المراحل التي تتطلبها المستودعات القديمة.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended over YOLOv7/DAMO-YOLO)
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
الخلاصة
YOLO كل من YOLOv7 YOLO بشكل كبير في تطور الرؤية الحاسوبية. YOLOv7 أن البنى المصممة يدويًا لا تزال قادرة على تحقيق نتائج SOTA من خلال استراتيجيات تدريب ذكية، بينماYOLO قوة NAS في البيئات المقيدة بالكمون.
ومع ذلك، بالنسبة للتطبيق العملي والواقعي اليوم، فإن YOLO26 هو الخيار الأمثل. فهو يوفر توازنًا في الأداء بين الدقة العالية والسرعة، ومتطلبات ذاكرة أقل بكثير أثناء التدريب مقارنةً بـ Transformers، بالإضافة إلى الدعم القوي من Ultralytics . سواء كنت تبني من أجل الحافة أو السحابة، فإن تصميم YOLO26 الشامل ودعم المهام المتنوع يوفران المسار الأكثر كفاءة للإنتاج.
مزيد من القراءة
- استكشف القائمة الكاملة للطرازات المدعومة.
- تعرف على كيفية مراقبة التدريب باستخدام Ultralytics.
- افهم مزايا YOLO11، السلف القوي لـ YOLO26.