تخطي إلى المحتوى

YOLOv9 EfficientDet: مقارنة تقنية بين البنية والأداء

في عالم الرؤية الحاسوبية المتطور، يعد اختيار بنية الكشف عن الأجسام المناسبة قرارًا بالغ الأهمية يؤثر على زمن استجابة النظام ودقته وتعقيد نشره. يقدم هذا الدليل مقارنة تقنية مفصلة بين YOLOv9، وهو نموذج متطور تم طرحه في أوائل عام 2024، و EfficientDet، وهي بنية مؤثرة للغاية من Google بكفاءتها في التوسع. نقوم بتحليل الاختلافات الهيكلية بينهما ومقاييس الأداء ومدى ملاءمتها للتطبيقات في العالم الواقعي.

تحليل مقاييس الأداء

يوضح الجدول التالي مقارنة بين أداء نماذج مختلفة الحجم. YOLOv9 بشكل عام نسب دقة إلى معلمات أعلى وسرعات استدلال أسرع على الأجهزة الحديثة مقارنةً بهيكل EfficientDet الأقدم.

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

نظرات عامة على النموذج

YOLOv9

المؤلفون: Chien-Yao Wang، Hong-Yuan Mark Liao
المنظمة: معهد علوم المعلومات، أكاديمية سينكا، تايوان
التاريخ: 2024-02-21
الروابط:Arxiv | GitHub | Docs

YOLOv9 ابتكارات معمارية مهمة لمعالجة مشكلة "اختناق المعلومات" في الشبكات العميقة. المساهمة الأساسية هي معلومات التدرج القابلة للبرمجة (PGI)، التي تولد تدرجات موثوقة عبر فرع إشراف إضافي لضمان احتفاظ الطبقات العميقة بمعلومات الميزات الهامة. بالإضافة إلى ذلك، يستخدم شبكة تجميع الطبقات الفعالة المعممة (GELAN)، وهي بنية خفيفة الوزن تعمل على زيادة كفاءة المعلمات إلى أقصى حد.

تعرف على المزيد حول YOLOv9

EfficientDet

المؤلفون: Mingxing Tan، Ruoming Pang، Quoc V. Le
المنظمة:Google
التاريخ: 2019-11-20
الروابط:Arxiv | GitHub

كان EfficientDet عملاً رائداً في AutoML حيث قدم شبكة هرم الميزات ثنائية الاتجاه (BiFPN). على عكس شبكات FPN التقليدية، تسمح شبكة BiFPN بدمج الميزات متعددة المقاييس بسهولة من خلال إدخال أوزان قابلة للتعلم. يستخدم النموذج أيضاً تقنية Compound Scaling، وهي طريقة تقوم بتحجيم الدقة والعمق والعرض بشكل موحد، مما يتيح له تحقيق أداء ممتاز عبر نطاق واسع من قيود الموارد (من D0 إلى D7).

نظرة معمارية متعمقة

دمج الميزات: GELAN مقابل BiFPN

يكمن الفارق الأساسي في كيفية تجميع هذه النماذج للميزات. يعتمد EfficientDet على بنية BiFPN المعقدة، والتي على الرغم من كفاءتها النظرية في FLOPs، إلا أنها قد تستهلك الكثير من الذاكرة ويصعب تحسينها لمسرعات الأجهزة المحددة مثل TensorRT.

في المقابل، تجمع بنية GELAN YOLOv9 بين أفضل جوانب CSPNet و ELAN. فهي تعطي الأولوية لتخطيط مسار التدرج على الاتصالات الاندماجية المعقدة. وينتج عن ذلك شبكة ليست فقط أخف في المعلمات، بل وأكثر "ملاءمة للأجهزة"، مما يؤدي إلى زيادة GPU أثناء التدريب والاستدلال.

التدفق التدرجي وفقدان المعلومات

يعتمد EfficientDet على التراجع القياسي من خلال شبكة EfficientNet العميقة للغاية. YOLOv9 المشكلة التي "تنسى" فيها الشبكات العميقة تفاصيل بيانات الإدخال. من خلال PGI، YOLOv9 فرعًا مساعدًا قابلًا للعكس يوجه عملية التعلم، مما يضمن أن الفرع الرئيسي يلتقط ميزات دلالية قوية دون التكلفة الحسابية للحفاظ على تلك الفروع المساعدة أثناء الاستدلال.

تحذير: فوائد PGI

تتيح معلومات التدرج القابلة للبرمجة (PGI) YOLOv9 تقارب أفضل باستخدام بيانات أقل، مما يجعلها فعالة بشكل خاص لمجموعات البيانات المخصصة حيث قد تكون الأمثلة المُعلّقة نادرة.

النظام البيئي وسهولة الاستخدام

أحد الاختلافات الأكثر عمقًا بالنسبة للمطورين هو النظام البيئي المحيط بهذه النماذج.

تستند EfficientDet بشكل أساسي على TensorFlow . وعلى الرغم من قوتها، فإن استخدامها غالبًا ما يتطلب التنقل بين سلاسل التبعية المعقدة أو المستودعات القديمة التي قد تفتقر إلى التحديثات المتكررة.

