YOLOv7 مقابل YOLOv9: نظرة تقنية متعمقة في كشف الكائنات الحديث
تطور مشهد كشف الكائنات في الوقت الفعلي بسرعة كبيرة، حيث تدفع كل نسخة جديدة حدود الممكن على أجهزة الحافة وخوادم السحابة على حد سواء. عند تقييم البنى التحتية لمشاريع رؤية الحاسوب، غالباً ما يقارن المطورون المعايير الراسخة بالابتكارات الأحدث. يقارن هذا الدليل الشامل بين محطتين محوريتين في عائلة YOLO: YOLOv7 و YOLOv9.
سنقوم بتحليل اختراقاتها المعمارية، ومقاييس الأداء، وسيناريوهات النشر المثالية لمساعدتك في اختيار النموذج المناسب لتطبيقك. سنستكشف أيضاً كيف توحد منصة Ultralytics هذه النماذج، مما يجعلها أسهل في التدريب والتحقق والنشر.
سلالة النموذج والمواصفات التقنية
يوفر فهم أصول وفلسفات تصميم هذه النماذج سياقاً أساسياً لقدراتها. يشترك كلا النموذجين في سلالة بحثية مشتركة ولكنهما يستهدفان اختناقات معمارية مختلفة.
YOLOv7: رائد "مجموعة الهدايا" (Bag-of-Freebies)
تم إصدار 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: حل اختناق المعلومات
قدمه فريق البحث نفسه في أوائل عام 2024، ويعالج YOLOv9 "عنق زجاجة المعلومات" المتأصل في الشبكات العصبية العميقة. فمع مرور البيانات عبر الطبقات العميقة، غالباً ما تفقد تفاصيل حاسمة. يخفف 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 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| 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.0 مليون مقابل 36.9 مليون). هذا التخفيض الكبير يجعل YOLOv9m أسهل بكثير للنشر على أجهزة الذكاء الاصطناعي للحافة المقيدة بالذاكرة.
- النشر المصغر: يوفر تقديم متغير YOLOv9t (الصغير) سرعات مذهلة (2.3 مللي ثانية على T4 TensorRT) للبيئات التي تكون فيها قيود الوقت الفعلي مطلقة.
- أقصى دقة: بالنسبة للتطبيقات التي تكون فيها الدقة ذات أهمية قصوى، يدفع YOLOv9e دقة الكشف إلى 55.6% mAP، متفوقاً بشكل كبير على YOLOv7x.
في حين أن YOLOv7 وYOLOv9 قويان، فإن YOLO26 الذي تم إصداره حديثاً يمثل القفزة النهائية للأمام. يقدم YOLO26 تصميماً أصلياً شاملاً بدون NMS، مما يلغي المعالجة اللاحقة المعقدة ويعزز سرعات استنتاج وحدة المعالجة المركزية (CPU) بنسبة تصل إلى 43%. من خلال استخدام مُحسِّن MuSGD المبتكر ووظائف الخسارة المحسنة ProgLoss + STAL، يقدم YOLO26 استقراراً غير مسبوق في التدريب ودقة كشف للأجسام الصغيرة.
ميزة Ultralytics
اختيار بنية النموذج هو الخطوة الأولى فقط. يحدد النظام البيئي للبرمجيات المحيط بالنموذج مدى سرعة انتقالك من النموذج الأولي إلى الإنتاج. يوفر دمج هذه النماذج من خلال واجهة برمجة تطبيقات Python الخاصة بـ Ultralytics فوائد كبيرة للمطورين والباحثين.
سهولة الاستخدام وكفاءة التدريب
تاريخياً، كان تدريب YOLOv7 يتطلب إعداداً معقداً للبيانات ونصوصاً برمجية مخصصة بشكل كبير. يقوم إطار عمل Ultralytics بتجريد تعقيدات التعلم العميق هذه. يمكن للمطورين التبديل بسهولة بين البنى، وتجربة ضبط المعلمات الفائقة، واستخدام خطوط أنابيب زيادة البيانات الذكية بأقل قدر من الكود.
علاوة على ذلك، تعمل Ultralytics على تحسين استخدام الذاكرة أثناء التدريب والاستنتاج. على عكس نماذج المحولات الثقيلة (مثل RT-DETR)، يتم تدريب بنى Ultralytics YOLO بشكل أسرع بكثير وتتطلب ذاكرة CUDA أقل بكثير، مما يجعلها مثالية لوحدات معالجة الرسومات الاستهلاكية.
مثال برمجي: تدريب مبسط
يعد تدريب النماذج المتطورة أمراً سلساً داخل نظام 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 توفير أكثر الأدوات سهولة وقوة لمحترفي رؤية الذكاء الاصطناعي.