ميتوان YOLOv6
نظرة عامة
Meituan YOLOv6 هو كاشف كائنات متطور يوفر توازنًا ملحوظًا بين السرعة والدقة، مما يجعله خيارًا شائعًا للتطبيقات في الوقت الفعلي. يقدم هذا النموذج العديد من التحسينات الملحوظة على هيكله ونظام التدريب الخاص به، بما في ذلك تطبيق وحدة Bi-directional Concatenation (BiC)، واستراتيجية التدريب المدعومة بالمرساة (AAT)، وتصميم مُحسَّن للهيكل الأساسي والعنق لتحقيق أحدث دقة على مجموعة بيانات COCO.

نظرة عامة على YOLOv6. رسم تخطيطي لهندسة النموذج يوضح مكونات الشبكة المعاد تصميمها واستراتيجيات التدريب التي أدت إلى تحسينات كبيرة في الأداء. (أ) عنق YOLOv6 (يظهر N و S). لاحظ أنه بالنسبة لـ M/L، يتم استبدال RepBlocks بـ CSPStackRep. (ب) هيكل وحدة BiC. (ج) كتلة SimCSPSPPF.المصدر).
الميزات الرئيسية
- وحدة الوصل ثنائي الاتجاه (BiC): يقدم YOLOv6 وحدة BiC في عنق الكاشف، مما يعزز إشارات تحديد الموقع ويحقق مكاسب في الأداء مع تدهور طفيف في السرعة.
- استراتيجية التدريب المدعوم بالمرساة (AAT): يقترح هذا النموذج AAT للاستمتاع بفوائد كل من النماذج القائمة على المرساة و الخالية من المرساة دون المساس بكفاءة الاستدلال.
- تصميم مُحسَّن للعمود الفقري والعنق: من خلال تعميق YOLOv6 لتضمين مرحلة أخرى في العمود الفقري والعنق، يحقق هذا النموذج أداءً متطورًا على مجموعة بيانات COCO بدقة إدخال عالية.
- استراتيجية التقطير الذاتي: يتم تطبيق استراتيجية تقطير ذاتي جديدة لتعزيز أداء النماذج الأصغر من YOLOv6، وتحسين فرع الانحدار الإضافي أثناء التدريب وإزالته عند الاستدلال لتجنب انخفاض ملحوظ في السرعة.
مقاييس الأداء
توفر 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 أيضًا نماذج كمية لدقة مختلفة ونماذج محسّنة لمنصات الأجهزة المحمولة.
أمثلة الاستخدام
يوفر هذا المثال أمثلة بسيطة لتدريب واستدلال YOLOv6. للحصول على وثائق كاملة حول هذه الأوضاع وغيرها، راجع صفحات وثائق التوقع و التدريب و التقييم و التصدير.
مثال
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")
تتوفر أوامر CLI لتشغيل النماذج مباشرة:
# Build a YOLOv6n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
# Build a YOLOv6n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov6n.yaml source=path/to/bus.jpg
المهام والأوضاع المدعومة
تقدم سلسلة YOLOv6 مجموعة من النماذج، تم تحسين كل منها للكشف عن الكائنات عالي الأداء. تلبي هذه النماذج الاحتياجات الحسابية المختلفة ومتطلبات الدقة، مما يجعلها متعددة الاستخدامات لمجموعة واسعة من التطبيقات.
| النموذج | أسماء الملفات | المهام | الاستدلال | التحقق | التدريب | تصدير |
|---|---|---|---|---|---|---|
| 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 في مجموعة واسعة من سيناريوهات object detection.
الاقتباسات والإقرارات
نود أن نعرب عن تقديرنا للمؤلفين لمساهماتهم الكبيرة في مجال اكتشاف الكائنات في الوقت الفعلي:
@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. نحن نقدر جهودهم في تطوير هذا المجال وإتاحة عملهم للمجتمع الأوسع.
الأسئلة الشائعة
ما هو Meituan YOLOv6 وما الذي يجعله فريدًا؟
إن Meituan YOLOv6 هو كاشف كائنات متطور يوازن بين السرعة والدقة، وهو مثالي للتطبيقات في الوقت الحقيقي. ويتميز بتحسينات معمارية ملحوظة مثل وحدة التسلسل ثنائي الاتجاه (BiC) واستراتيجية التدريب بمساعدة المرساة (AAT). توفر هذه الابتكارات مكاسب كبيرة في الأداء مع الحد الأدنى من تدهور السرعة، مما يجعل YOLOv6 خيارًا تنافسيًا لمهام اكتشاف الأجسام.
كيف تعمل وحدة الربط ثنائية الاتجاه (BiC) في YOLOv6 على تحسين الأداء؟
تعمل وحدة Bi-directional Concatenation (BiC) في YOLOv6 على تحسين إشارات تحديد الموقع في عنق الكاشف، مما يوفر تحسينات في الأداء مع تأثير ضئيل على السرعة. تجمع هذه الوحدة بشكل فعال بين خرائط الميزات المختلفة، مما يزيد من قدرة النموذج على اكتشاف الكائنات بدقة. لمزيد من التفاصيل حول ميزات YOLOv6، راجع قسم الميزات الرئيسية.
كيف يمكنني تدريب نموذج 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)
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
لمزيد من المعلومات، قم بزيارة صفحة التدريب.
ما هي الإصدارات المختلفة من 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 باستخدام GPU NVIDIA T4. لمعرفة المزيد عن مقاييس الأداء، راجع قسم مقاييس الأداء.
كيف تفيد إستراتيجية التدريب المدعوم بالمرساة (AAT) YOLOv6؟
يجمع التدريب المدعوم بالمرساة (AAT) في YOLOv6 بين عناصر من النهج القائم على المرساة والنهج الخالي من المرساة، مما يعزز قدرات النموذج على الكشف دون المساس بكفاءة الاستدلال. تستفيد هذه الاستراتيجية من نقاط الارتكاز أثناء التدريب لتحسين تنبؤات الصندوق المحدود، مما يجعل YOLOv6 فعالاً في مهام الكشف عن الأجسام المتنوعة.
ما هي أوضاع التشغيل التي تدعمها نماذج YOLOv6 في Ultralytics؟
تدعم YOLOv6 أوضاع التشغيل المختلفة بما في ذلك الاستدلال والتحقق والتدريب والتصدير. تتيح هذه المرونة للمستخدمين الاستفادة الكاملة من قدرات النموذج في سيناريوهات مختلفة. تحقق من قسم المهام والأوضاع المدعومة للحصول على نظرة عامة مفصلة عن كل وضع.