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
YOLOv9: معلومات التدرج القابلة للبرمجة
تم تطوير YOLOv9 بشكل مستقل من قبل باحثين في Academia Sinica، ويركز بشكل كبير على النظرية المعمارية، وتحديدًا معالجة ظاهرة اختناق المعلومات في الشبكات العصبية العميقة.
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2024-02-21
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
إذا كنت تخطط لنشر تجاري واسع النطاق، ففكر في استكشاف Ultralytics Platform لتبسيط التدريب السحابي، وإدارة مجموعات البيانات، ونقاط نهاية REST API بضغطة زر واحدة.
نظرة معمارية متعمقة
تحدد الخيارات المعمارية في التعلم العميق مدى كفاءة تعلم النموذج ومدى سرعة تشغيله على الأجهزة المستهدفة مثل NVIDIA Jetson أو Intel CPU.
معمارية YOLOv8: وحدة C2f والرؤوس المنفصلة (Decoupled Heads)
قدم YOLOv8 وحدة C2f (عنق الزجاجة الجزئي عبر المراحل مع التفافين)، والتي حلت محل وحدة C3 الأقدم. يعمل هذا التغيير على تحسين تدفق التدرج ويسمح للشبكة بتعلم تمثيلات ميزات أكثر ثراءً دون إرهاق GPU memory بشكل كبير.
علاوة على ذلك، يستخدم YOLOv8 تصميمًا خاليًا من المرساة (anchor-free) مع رأس منفصل (decoupled head). من خلال معالجة وجود الجسم، والتصنيف، والانحدار عبر مسارات منفصلة، يتقارب النموذج بشكل أسرع أثناء التدريب ويعمم بشكل أفضل على custom datasets متنوعة.
معمارية YOLOv9: تقنية PGI وGELAN
يقدم YOLOv9 تقنية Programmable Gradient Information (PGI) وشبكة Generalized Efficient Layer Aggregation Network (GELAN). تضمن PGI عدم فقدان البيانات الحيوية أثناء مرورها عبر طبقات الشبكة، مما يوفر تدرجات موثوقة لتحديثات الأوزان. تعمل GELAN على زيادة كفاءة المعلمات إلى أقصى حد، مما يسمح للنموذج بتحقيق accuracy عالية مع محاولة إبقاء العمليات الحسابية (FLOPs) تحت السيطرة.
على الرغم من إثارة إعجاب YOLOv9 رياضيًا، إلا أن اعتماده على فروع عكسية مساعدة محددة أثناء التدريب يمكن أن يجعل كود التدريب أكثر تعقيدًا عند التخصيص مقارنة بخطوط الأنابيب القياسية.
مقاييس الأداء والمعايير
يوفر الجدول أدناه مقارنة مباشرة للنماذج عبر أحجام مختلفة. يتم قياس الأداء على MS COCO dataset، وهو معيار قياسي لاكتشاف الأجسام.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| 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 أو رقائق الهاتف المحمول الأقدم)، توفر متغيرات n و s في YOLOv8 توازن أداء أكثر عملية بكثير.
كفاءة التدريب وتكامل النظام البيئي
يتضمن اختيار النموذج أكثر من مجرد النظر إلى جداول الدقة؛ فتجربة المطور هي الأهم.
ميزة Ultralytics: سهولة الاستخدام
يتطلب تدريب YOLOv9 غالبًا استنساخ مستودعات GitHub معقدة، وإدارة بيئات PyTorch بعناية، وتكوين أوزان الخسارة الإضافية يدويًا.
في المقابل، تدعم Ultralytics YOLOv8 واجهة برمجة تطبيقات (API) بايثون مبسطة بشكل ملحوظ. وبفضل تصميمها لسهولة الاستخدام، فهي تتعامل مع تعزيز البيانات، والتسجيل (في أدوات مثل 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", half=True) # TensorRT exportتقلل واجهة البرمجة الواحدة هذه بشكل كبير من الوقت المستغرق من النموذج الأولي إلى الإنتاج. علاوة على ذلك، يتطلب YOLOv8 عمومًا ذاكرة CUDA أقل أثناء التدريب، مما يسمح للمطورين باستخدام أحجام دفعات أكبر على الأجهزة المخصصة للمستهلكين.
تعدد مهام النموذج
بينما يعد 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: التطبيقات التي تتطلب استدلالاً ثابتاً ومنخفض التأخير دون تعقيد المعالجة اللاحقة لـ Non-Maximum Suppression.
- بيئات تعتمد فقط على CPU: الأجهزة التي لا تحتوي على تسريع GPU مخصص، حيث توفر سرعة استدلال YOLO26 الأسرع بنسبة تصل إلى 43% على CPU ميزة حاسمة.
- اكتشاف الكائنات الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار أو تحليل مستشعرات إنترنت الأشياء حيث تعزز ProgLoss و STAL الدقة بشكل كبير على الكائنات الصغيرة جداً.
التطور القادم: YOLO26
بينما يتمتع YOLOv8 و YOLOv9 بالقوة، إلا أن مشهد الذكاء الاصطناعي يتحرك بسرعة. للفرق التي تطلب أفضل أداء مطلق، يبني YOLO26 الذي تم إصداره حديثًا على نجاحات هذه الأجيال السابقة.
يقدم YOLO26 تصميمًا خاليًا من NMS من البداية إلى النهاية، والذي يلغي تمامًا اختناقات المعالجة اللاحقة المعقدة، مما يجعل النشر أكثر بساطة وزمن الانتقال أكثر قابلية للتنبؤ. وبفضل محرك MuSGD Optimizer الجديد ووظائف الخسارة المحسنة ProgLoss + STAL، مع إزالة DFL Removal (تمت إزالة خسارة Focal للتوزيع لتسهيل التصدير وتحسين التوافق مع أجهزة الحافة/الأجهزة منخفضة الطاقة)، فإنه يحقق استنتاجًا أسرع بنسبة تصل إلى 43% على وحدة المعالجة المركزية مع تعزيز التعرف على الأجسام الصغيرة. للمطورين الذين يدفعون حدود حوسبة الحافة، يوصى بشدة بتقييم YOLO26.
باختصار، بينما يقدم YOLOv9 أبحاثًا معمارية رائعة ودقة قصوى ممتازة، تظل Ultralytics YOLOv8 الخيار الأكثر عملية ومدعومة بشكل جيد وتعددًا في الاستخدامات لغالبية مهندسي رؤية الكمبيوتر الذين يهدفون إلى شحن برامج موثوقة بسرعة.