YOLOv8 في مواجهة YOLOv7: مقارنة تقنية شاملة

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

إن فهم الاختلافات الهيكلية والمنهجية بين هذين النموذجين أمر بالغ الأهمية لمهندسي التعلم الآلي الذين يتطلعون إلى تحسين خطوط أنابيب النشر الخاصة بهم. في حين قدم YOLOv7 نهج "مجموعة الميزات المجانية" (bag-of-freebies) المصمم خصيصًا لتحقيق أقصى إنتاجية، ركز Ultralytics YOLOv8 على إنشاء نظام بيئي شامل وسهل الاستخدام يوازن بين الدقة العالية واستهلاك الذاكرة المنخفض وتعدد المهام.

Ultralytics YOLOv8: معيار النظام البيئي متعدد الاستخدامات

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

الابتكارات المعمارية

قدم YOLOv8 رأس كشف مبتكر خالٍ من نقاط الارتكاز (anchor-free). وهذا يبسط عملية التدريب بشكل أساسي من خلال إلغاء الحاجة إلى تكوين مربعات الارتكاز يدويًا بناءً على التوزيع المحدد لمجموعة بياناتك المخصصة. يجعل هذا الاختيار التصميمي النموذج قويًا للغاية وأسهل في التعميم عبر بيئات مختلفة.

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

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

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

تم تصميم نماذج Ultralytics YOLO لتحقيق أقصى قدر من كفاءة التدريب. وهي تتطلب عادةً ذاكرة CUDA أقل بكثير أثناء التدريب مقارنة بالبنى القائمة على المحولات (transformer-based) أو شبكات CNN الأثقل. يتيح لك هذا التدريب باستخدام أحجام دفعات (batch sizes) أكبر على أجهزة المستهلك، مما يسرع دورة التطوير الخاصة بك.

YOLOv7: نهج "مجموعة الميزات المجانية" (bag-of-freebies)

تم تقديم YOLOv7 في منتصف عام 2022 وأصبح بسرعة خط أساس شائعًا في الأوساط الأكاديمية. ركز بشكل كبير على إعادة تحديد المعلمات الهيكلية وتحسين مسار التدرج لدفع حدود اكتشاف الكائنات في الوقت الفعلي على وحدات معالجة الرسومات (GPUs) المتطورة.

  • المؤلفون: Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao
  • المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
  • التاريخ: 2022-07-06
  • Arxiv: 2207.02696
  • GitHub: WongKinYiu/yolov7

الابتكارات المعمارية

يستخدم YOLOv7 شبكة تجميع الطبقات الفعالة الموسعة (E-ELAN)، والتي تسمح للنموذج بتعلم ميزات أكثر تنوعًا بشكل مستمر. وهو يعتمد بشكل كبير على نموذج قائم على نقاط الارتكاز (anchor-based) ويقدم "مجموعة ميزات مجانية" قابلة للتدريب - وهي مجموعة من طرق التحسين التي تعمل على تحسين الدقة دون زيادة تكلفة الاستدلال.

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

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

مقارنة مفصلة للأداء

عند تقييم هذه النماذج، فإن المقايضة بين السرعة والدقة وحجم النموذج هي الاعتبار الأساسي. يسلط الجدول أدناه الضوء على المقاييس لكلا النموذجين.

النموذجالحجم
(بكسل)
mAPval
50-95
السرعة
CPU ONNX
(ملي ثانية)
السرعة
T4 TensorRT10
(ملي ثانية)
المعلمات
(مليون)
FLOPs
(مليار)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

كما يتضح من البيانات، يحقق YOLOv8x أعلى دقة مطلقة (53.9 mAP)، بينما يوفر متغير النانو (YOLOv8n) سرعات استدلال استثنائية وبصمة خفيفة الوزن بشكل لا يصدق. هذا التنوع يجعل YOLOv8 أكثر تكيفًا بكثير مع بيئات الأجهزة المحدودة.

ميزة Ultralytics: سهولة الاستخدام والنظام البيئي

بينما يوفر YOLOv7 مقاييس اكتشاف أولية قوية، يتفوق Ultralytics YOLOv8 عليه بشكل كبير من حيث تجربة المطورين وتكامل النظام البيئي وقدرات تعدد المهام.

تعدد استخدامات لا مثيل له

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

نشر وتكامل انسيابي

