YOLOv10 YOLOv8: دراسة تقنية متعمقة حول الكشف الحديث عن الأجسام
شهد تطور الكشف عن الكائنات في الوقت الفعلي سلسلة سريعة من البنى المبتكرة، التي سعت كل منها إلى تخطي حدود الدقة وسرعة الاستدلال والكفاءة الحسابية. في هذا الدليل التقني الشامل، نقارن بين معلمتين رئيسيتين في مجال الرؤية الحاسوبية: YOLOv10 و Ultralytics YOLOv8. في حين أن YOLOv8 معيارًا شديد التنوع وجاهزًا للإنتاج، فإن YOLOv10 تغييرات معمارية تهدف بشكل خاص إلى إزالة معوقات ما بعد المعالجة.
إن فهم المزايا المميزة لهذه النماذج وبنيتها ومقاييس أدائها أمر بالغ الأهمية للمطورين والباحثين الذين يهدفون إلى نشر حلول الذكاء الاصطناعي المتطورة في مجال الرؤية في سيناريوهات واقعية.
المواصفات الفنية والمؤلف
لتقييم هذه النماذج بشكل فعال، من المفيد فهم أصولها والتركيز الأساسي لفرق البحث المعنية.
YOLOv10: كفاءة شاملة
تم تطوير YOLOv10 من قبل باحثين في جامعة تسينغهوا، YOLOv10 صُمم لمعالجة العبء الحسابي الذي تسببه خطوات المعالجة اللاحقة في الأجيال السابقة.
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المؤسسة:جامعة تسينغ - هوا
- التاريخ: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- الوثائق:وثائق YOLOv10
Ultralytics YOLOv8: المعيار متعدد الاستخدامات
صدر YOLOv8 في أوائل عام 2023، YOLOv8 أصبح عنصرًا أساسيًا في الصناعة بفضل بنيته القوية وتكامله الفريد مع النظام البيئي الأوسع للتعلم الآلي.
- المؤلفون: Glenn Jocher و Ayush Chaurasia و Jing Qiu
- المؤسسة:Ultralytics
- التاريخ: 2023-01-10
- GitHub:ultralytics/ultralytics
الابتكارات المعمارية
يقدم كلا النموذجين تحسينات كبيرة لبنية YOLO التقليدية، على الرغم من أنهما يستهدفان جوانب مختلفة قليلاً من مسار العمل.
بنية YOLOv10
الميزة البارزة في YOLOv10 استراتيجية التدريبNMS. عادةً ما تعتمد أجهزة الكشف عن الأجسام على تقنية Non-Maximum Suppression (NMS) أثناء الاستدلال لتصفية المربعات المتداخلة. قد تؤدي هذه الخطوة إلى حدوث تأخير وتعقيد عملية النشر من البداية إلى النهاية. YOLOv10 مهام مزدوجة متسقة أثناء التدريب، مما يسمح للنموذج بالتنبؤ بمربع حدود واحد ودقيق لكل كائن بشكل أصلي. علاوة على ذلك، يستخدم تصميم نموذج شامل قائم على الكفاءة والدقة، ويحسن مختلف المكونات لتقليل FLOPs وعدد المعلمات بشكل كبير.
بنية YOLOv8
YOLOv8 رأس كشف بدون مرساة، مبتعدًا عن الأساليب القائمة على المرساة التي اتبعتها النسخ السابقة. وهذا يقلل من عدد تنبؤات المربعات ويسرع NMS . بالإضافة إلى ذلك، YOLOv8 وحدة C2f (عنق الزجاجة الجزئي عبر المراحل مع اثنين من التلافيف)، مما يحسن تدفق التدرج ويسمح للشبكة بتعلم تمثيلات أكثر ثراءً للميزات دون زيادة تكلفة الحوسبة بشكل كبير. تفصل بنية الرأس المنفصلة مهام الكائنات والتصنيف والانحدار، مما يؤدي إلى تقارب أسرع ودقة إجمالية أعلى.
الأداء والمعايير
عند نشر النماذج على الأجهزة الطرفية أو خوادم السحابة، فإن التوازن بين السرعة والدقة أمر بالغ الأهمية. يقدم الجدول أدناه مقارنة مباشرة بين النموذجين عبر أحجام مختلفة.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| 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 |
ملاحظة: الخلايا الفارغة تشير إلى المقاييس التي لم يتم الإبلاغ عنها رسميًا في ظل ظروف اختبار متطابقة.
كما يتضح من البيانات، يُظهر YOLOv10 كفاءة استثنائية في المعلمات، حيث غالبًا ما يطابق أو يتجاوز قيمة mAP لنظرائه من YOLOv8 مع استخدام عدد أقل من المعلمات وعمليات FLOPs. ومع ذلك، يظل YOLOv8 تنافسيًا بشكل لا يصدق، حيث يقدم تكامل TensorRT مُحسّنًا للغاية يضمن الحد الأدنى من زمن انتقال الاستدلال على وحدات GPU الحديثة.
تسريع الأجهزة
عند استهداف بيئات الإنتاج، فإن استخدام تنسيقات مثل ONNX أو TensorRT يحسن بشكل كبير من سرعات الاستدلال. YOLOv10 كل من YOLOv8 YOLOv10 التصدير السلس إلى هذه التنسيقات البيانية عالية التحسين.
النظام البيئي وكفاءة التدريب والتنوع
يتجاوز اختيار النموذج المعايير النظرية؛ فتجربة المطور والنظام البيئي المحيط به لا تقل أهمية.
ميزة Ultralytics
YOLOv8 إحدى نقاط القوة الأساسية لـ YOLOv8 تكاملها الوثيق مع Ultralytics . توفر هذه البيئة تجربة "من الصفر إلى القمة"، تتميز Python سهلة الاستخدام للغاية ووثائق شاملة. على عكس المستودعات التي تركز على الأبحاث والتي قد تتطلب إعدادات بيئية معقدة، تشتهر Ultralytics بسهولة استخدامها.
علاوة على ذلك، YOLOv8 بتعدد استخداماته بطبيعته. في حين أن YOLOv10 بشكل صارم لاكتشاف الكائنات، YOLOv10 Ultralytics يسمح للمطورين بالتنقل بسلاسة بين مهام اكتشاف الكائنات وتقسيم الحالات وتصنيف الصور وتقدير الوضع ومهام الصندوق المحيط الموجه (OBB) ضمن نفس المكتبة وبنية واجهة برمجة التطبيقات (API) بالضبط.
متطلبات الذاكرة والتدريب
تم تصميمYOLO Ultralytics YOLO مع التركيز على كفاءة التدريب. وهي تتميز عمومًا باستخدام أقل للذاكرة أثناء التدريب والاستدلال مقارنةً بنماذج المحولات المعقدة، مما يتيح للمطورين تدريب نماذج متطورة على أجهزة المستهلكين أو حالات السحابة القياسية دون نفاد CUDA . يضمن التعامل التلقائي مع ضبط المعلمات الفائقة وزيادة البيانات التقارب السريع.
فيما يلي مثال عملي على مدى سهولة تدريب النموذج والتحقق من صحته باستخدامPython Ultralytics Python :
from ultralytics import YOLO
# Load a pretrained model (YOLOv8 recommended for general tasks)
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset with automatic memory management
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Run inference on a test image
predictions = model("https://ultralytics.com/images/zidane.jpg")
predictions[0].show()
الجيل القادم: YOLO26
في حين YOLOv10 YOLOv8 YOLOv10 إنجازات استثنائية، فإن مجال التعلم الآلي في تقدم مستمر. بالنسبة للمطورين الذين يبدؤون مشاريع جديدة، نوصي بشدة بالاستفادة من YOLO26، أحدث نموذج رائد من Ultralytics في يناير 2026.
يجمع YOLO26 بين أفضل التطورات المعمارية في السنوات الماضية في إطار عمل واحد ومُحسّن للغاية. وهو يرث التصميم الشامل NMS الذي ابتكرته نماذج مثل YOLOv10، مما يؤدي إلى تبسيط خطوط الإنتاج وتقليل تقلب زمن الاستجابة. علاوة على ذلك، يقدم YOLO26 مُحسّن MuSGD، وهو نظام هجين مستوحى من استقرار تدريب LLM الذي يضمن تقاربًا أسرع وأكثر استقرارًا.
تشمل التحسينات الرئيسية في YOLO26 ما يلي:
- استدلال أسرع على CPU بنسبة تصل إلى 43%: مُحسّن بشكل كبير للأجهزة الطرفية من خلال إزالة Distribution Focal Loss (DFL).
- ProgLoss + STAL: دوال خسارة متقدمة تحسن بشكل كبير التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية لصور الطائرات بدون طيار ومستشعرات إنترنت الأشياء.
- تحسينات خاصة بالمهام: معماريات متخصصة للتجزئة، وتقدير الوضعية، و OBB، مما يضمن أداءً رفيع المستوى عبر جميع مجالات الرؤية.
حالات الاستخدام المثالية واستراتيجيات النشر
عند الاختيار بين هذه البنى، ضع في اعتبارك الاحتياجات المحددة لبيئة النشر لديك:
- اختر YOLOv10 إذا: كنت تعمل على مسار detect الكائنات البحت حيث يكون الضغط على كل جزء من كفاءة المعلمات أمرًا بالغ الأهمية، وترغب في تجربة التطبيقات المبكرة للمعمارية الخالية من NMS.
- اختر Ultralytics YOLOv8 إذا: كنت بحاجة إلى نموذج مستقر للغاية وجاهز للإنتاج ومدعوم من قبل منصة Ultralytics القوية. إنه الخيار الأمثل إذا كان مشروعك يتطلب مهام متعددة (مثل detect الكائنات ثم segment) باستخدام قاعدة تعليمات برمجية موحدة وسهلة الصيانة.
- اختر YOLO26 (موصى به) إذا: كنت تريد التوازن الأمثل بين الدقة المتطورة، والكفاءة الأصلية الشاملة الخالية من NMS، وأسرع السرعات الممكنة على CPU والأجهزة الطرفية.
إذا كنت تستكشف المشهد الأوسع، فقد تكون مهتمًا أيضًا بمقارنة هذه النماذج مع YOLO11 أو الاطلاع على تكاملات نشر حافة محددة مثل Intel OpenVINO لتسريع تطبيقات الرؤية الاصطناعية الخاصة بك. من خلال الاستفادة من الأدوات الموحدة التي توفرها Ultralytics أصبح نشر حلول الرؤية الحاسوبية القوية أكثر سهولة من أي وقت مضى.