مقارنة بين YOLOv6-3.0 و YOLOv7#
اتسم تطور الرؤية الحاسوبية في الوقت الفعلي بتقدم سريع في كفاءة البنية ومنهجيات التدريب. هناك نموذجان بارزان أثرا بشكل كبير على هذا المشهد وهما YOLOv6-3.0 و YOLOv7. وقد أدخل كلا الإطارين تقنيات جديدة لموازنة سرعة الاستدلال مع دقة الكشف، مستهدفين عمليات النشر التي تتراوح من وحدات معالجة الرسومات (GPU) المتطورة في الخوادم إلى الأجهزة الطرفية.
تستكشف هذه المقارنة التقنية الشاملة هياكلها، ومقاييس أَدائها، وحالات الاستخدام المثالية لها، مع تسليط الضوء أيضًا على كيفية بناء Ultralytics Platform الحديثة وأحدث نموذج YOLO26 على هذه المفاهيم الأساسية لتقديم تجارب مطورين لا مثيل لها.
YOLOv6-3.0: تحسين الإنتاجية الصناعية#
تم تطوير YOLOv6-3.0 بواسطة قسم رؤية الذكاء الاصطناعي في Meituan، وقد صُمم صراحةً للتطبيقات الصناعية عالية الإنتاجية. وهو يركز بشكل كبير على تعظيم الأداء على مسرعات الأجهزة، مما يجعله مرشحًا قويًا للبيئات التي تكون فيها معالجة الدُفعات على وحدات معالجة رسومية مخصصة قابلة للتطبيق.
- المؤلفون: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, و Xiangxiang Chu
- المؤسسة: Meituan
- التاريخ: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
الابتكارات المعمارية#
يعتمد YOLOv6-3.0 على عمود فقري من نوع EfficientRep، وهي بنية صديقة للأجهزة مصممة لتحسين تكاليف الوصول إلى الذاكرة على وحدات GPU. ولتعزيز دمج الميزات عبر المقاييس المختلفة، يقدم النموذج وحدة Bi-directional Concatenation (BiC) في عنقه. وهذا يسمح للشبكة بالتقاط التسلسلات الهرمية المكانية المعقدة بشكل أكثر فعالية من الإصدارات السابقة.
علاوة على ذلك، يطبق YOLOv6-3.0 استراتيجية Anchor-Aided Training (AAT). يجمع هذا النهج بين إشارات التدرج الغنية للتدريب القائم على المراسيات (anchor-based) وفوائد النشر المبسطة للاستدلال الخالي من المراسيات (anchor-free)، مما يساعد النموذج على التقارب بشكل أكثر استقراراً دون التضحية بسرعة المعالجة اللاحقة.
على الرغم من أن YOLOv6-3.0 يتفوق على وحدات معالجة الرسوميات المخصصة للخوادم (مثل NVIDIA T4)، إلا أن اعتماده الكثيف على إعادة صياغة الهيكلية المحددة يمكن أن يؤدي في بعض الأحيان إلى زمن انتقال دون الأمثل على أجهزة الحافة المقيدة بوحدة المعالجة المركزية مقارنة بالهندسات الأحدث.
YOLOv7: الرائد في مفهوم حقيبة الهدايا#
تم إصدار YOLOv7 من قبل باحثين في Academia Sinica، واتخذ نهجًا مختلفًا من خلال التركيز بشكل كبير على تحليل مسار التدرج وتحسينات وقت التدريب التي لا تزيد من تكلفة الاستدلال - وهو مفهوم يشير إليه المؤلفون باسم "مجموعة أدوات مجانية قابلة للتدريب".
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المؤسسة: معهد علوم المعلومات، Academia Sinica، تايوان
- التاريخ: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
الابتكارات المعمارية#
جوهر YOLOv7 هو Extended Efficient Layer Aggregation Network (E-ELAN). تعمل E-ELAN على تحسين مسار التدرج من خلال السماح للطبقات المختلفة بتعلم ميزات أكثر تنوعًا دون تعطيل طوبولوجيا الشبكة الأصلية. ينتج عن هذا نموذج عالي التعبيرية قادر على تحقيق mean average precision (mAP) من الطراز الأول.
يستخدم YOLOv7 أيضًا بكثافة إعادة صياغة النموذج، حيث يدمج الطبقات الالتفافية مع التطبيع الدفعي أثناء الاستدلال. وهذا يقلل من عدد المعلمات ويسرع التمرير الأمامي عند النشر باستخدام أطر عمل مثل NVIDIA TensorRT أو ONNX.
مقارنة الأداء#
عند تقييم هذه النماذج على مجموعة بيانات MS COCO، نلاحظ مقايضة واضحة بين المتغيرات خفيفة الوزن للغاية من YOLOv6 وهندسات YOLOv7 المركزة على الدقة وذات المعلمات الكثيفة.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
تكشف البيانات أن YOLOv6-3.0n يوفر سرعة استدلال استثنائية، مما يجعله مناسباً لتحليلات الفيديو عالية التردد. في المقابل، يحقق YOLOv7x أعلى mAP، ويهيمن في المهام التي تكون فيها دقة الكشف أهم من معدلات الإطارات الخام.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv6 و YOLOv7 على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv6#
يعتبر YOLOv6 خياراً قوياً لـ:
- النشر المدرك للأجهزة الصناعية: السيناريوهات التي يوفر فيها التصميم المدرك للأجهزة وإعادة تحديد المعلمات الفعال للنموذج أداءً محسناً على أجهزة مستهدفة محددة.
- الكشف السريع في مرحلة واحدة: التطبيقات التي تعطي الأولوية لسرعة الاستدلال الخام على GPU لمعالجة الفيديو الفوري في بيئات خاضعة للتحكم.
- تكامل النظام البيئي لـ Meituan: الفرق التي تعمل بالفعل ضمن حزمة التكنولوجيا والبنية التحتية للنشر الخاصة بـ Meituan.
متى تختار YOLOv7#
يُنصح بـ YOLOv7 في الحالات التالية:
- قياس الأداء الأكاديمي: إعادة إنتاج نتائج متطورة من حقبة 2022 أو دراسة تأثيرات تقنيات E-ELAN و"حقيبة الأدوات المجانية" القابلة للتدريب.
- أبحاث إعادة التقييم (Reparameterization): دراسة الالتفافات المعاد تقييمها المخطط لها واستراتيجيات قياس النموذج المركب.
- خطوط الأنابيب المخصصة الحالية: المشاريع ذات خطوط الأنابيب المخصصة للغاية المبنية حول معمارية YOLOv7 المحددة التي لا يمكن إعادة تصميمها بسهولة.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- الكشف عن الأشياء الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء (IoT) حيث تعمل ProgLoss و STAL على تعزيز الدقة بشكل كبير على الأشياء الدقيقة.
ميزة Ultralytics: خطوة نحو المستقبل#
في حين أن YOLOv6-3.0 و YOLOv7 يمثلان علامات فارقة مهمة، فإن دمج المستودعات متباينة الأصول في خطوط أنابيب الإنتاج غالبًا ما يفرض تحديات في model deployment وضبط المعلمات الفائقة. يحل Ultralytics ecosystem نقاط الألم هذه من خلال توفير واجهة مبسطة وموحدة.
لماذا تختار Ultralytics؟#
- سهولة الاستخدام: تسمح واجهة برمجة تطبيقات Python الخاصة بـ Ultralytics للمطورين بتحميل النماذج وتدريبها وتصديرها ببضعة أسطر فقط من الكود. يتطلب التبديل من نموذج قديم إلى أحدث بنية تغيير سلسلة نصية واحدة فقط.
- النظام البيئي المُصان جيدًا: توفر Ultralytics تحديثات متكررة، ودعمًا نشطًا للمجتمع، وdocumentation قوية.
- التنوع: على عكس النماذج السابقة التي ركزت بشكل أساسي على مربعات الإحاطة، تدعم نماذج Ultralytics بطبيعتها التعلم متعدد المهام، بما في ذلك instance segmentation، وpose estimation، وoriented bounding boxes (OBB).
- متطلبات الذاكرة: تحافظ نماذج Ultralytics YOLO على استهلاك أقل للذاكرة أثناء التدريب مقارنة بالهندسات المستندة إلى المحولات مثل RT-DETR، مما يسمح للباحثين بالتدريب بفعالية على الأجهزة الاستهلاكية.
الترقية إلى YOLO26#
للمطورين الباحثين عن ذروة الأداء، يُحدث YOLO26 (الذي تم إصداره في يناير 2026) تحولاً جذريًا في نموذج object detection. فهو يقدم تصميمًا خاليًا من NMS ومدمجًا بالكامل من النهاية إلى النهاية (End-to-End)، مما يلغي منطق المعالجة اللاحقة المعقد ويقلل بشكل كبير من تباين زمن الانتقال على أجهزة الحافة.
تشمل الابتكارات الرئيسية في YOLO26 ما يلي:
- مُحسِّن MuSGD: مزيج متطور من SGD و Muon يضمن ديناميكيات تدريب مستقرة للغاية وتقارباً أسرع.
- إزالة DFL: من خلال إزالة Distribution Focal Loss، يبسط YOLO26 توافق التصدير ويعزز الأداء على الأجهزة منخفضة الطاقة.
- ProgLoss + STAL: وظائف فقدان متقدمة تحقق تحسينات ملحوظة في التعرف على الكائنات الصغيرة.
- سرعة لا تُنافس: يحقق استدلالاً أسرع لوحدة المعالجة المركزية بنسبة تصل إلى 43% مقارنة بالأجيال السابقة، مما يجعله مثاليًا للأنظمة المدمجة مثل Raspberry Pi أو عمليات نشر Apple CoreML.
تشمل النماذج الأخرى عالية الكفاءة داخل النظام البيئي YOLO11 وYOLOv8، وكلاهما يوفر توازنًا ممتازًا في الأداء لعمليات دمج الأجهزة القديمة.
من خلال بناء تطبيقات الرؤية الحاسوبية الخاصة بك على Ultralytics Platform، فإنك تضمن الوصول الفوري إلى أحدث النماذج المتطورة في المستقبل دون الحاجة إلى إعادة كتابة محميلات البيانات أو نصوص النشر الخاصة بك.
مثال برمجي: تدريب مبسط#
يوضح المقتطف التالي مدى سهولة تدريب نموذج YOLO26 متطور باستخدام واجهة برمجة تطبيقات Ultralytics. ينطبق سير العمل هذا تماماً على YOLO11 أو YOLOv8، مما يلغي كود الغلاية (boilerplate code) الذي تطلبه المستودعات القديمة عادةً.
from ultralytics import YOLO
# Load the cutting-edge YOLO26 nano model for rapid training
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset
# The API handles dataset downloading, augmentation, and hyperparameter configuration
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="cuda:0", # Automatically utilizes PyTorch GPU acceleration
)
# Run an end-to-end, NMS-free inference on a test image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for cross-platform deployment
model.export(format="onnx")الخلاصة#
تناول كل من YOLOv6-3.0 و YOLOv7 جوانب مختلفة من تحدي الكشف في الوقت الفعلي بنجاح. يُعد YOLOv6-3.0 قوة محركة لبيئات GPU الصناعية المتخصصة، بينما يوفر YOLOv7 دقة عالية من خلال تحسين مسار التدرج الصارم.
ومع ذلك، بالنسبة للتطبيقات الحديثة التي تتطلب تنوعاً لا يضاهى، واحتكاكاً أقل في النشر، وأداءً متطوراً، يظل Ultralytics YOLO26 هو الخيار الأمثل. إن بنيته الخالية من NMS، ومُحسِّن MuSGD المتقدم، والتكامل العميق مع Ultralytics Platform يضمن أن المطورين يمكنهم نشر حلول رؤية ذكاء اصطناعي قوية وقابلة للتوسع أسرع من أي وقت مضى.