غالبًا ما يكون تصدير النموذج للإنتاج نقطة اختناق. تسمح حزمة Ultralytics للمطورين بالتصدير إلى تنسيقات مثل ONNX، وTensorRT، وCoreML بسطر واحد من كود Python. وهذا يتجنب مشكلات دعم المشغل التي يتم مواجهتها أحيانًا عند تصدير الرسوم البيانية المعقدة القائمة على نقاط الارتكاز.

علاوة على ذلك، يتكامل YOLOv8 بسلاسة مع أدوات MLOps. سواء كنت تتابع التجارب باستخدام Weights & Biases أو تختبر عمليات النشر على Hugging Face Spaces، فإن نظام Ultralytics البيئي يتولى المهام الشاقة.

مثال برمجي: تدريب وتصدير YOLOv8

يوضح الكود التالي بساطة Python API الخاصة بـ Ultralytics. يمكنك الانتقال من تهيئة نموذج إلى تدريبه وتصديره لنشره على الحافة في أقل من عشرة أسطر من الكود.

from ultralytics import YOLO

# Load a pretrained YOLOv8 nano model for fast inference
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
# The API handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")

# Export the trained model to ONNX format for deployment
model.export(format="onnx")
مرونة النشر

يوفر استخدام دالة model.export() جسرًا فوريًا لمحركات الاستدلال عالية الأداء، مما يسمح لك بدمج YOLOv8 بسهولة في تطبيقات الهاتف المحمول، أو الأنظمة المدمجة، أو خوادم السحابة عالية الإنتاجية.

حالات الاستخدام الواقعية

تحدد الاختلافات الهيكلية بين النموذجين سيناريوهات النشر المثالية لكل منهما.

متى تختار YOLOv8:

  • ذكاء الحافة (Edge AI) وأجهزة إنترنت الأشياء (IoT): يجعل توفر نماذج Nano و Small فائقة السرعة YOLOv8 مثاليًا للأجهزة ذات القدرات الحسابية المحدودة، مثل الكاميرات الذكية أو الطائرات بدون طيار.
  • مشاريع تعدد المهام: إذا كان خط أنابيب عملك يتطلب تتبع مفاصل الإنسان (تقدير الوضعية) مع رسم خرائط للعوائق في نفس الوقت (التجزئة)، فإن YOLOv8 يتعامل مع هذا أصليًا.
  • النماذج الأولية السريعة إلى الإنتاج: تسمح وثائق Ultralytics الشاملة و Python API السلس للفرق بطرح المنتجات في السوق بشكل أسرع.

متى تفكر في YOLOv7:

  • المقارنة الأكاديمية (Benchmarking): غالبًا ما يستخدم الباحثون الذين يدرسون تأثيرات تقنيات إعادة تحديد المعلمات YOLOv7 كخط أساس قياسي، كما ينعكس ذلك من خلال شعبيته على Papers With Code.
  • خطوط أنابيب الخادم القديمة: إذا كان خط أنابيب الحوسبة الثقيلة الحالي محسناً بالفعل بدقة حول مخرجات نقاط الارتكاز المحددة لـ YOLOv7، فقد يكون الحفاظ عليه عمليًا على المدى القصير.

نظرة إلى المستقبل: الجيل القادم

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

يمثل أحدث جيل، YOLO26، ذروة رؤية الذكاء الاصطناعي الحالية. يتميز بتصميم End-to-End NMS-Free، مما يلغي المعالجة اللاحقة لـ Non-Maximum Suppression لنشر أسرع وأبسط. مع إزالة Distribution Focal Loss (DFL) وتقديم MuSGD Optimizer المستوحى من نماذج اللغة الكبيرة (LLM)، يقدم YOLO26 تدريبًا أكثر استقرارًا واستدلالًا أسرع بنسبة تصل إلى 43% على وحدة المعالجة المركزية (CPU). تعمل وظائف الخسارة ProgLoss + STAL المتقدمة على تحسين التعرف على الكائنات الصغيرة بشكل جذري، مما يجعله الخيار الأمثل للحوسبة الحديثة على الحافة والتصوير الجوي.

بالنسبة للمستخدمين الذين ينتقلون من أنظمة قديمة، يظل كل من YOLO11 القوي جدًا والنموذج الكلاسيكي YOLOv5 مدعومين بالكامل ضمن نظام Ultralytics البيئي الموحد، مما يضمن أنه مهما كانت قيود أجهزتك، هناك نموذج انسيابي عالي الأداء جاهز للنشر.

التعليقات