YOLOv8 مقابل YOLOv7: مقارنة فنية شاملة
يتطور مجال الرؤية الحاسوبية باستمرار، حيث توسع البنى الجديدة حدود ما هو ممكن في مجال الكشف عن الأجسام في الوقت الفعلي. في هذا التحليل المتعمق، نقارن بين نموذجين مؤثرين للغاية: Ultralytics YOLOv8 و YOLOv7. وقد أثر كلا النموذجين بشكل كبير على مجتمع المطورين والبحوث الأكاديمية، حيث يقدمان نُهجًا فريدة لحل المهام البصرية المعقدة.
إن فهم الاختلافات الهيكلية والمنهجية بين هذين النموذجين أمر بالغ الأهمية لمهندسي التعلم الآلي الذين يسعون إلى تحسين خطوط إنتاجهم. في حين YOLOv7 نهجًا قويًا "bag-of-freebies" مصممًا خصيصًا للإنتاجية الأولية،YOLOv8 Ultralytics YOLOv8 على إنشاء نظام بيئي شامل وسهل الاستخدام يوازن بين الدقة العالية واستهلاك الذاكرة المنخفض وتعدد المهام.
Ultralytics YOLOv8: معيار النظام البيئي متعدد الاستخدامات
أصدرت Ultralytics أوائل عام 2023 YOLOv8 تحولًا كبيرًا في البنية مقارنة بسابقيه. وقد تم تصميمه من الألف إلى الياء ليكون أكثر من مجرد كاشف للأجسام في الوقت الفعلي؛ فهو إطار عمل موحد قادر على التعامل مع مجموعة واسعة من مهام الرؤية الجاهزة للاستخدام.
- المؤلفون: Glenn Jocher و Ayush Chaurasia و Jing Qiu
- المؤسسة:Ultralytics
- التاريخ: 2023-01-10
- GitHub:ultralytics/ultralytics
- الوثائق:وثائق YOLOv8
الابتكارات المعمارية
YOLOv8 رأس كشف مبتكر بدون مرساة. وهذا يبسط عملية التدريب بشكل جذري من خلال التخلص من الحاجة إلى تكوين مربعات المرساة يدويًا بناءً على التوزيع المحدد لمجموعة البيانات المخصصة الخاصة بك. هذا الاختيار التصميمي يجعل النموذج قويًا للغاية ويسهل تعميمه عبر بيئات مختلفة.
بالإضافة إلى ذلك، تتميز البنية بوحدة C2f (عنق الزجاجة الجزئي عبر المراحل مع اثنين من التلافيف)، وهي ترقية هيكلية تعمل على تحسين تدفق التدرج وتسمح للشبكة العصبية بتعلم تمثيلات أكثر ثراءً للميزات دون زيادة تكلفة الحوسبة بشكل كبير. وهذا يجعل النموذج عالي الكفاءة عند تشغيل الاستدلال عبر أطر عمل التعلم العميق القياسية مثل PyTorch.
كفاءة الذاكرة
تم تصميمYOLO Ultralytics YOLO لتحقيق أقصى قدر من الكفاءة في التدريب. وعادةً ما تتطلب هذه النماذج CUDA أقل بكثير أثناء التدريب مقارنة بالبنى القائمة على المحولات أو شبكات CNN الأثقل. وهذا يتيح لك التدريب باستخدام أحجام دفعات أكبر على أجهزة من فئة المستهلكين، مما يسرع من دورة التطوير.
YOLOv7: نهج "حقيبة التحسينات المجانية"
YOLOv7 طرح YOLOv7 في منتصف عام 2022 وسرعان ما أصبح معيارًا شائعًا في الأوساط الأكاديمية. وركز بشكل كبير على إعادة تحديد معلمات الهندسة المعمارية وتحسين مسار التدرج لدفع حدود الكشف عن الكائنات في الوقت الفعلي على وحدات معالجة الرسومات المتطورة.
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- أرشيف:2207.02696
- GitHub:WongKinYiu/yolov7
الابتكارات المعمارية
YOLOv7 شبكة تجميع طبقات فعالة موسعة (E-ELAN)، والتي تسمح للنموذج بتعلم ميزات أكثر تنوعًا بشكل مستمر. يعتمد بشكل كبير على نموذج قائم على المراسي ويقدم "حقيبة هدايا" قابلة للتدريب — وهي مجموعة من طرق التحسين التي تعمل على تحسين الدقة دون زيادة تكلفة الاستدلال.
بينما YOLOv7 أداءً ممتازًا في المعايير الأكاديمية القياسية مثل COCO فإن بنيته مُحسّنة بشكل كبير لمُسرّعات الخادم. قد يتطلب تصدير هذه النماذج ونشرها على الأجهزة الطرفية في بعض الأحيان مزيدًا من التكوين اليدوي مقارنةً بالأطر الأكثر حداثةً وبساطةً.
مقارنة مفصلة للأداء
عند تقييم هذه النماذج، فإن المفاضلة بين السرعة والدقة وحجم النموذج هي الاعتبار الأساسي. يوضح الجدول أدناه المقاييس لكلا النموذجين.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
كما يتضح من البيانات، YOLOv8x أعلى دقة مطلقة (53.9 mAP)، بينما يوفر النوع النانوي (YOLOv8n) سرعات استدلال استثنائية وبصمة خفيفة للغاية. هذا التنوع يجعل YOLOv8 قابلية للتكيف مع بيئات الأجهزة المقيدة.
Ultralytics : سهولة الاستخدام والنظام البيئي
بينما YOLOv7 مقاييس كشف أولية قوية، Ultralytics YOLOv8 يتفوق عليه بشكل كبير من حيث تجربة المطورين وتكامل النظام البيئي وقدرات تعدد المهام.
تنوع لا مثيل له
YOLOv7 في الأساس نموذج للكشف، مع فروع تجريبية لمهام أخرى. في المقابل، يدعم YOLOv8 الكشف عن الكائنات، وتقسيم الحالات، وتصنيف الصور، وتقدير الوضع، والمربعات المحددة الاتجاه (OBB). هذا النهج الموحد يعني أن الفريق يمكنه تعلم واجهة برمجة تطبيقات واحدة ونشرها عبر متطلبات مشروع مختلفة تمامًا.
نشر وتكامل مبسطان
غالبًا ما يكون تصدير نموذج للإنتاج بمثابة عقبة. تتيح Ultralytics للمطورين التصدير إلى تنسيقات مثل ONNXو TensorRTو CoreML سطر واحد من Python . وهذا يتجنب مشكلات دعم المشغل التي تصادف أحيانًا عند تصدير الرسوم البيانية المعقدة القائمة على المراسي.
علاوة على ذلك، YOLOv8 بسلاسة مع أدوات MLOps. سواء كنت تتابع التجارب باستخدام Weights & Biases أو تختبر عمليات النشر على Hugging Face فإن نظام Ultralytics يتولى المهام الصعبة.
مثال على الكود: تدريب وتصدير YOLOv8
يوضح الكود التالي بساطةPython Ultralytics Python . يمكنك الانتقال من تهيئة النموذج إلى تدريبه وتصديره لنشره على الحافة في أقل من عشر أسطر من الكود.
from ultralytics import YOLO
# Load a pretrained YOLOv8 nano model for fast inference
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
# The API handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export the trained model to ONNX format for deployment
model.export(format="onnx")
مرونة النشر
باستخدام model.export() توفر هذه الوظيفة جسراً فورياً لمحركات الاستدلال عالية الأداء، مما يتيح لك دمج YOLOv8 بسهولة YOLOv8 تطبيقات الأجهزة المحمولة أو الأنظمة المدمجة أو خوادم السحابة عالية الإنتاجية.
حالات الاستخدام في العالم الحقيقي
تحدد الاختلافات المعمارية بين النموذجين سيناريوهات النشر المثالية لكل منهما.
متى تختار YOLOv8:
- أجهزة Edge AI و IoT: توفر نماذج Nano و Small فائقة السرعة يجعل YOLOv8 للأجهزة ذات الحوسبة المحدودة، مثل الكاميرات الذكية أو الطائرات بدون طيار.
- المشاريع متعددة المهام: إذا كان خط أنابيبك يتطلب تتبع مفاصل الإنسان (تقدير الوضع) مع تحديد العوائق في الوقت نفسه (التجزئة)، YOLOv8 ذلك بشكل أساسي.
- من النماذج الأولية السريعة إلى الإنتاج: تتيح Ultralytics الشاملة Ultralytics و Python السلسة للفرق طرح المنتجات في السوق بشكل أسرع.
متى يجب التفكير في استخدام YOLOv7:
- المقارنة الأكاديمية: غالبًا ما يستخدم الباحثون الذين يدرسون تأثيرات تقنيات إعادة تحديد المعلمات YOLOv7 قياسي، كما يتضح من شعبيته على موقع Papers With Code.
- خطوط أنابيب الخادم القديمة: إذا كان خط أنابيب الحوسبة الثقيلة الحالي قد تم تحسينه بالفعل بشكل صارم حول مخرجات الربط المحددة YOLOv7 فقد يكون من العملي الحفاظ عليه على المدى القصير.
التطلع إلى المستقبل: الجيل القادم
بينما YOLOv8 قوة متعددة الاستخدامات، فإن مجال الذكاء الاصطناعي يتطور بسرعة. بالنسبة للفرق التي تبدأ مشاريع جديدة، نوصي بشدة باستكشاف أحدث التطورات في Ultralytics .
أحدث جيل، YOLO26، يمثل قمة الذكاء الاصطناعي البصري الحالي. يتميز بتصميم شامل NMS، مما يلغي الحاجة إلى معالجة ما بعد القمع غير الأقصى من أجل نشر أبسط وأسرع. مع إزالة Distribution Focal Loss (DFL) وإدخال MuSGD Optimizer المستوحى من LLM، يوفر YOLO26 تدريبًا أكثر استقرارًا CPU أسرع بنسبة تصل إلى 43٪ CPU . تعمل وظائف الخسارة المتقدمة ProgLoss + STAL على تحسين التعرف على الأجسام الصغيرة بشكل كبير، مما يجعله الخيار الأمثل للحوسبة الحديثة والصور الجوية.
بالنسبة للمستخدمين الذين ينتقلون من أنظمة قديمة، فإن YOLO11 و YOLOv5 الكلاسيكي ضمن Ultralytics الموحد، مما يضمن توفر نموذج مبسط وعالي الأداء جاهز للتنفيذ بغض النظر عن قيود الأجهزة لديك.