تخطي إلى المحتوى

YOLOv10 ضد YOLOv8: مقارنة فنية لـ detect الكائنات في الوقت الفعلي

لقد دفع تطور عائلة YOLO ‏(You Only Look Once) باستمرار حدود رؤية الكمبيوتر، مما يوفر للمطورين أدوات أسرع وأكثر دقة لـ اكتشاف الكائنات. عند الاختيار بين YOLOv10 و YOLOv8، من الضروري فهم الفروق الدقيقة في البنية والكفاءة ودعم النظام البيئي. في حين أن YOLOv10 يقدم تغييرات معمارية جديدة لتحقيق الكفاءة، إلا أن YOLOv8 يظل معيارًا قويًا ومتعدد الاستخدامات معروفًا بسهولة استخدامه ومجموعة الميزات الشاملة.

يقدم هذا الدليل مقارنة فنية مفصلة لمساعدتك في اختيار النموذج المناسب لمشاريع التعلم الآلي الخاصة بك.

تحليل الأداء

توضح مقاييس الأداء على مجموعة بيانات COCO فلسفات التصميم المتميزة وراء هذه النماذج. يركز YOLOv10 بشكل كبير على تقليل عدد المعلمات وعمليات الفاصلة العائمة (FLOPs)، وغالبًا ما يحقق mAP (متوسط الدقة) أعلى لحجم نموذج معين. ومع ذلك، يحافظ YOLOv8 على سرعات استدلال تنافسية للغاية، لا سيما على وحدات المعالجة المركزية CPUs وعند تصديرها إلى تنسيقات محسّنة مثل TensorRT، مما يوازن بين السرعة الخام وقدرات النشر العملي.

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

YOLOv10: الكفاءة من خلال الابتكار المعماري

Authors: Ao Wang, Hui Chen, Lihao Liu, et al.
Organization:Tsinghua University
Date: 2024-05-23
Arxiv:YOLOv10: Real-Time End-to-End Object Detection
GitHub:THU-MIG/yolov10

تم تطوير YOLOv10 بواسطة باحثين في جامعة Tsinghua بهدف أساسي: التخلص من الاعتماد على تثبيط القيم القصوى غير القصوى (NMS) أثناء المعالجة اللاحقة. يمكن أن يكون NMS عنق الزجاجة في التطبيقات الحساسة للكمون. يقدم YOLOv10 إستراتيجية تعيين مزدوجة متسقة أثناء التدريب، مما يسمح للنموذج بالتنبؤ بأفضل مربع واحد لكل كائن، مما يجعله بشكل فعال كاشفًا شاملاً.

نقاط القوة الرئيسية في YOLOv10

  • الاستدلال بدون NMS: عن طريق إزالة خطوة NMS، يقلل YOLOv10 من الحمل الحسابي الزائد أثناء مرحلة المعالجة اللاحقة، مما قد يقلل من زمن الوصول في سيناريوهات الحافة المحددة.
  • كفاءة المعلمات: يقلل التصميم الشامل للنموذج من عدد المعلمات و FLOPs بشكل كبير مقارنة بالأجيال السابقة، مما يجعله جذابًا للأجهزة ذات سعة التخزين المحدودة للغاية.
  • دقة عالية: يحقق أعلى نتائج mAP لحجمه، مما يدل على فعالية التحسينات المعمارية.

نقاط الضعف

  • تخصص المهمة: تم تصميم YOLOv10 في المقام الأول لاكتشاف الأجسام. يفتقر إلى الدعم الأصلي لمهام رؤية الكمبيوتر الأخرى مثل تجزئة المثيل أو تقدير الوضع خارج الصندوق.
  • نضج النظام البيئي: باعتباره إصدارًا أكاديميًا أحدث، فإنه يحتوي على عدد أقل من عمليات تكامل الطرف الثالث وموارد المجتمع مقارنة بالنظام البيئي الراسخ لـ Ultralytics.

تعرف على المزيد حول YOLOv10

Ultralytics YOLOv8: المعيار الصناعي متعدد الاستخدامات

المؤلفون: جلين جوتشر، أيوش تشوراسيا، و جينغ تشيو
المنظمة:Ultralytics
التاريخ: 2023-01-10
المستندات:توثيق Ultralytics YOLOv8
GitHub:ultralytics/ultralytics

تم إطلاق YOLOv8 بواسطة Ultralytics، وهو يمثل تتويجًا لسنوات من البحث في الذكاء الاصطناعي العملي وسهل الاستخدام. إنه مصمم ليس فقط لتحقيق أداء عالٍ ولكن أيضًا لتجربة مطور استثنائية. يستخدم YOLOv8 آلية detect خالية من الارتكاز وتدفق تدرج غني لضمان تدريب قوي. الميزة البارزة فيه هي دعمه الأصلي لمجموعة واسعة من المهام - detect، و segmentation، و classification، و تقدير الوضعية، و OBB - كل ذلك ضمن إطار عمل موحد واحد.

  • سهولة الاستخدام: يشتهر Ultralytics YOLOv8 بواجهات Python و CLI البسيطة. يمكن للمطورين تدريب النماذج والتحقق من صحتها ونشرها ببضعة أسطر فقط من التعليمات البرمجية.
  • نظام بيئي مُدار بشكل جيد: يعني كونك جزءًا من نظام Ultralytics البيئي الوصول إلى التحديثات المتكررة ومجتمع ضخم والتكامل السلس مع أدوات مثل Ultralytics HUB لإدارة النماذج بسهولة.
  • موازنة الأداء: يحقق توازنًا مثاليًا بين السرعة والدقة. تم تحسين النموذج بدرجة كبيرة لمختلف الخلفيات للأجهزة، بما في ذلك CPU و GPU و Edge TPUs.
  • كفاءة التدريب: يوفر YOLOv8 عمليات تدريب فعالة مع متطلبات ذاكرة أقل من العديد من البدائل القائمة على المحولات، مما يوفر في التكاليف الحسابية.
  • تعدد الاستخدامات: على عكس النماذج المقتصرة على المربعات المحيطة، يمكن لـ YOLOv8 التعامل مع المشاريع المعقدة التي تتطلب أقنعة تجزئة أو نقاط رئيسية دون تبديل الأطر.

