YOLOv7 مقابل YOLOv6-3.0#
يتطور مجال الرؤية الحاسوبية باستمرار، مع تحسن سرعة نماذج كشف الأجسام ودقتها تدريجيًا. ومن المحطات المهمة في هذا المسار YOLOv7 وYOLOv6-3.0. وقد قدم النموذجان ابتكارات بنيوية مميزة تهدف إلى تحقيق أقصى معدل معالجة ودقة في التطبيقات الواقعية. تقدم هذه الصفحة تحليلًا تقنيًا معمقًا للبنيتين، وتقارن أداءهما ومنهجيات التدريب وحالات الاستخدام المثلى لمساعدتك على اتخاذ قرار مدروس لمشروعك القادم في الذكاء الاصطناعي.
YOLOv7: رائد مجموعة المزايا المجانية#
طُرح YOLOv7 في منتصف عام 2022، وقدّم استراتيجيات مبتكرة متعددة لتحسين بنية الشبكة دون زيادة تكلفة الاستدلال. وركّز بدرجة كبيرة على «مجموعة الحيل القابلة للتدريب» لتحسين الدقة مع الحفاظ على الأداء في الوقت الفعلي.
- المؤلفون: Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao
- المؤسسة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- arXiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- الوثائق: وثائق Ultralytics YOLOv7
أبرز سمات البنية#
يتميّز YOLOv7 بشبكة تجميع الطبقات الفعالة الموسعة (E-ELAN). تتيح هذه البنية للنموذج تعلّم سمات أكثر تنوعًا من خلال التحكم في أقصر مسارات التدرج وأطولها. علاوة على ذلك، يستخدم YOLOv7 تقنيات إعادة المعلمات البنيوية أثناء الاستدلال لدمج طبقات الالتفاف، ما يقلل بفاعلية عدد المعلمات ووقت الحساب دون التضحية بالتمثيلات المكتسبة.
يتميز النموذج أيضًا باستراتيجية فريدة لتدريب الرأس المساعد. فمن خلال استخدام «رأس رئيسي» للتنبؤات النهائية و«رأس مساعد» لتوجيه التدريب في الطبقات الوسطى، يحقق YOLOv7 تقاربًا أفضل واستخراجًا أغنى للسمات، وهو ما يفيد بوجه خاص في مهام اكتشاف الأجسام الصعبة.
YOLOv6-3.0: معدل معالجة بمستوى صناعي#
طوّره قسم الذكاء الاصطناعي للرؤية في Meituan، وصُمم YOLOv6-3.0 صراحةً ليكون «كاشف الأجسام من الجيل التالي للتطبيقات الصناعية». أُطلق في مطلع عام 2023، ويركز بدرجة كبيرة على زيادة الاستفادة من العتاد إلى أقصى حد، ولا سيما وحدات GPU من NVIDIA.
- المؤلفون: Chuyi Li وLulu Li وYifei Geng وآخرون.
- المؤسسة: Meituan
- التاريخ: 2023-01-13
- arXiv: 2301.05586
- GitHub: meituan/YOLOv6
- الوثائق: وثائق Ultralytics YOLOv6
أبرز سمات البنية#
يعتمد YOLOv6-3.0 على العمود الفقري EfficientRep، المحسّن للمعالجة المتوازية على وحدات GPU، ما يجعله فعالًا جدًا في معالجة الدفعات على نطاق واسع. وقد قدم الإصدار 3.0 وحدة Bi-directional Concatenation (BiC) في العنق لتعزيز دمج السمات عبر المقاييس المختلفة، وتحسين قدرة النموذج على كشف الأجسام بأحجام متفاوتة.
بالإضافة إلى ذلك، يستخدم YOLOv6-3.0 استراتيجية Anchor-Aided Training (AAT). تجمع هذه الاستراتيجية فوائد التدريب القائم على المراسي مع الاستدلال الخالي من المراسي، فتحافظ على استقرار المراسي أثناء مرحلة التعلم وعلى سرعة التصميم الخالي من المراسي وبساطته أثناء النشر.
مقارنة الأداء#
عند تقييم النماذج للإنتاج، من الضروري تحقيق توازن بين الدقة (mAP) وسرعة الاستدلال والأعباء الحسابية (FLOPs). فيما يلي مقارنة مفصلة للمتغيرات القياسية لكلا النموذجين.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (ms) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
يناسب YOLOv6-3.0 بيئات GPU عالية الإنتاجية (مثل TensorRT)، بينما يوفر YOLOv7 خيارًا متوازنًا للأنظمة التي تعطي الأولوية للاحتفاظ بالسمات.
ميزة Ultralytics#
على الرغم من قوة المستودعات المستقلة لكل من YOLOv7 وYOLOv6-3.0، فإن منظومة Ultralytics تبسّط تجربة المطور. وتوحد حزمة Python ultralytics البنى المتنوعة ضمن إطار عمل واحد سهل الاستخدام.
- سهولة الاستخدام: تتيح لك واجهة Ultralytics البرمجية إنشاء نماذج YOLOv6 وتدريبها ونشرها (باستخدام إعدادات YAML الخاصة بها)، أو استخدام نماذج حديثة مثل YOLO26 بأقل قدر من الشيفرة التمهيدية. ولا يحظى YOLOv7 بدعم أصلي؛ إذ يجب أولًا تصدير نقاط تحقق YOLOv7 من المصدر إلى ONNX أو TensorRT. ويمكنك التبديل بين البنى المدعومة بتغيير ملف النموذج.
- منظومة مُدارة جيدًا: توفر Ultralytics بيئة تحظى بصيانة نشطة وتحديثات متكررة، ما يضمن التوافق الأصلي مع أحدث توزيعات PyTorch وإصدارات CUDA.
- كفاءة التدريب: حُسّنت مسارات التدريب للاستفادة الفعالة من موارد GPU. وإضافةً إلى ذلك، تتطلب نماذج Ultralytics YOLO عمومًا ذاكرة أقل أثناء التدريب مقارنةً بالنماذج الثقيلة القائمة على Transformer (مثل RT-DETR)، ما يتيح استخدام أحجام دفعات أكبر على العتاد الاستهلاكي.
- تعدد الاستخدامات: بالإضافة إلى كشف مربعات الإحاطة القياسية، يدعم إطار عمل Ultralytics مهامًا مثل تجزئة المثيلات، وتصنيف الصور، وتقدير الوضعية، ومربعات الإحاطة الموجّهة عبر عائلات النماذج المتوافقة؛ وهي ميزة غالبًا ما تفتقر إليها مستودعات الأبحاث المستقلة.
مثال برمجي: التدريب والاستدلال#
إن دمج هذه النماذج في مسار عمل Python أمر مباشر. تأكد من استخدام مجموعة بياناتك تنسيق كشف YOLO (كما في مجموعة بيانات COCO)، ثم شغّل ما يلي:
from ultralytics import YOLO
# إنشاء نموذج YOLOv6n من تكوين YAML الخاص به (لا تتوفر أوزان YOLOv6 مدرّبة مسبقًا)
model = YOLO("yolov6n.yaml")
# تدريب النموذج باستخدام إدارة المعلمات الفائقة المضمنة
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# تشغيل الاستدلال على رابط صورة أو مسار محلي
predictions = model("https://ultralytics.com/images/bus.jpg")
# عرض نتائج الاكتشاف
predictions[0].show()حالات الاستخدام المثالية#
متى تختار YOLOv7#
يتفوق YOLOv7 في السيناريوهات التي تتطلب دقة عالية واستخراجًا كثيفًا للسمات.
- المراقبة المعقدة: تجعل قدرته على الاحتفاظ بالتفاصيل الدقيقة منه خيارًا مناسبًا لمراقبة المشاهد المزدحمة أو اكتشاف الحالات الشاذة الصغيرة في بنية المدن الذكية التحتية.
- المقارنة المرجعية الأكاديمية: يُستخدم كثيرًا كخط أساس قوي في الأبحاث بفضل فلسفته التصميمية الشاملة القائمة على «مجموعة الحيل».
متى تختار YOLOv6-3.0#
يمثل YOLOv6-3.0 خيارًا عمليًا لمسارات العمل عالية الحجم والمعتمدة على تسريع GPU.
- الأتمتة الصناعية: يناسب خطوط المصانع واكتشاف عيوب التصنيع، حيث تعالج وحدات GPU المخصصة للخوادم تدفقات فيديو متعددة في الوقت نفسه.
- التحليلات عالية الإنتاجية: مفيدة لمعالجة أرشيفات الفيديو غير المتصلة بالإنترنت عندما يكون تعظيم عدد الإطارات في الثانية هو الهدف الأساسي.
المستقبل: YOLO26#
على الرغم من القدرات العالية لكل من YOLOv7 وYOLOv6-3.0، فإن الوتيرة السريعة للابتكار في الذكاء الاصطناعي تتطلب كفاءة أكبر. ويعالج Ultralytics YOLO26، الذي صدر في يناير 2026، كثيرًا من قيود البنى الأقدم.
إذا كنت تبدأ مشروعًا جديدًا، فيوصى باستخدام YOLO26 بدلًا من الأجيال السابقة. فهو يقدم عدة ميزات أساسية:
- تصميم شامل خالٍ من NMS: استنادًا إلى الأسس التي أرسى دعائمها YOLOv10، تتخطى الرأس الاختيارية أحادية المطابقة في YOLO26 (
nms=False) كبت الصندوق غير الأقصى (NMS). وهذا يقلل عبء المعالجة اللاحقة، ويبسط النشر في تطبيقات الأجهزة المحمولة، ويحافظ على زمن استدلال منخفض ومتسق. - محسّن MuSGD: استلهامًا من تقنيات تدريب نماذج اللغة الكبيرة المتقدمة (مثل المستخدمة في Kimi K2 من Moonshot AI)، يستخدم YOLO26 محسّنًا هجينًا يجمع بين SGD وMuon، ما يحقق تدريبًا أكثر استقرارًا وتقاربًا أسرع.
- استدلال على CPU أسرع بنسبة تصل إلى 43%: بإزالة Distribution Focal Loss (DFL)، يعمل YOLO26n على CPU بسرعة تفوق YOLO11n بنسبة تصل إلى 43%. وهذا يجعل YOLO26 مناسبًا تمامًا للبيئات الطرفية مثل Raspberry Pi ومستشعرات إنترنت الأشياء البعيدة.
- ProgLoss + STAL: خسارة تدريجية وإسناد للتسميات يراعي الأهداف الصغيرة، صُمما لتحسين التعرّف على الأجسام الصغيرة، وهي نقطة ضعف تاريخية في كاشفات المرحلة الواحدة.
من خلال الجمع بين هذه الابتكارات ومنصة Ultralytics، يوفر YOLO26 أداءً قويًا وتعددًا للمهام وبساطة في النشر لمهندسي تعلّم الآلة.