YOLOv8 مقابل YOLOv9#
تمتاز تطورات اكتشاف الكائنات في الوقت الفعلي بالسعي المستمر نحو دقة أفضل، وزمن انتقال أقل، واستخدام محسّن للأجهزة. ومن المحطات الرئيسية في هذه المسيرة Ultralytics YOLOv8 وYOLOv9. وبينما يمثل كلا النموذجين أحدث القدرات في computer vision، إلا أنهما يلبيان احتياجات نشر مختلفة، وفلسفات معمارية متنوعة، وبيئات مطورين متباينة.
يوضح هذا الدليل الشامل الاختلافات التقنية والابتكارات المعمارية واعتبارات النشر العملية لمساعدتك في اختيار النموذج المناسب لمشروعك القادم في مجال الذكاء الاصطناعي.
نسب النموذج والفلسفات الأساسية#
قبل الغوص في المقاييس، من الضروري فهم الأصول وأهداف التصميم الأساسية لكل نموذج.
Ultralytics YOLOv8: معيار النظام البيئي متعدد الاستخدامات#
تم إطلاق YOLOv8 بواسطة الفريق في Ultralytics، ولم يُصمم فقط كأداة مستقلة لاكتشاف الكائنات، بل كإطار عمل موحد ومتعدد المهام. وهو يعطي الأولوية لتجربة مطور سلسة، ومتطلبات ذاكرة منخفضة، وتوافق واسع مع الأجهزة.
- المؤلفون: Glenn Jocher، وAyush Chaurasia، وJing Qiu
- المنظمة: Ultralytics
- التاريخ: 2023-01-10
- GitHub: ultralytics/ultralytics
- التوثيق: YOLOv8 Docs
YOLOv9: معلومات التدرج القابلة للبرمجة#
تم تطوير YOLOv9 بشكل مستقل من قبل باحثين في أكاديمية سينيكا، ويركز بشكل كبير على النظرية المعمارية، وتحديداً معالجة ظاهرة اختناق المعلومات في الشبكات العصبية العميقة.
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديمية سينيكا، تايوان
- التاريخ: 21-02-2024
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
إذا كنت تخطط لنشر تجاري واسع النطاق، ففكر في استكشاف Ultralytics Platform لتبسيط التدريب السحابي، وإدارة مجموعات البيانات، وتوفير نقاط نهاية API بنقرة واحدة.
غوص معمق في البنية#
تحدد الخيارات المعمارية في التعلم العميق مدى كفاءة تعلم النموذج وسرعة تشغيله على الأجهزة المستهدفة مثل NVIDIA Jetson أو Intel CPU.
معمارية YOLOv8: وحدة C2f والرؤوس المنفصلة#
قدمت YOLOv8 وحدة C2f (عنق زجاجي جزئي عبر المراحل مع التفافين)، والتي حلت محل وحدة C3 القديمة. يؤدي هذا التغيير إلى تحسين تدفق التدرج ويسمح للشبكة بتعلم تمثيلات ميزات أغنى دون تحميل GPU memory أعباء زائدة.
علاوة على ذلك، تستخدم YOLOv8 تصميماً خالياً من المرساة (anchor-free) مع رأس مفكك (decoupled head). ومن خلال معالجة وجود الكائنات، والتصنيف، والانحدار عبر مسارات منفصلة، يتقارب النموذج بشكل أسرع أثناء التدريب ويتعمم بشكل أفضل على custom datasets المتنوعة.
معمارية YOLOv9: تقنية PGI وGELAN#
تقدم YOLOv9 معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN). تضمن PGI عدم فقدان البيانات الحيوية أثناء مروره عبر طبقات الشبكة، مما يوفر تدرجات موثوقة لتحديثات الأوزان. تعمل GELAN على تعظيم كفاءة المعلمات، مما يماثل تحقيق accuracy عالية مع محاولة الحفاظ على قابلية إدارة عمليات الفاصلة العائمة (FLOPs).
على الرغم من إثارة الإعجاب من الناحية الرياضية، فإن اعتماد YOLOv9 على فروع مساعدة قابلة للعكس أثناء التدريب يمكن أن يجعل كود التدريب أكثر تعقيداً في التخصيص مقارنة بخطوط الإنتاج القياسية.
مقاييس الأداء والمعايير#
يوفر الجدول أدناه مقارنة مباشرة للنماذج عبر الأحجام المختلفة. يتم قياس الأداء على MS COCO dataset، وهو المعيار القياسي لاكتشاف الكائنات.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
ملاحظة: تم تمييز أفضل القيم في كل عمود بـ الخط العريض.
تحليل المقايضات#
تحقق YOLOv9 دقة ذروة أعلى قليلاً (mAP)، لا سيما مع متغيرها الأكبر e. ومع ذلك، يأتي هذا بتكلفة. تحافظ Ultralytics YOLOv8 على ميزة كبيرة في سرعة الاستدلال، خاصة عند تجميعها بتنسيقات مثل TensorRT أو ONNX. بالنسبة للتطبيقات التي تتطلب معدل إطارات مرتفع في الثانية (FPS) على أجهزة الحافة المحدودة (مثل Raspberry Pi أو رقائق الهواتف المحمولة القديمة)، توفر متغيرات YOLOv8 n وs توازناً عملياً أكبر بكثير في الأداء.
كفاءة التدريب وتكامل النظام البيئي#
يتضمن اختيار النموذج أكثر من مجرد النظر إلى جداول الدقة؛ فتجربة المطور هي أمر بالغ الأهمية.
ميزة Ultralytics: سهولة الاستخدام#
غالباً ما يتطلب تدريب YOLOv9 استنساخ مستودعات GitHub المعقدة، وإدارة بيئات PyTorch بعناية، وتكوين أوزان الخسارة المساعدة يدوياً.
في المقابل، تدعم Ultralytics YOLOv8 واجهة برمجة تطبيقات Python مبسطة بشكل ملحوظ. تم تصميمها لسهولة الاستخدام، وهي تتعامل مع تعزيز البيانات، وتسجيل السجلات (إلى أدوات مثل Weights & Biases وComet ML)، وتوزيع الأجهزة بشكل أصلي.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 small model
model = YOLO("yolov8s.pt")
# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)
# Export for edge deployment
model.export(format="engine", quantize=16) # TensorRT exportتقلل واجهة البرمجة الواحدة هذه بشكل كبير من الوقت المستغرق من النموذج الأولي إلى الإنتاج. علاوة على ذلك، يتطلب YOLOv8 عموماً ذاكرة CUDA أقل أثناء التدريب، مما يسمح للمطورين باستخدام أحجام دفعات (batch sizes) أكبر على الأجهزة الموجهة للمستهلكين.
تعدد استخدامات المهام#
بينما تعد YOLOv9 كاشفاً ممتازاً لصناديق الإحاطة، إلا أن ذكاء الاصطناعي للرؤية في العالم الحقيقي يتطلب غالباً المزيد. تعتبر YOLOv8 قوة متعددة الاستخدامات تدعم بشكل أصلي Instance Segmentation، وPose Estimation، وImage Classification، وOriented Bounding Boxes (OBB). إن استخدام إطار عمل واحد لمهام متعددة يقلل بشكل كبير من تضخم البرمجيات وتكاليف الصيانة.
إذا كنت تبدأ مشروعاً جديداً، فقد ترغب أيضاً في تقييم Ultralytics YOLO11 أو YOLO26 المتطور، والذي يتميز بتصاميم أصلية خالية من NMS من البداية إلى النهاية.
حالات الاستخدام في العالم الحقيقي#
كيف يكون أداء هذه النماذج في مرحلة الإنتاج؟
الطائرات بدون طيار المستقلة والروبوتات#
بالنسبة للروبوتات التي تتطلب تجنباً سريعاً للعقبات، فإن YOLOv8 هي الخيار المفضل. يضمن زمن الانتقال الفائق الصغر لـ YOLOv8n استجابة الأنظمة المستقلة لبيئاتها في الوقت الفعلي، مما يمنع الاصطدامات. تجعل قدرات التصدير الأصلية إلى OpenVINO وCoreML نشرها أمراً بسيطاً على الرقائق منخفضة الطاقة النموذجية للطائرات بدون طيار التجارية.
كشف العيوب عالي الدقة#
في بيئات التصنيع المتخصصة حيث يعد اكتشاف الشذوذ المجهري أمراً بالغ الأهمية ويكون المعالجة دون اتصال بالإنترنت مقبولاً، يمكن أن يكون YOLOv9 فعالاً للغاية. تساعد معمارية PGI الشبكة على الاحتفاظ بالتفاصيل البصرية الدقيقة اللازمة لتحديد الشقوق الشعرية أو أخطاء لحام PCB.
تجار التجزئة الأذكياء وتحليلات الأمن#
لتتبع العملاء عبر ممرات المتاجر أو إدارة automated checkout systems، توفر YOLOv8 أفضل توازن. إن قدرتها على تشغيل الاكتشاف وmulti-object tracking في وقت واحد باستخدام خوارزميات قياسية مثل BoT-SORT تجعلها حلاً قوياً لعمليات نشر التجزئة متعددة الكاميرات.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv8 وYOLOv9 على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv8#
يعد YOLOv8 خياراً قوياً لـ:
- نشر متعدد المهام متعدد الاستخدامات: المشاريع التي تتطلب نموذجاً مثبتًا لـ الاكتشاف، والتقسيم، والتصنيف، وتقدير الوضع ضمن نظام Ultralytics البيئي.
- أنظمة الإنتاج الراسخة: بيئات الإنتاج الحالية المبنية بالفعل على بنية YOLOv8 مع خطوط أنابيب نشر مستقرة ومختبرة جيداً.
- دعم مجتمعي ونظام بيئي واسع: التطبيقات التي تستفيد من دروس YOLOv8 الواسعة، والتكاملات مع أطراف ثالثة، وموارد المجتمع النشطة.
متى تختار YOLOv9#
يوصى بـ YOLOv9 لـ:
- أبحاث اختناق المعلومات: المشاريع الأكاديمية التي تدرس معمارية معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN).
- دراسات تحسين تدفق التدرج: الأبحاث التي تركز على فهم وتخفيف فقدان المعلومات في طبقات الشبكة العميقة أثناء التدريب.
- قياس أداء الكشف عالي الدقة: السيناريوهات التي تكون فيها أداء معيار COCO القوي لـ YOLOv9 مطلوباً كنقطة مرجعية للمقارنات المعمارية.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- الكشف عن الأشياء الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء (IoT) حيث تعمل ProgLoss و STAL على تعزيز الدقة بشكل كبير على الأشياء الدقيقة.
التطور القادم: YOLO26#
بينما يعد YOLOv8 وYOLOv9 قويين، فإن مشهد الذكاء الاصطناعي يتحرك بسرعة. بالنسبة للفرق التي تطالب بأفضل أداء على الإطلاق، يعتمد YOLO26 الذي تم إصداره حديثاً على نجاحات هذه الأجيال السابقة.
تقدم YOLO26 تصميماً خالياً من NMS من البداية إلى النهاية، مما يلغي تماماً اختناقات ما بعد المعالجة المعقدة، مما يجعل النشر أبسط وزمن الانتقال أكثر قابلية للتنبؤ. وبفضل محرك MuSGD Optimizer الجديد ووظائف الخسارة المحسنة ProgLoss + STAL، ومع إزالة DFL (إزالة خسارة تركيز التوزيع لتبسيط التصدير وتحسين التوافق مع الحافة/الأجهزة منخفضة الطاقة)، فإنه يحقق استدلال وحدة معالجة مركزية (CPU) أسرع بنسبة تصل إلى 43% مع تعزيز التعرف على الكائنات الصغيرة. بالنسبة للمطورين الذين يدفعون حدود الحوسبة على الحافة، يوصى بشدة بتقييم YOLO26.
باختصار، بينما يقدم YOLOv9 بحثاً معمارياً رائعاً ودقة قصوى ممتازة، يظل Ultralytics YOLOv8 الخيار الأكثر عملية ودعماً وتعدداً للاستخدامات للغالبية العظمى من مهندسي رؤية الحاسوب الذين يهدفون إلى شحن برمجيات موثوقة بسرعة.