ميتوان يولوف 6
لمحة عامة
إن Meituan YOLOv6 هو كاشف كائنات متطور يوفر توازنًا رائعًا بين السرعة والدقة، مما يجعله خيارًا شائعًا للتطبيقات في الوقت الفعلي. يقدم هذا النموذج العديد من التحسينات الملحوظة على بنيته ومخطط التدريب الخاص به، بما في ذلك تنفيذ وحدة التسلسل ثنائي الاتجاه (BiC)، واستراتيجية التدريب بمساعدة المرساة (AAT)، وتصميم محسّن للعمود الفقري والرقبة للحصول على أحدث دقة على مجموعة بيانات COCO.
نظرة عامة على YOLOv6. مخطط بنية النموذج يوضح مكونات الشبكة المعاد تصميمها واستراتيجيات التدريب التي أدت إلى تحسينات كبيرة في الأداء. (أ) عنق YOLOv6 (يظهر N و S). لاحظ أنه بالنسبة لـ M/L، تم استبدال RepBlocks بـ CSPStackRep. (ب) هيكل وحدة BiC. (ج) كتلة SimCSPSPSPPF. (المصدر).
الميزات الرئيسية
- وحدة التسلسل ثنائي الاتجاه (BiC): يقدم YOLOv6 وحدة التسلسل ثنائي الاتجاه (BiC) في عنق الكاشف، مما يعزز إشارات التوطين ويحقق مكاسب في الأداء مع تدهور السرعة بشكل ضئيل.
- استراتيجية التدريب بمساعدة المرساة (AAT): يقترح هذا النموذج استراتيجية التدريب بمساعدة المرساة للاستفادة من مزايا كل من النموذجين القائم على المرساة والخالي من المرساة دون المساس بكفاءة الاستدلال.
- تصميم محسّن للعمود الفقري والعنق: من خلال تعميق YOLOv6 ليشمل مرحلة أخرى في العمود الفقري والعنق، يحقق هذا النموذج أحدث أداء على مجموعة بيانات COCO عند مدخلات عالية الدقة.
- استراتيجية التقطير الذاتي: يتم تنفيذ استراتيجية جديدة للتقطير الذاتي لتعزيز أداء النماذج الأصغر حجماً في YOLOv6، مما يعزز فرع الانحدار الإضافي أثناء التدريب وإزالته عند الاستدلال لتجنب انخفاض السرعة بشكل ملحوظ.
مقاييس الأداء
يوفر YOLOv6 نماذج مختلفة مدربة مسبقًا بمقاييس مختلفة:
- YOLOv6-N: 37.5٪ AP على COCO val2017 بمعدل 1187 إطارًا في الثانية مع NVIDIA T4 GPU.
- YOLOv6-S: 45.0% نقطة وصول سريعة بمعدل 484 إطارًا في الثانية.
- YOLOv6-M: 50.0% نقطة وصول فعالة بنسبة 226 إطارًا في الثانية.
- YOLOv6-L: 52.8% نقطة وصول فعالة بنسبة 116 إطارًا في الثانية.
- YOLOv6-L6: دقة فائقة في الوقت الفعلي.
يوفر YOLOv6 أيضًا نماذج كمية لدقة مختلفة ونماذج محسّنة للمنصات المتنقلة.
أمثلة على الاستخدام
يوفر هذا المثال أمثلة بسيطة لتدريب واستدلال YOLOv6. للحصول على وثائق كاملة حول هذه الأوضاع وغيرها، راجع صفحات مستندات التنبؤ والتدريب والتقييم والتصدير.
مثال على ذلك
PyTorch ما قبل التدريب *.pt
النماذج وكذلك التكوين *.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 الأوامر متاحة لتشغيل النماذج مباشرةً:
المهام والأوضاع المدعومة
تقدم سلسلة YOLOv6 مجموعة من النماذج، كل منها مُحسَّن للكشف عن الكائنات عالية الأداء. تلبي هذه النماذج الاحتياجات الحسابية المتنوعة ومتطلبات الدقة المختلفة، مما يجعلها متعددة الاستخدامات لمجموعة واسعة من التطبيقات.
نوع الموديل | الأوزان المدربة مسبقاً | المهام المدعومة | الاستدلال | التحقق من الصحة | التدريب | التصدير |
---|---|---|---|---|---|---|
YOLOV6-N | yolov6-n.pt |
اكتشاف الكائن | ✅ | ✅ | ✅ | ✅ |
YOLOV6-S | yolov6-s.pt |
اكتشاف الكائن | ✅ | ✅ | ✅ | ✅ |
YOLOV6-M | yolov6-m.pt |
اكتشاف الكائن | ✅ | ✅ | ✅ | ✅ |
YOLOV6-L | yolov6-l.pt |
اكتشاف الكائن | ✅ | ✅ | ✅ | ✅ |
YOLOV6-L6 | yolov6-l6.pt |
اكتشاف الكائن | ✅ | ✅ | ✅ | ✅ |
يقدم هذا الجدول نظرة عامة مفصلة على متغيرات نموذج YOLOv6 مع تسليط الضوء على قدراتها في مهام الكشف عن الكائنات وتوافقها مع مختلف الأوضاع التشغيلية مثل الاستدلال والتحقق من الصحة والتدريب والتصدير. يضمن هذا الدعم الشامل أن يتمكن المستخدمون من الاستفادة الكاملة من إمكانيات نماذج YOLOv6 في مجموعة واسعة من سيناريوهات اكتشاف الأجسام.
الاستشهادات والشكر والتقدير
نود أن نعرب عن تقديرنا للمؤلفين على مساهماتهم الكبيرة في مجال الكشف عن الأجسام في الوقت الحقيقي:
يمكن الاطلاع على ورقة YOLOv6 الأصلية على arXiv. وقد أتاح المؤلفان عملهما للجمهور، ويمكن الوصول إلى قاعدة الرموز على GitHub. نحن نقدر جهودهم في تطوير المجال وإتاحة عملهم للمجتمع الأوسع.
الأسئلة الشائعة
ما هو Meituan YOLOv6 وما الذي يجعله فريدًا من نوعه؟
إن Meituan YOLOv6 هو كاشف كائنات متطور يوازن بين السرعة والدقة، وهو مثالي للتطبيقات في الوقت الحقيقي. ويتميز بتحسينات معمارية ملحوظة مثل وحدة التسلسل ثنائي الاتجاه (BiC) واستراتيجية التدريب بمساعدة المرساة (AAT). توفر هذه الابتكارات مكاسب كبيرة في الأداء مع الحد الأدنى من تدهور السرعة، مما يجعل YOLOv6 خيارًا تنافسيًا لمهام اكتشاف الأجسام.
كيف تعمل وحدة التسلسل ثنائي الاتجاه (BiC) في YOLOv6 على تحسين الأداء؟
تعمل وحدة التسلسل ثنائي الاتجاه (BiC) في YOLOv6 على تعزيز إشارات التوطين في عنق الكاشف، مما يوفر تحسينات في الأداء مع تأثير ضئيل على السرعة. تجمع هذه الوحدة بفعالية بين خرائط الميزات المختلفة، مما يزيد من قدرة النموذج على اكتشاف الأجسام بدقة. لمزيد من التفاصيل حول ميزات YOLOv6، راجع قسم الميزات الرئيسية.
كيف يمكنني تدريب نموذج YOLOv6 باستخدام Ultralytics ؟
يمكنك تدريب نموذج YOLOv6 باستخدام Ultralytics مع أوامر بسيطة Python أو CLI . على سبيل المثال
مثال على ذلك
لمزيد من المعلومات، يرجى زيارة صفحة القطار.
ما هي الإصدارات المختلفة من YOLOv6 ومقاييس أدائها؟
يقدم YOLOv6 إصدارات متعددة، كل منها مُحسَّن لمتطلبات أداء مختلفة:
- YOLOv6-N: 37.5% نقطة وصول سريعة بمعدل 1187 إطارًا في الثانية
- YOLOv6-S: 45.0% نقطة وصول فعالة بمعدل 484 إطارًا في الثانية
- YOLOv6-M: 50.0% نقطة وصول فعالة بنسبة 226 إطارًا في الثانية
- YOLOv6-L: 52.8% نقطة وصول فعالة بنسبة 116 إطارًا في الثانية
- YOLOv6-L6: دقة فائقة في سيناريوهات الوقت الفعلي
يتم تقييم هذه النماذج على مجموعة بيانات COCO باستخدام NVIDIA T4 GPU. لمعرفة المزيد عن مقاييس الأداء، راجع قسم مقاييس الأداء.
كيف تستفيد استراتيجية التدريب بمساعدة المرساة (AAT) من YOLOv6؟
يجمع التدريب المدعوم بالمرساة (AAT) في YOLOv6 بين عناصر من النهج القائم على المرساة والنهج الخالي من المرساة، مما يعزز قدرات النموذج على الكشف دون المساس بكفاءة الاستدلال. تستفيد هذه الاستراتيجية من نقاط الارتكاز أثناء التدريب لتحسين تنبؤات الصندوق المحدود، مما يجعل YOLOv6 فعالاً في مهام الكشف عن الأجسام المتنوعة.
ما هي أوضاع التشغيل التي تدعمها نماذج YOLOv6 في Ultralytics ؟
يدعم YOLOv6 أوضاع تشغيل مختلفة بما في ذلك الاستدلال والتحقق من الصحة والتدريب والتصدير. تتيح هذه المرونة للمستخدمين الاستفادة الكاملة من قدرات النموذج في سيناريوهات مختلفة. راجع قسم المهام والأوضاع المدعومة للحصول على نظرة عامة مفصلة عن كل وضع.