YOLOv9، المدمج في Ultralytics يوفر تجربة مبسطة. يمكن للمطورين الوصول إلى النموذج عبر Python بسيطة، مما يتيح التدريب والتحقق والنشر في غضون دقائق. يتولى Ultralytics معالجة زيادة البيانات والتسجيل (على سبيل المثال، إلى MLflow أو Comet) والتصدير تلقائيًا.

from ultralytics import YOLO

# Load a pretrained YOLOv9c model
model = YOLO("yolov9c.pt")

# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export to ONNX for deployment
model.export(format="onnx")

يوضح هذا المقتطف سهولة الاستخدام المتأصلة في Ultralytics . كما يدعم إطار العمل الدقة المختلطة التلقائية (AMP)GPU بشكل فوري، مما يضمن كفاءة التدريب.

التنوع والانتشار

دعم المهام

تم تصميم EfficientDet بشكل أساسي لاكتشاف الكائنات. يتطلب تكييفه لمهام مثل التجزئة أو تقدير الوضع تعديلات كبيرة في البنية ورموز مخصصة.

Ultralytics ، بما في ذلك YOLOv9 وخلفاؤها، مبنية على قاعدة كود متعددة الاستخدامات تدعم بشكل أساسي:

توافق الحافة والذاكرة

في حين أن EfficientDet-D0 صغير الحجم، فإن التوسع إلى D7 يتطلب تكاليف ذاكرة ضخمة بسبب توسع الدقة (حتى 1536x1536). YOLOv9 مدخلات قياسية 640x640 لمعظم المعايير مع تحقيق دقة فائقة. تقلل دقة المدخلات المنخفضة هذه بشكل كبير من متطلبات الذاكرة لـ VRAM، مما يسمح بأحجام دفعات أكبر وتجارب أسرع على وحدات معالجة الرسومات (GPU) الاستهلاكية.

علاوة على ذلك، تدعم Ultralytics التصدير بنقرة واحدة إلى تنسيقات مثل TFLite للأجهزة المحمولة، و OpenVINOIntel ، و CoreML Apple، مما يضمن توافقًا واسعًا مع الحافة.

حالات الاستخدام في العالم الحقيقي

غالبًا ما يحدد اختيار النموذج نجاح تطبيق معين:

  • تحليلات البيع بالتجزئة: لحساب المنتجات على الرفوف، YOLOv9 متفوقة بفضل دقتها العالية (mAP) في التعرف على الأجسام الصغيرة، بفضل قدرة PGI على الاحتفاظ بالتفاصيل الدقيقة.
  • الطائرات بدون طيار المستقلة: في السيناريوهات التي تتطلب استنتاجًا في الوقت الفعلي على الأجهزة المدمجة (مثل Jetson Orin)، توفر بنية GELAN الفعالة YOLOv9 معدل الإطارات في الثانية (FPS) الضروري الذي غالبًا ما تصعب طبقات BiFPN المعقدة في EfficientDet مطابقته.
  • الأنظمة القديمة: تظلEfficientDet ذات صلة في مقارنات الأبحاث أو TPU Google TPU القديمة حيث يتم ترميز بنية النموذج المحددة في خط أنابيب الأجهزة.

المستقبل: YOLO26

بينما YOLOv9 أداءً استثنائيًا، فإن مجال الذكاء الاصطناعي يتطور بسرعة. Ultralytics الابتكار مع YOLO26، الخيار الموصى به للمشاريع الجديدة.

يعتمد YOLO26 على نقاط القوة في YOLO السابقة YOLO ولكنه يقدم تصميمًا أصليًا شاملاً NMS، مما يزيل زمن الاستجابة وتعقيد المعالجة اللاحقة لـ Non-Maximum Suppression. ويتميز بمحسّن MuSGD— وهو مزيج من SGD Muon — ويزيل Distribution Focal Loss (DFL) لتسهيل التصدير. وتؤدي هذه التغييرات إلى زيادة CPU بنسبة تصل إلى 43٪ وتحسين استقرار التدريب.

تعرف على المزيد حول YOLO26

بالإضافة إلى ذلك، يدمج YOLO26 ProgLoss + STAL (Soft-Target Anchor Loss)، مما يوفر تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية في مجال الروبوتات والصور الجوية. بالنسبة للمطورين الذين يبحثون عن التوازن المثالي بين السرعة والدقة وسهولة النشر، يمثل YOLO26 المعيار الجديد.

الخلاصة

كلا البنيتين قد حازتا على مكانهما في تاريخ الرؤية الحاسوبية. أظهرت EfficientDet قوة التوسع المركب، بينما YOLOv9 كيف يمكن للتدرجات القابلة للبرمجة استعادة المعلومات في الشبكات العميقة. ومع ذلك، بالنسبة لبيئات الإنتاج الحديثة، يوفر Ultralytics — الذي يدعم كل من YOLOv9 YOLO26 الأحدث — ميزة واضحة من حيث قابلية الصيانة وسرعة التدريب ومرونة النشر.

انظر أيضاً


تعليقات