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

YOLOv7 ضد YOLOv6-3.0: مقارنة فنية شاملة

في مجال الرؤية الحاسوبية سريع التطور، يعد اختيار النموذج الصحيح لاكتشاف الأجسام أمرًا بالغ الأهمية لنجاح المشروع. هناك إطاران مهمان شكّلا هذا المجال وهما YOLOv7 و YOLOv6.0. وعلى الرغم من أن كلاهما يشتركان في سلالة YOLO (أنت تنظر مرة واحدة فقط)، إلا أنهما يختلفان بشكل كبير في فلسفتهما المعمارية وأهدافهما التحسينية.

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

YOLOv7: معمارية الدقة

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

المؤلفون: تشين-ياو وانغ، أليكسي بوتشكوفسكي، وهونغ-يوان مارك لياو
المنظمة:معهد علوم المعلومات، أكاديميا سينيكا، تايوان
التاريخ: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
المستندات:https://docs.ultralytics.com/models/yolov7/

الميزات المعمارية الرئيسية

قدم YOLOv7 "حقيبة التدريب المجانية"، وهي مجموعة من طرق التحسين التي تزيد من الدقة دون زيادة تكلفة الاستدلال.

  • E-ELAN (شبكات تجميع الطبقات الفعالة الممتدة): تعمل هذه البنية على تحسين قدرة الشبكة على التعلم عن طريق التحكم في أقصر وأطول مسارات التدرج. يسمح للنموذج بتعلم المزيد من الميزات المتنوعة عن طريق توسيع cardinality للكتل الحسابية.
  • توسيع النموذج: يستخدم YOLOv7 تقنيات توسيع مركبة تعدل العمق والعرض في وقت واحد، مما يضمن الأداء الأمثل عبر أحجام النماذج المختلفة (من Tiny إلى E6E).
  • تدريب الرأس الإضافي: يستخدم النموذج رأسًا إضافيًا أثناء التدريب لتوفير إشراف عميق، والذي يتم إزالته بعد ذلك أثناء الاستدلال. هذا يحسن تقارب نموذج التعلم العميق.

نقاط القوة والضعف

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

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

YOLOv6-3.0: مصمم للسرعة الصناعية

YOLOv6-3.0، الذي طوره قسم الحوسبة المرئية في Meituan، يركز بشكل كبير على التطبيقات الصناعية العملية. تم إصداره في أوائل عام 2023، وهو يعطي الأولوية لسرعة الاستدلال وكفاءة الأجهزة، مما يجعله مرشحًا قويًا لـ الحوسبة الطرفية.

المؤلفون: تشوي لي، لولو لي، ييفي جينغ، هونغليانغ جيانغ، مينغ تشنغ، بو تشانغ، زيدان كه، شياومينغ شو، و شيانغشيانغ تشو
المنظمة: Meituan
التاريخ: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHub:https://github.com/meituan/YOLOv6
المستندات:https://docs.ultralytics.com/models/yolov6/

الميزات المعمارية الرئيسية

يتميز YOLOv6-3.0 بتصميمه المراعي للأجهزة، والذي يعمل على تحسين إنتاجية وحدة معالجة الرسوميات GPU ووحدة المعالجة المركزية CPU على وجه التحديد.

  • RepVGG Backbone: يستخدم النموذج كتل إعادة التهيئة (RepVGG). أثناء التدريب، يحتوي النموذج على هيكل متعدد الفروع لتحسين التعلم، والذي يتم دمجه رياضيًا في هيكل أحادي الفرع للاستدلال. ينتج عن هذا تنفيذ أسرع على أجهزة مثل NVIDIA Jetson.
  • رأس غير مقترن: على عكس إصدارات YOLO السابقة التي تشترك في ميزات التصنيف والتوطين، يستخدم YOLOv6 رأسًا غير مقترن. يؤدي هذا الفصل إلى تحسين سرعة التقارب ودقة الكشف.
  • Quantization Friendly: تم تصميم الهندسة المعمارية لتكون صديقة لتكميم النموذج (على سبيل المثال، INT8)، وهو أمر ضروري للنشر على الأجهزة ذات الموارد المحدودة.

نقاط القوة والضعف

يتفوق YOLOv6-3.0 في الإنتاجية الخام. بالنسبة لخطوط الأتمتة الصناعية أو الروبوتات، حيث تُحتسب الملّي ثانية، فإن مخطط الاستدلال الأمثل الخاص به يمثل ميزة كبيرة. ومع ذلك، ينصب تركيزه في المقام الأول على الـ detect، ويفتقر إلى تعددية المهام الأصلية الموجودة في التكرارات اللاحقة مثل YOLO11.

تعرف على المزيد حول YOLOv6-3.0

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

يوضح الجدول التالي المفاضلات بين النموذجين. يوفر YOLOv6-3.0 عمومًا سرعة فائقة لمستويات دقة مماثلة، بينما يدفع YOLOv7 سقف دقة الكشف.

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

