YOLOv8 مقابل YOLOv7: مقارنة فنية شاملة
كان تطور نماذج الكشف عن الكائنات سريعًا، حيث تقود عائلة YOLO (You Only Look Once) الطريق في الأداء في الوقت الفعلي. يتضمن الاختيار بين YOLOv8 و YOLOv7 فهم ليس فقط مقاييسها الأولية، ولكن أيضًا الفلسفات المعمارية وتجربة المطور ودعم النظام البيئي الذي يحيط بها. في حين أن YOLOv7 وضعت معايير رائعة عند إصدارها، فقد قدمت Ultralytics YOLOv8 تحولًا نموذجيًا في سهولة الاستخدام والتنوع.
يوفر هذا الدليل تحليلاً فنيًا مفصلاً لمساعدة المطورين والباحثين على اختيار الأداة المناسبة لمشاريع الرؤية الحاسوبية الخاصة بهم.
تحليل الأداء
عند مقارنة الأداء، من الضروري النظر إلى المفاضلة بين سرعة الاستدلال ودقة الكشف (mAP). يقدم YOLOv8 بشكل عام توازنًا فائقًا، مما يوفر دقة أعلى لأحجام النماذج المماثلة وسرعات استدلال أسرع على الأجهزة الحديثة.
يسلط الجدول التالي الضوء على اختلافات الأداء في مجموعة بيانات 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 |
النقاط الرئيسية
- الكفاءة: يحقق نموذج YOLOv8n (nano) سرعات ملحوظة (1.47 مللي ثانية على وحدة معالجة الرسوميات GPU)، مما يجعله مثاليًا لتطبيقات الذكاء الاصطناعي الطرفي حيث يكون زمن الوصول أمرًا بالغ الأهمية.
- الدقة: يتفوق YOLOv8x على YOLOv7x في الدقة (53.9% مقابل 53.1% mAP) مع الحفاظ على عدد معقول من المعلمات.
- التحسين: تُظهر نماذج YOLOv8 كفاءة أفضل في المعلمات، مما يوفر أداءً أعلى لكل FLOP، مما يترجم إلى استهلاك أقل للطاقة أثناء الاستدلال.
Ultralytics YOLOv8: المعيار الحديث
تم إصداره بواسطة Ultralytics في أوائل عام 2023، تم تصميم YOLOv8 ليكون الأحدث (SOTA) ليس فقط في الأداء، ولكن أيضًا في المرونة وسهولة الاستخدام. إنه يوحد مهام رؤية الكمبيوتر المتعددة في إطار عمل واحد مبسط.
- المؤلفون: Glenn Jocher و Ayush Chaurasia و Jing Qiu
- المؤسسة:Ultralytics
- التاريخ: 2023-01-10
- GitHub:ultralytics/ultralytics
- المستندات:توثيق YOLOv8
الهيكلة والابتكار
يقدم YOLOv8 آلية detect خالية من الـ anchor، مما يبسط عملية التدريب عن طريق إزالة الحاجة إلى حسابات صندوق الـ anchor اليدوية. هذا يقلل من عدد تنبؤات الصندوق ويسرع Non-Maximum Suppression (NMS).
تتميز البنية بوحدة C2f module (عنق الزجاجة الجزئي عبر المراحل مع اثنين من الالتواءات)، والذي يجمع بين الميزات عالية المستوى والمعلومات السياقية بشكل أكثر فعالية من التكرارات السابقة. يؤدي هذا إلى تدفق تدرج أكثر ثراءً وتقاربًا محسنًا للتعلم. بالإضافة إلى ذلك، تستخدم YOLOv8 رأسًا منفصلاً، لمعالجة مهام الموضوعية والتصنيف والانحدار بشكل مستقل للحصول على دقة أكبر.
نقاط القوة
- تكامل النظام البيئي: مدمج بالكامل مع النظام البيئي لـ Ultralytics، مما يسمح بتدريب النماذج والتحقق من صحتها ونشرها بسلاسة عبر واجهة برمجة تطبيقات python بسيطة أو CLI.
- تنوع الاستخدامات: يدعم أصليًا الكشف عن الكائنات، و تقسيم المثيلات، و تقدير الوضعية، و تصنيف الصور، و الصناديق المحيطة الموجهة (OBB).
- تجربة المطور: التثبيت بسيط مثل
pip install ultralytics، مع توثيق شامل ودعم مجتمعي نشط على GitHub و Discord.
YOLOv7: معيار في الكفاءة
أحدث YOLOv7 ضجة كبيرة عند إصداره من خلال تقديم تحسينات معمارية تركز على "حقيبة الامتيازات المجانية" - طرق لزيادة الدقة دون زيادة تكلفة الاستدلال.
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المؤسسة:معهد علوم المعلومات، أكاديميا سينيكا
- التاريخ: 2022-07-06
- Arxiv:YOLOv7: Trainable bag-of-freebies sets new state-of-the-art
- GitHub:WongKinYiu/yolov7
الهندسة المعمارية والنهج
يستخدم YOLOv7 شبكة تجميع الطبقات الفعالة الممتدة (E-ELAN)، التي تتحكم في أقصر وأطول مسارات التدرج للسماح للشبكة بتعلم المزيد من الميزات بكفاءة. يؤكد بشدة على تغيير حجم النموذج (تغيير العمق والعرض في وقت واحد) ويقدم تقنيات إعادة تحديد المعلمات لدمج الطبقات أثناء الاستدلال، مما يؤدي إلى تسريع النموذج دون فقدان دقة التدريب.
نقاط القوة والقيود
YOLOv7 هو نموذج قوي يوفر نسبًا ممتازة للسرعة والدقة، خاصة على أجهزة الـ GPU. يضمن نهج "حقيبة الامتيازات المجانية" الخاص به بقاء النموذج خفيف الوزن أثناء النشر. ومع ذلك، بالمقارنة مع YOLOv8، فإنه يفتقر إلى دعم المهام المتعددة الموحد خارج الصندوق ويتطلب إجراءات إعداد أكثر تعقيدًا تتضمن استنساخ المستودعات وإدارة التبعيات يدويًا. وهو متخصص بشكل أساسي في الكشف عن الأجسام، وغالبًا ما تتطلب المهام الأخرى فروعًا أو تطبيقات منفصلة.
مقارنة فنية متعمقة
سهولة الاستخدام والنظام البيئي
يكمن أحد أبرز الاختلافات في سهولة الاستخدام. يتم تجميع Ultralytics YOLOv8 كمكتبة Python قياسية. وهذا يعني أنه يمكن للمطورين دمجها في خطوط الإنتاج الحالية بأقل قدر من التعليمات البرمجية. في المقابل، يعمل YOLOv7 عادةً كقاعدة تعليمات برمجية مستقلة يجب استنساخها وتعديلها.
تجربة المطور
يمكّن YOLOv8 من تدريب نموذج في ثلاثة أسطر فقط من تعليمات python البرمجية. تعمل تجربة المستخدم المبسطة هذه على تقليل الوقت اللازم لطرح حلول الذكاء الاصطناعي في السوق بشكل كبير.
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100)
تنوع المهام
غالبًا ما تتطلب مشاريع رؤية الكمبيوتر الحديثة أكثر من مجرد مربعات إحاطة.
- YOLOv8: نموذج حقيقي متعدد المهام. يمكنك التبديل من الكشف إلى تقسيم أو تقدير الوضعية ببساطة عن طريق تغيير ملف وزن النموذج (على سبيل المثال،
yolov8n-seg.pt). - YOLOv7: يركز بشكل أساسي على الكشف (detect). في حين توجد امتدادات، إلا أنها ليست متكاملة أو تتم صيانتها بإحكام داخل إطار عمل موحد واحد.
كفاءة التدريب والذاكرة
يعمل YOLOv8 على تحسين متطلبات الذاكرة أثناء التدريب. يقوم بتطبيق استراتيجيات زيادة البيانات الذكية التي يتم إيقاف تشغيلها قرب نهاية التدريب لتحسين الدقة. علاوة على ذلك، يدعم إطار عمل Ultralytics تنسيقات مجموعات البيانات المختلفة ويتعامل مع التنزيل التلقائي لمجموعات البيانات القياسية، مما يجعل كفاءة التدريب أعلى بشكل ملحوظ.
غالبًا ما تتطلب النماذج القائمة على المحولات (Transformer) كميات هائلة من ذاكرة CUDA وتتدرب ببطء. بالمقارنة، يعتمد كل من YOLOv7 و YOLOv8 على الشبكات العصبونية الالتفافية (CNN) ويتسمان بالكفاءة، ولكن غالبًا ما تؤدي الخيارات المعمارية الحديثة في YOLOv8 (مثل كتلة C2f) إلى تقارب أسرع و كفاءة أفضل للذاكرة على الأجهزة من الدرجة الاستهلاكية.
حالات الاستخدام في العالم الحقيقي
إدارة البيع بالتجزئة والمخزون
بالنسبة إلى تحليلات البيع بالتجزئة، السرعة هي الأهم. يمكن تشغيل YOLOv8n على الأجهزة الطرفية مثل الكاميرات أو وحدات NVIDIA Jetson لتتبع المخزون في الوقت الفعلي. تضمن سرعة الاستدلال العالية احتساب المنتجات المتحركة بدقة دون تأخير.
الأنظمة المستقلة والروبوتات
تتطلب الروبوتات فهمًا مكانيًا دقيقًا. تتيح قدرات segmentation الخاصة بـ YOLOv8 للروبوتات تمييز الشكل الدقيق للعقبات بدلاً من مجرد مربع إحاطة. هذا التنوع يحسن سلامة الملاحة. في حين أن YOLOv7 قادر، إلا أن تنفيذ segmentation يتطلب المزيد من الجهد وقواعد التعليمات البرمجية المتباينة.
الزراعة
في الزراعة الدقيقة، تقوم النماذج بـ detect أمراض المحاصيل أو مراقبة النمو. إن النظام البيئي الذي تتم صيانته جيدًا لـ Ultralytics يعني أن الباحثين لديهم إمكانية الوصول إلى الأوزان المدربة مسبقًا والبرامج التعليمية المجتمعية خصيصًا لمجموعات البيانات المتخصصة هذه، مما يقلل من عائق الدخول.
الخلاصة
في حين أن YOLOv7 لا يزال بنية محترمة وقوية في تاريخ رؤية الحاسوب، إلا أن Ultralytics YOLOv8 يمثل الخيار الأفضل للتطوير الحديث. إن جمعه بين الأداء المتطور و التنوع الذي لا مثيل له و النظام البيئي الذي يركز على المطور يجعله الحل الأمثل لكل من البحث الأكاديمي ونشر المؤسسات.
بالنسبة لأولئك الذين يبحثون عن أحدث ما توصلت إليه الكفاءة والتطوير المعماري، أصدرت Ultralytics أيضًا YOLO11، الذي يدفع الحدود إلى أبعد من ذلك. ومع ذلك، لإجراء مقارنة مباشرة مع الجيل v7، يبرز YOLOv8 كفائز قوي وموثوق وسهل الاستخدام.
مزيد من القراءة
استكشف مقارنات النماذج الأخرى لتعميق فهمك لمشهد YOLO:
- YOLO11 مقابل YOLOv8 - قارن بين أحدث التكرارات.
- YOLOv5 vs YOLOv8 - تعرف على كيفية تطور البنية من الإصدار v5.
- YOLOv10 مقابل YOLOv8 - تحليل مناهج معمارية مختلفة.
- قاموس مصطلحات Ultralytics - فهم المصطلحات الأساسية مثل mAP و IoU.