YOLOv7 مقابل YOLOv6.0: مقارنة تقنية شاملة
في مجال الرؤية الحاسوبية سريع التطور، يعد اختيار النموذج الصحيح لاكتشاف الأجسام أمرًا بالغ الأهمية لنجاح المشروع. هناك إطاران مهمان شكّلا هذا المجال وهما YOLOv7 و YOLOv6.0. وعلى الرغم من أن كلاهما يشتركان في سلالة YOLO (أنت تنظر مرة واحدة فقط)، إلا أنهما يختلفان بشكل كبير في فلسفتهما المعمارية وأهدافهما التحسينية.
يقدم هذا الدليل تحليلاً تقنيًا متعمقًا لهذين النموذجين، ويقارن بين بنيتيهما ومقاييس أدائهما وسيناريوهات النشر المثالية. نستكشف أيضًا كيف يمكن للبدائل الحديثة مثل Ultralytics YOLO11 تدمج أفضل ميزات هذين النموذجين السابقين في نظام بيئي موحد وسهل الاستخدام.
YOLOv7: هيكلية الدقة
YOLOv7الذي تم إصداره في يوليو 2022، يمثل تحولًا كبيرًا في عائلة YOLO حيث أعطى الأولوية للابتكارات المعمارية لزيادة الدقة إلى أقصى حد دون التضحية بقدرات الاستدلال في الوقت الفعلي. تم تصميمه لتخطي حدود معايير مجموعة بياناتCOCO .
المؤلفون: تشين ياو وانغ، وأليكسي بوشكوفسكي، وهونغ يوان مارك لياو
المنظمة:معهد علوم المعلومات، الأكاديمية الصينية للعلوم بتايوان
التاريخ: 2022-07-06
اركسيف:https://arxiv.org/abs/2207.02696
جيثب:https://github.com/WongKinYiu/yolov7
المستندات:ultralytics
الميزات المعمارية الرئيسية
قدَّم YOLOv7 "حقيبة من الأشياء المجانية القابلة للتدريب"، وهي مجموعة من طرق التحسين التي تزيد من الدقة دون زيادة تكلفة الاستدلال.
- E-ELAN (شبكات تجميع الطبقات الموسعة ذات الكفاءة الموسعة): تعمل هذه البنية على تحسين قدرة الشبكة على التعلم من خلال التحكم في أقصر وأطول مسارات التدرج. وهي تسمح للنموذج بتعلم المزيد من الميزات المتنوعة من خلال توسيع نطاق الكتل الحسابية.
- تحجيم النموذج: يستخدم YOLOv7 تقنيات التحجيم المركب التي تعدل العمق والعرض في وقت واحد، مما يضمن الأداء الأمثل عبر أحجام النماذج المختلفة (من Tiny إلى E6E).
- تدريب الرأس المساعد: يستخدم النموذج رأسًا مساعدًا أثناء التدريب لتوفير إشراف عميق، والذي يتم تجريده بعد ذلك أثناء الاستدلال. يعمل هذا على تحسين تقارب نموذج التعلم العميق.
نقاط القوة والضعف
يشتهر YOLOv7 بمتوسط دقته المتوسطة العالية (mAP)، خاصةً على الأجسام الصغيرة والمغلقة. إنه بمثابة خيار ممتاز للأبحاث والسيناريوهات التي تكون فيها الدقة أمرًا بالغ الأهمية. ومع ذلك، فإن بنيته المعقدة، التي تعتمد بشكل كبير على الطبقات القائمة على التسلسل، يمكن أن تؤدي إلى استهلاك أعلى للذاكرة أثناء التدريب مقارنةً بالنماذج الصناعية المبسطة.
YOLOv6.0: مصمم هندسيًا للسرعة الصناعية
YOLOv6.0، الذي طوره قسم الحوسبة المرئية في Meituan، بشكل كبير على التطبيقات الصناعية العملية. تم إصداره في أوائل عام 2023، وهو يعطي الأولوية لسرعة الاستدلال وكفاءة الأجهزة، مما يجعله مرشحًا قويًا للحوسبة المتطورة.
المؤلفون: تشوي لي، ولولو لي، ويفي قنغ، وهونغليانغ جيانغ، ومنغ تشنغ، وبو تشانغ، وبو تشانغ، وزيدان كي، وشياومينغ شو، وشيانغ شيانغ تشو
المنظمة: Meituan
التاريخ: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHubYOLOv6
Docsultralytics
الميزات المعمارية الرئيسية
يتميّز YOLOv6.0 بتصميمه المدرك للأجهزة، وتحديدًا تحسين إنتاجية GPU CPU .
- العمود الفقري RepVGG: يستخدم النموذج كتل إعادة المعلمات (RepVGG). أثناء التدريب، يحتوي النموذج على طوبولوجيا متعددة الفروع للتعلم بشكل أفضل، والتي يتم دمجها رياضيًا في بنية أحادية الفرع للاستدلال. ينتج عن ذلك تنفيذ أسرع على أجهزة مثل NVIDIA Jetson.
- الرأس المنفصل: على عكس إصدارات YOLO السابقة التي كانت تشترك في ميزات التصنيف والتوطين، يستخدم YOLOv6 رأسًا منفصلًا. يعمل هذا الفصل على تحسين سرعة التقارب ودقة الكشف.
- ملائمة للتقدير الكمي: صُممت البنية لتكون ملائمة للتقدير الكمي للنموذج (على سبيل المثال، INT8)، وهو أمر ضروري للنشر على الأجهزة محدودة الموارد.
نقاط القوة والضعف
يتفوق YOLOv6.0 في الإنتاجية الخام. فبالنسبة لخطوط الأتمتة الصناعية أو الروبوتات، حيث يتم احتساب أجزاء من الثانية، فإن الرسم البياني الاستدلالي المُحسَّن الخاص به يُعد ميزة كبيرة. ومع ذلك، فإن تركيزه ينصب في المقام الأول على الاكتشاف، ويفتقر إلى تعدد المهام الأصلي الموجود في الإصدارات اللاحقة مثل YOLO11.
مقارنة الأداء
يوضح الجدول التالي المفاضلة بين النموذجين. يوفر YOLOv6.0 بشكل عام سرعة فائقة لمستويات الدقة المماثلة، بينما يدفع YOLOv7 سقف دقة الكشف.
| النموذج | الحجم (بالبكسل) | mAPفال 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0 م | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0L | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
تحليل النتائج
- السرعة مقابل الدقة: يتميز YOLOv6.0n بالسرعة الفائقة، حيث يحقق استدلالاً يبلغ 1.17 مللي ثانية على وحدات معالجة الرسومات T4، مما يجعله مثاليًا لتحليلات الفيديو عالية السرعة.
- دقة الذروة: يحقق YOLOv7x دقة أعلى من mAP (53.1%) مقارنةً بـ YOLOv6.0l (52.8%)، مما يُظهر قوته في اكتشاف الأمثلة الصعبة.
- كفاءة الحوسبة: يستخدم YOLOv6 عددًا أقل من وحدات FLOP لمستويات أداء مماثلة، مما يؤكد صحة فلسفة تصميم "EfficientRep".
اعتبارات النشر
بينما توفر المعايير خط أساس، يعتمد الأداء في العالم الحقيقي بشكل كبير على أجهزة النشر. تتألق خاصية إعادة المعلمات في YOLOv6 على وحدات معالجة الرسومات، في حين أن بنية YOLOv7 القائمة على التسلسل قوية ولكنها قد تكون كثيفة من حيث عرض النطاق الترددي للذاكرة.
ميزة Ultralytics : ما وراء المقارنة
على الرغم من أن YOLOv7 و YOLOv6.0 يمثلان إنجازين مهمين في تاريخ الرؤية الحاسوبية، إلا أن المجال يتحرك بسرعة. بالنسبة للمطورين الذين يبحثون عن حل مستدام ومستقبلي, Ultralytics YOLO11 يوفر نظامًا بيئيًا شاملاً يحل محل قيود بنيات النماذج الفردية.
لماذا تختار Ultralytics YOLO11؟
- سهولة استخدام لا مثيل لها: على عكس العديد من النماذج مفتوحة المصدر التي تتطلب استنساخ مستودعات معقدة وإعداد بيئة، يمكن الوصول إلى نماذج Ultralytics من خلال تثبيت بسيط. تصميم واجهة برمجة تطبيقاتPython بديهي، مما يسمح بالتدريب والاستدلال في بضعة أسطر من التعليمات البرمجية.
- توازن الأداء: يعتمد YOLO11 على الدروس المعمارية لكلٍ من YOLOv6 و YOLOv7 ويستخدم بنية محسنة تحقق أحدث ما توصلت إليه الدقة مع الحفاظ على سرعات الاستدلال المطلوبة لتطبيقات الوقت الحقيقي.
- تعدد الاستخدامات: من أقوى مزايا نظام Ultralytics دعم المهام المتعددة. في حين أن YOLOv6 و YOLOv7 يركزان في المقام الأول على الاكتشاف، فإن YOLO11 يدعم أصلاً تقسيم المثيل وتقدير الوضعية والتصنيف والكشف عن الكائنات الموجهة (OBB).
- كفاءة التدريب: تم تحسين نماذج Ultralytics لتقارب أسرع واستخدام أقل للذاكرة أثناء التدريب. تسمح هذه الإدارة الفعّالة للموارد بالتدريب على وحدات معالجة الرسومات من فئة المستهلكين دون الحاجة إلى استخدام ذاكرة CUDA الضخمة التي غالباً ما ترتبط بالمحوّلات القديمة أو البنى ذات التسلسل الثقيل.
- نظام بيئي جيد الصيانة: من خلال التحديثات المتكررة، والوثائق الشاملة، والمجتمع النابض بالحياة، تضمن Ultralytics أن تظل مشاريعك متوافقة مع أحدث إصدارات PyTorch وتنسيقات التصدير مثل ONNXو TensorRT و CoreML.
مثال على التنفيذ
يعد نشر نموذج حديث مع Ultralytics أمرًا بسيطًا ومباشرًا. إليك كيفية تنفيذ اكتشاف الكائنات بسهولة:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
result.save(filename="output.jpg") # save to disk
الخلاصة
يخدم كل من YOLOv7 و YOLOv6.0 مجالات محددة: YOLOv7 للمهام البحثية عالية الدقة و YOLOv6.0 لتحسين السرعة الصناعية. ومع ذلك، بالنسبة لغالبية المطورين والباحثين، فإن Ultralytics YOLO11 الحل الأكثر توازناً وتنوعاً وقابلية للصيانة. من خلال الجمع بين الأداء العالي وتجربة المستخدم الاستثنائية ودعم المهام الواسع، يمكّن Ultralytics المستخدمين من التركيز على حل مشاكل العالم الحقيقي بدلاً من المصارعة مع بنيات النماذج.
استكشف نماذج أخرى
إذا كنت مهتمًا باستكشاف المزيد من الخيارات في مجال رؤية الكمبيوتر، ففكر في هذه المقارنات:
- YOLOv7 مقابل RT-DETR: مقارنة أجهزة الكشف المستندة إلى شبكة CNN مع البنى القائمة على المحولات.
- YOLOv6 مقابل YOLOv8: نظرة على كيفية مقارنة الجيل السابق من نماذج Ultralytics بالمعايير الصناعية.
- YOLOv7 مقابل YOLOX: تحليل استراتيجيات الكشف الخالية من المراسي مقابل استراتيجيات الكشف القائمة على المراسي.