تحليل النتائج

  • السرعة مقابل الدقة: YOLOv6-3.0n هو نموذج متميز للسرعة الفائقة، حيث يحقق استدلالًا بسرعة 1.17 مللي ثانية على وحدات معالجة الرسومات T4، مما يجعله مثاليًا لتحليلات الفيديو عالية السرعة.
  • أقصى دقة: يحقق YOLOv7x قيمة mAP أعلى (53.1%) مقارنة بـ YOLOv6-3.0l (52.8%)، مما يدل على قوته في اكتشاف الأمثلة الصعبة.
  • كفاءة الحوسبة: يستخدم YOLOv6 عددًا أقل من FLOPs لمستويات أداء مماثلة، مما يثبت صحة فلسفة تصميم "EfficientRep" الخاصة به.

اعتبارات النشر

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

ميزة Ultralytics: ما وراء المقارنة

في حين أن YOLOv7 و YOLOv6-3.0 يمثلان إنجازات كبيرة في تاريخ رؤية الحاسوب، إلا أن المجال يتحرك بسرعة. بالنسبة للمطورين الذين يبحثون عن حل مستدام ومقاوم للمستقبل، فإن Ultralytics YOLO11 يقدم نظامًا بيئيًا شاملاً يتجاوز قيود بنيات النماذج الفردية.

لماذا تختار Ultralytics YOLO11؟

  1. سهولة استخدام لا مثيل لها: على عكس العديد من النماذج مفتوحة المصدر التي تتطلب استنساخًا معقدًا للمستودع وإعداد البيئة، يمكن الوصول إلى نماذج Ultralytics عبر تثبيت pip بسيط. تصميم Python API بديهي، مما يسمح بالتدريب والاستدلال في بضعة أسطر فقط من التعليمات البرمجية.
  2. موازنة الأداء: يعتمد YOLO11 على الدروس المعمارية المستفادة من YOLOv6 و YOLOv7. يستخدم بنية محسنة تحقق دقة حديثة مع الحفاظ على سرعات الاستدلال المطلوبة للتطبيقات في الوقت الفعلي.
  3. تنوع الاستخدامات: إحدى أقوى مزايا نظام Ultralytics البيئي هي دعم المهام المتعددة. في حين أن YOLOv6 و YOLOv7 تركزان بشكل أساسي على الكشف، فإن YOLO11 يدعم أصليًا تقسيم المثيلات، و تقدير الوضعية، و التصنيف، و الكشف عن الكائنات الموجهة (OBB).
  4. كفاءة التدريب: تم تحسين نماذج Ultralytics للتقارب بشكل أسرع وتقليل استخدام الذاكرة أثناء التدريب. تتيح إدارة الموارد الفعالة هذه التدريب على وحدات معالجة الرسوميات (GPUs) بمواصفات المستهلك دون النفقات العامة الضخمة لذاكرة CUDA المرتبطة غالبًا بالبنى القديمة القائمة على المحولات أو التي تعتمد على التسلسل.
  5. نظام بيئي مُدار بشكل جيد: مع التحديثات المتكررة و الوثائق الشاملة والمجتمع النابض بالحياة، تضمن Ultralytics بقاء مشاريعك متوافقة مع أحدث إصدارات PyTorch وتنسيقات التصدير مثل ONNX و TensorRT و CoreML.

مثال على التنفيذ

يعد نشر نموذج حديث باستخدام Ultralytics أمرًا سهلاً. إليك مدى سهولة تنفيذ detect الكائنات:

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-3.0 مجالات متخصصة محددة: YOLOv7 لمهام البحث عالية الدقة و YOLOv6-3.0 لتحسين السرعة الصناعية. ومع ذلك، بالنسبة لغالبية المطورين والباحثين، يوفر نظام Ultralytics YOLO11 البيئي الحل الأكثر توازناً وتنوعًا وقابلية للصيانة. من خلال الجمع بين الأداء العالي وتجربة المستخدم الاستثنائية ودعم المهام الواسع، يمكّن Ultralytics المستخدمين من التركيز على حل مشكلات العالم الحقيقي بدلاً من الصراع مع architectures النموذجية.

استكشف نماذج أخرى

إذا كنت مهتمًا باستكشاف المزيد من الخيارات في مجال رؤية الكمبيوتر، فضع في اعتبارك هذه المقارنات:

  • YOLOv7 vs. RT-DETR: مقارنة أجهزة الكشف المستندة إلى CNN مع البنى المستندة إلى المحولات.
  • YOLOv6 vs. YOLOv8: نظرة على كيفية مقارنة الجيل السابق من نماذج Ultralytics بالمعايير الصناعية.
  • YOLOv7 vs. YOLOX: تحليل استراتيجيات الكشف الخالية من المرساة مقابل الاستراتيجيات القائمة على المرساة.

تعليقات