كفاءة الذاكرة

تم تصميم نماذج Ultralytics مثل YOLOv8 لتكون فعالة من حيث الذاكرة. هذا يقلل بشكل كبير من حاجز الدخول لتدريب النماذج المخصصة، لأنها تتطلب ذاكرة CUDA أقل مقارنة بنماذج المحولات الضخمة مثل RT-DETR، مما يسمح بالتدريب على وحدات معالجة الرسومات ذات المستوى الاستهلاكي.

تعرف على المزيد حول YOLOv8

تحليل مقارن: البنية وحالات الاستخدام

الاختلافات المعمارية

يكمن الاختلاف الأساسي في استراتيجيات المعالجة اللاحقة والتعيين. يستخدم YOLOv10 بنية رأس مزدوجة حيث يستخدم أحد الرأسين تعيينًا واحدًا إلى متعدد (مثل YOLOs التقليدية) لإشارات إشرافية غنية أثناء التدريب، بينما يستخدم الآخر تعيينًا واحدًا إلى واحد للاستدلال، مما يلغي الحاجة إلى NMS.

YOLOv8، في المقابل، يستخدم مُعيِّنًا مُحاذيًا للمهام وهيكل رأس مقترن خالٍ من المرساة. يبسط هذا التصميم رأس الكشف ويحسن التعميم. على الرغم من أنه يتطلب NMS، إلا أن العملية مُحسَّنة للغاية في تنسيقات التصدير مثل ONNX و TensorRT، مما يجعل فرق زمن الوصول العملي ضئيلًا في الغالب في خطوط أنابيب النشر القوية.

حالات الاستخدام المثالية

غالبًا ما يرجع الاختيار بين الاثنين إلى القيود المحددة لمشروعك:

  1. الذكاء الاصطناعي المتطور عالي الأداء (YOLOv10): إذا كان تطبيقك يعمل على أجهزة مقيدة الموارد بشدة حيث يهم كل ميغابايت من التخزين، أو إذا كانت عملية NMS تخلق عنق زجاجة معين على الشريحة المستهدفة، فإن YOLOv10 هو مرشح ممتاز. تتضمن الأمثلة المستشعرات المضمنة في الزراعة أو الطائرات بدون طيار خفيفة الوزن.

  2. أغراض عامة وذكاء اصطناعي متعدد المهام (YOLOv8): بالنسبة للغالبية العظمى من التطبيقات التجارية والبحثية، يعتبر YOLOv8 هو الخيار الأفضل. إن قدرته على أداء التقطيع (على سبيل المثال، التصوير الطبي الدقيق) وتقدير الوضعية (على سبيل المثال، التحليلات الرياضية) تجعله متعدد الاستخدامات بشكل لا يصدق. علاوة على ذلك، تضمن وثائقه ودعمه الشامل أن يتمكن المطورون من حل المشكلات بسرعة والنشر بشكل أسرع.

تنفيذ التعليمات البرمجية

تتمثل إحدى المزايا الرئيسية لإطار عمل Ultralytics في واجهة برمجة التطبيقات (API) الموحدة. سواء كنت تستخدم YOLOv8 أو تستكشف نماذج أحدث، يظل سير العمل متسقًا وبديهيًا.

إليك مدى سهولة بدء التدريب لنموذج YOLOv8 باستخدام Python:

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model on your custom dataset
# The system automatically handles data downloading and processing
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

بالنسبة إلى YOLOv10، تسهل حزمة Ultralytics أيضًا الوصول، مما يسمح للباحثين بتجربة البنية داخل بيئة مألوفة:

from ultralytics import YOLO

# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")

# Train the model using the same simple API
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

الخلاصة

تعتبر كل من YOLOv10 و YOLOv8 علامات بارزة في مجال رؤية الكمبيوتر. يدفع YOLOv10 حدود الكفاءة المعمارية، ويقدم لمحة عن مستقبلات خالية من NMS للتطبيقات المتخصصة ذات زمن الوصول المنخفض.

ومع ذلك، يظل Ultralytics YOLOv8 النموذج الموصى به للمطورين والمؤسسات. إن نظامه البيئي القوي، وموثوقيته المثبتة، وقدراته متعددة المهام توفر حلاً شاملاً يتجاوز الاكتشاف البسيط. مع Ultralytics YOLOv8، لا تحصل على نموذج فحسب، بل تحصل على مجموعة أدوات كاملة لبناء وتدريب ونشر حلول الذكاء الاصطناعي عالمية المستوى بكفاءة.

بالنسبة لأولئك الذين يتطلعون إلى البقاء في الطليعة المطلقة، تأكد من التحقق أيضًا من YOLO11، وهو أحدث تكرار من Ultralytics يوفر أداءً وكفاءة أعلى من YOLOv8.

مزيد من القراءة


تعليقات