YOLOv7 مقابل YOLOv9#
شهد مجال اكتشاف الأجسام في الزمن الحقيقي تطورًا سريعًا، إذ دفعت كل نسخة جديدة حدود ما يمكن تحقيقه على الأجهزة الطرفية وخوادم السحابة على حد سواء. عند تقييم البنى لمشروعات الرؤية الحاسوبية، يقارن المطورون كثيرًا بين المعايير الراسخة والابتكارات الأحدث. يقارن هذا الدليل الشامل بين محطتين محوريتين في عائلة YOLO: YOLOv7 وYOLOv9.
سنحلل الاختراقات المعمارية ومقاييس الأداء وسيناريوهات النشر المثالية لكل منهما، لمساعدتك على اختيار النموذج المناسب لتطبيقك. وسنستكشف أيضًا كيف توحّد منصة Ultralytics هذه النماذج، مما يجعل تدريبها والتحقق منها ونشرها أسهل.
سلالة النماذج والمواصفات التقنية#
يوفّر فهم أصول هذه النماذج وفلسفات تصميمها سياقًا أساسيًا لفهم قدراتها. يشترك النموذجان في سلالة بحثية واحدة، لكنهما يستهدفان اختناقات معمارية مختلفة.
YOLOv7: رائد حقيبة المزايا#
طُرح YOLOv7 في منتصف عام 2022، وأثبت مكانته بوصفه بنية موثوقة للغاية ومحسّنة بدرجة كبيرة. وقدّم إعادة تشكيل المعلمات البنيوية ونهج «حقيبة مجانية قابلة للتدريب» للحفاظ على سرعات استدلال عالية من دون المساس بـمتوسط الدقة (mAP).
- المؤلفون: Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao
- الجهة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 6 يوليو 2022
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
الابتكارات المعمارية: يتميز YOLOv7 بشبكة تجميع الطبقات الفعّالة الممتدة (E-ELAN)، التي تتيح للنموذج تعلم ميزات أكثر تنوعًا عبر توسيع التعددية وإعادة ترتيبها ودمجها. وينتج عن هذا التصميم استخدام ممتاز لـ GPU وزمن استجابة الاستدلال. إلا أنه قد يتطلب ذاكرة كبيرة أثناء عمليات التدريب المعقدة مقارنةً بالتكرارات الحديثة.
YOLOv9: حل اختناق المعلومات#
قدّم فريق البحث نفسه YOLOv9 في أوائل عام 2024 لمعالجة «عنق زجاجة المعلومات» المتأصل في الشبكات العصبية العميقة. فعند مرور البيانات عبر الطبقات العميقة، غالبًا ما تُفقد التفاصيل المهمة. ويخفف YOLOv9 من ذلك من خلال تصميمات جديدة جوهريًا للطبقات.
- المؤلفون: Chien-Yao Wang وHong-Yuan Mark Liao
- الجهة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 21 فبراير 2024
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
الابتكارات المعمارية: يقدّم YOLOv9 معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعّالة المعمّمة (GELAN). تضمن PGI الحفاظ على تدرجات موثوقة وإعادتها لتحديث الأوزان بدقة. وتزيد GELAN من كفاءة المعلمات إلى أقصى حد، مما يمكّن YOLOv9 من تحقيق دقة عالية باستخدام عدد أقل بكثير من FLOPs مقارنةً بسلفه.
تحليل الأداء#
عند الاختيار بين البنى، يجب على مهندسي الذكاء الاصطناعي تحقيق توازن بين الدقة وسرعة الاستدلال والتكلفة الحاسوبية. يسلط الجدول أدناه الضوء على فروق الأداء بين هذه النماذج على مجموعة بيانات COCO القياسية.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (مللي ثانية) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
أهم الاستنتاجات#
- كفاءة المعلمات: يحقق YOLOv9m دقة مماثلة لـ YOLOv7l (51.4% mAP)، مع استخدام معلمات أقل بنحو 45% (20.0M مقابل 36.9M). ويجعل هذا الانخفاض الكبير YOLOv9m أسهل بكثير في النشر على أجهزة الذكاء الاصطناعي الطرفي المقيّدة بالذاكرة.
- عمليات النشر المصغّرة: يوفّر طرح نسخة YOLOv9t (الصغيرة جدًا) سرعات مذهلة (2.3ms على T4 باستخدام TensorRT) للبيئات التي تكون فيها قيود الزمن الحقيقي صارمة تمامًا.
- أقصى دقة: بالنسبة إلى التطبيقات التي تكون فيها الدقة بالغة الأهمية، يرفع YOLOv9e دقة الاكتشاف إلى 55.6% mAP، متفوقًا بفارق كبير على YOLOv7x.
على الرغم من قوة YOLOv7 وYOLOv9، فإن YOLO26 المطروح حديثًا يمثل قفزة حاسمة إلى الأمام. يقدّم YOLO26 تصميمًا أصليًا من طرف إلى طرف خاليًا من NMS، مما يلغي المعالجة اللاحقة المعقدة ويزيد سرعات الاستدلال على CPU بنسبة تصل إلى 43%. وباستخدام محسّن MuSGD الجديد ودوال الخسارة المحسّنة ProgLoss + STAL، يوفّر YOLO26 استقرارًا تدريبيًا ودقةً لا مثيل لهما في اكتشاف الأجسام الصغيرة.
ميزة Ultralytics#
لا يُعد اختيار بنية النموذج سوى الخطوة الأولى. إذ تحدد منظومة البرمجيات المحيطة بالنموذج مدى سرعة انتقالك من النموذج الأولي إلى الإنتاج. ويوفّر دمج هذه النماذج عبر واجهة Python البرمجية من Ultralytics فوائد كبيرة للمطورين والباحثين.
سهولة الاستخدام وكفاءة التدريب#
تاريخيًا، كان تدريب YOLOv7 يتطلب إعدادًا معقدًا للبيانات ونصوصًا مخصصة بدرجة كبيرة. ويجرّد إطار Ultralytics هذه التعقيدات الخاصة بالتعلم العميق من تفاصيلها. ويمكن للمطورين التبديل بسهولة بين البنى، وإجراء التجارب باستخدام ضبط المعلمات الفائقة، والاستفادة من مسارات زيادة البيانات الذكية باستخدام قدر ضئيل من التعليمات البرمجية.
علاوةً على ذلك، تعمل Ultralytics على تحسين استخدام الذاكرة أثناء التدريب والاستدلال. وعلى خلاف نماذج Transformer الثقيلة، مثل RT-DETR، تُدرَّب بنى YOLO من Ultralytics بسرعة أكبر بكثير وتتطلب قدرًا أقل بكثير من ذاكرة CUDA، مما يجعلها مثالية لوحدات GPU المخصصة للمستهلكين.
مثال على الشفرة: تدريب مبسّط#
يتم تدريب النماذج المتقدمة بسهولة ضمن منظومة Ultralytics. إليك مثالًا قابلًا للتشغيل بالكامل يوضح كيفية تدريب نموذج YOLOv9 والتحقق منه:
from ultralytics import YOLO
# Initialize the model (you can swap 'yolov9c.pt' with 'yolov7.pt' or 'yolo26n.pt')
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 sample dataset
train_results = model.train(
data="coco8.yaml",
epochs=50,
imgsz=640,
device="0", # Use GPU 0 if available
batch=16, # Optimized batch size for memory efficiency
)
# Validate the model's performance on the validation set
metrics = model.val()
# Export the trained model to ONNX format for deployment
model.export(format="onnx")تنوع لا مثيل له عبر المهام#
تعني المنظومة المُصانة جيدًا إمكانية الوصول إلى مهام متنوعة في الرؤية الحاسوبية. وبينما بُني YOLOv7 أساسًا لاكتشاف الأجسام، مع تفرعات تجريبية لاحقة لمهام أخرى، صُممت نماذج Ultralytics الحديثة أصلًا للتنوع. ويمكنك مباشرةً تنفيذ تجزئة المثيلات وتقدير الوضعية وتصنيف الصور واكتشاف المربع المحيط الموجّه (OBB) بسلاسة.
حالات الاستخدام والتطبيقات المثلى#
غالبًا ما يعتمد القرار بين YOLOv7 وYOLOv9 على قيود قطاعك المحددة وتوافر الأجهزة.
متى تستخدم YOLOv7#
- عمليات النشر الطرفية للأنظمة القديمة: بالنسبة إلى بيئات الأجهزة التي جرى بالفعل ضبطها وتحسينها بدرجة كبيرة لبنية E-ELAN في YOLOv7، يظل هذا النموذج خيارًا متينًا لـإنترنت الأشياء الصناعي.
- مراقبة حركة المرور: تجعل معدلات الإطارات العالية والاستقرار المثبت لـ YOLOv7 خيارًا ممتازًا للبنية التحتية للمدن الذكية وإدارة حركة المرور في الزمن الحقيقي.
- دمج الروبوتات: يتطلب التنقل في البيئات الديناميكية معالجة منخفضة زمن الاستجابة، وهو سيناريو اختُبرت فيه إصدارات YOLOv7 على نطاق واسع.
متى تستخدم YOLOv9#
- التصوير الطبي: تتميز بنية PGI في YOLOv9 بقدرة استثنائية على الحفاظ على التفاصيل الدقيقة عبر الطبقات العميقة، وهو أمر بالغ الأهمية عند تحليل مهام تحليل الصور الطبية المعقدة، مثل اكتشاف الأورام.
- تحليلات التجزئة الكثيفة: عند تتبع العناصر المتراصة بكثافة وعدّها على رفوف المتاجر، يوفّر دمج الميزات في YOLOv9 دقة أعلى ويقلل النتائج السلبية الكاذبة.
- الصور الجوية وصور الطائرات المسيّرة: تتيح كفاءة المعلمات في YOLOv9m معالجة الصور عالية الدقة على الطائرات المسيّرة، مما يساعد في الحفاظ على الحياة البرية ومراقبة الزراعة من دون استنزاف عمر البطارية.
الخلاصة#
رسّخ كل من YOLOv7 وYOLOv9 مكانته في تاريخ الرؤية الحاسوبية. فقدّم YOLOv7 تحسينات أساسية للمعالجة في الزمن الحقيقي، بينما عالج YOLOv9 اختناقات التعلم العميق البنيوية لتعظيم كفاءة المعلمات.
ومع ذلك، بالنسبة إلى المطورين الذين يبدؤون مشروعات جديدة اليوم، فإن الاستفادة من منظومة Ultralytics—ولا سيما النماذج من الجيل التالي مثل YOLO11 وYOLO26—تقدم أفضل موازنة بين السرعة والدقة وتجربة المطور. وبفضل ابتكارات مثل محسّن MuSGD وإزالة خسارة البؤرة التوزيعية (DFL) لتحقيق توافق أوسع مع الأجهزة، تواصل Ultralytics توفير الأدوات الأكثر سهولة وقوة للمحترفين في مجال الذكاء الاصطناعي للرؤية.