Link to this sectionMeituan YOLOv6#
Link to this sectionنظرة عامة#
يقدم Meituan YOLOv6، الذي تم إصداره في عام 2022، توازناً قوياً بين السرعة والدقة، مما يجعله خياراً شائعاً للتطبيقات التي تعمل في الوقت الفعلي. يقدم هذا النموذج العديد من التحسينات الملحوظة في بنيته ونظام التدريب الخاص به، بما في ذلك تنفيذ وحدة التسلسل الثنائي الاتجاه (BiC)، واستراتيجية التدريب المعتمد على المرساة (AAT)، وتصميم محسّن لـ backbone والرقبة (neck) لتحقيق دقة عالية على COCO dataset.
نظرة عامة على YOLOv6. مخطط بنية النموذج يوضح مكونات الشبكة المعاد تصميمها واستراتيجيات التدريب التي أدت إلى تحسينات كبيرة في الأداء. (أ) عنق YOLOv6 (يتم عرض N و S). لاحظ أنه بالنسبة لـ M/L، يتم استبدال RepBlocks بـ CSPStackRep. (ب) هيكل وحدة BiC. (ج) كتلة SimCSPSPPF. (المصدر).
Link to this sectionالميزات الرئيسية#
- وحدة التسلسل ثنائي الاتجاه (BiC): يقدم YOLOv6 وحدة BiC في عنق الكاشف، مما يعزز إشارات التوطين ويحقق مكاسب في الأداء مع تدهور لا يذكر في السرعة.
- استراتيجية التدريب المعتمد على المرساة (AAT): يقترح هذا النموذج AAT للاستمتاع بفوائد كل من النماذج anchor-based والنماذج anchor-free دون المساس بكفاءة الاستدلال.
- تصميم محسن للعمود الفقري والعنق: من خلال تعميق YOLOv6 ليشمل مرحلة إضافية في العمود الفقري والعنق، حقق هذا النموذج أداءً قوياً على COCO dataset عند مدخلات عالية الدقة وقت صدوره.
- استراتيجية التقطير الذاتي: تم تنفيذ استراتيجية جديدة للتقطير الذاتي لتعزيز أداء النماذج الأصغر من YOLOv6، مما يعزز فرع الانحدار المساعد أثناء التدريب وإزالته عند الاستدلال لتجنب انخفاض ملحوظ في السرعة.
Link to this sectionمقاييس الأداء#
يوفر YOLOv6 العديد من النماذج المدربة مسبقاً بمقاييس مختلفة:
- YOLOv6-N: دقة 37.5% AP على COCO val2017 عند 1187 إطاراً في الثانية باستخدام NVIDIA T4 GPU.
- YOLOv6-S: دقة 45.0% AP عند 484 إطاراً في الثانية.
- YOLOv6-M: دقة 50.0% AP عند 226 إطاراً في الثانية.
- YOLOv6-L: دقة 52.8% AP عند 116 إطاراً في الثانية.
- YOLOv6-L6: دقة متطورة في الوقت الحقيقي.
يوفر YOLOv6 أيضاً نماذج مكممة لمختلف precisions ونماذج محسنة للمنصات المحمولة.
Link to this sectionأمثلة الاستخدام#
يقدم هذا المثال أمثلة بسيطة للتدريب والاستدلال باستخدام YOLOv6. للحصول على الوثائق الكاملة حول هذه الأنماط وغيرها من modes، راجع صفحات وثائق Predict و Train و Val و Export.
يمكن تمرير ملفات YOLOv6 *.yaml إلى فئة YOLO() لبناء النموذج المقابل في Python:
from ultralytics import YOLO
# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Link to this sectionالمهام والأوضاع المدعومة#
تقدم سلسلة YOLOv6 مجموعة من النماذج، كل منها محسّن لأداء عالٍ في Object Detection. تلبي هذه النماذج احتياجات حسابية متنوعة ومتطلبات accuracy، مما يجعلها متعددة الاستخدامات لمجموعة واسعة من التطبيقات.
| النموذج | أسماء الملفات | مهام | الاستنتاج | التحقق | التدريب | التصدير |
|---|---|---|---|---|---|---|
| YOLOv6-N | yolov6n.yaml | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-S | yolov6s.yaml | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-M | yolov6m.yaml | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-L | yolov6l.yaml | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-X | yolov6x.yaml | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
يوفر هذا الجدول نظرة عامة مفصلة عن متغيرات نموذج YOLOv6، مع تسليط الضوء على قدراتها في مهام object detection وتوافقها مع أوضاع تشغيل مختلفة مثل Inference و Validation و Training و Export. يضمن هذا الدعم الشامل أن يتمكن المستخدمون من الاستفادة الكاملة من قدرات نماذج YOLOv6 في مجموعة واسعة من سيناريوهات كشف الكائنات.
Link to this sectionالاقتباسات والشكر#
نود أن نشكر المؤلفين على مساهماتهم الهامة في مجال كشف الكائنات في الوقت الحقيقي:
@misc{li2023yolov6,
title={YOLOv6 v3.0: A Full-Scale Reloading},
author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
year={2023},
eprint={2301.05586},
archivePrefix={arXiv},
primaryClass={cs.CV}
}يمكن العثور على ورقة YOLOv6 الأصلية على arXiv. وقد أتاح المؤلفون أعمالهم للجمهور، ويمكن الوصول إلى قاعدة البيانات على GitHub. نحن نقدر جهودهم في تطوير المجال وإتاحة أعمالهم للمجتمع الأوسع.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هو Meituan YOLOv6 وما الذي يجعله فريداً؟#
Meituan YOLOv6، الذي تم إصداره في عام 2022، هو كاشف كائنات يوازن بين السرعة والدقة، ومصمم للتطبيقات في الوقت الحقيقي. يتميز بتحسينات معمارية ملحوظة مثل وحدة التسلسل ثنائي الاتجاه (BiC) واستراتيجية التدريب المعتمد على المرساة (AAT). توفر هذه الابتكارات مكاسب أداء كبيرة مع تدهور طفيف في السرعة، مما يجعل YOLOv6 خياراً تنافسياً لمهام كشف الكائنات.
Link to this sectionكيف تعمل وحدة التسلسل ثنائي الاتجاه (BiC) في YOLOv6 على تحسين الأداء؟#
تعمل وحدة التسلسل ثنائي الاتجاه (BiC) في YOLOv6 على تحسين إشارات التوطين في عنق الكاشف، مما يحقق تحسينات في الأداء مع تأثير ضئيل على السرعة. تجمع هذه الوحدة بشكل فعال بين feature maps مختلفة، مما يزيد من قدرة النموذج على كشف الكائنات بدقة. لمزيد من التفاصيل حول ميزات YOLOv6، راجع قسم Key Features.
Link to this sectionكيف يمكنني تدريب نموذج YOLOv6 باستخدام Ultralytics؟#
يمكنك تدريب نموذج YOLOv6 باستخدام Ultralytics عبر أوامر Python أو CLI بسيطة. على سبيل المثال:
from ultralytics import YOLO
# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)لمزيد من المعلومات، تفضل بزيارة صفحة Train.
Link to this sectionما هي إصدارات YOLOv6 المختلفة وما هي مقاييس أدائها؟#
يقدم YOLOv6 إصدارات متعددة، كل منها محسّن لمتطلبات أداء مختلفة:
- YOLOv6-N: دقة 37.5% AP عند 1187 إطاراً في الثانية
- YOLOv6-S: دقة 45.0% AP عند 484 إطاراً في الثانية
- YOLOv6-M: دقة 50.0% AP عند 226 إطاراً في الثانية
- YOLOv6-L: دقة 52.8% AP عند 116 إطاراً في الثانية
- YOLOv6-L6: دقة متطورة في سيناريوهات الوقت الحقيقي
يتم تقييم هذه النماذج على COCO dataset باستخدام NVIDIA T4 GPU. لمزيد من المعلومات حول مقاييس الأداء، راجع قسم Performance Metrics.
Link to this sectionكيف تستفيد YOLOv6 من استراتيجية التدريب المعتمد على المرساة (AAT)؟#
يجمع التدريب المعتمد على المرساة (AAT) في YOLOv6 بين عناصر النهج المعتمد على المرساة والنهج غير المعتمد على المرساة، مما يعزز قدرات الكشف في النموذج دون المساس بكفاءة الاستدلال. تستفيد هذه الاستراتيجية من المراسي أثناء التدريب لتحسين تنبؤات bounding box، مما يجعل YOLOv6 فعالاً في مهام كشف الكائنات المتنوعة.
Link to this sectionما هي أوضاع التشغيل التي تدعمها نماذج YOLOv6 في Ultralytics؟#
يدعم YOLOv6 أوضاع تشغيل مختلفة بما في ذلك الاستدلال، والتحقق، والتدريب، والتصدير. تتيح هذه المرونة للمستخدمين استغلال قدرات النموذج بالكامل في سيناريوهات مختلفة. تحقق من قسم Supported Tasks and Modes للحصول على نظرة عامة مفصلة عن كل وضع.