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

YOLOv10 مقابل YOLOv8: مقارنة تقنية للكشف عن الأجسام في الوقت الحقيقي

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

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

تحليل الأداء

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

النموذجالحجم
(بالبكسل)
mAPفال
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: الكفاءة من خلال الابتكار المعماري

المؤلفون: Ao Wang, Hui Chen, Lihao Liu, et al.
المنظمة:جامعة تسينغهوا
التاريخ: 2024-05-23
Arxiv:YOLOv10: الكشف عن الكائنات في الوقت الحقيقي من النهاية إلى النهاية
GitHub:THU-MIG/yolov10

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

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

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

نقاط الضعف

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

اعرف المزيد عن YOLOv10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تنفيذ الكود

إحدى المزايا الرئيسية لإطار عمل Ultralytics هي واجهة برمجة التطبيقات الموحّدة. سواء كنت تستخدم 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 لن تحصل مع Ultralytics YOLOv8 على نموذج فحسب، بل ستحصل على مجموعة أدوات كاملة لبناء حلول ذكاء اصطناعي عالمية المستوى وتدريبها ونشرها بكفاءة.

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

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


تعليقات