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

YOLOv7 مقابل EfficientDet: مقارنة تقنية بين بنيات الكشف عن الأجسام في الوقت الحقيقي

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

التصميم المعماري والفلسفة المعمارية

يكمن الاختلاف الأساسي بين هاتين البنيتين في أهداف التحسين الخاصة بهما. تعطي EfficientDet، التي طورها فريق Google Brain، الأولوية لكفاءة المعلمات وعمليات الفاصلة العائمة (FLOPs). وهي تستفيد من بنية قابلة للتطوير تسمح للمستخدمين بمقايضة الموارد بالدقة بشكل خطي. في المقابل YOLOv7الذي أنشأه مؤلفو YOLOv4 (تشين-ياو وانغ وآخرون)، يركز على زيادة سرعة الاستدلال إلى أقصى حد على أجهزة GPU مع الحفاظ على أحدث ما توصلت إليه الدقة.

EfficientDet: التحجيم المركب و BiFPPN

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

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

YOLOv7: E-ELAN وإعادة تحديد النموذج

يقدم YOLOv7 شبكة تجميع الطبقات الموسعة الفعالة الموسعة (E-ELAN). تتحكم هذه البنية في أقصر وأطول مسارات التدرج لتحسين قدرة الشبكة على التعلم دون تدمير مسار التدرج الأصلي. بالإضافة إلى ذلك، يستخدم YOLOv7 إعادة تحديد معيار النموذج، وهي تقنية يتم فيها تبسيط بنية التدريب المعقدة إلى بنية استدلال مبسطة. ينتج عن ذلك نموذج قوي أثناء التدريب وسريع للغاية أثناء النشر على وحدات معالجة الرسومات.

اعرف المزيد عن YOLOv7

تحليل الأداء: المقاييس والمعايير المرجعية

عند مقارنة الأداء، غالبًا ما يعتمد الاختيار على أجهزة النشر. يتألق برنامج EfficientDet في البيئات منخفضة الطاقة (وحدات المعالجة المركزية)، في حين أن YOLOv7 مصمم للاستدلال عالي الإنتاجية باستخدام GPU .

النموذجالحجم
(بالبكسل)
mAPفال
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

النقاط الرئيسية

  • الكمون مقابل الكفاءة: في حين أن EfficientDet-d0 يستخدم معلمات أقل بكثير (3.9 مليون)، فإن YOLOv7l يقدم معلمات mAP أعلى بكثير (51.4%) مع زمن انتقال منخفض للغاية على وحدات معالجة الرسومات (6.84 مللي ثانية). وهذا يوضح الاستخدام المتفوق لـ YOLOv7 لقوة المعالجة المتوازية.
  • قابلية التوسع: يوفر EfficientDet مسار تحجيم دقيق من d0 إلى d7، مما يسمح للمطورين بضبط حجم النموذج بدقة لتلبية قيود محددة CPU .
  • دقة عالية: في النهاية العليا، يحقق EfficientDet-d7 دقة ممتازة (53.7% mAP)، ولكن على حساب زمن انتقال عالٍ (128 مللي ثانية تقريبًا). يحقق YOLOv7x دقة مماثلة (53.1% mAP) بأقل من عُشر زمن الاستدلال (11.57 مللي ثانية) على GPU T4.

اعتبارات الأجهزة

إذا كان هدف النشر الخاص بك هو CPU عامة أو معالج محمول، فإن انخفاض FLOPs لنماذج EfficientDet (خاصةً d0-d2) غالبًا ما يؤدي إلى تحسين عمر البطارية والإدارة الحرارية. بالنسبة لوحدات معالجة الرسومات المتطورة (مثل NVIDIA Jetson) أو خوادم الاستدلال السحابية, YOLOv7 توفر معدلات إطارات أعلى بكثير لتحليلات الفيديو في الوقت الفعلي.

منهجيات التدريب والتحسين

تعكس استراتيجيات التدريب لهذه النماذج أهدافها المعمارية.

YOLOv7 يستخدم نهج "حقيبة من الأشياء المجانية"، ويتضمن أساليب تزيد من تكلفة التدريب ولكنها تحسن الدقة دون التأثير على سرعة الاستدلال. تشمل التقنيات الرئيسية ما يلي:

  • الإشراف العميق الخشن إلى الدقيق: يتم استخدام رأس مساعد للإشراف على الطبقات الوسطى للشبكة، مع استراتيجيات تعيين التسميات التي توجه الرأس المساعد بشكل مختلف عن الرأس الرئيسي.
  • تعيين التسمية الديناميكية: يعمل النموذج على تكييف تعيين كائنات الحقيقة الأرضية إلى نقاط الارتكاز أثناء التدريب، مما يحسن التقارب.

يعتمد EfficientDet بشكل كبير على AutoML للعثور على العمود الفقري الأمثل وبنية شبكة الميزات. يتضمن تدريبه عادةً:

  • العمق العشوائي: إسقاط الطبقات بشكل عشوائي أثناء التدريب لتحسين التعميم.
  • تنشيط حفيف: دالة سلسة غير رتيبة تتفوق باستمرار على ReLU في الشبكات الأعمق.

ميزة Ultralytics

على الرغم من قوة كل من YOLOv7 و EfficientDet، إلا أن مشهد الرؤية الحاسوبية يتطور بسرعة. يقدم نظامUltralytics البيئي بدائل حديثة مثل YOLO11 التي تجمع بين أفضل سمات البنى السابقة مع تحسين تجربة المطورين.

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

يتمثل أحد التحديات الأساسية في المستودعات الموجهة نحو البحث (مثل قاعدة كود EfficientDet الأصلية) في تعقيد التكامل. تحل Ultralytics هذه المشكلة من خلال حزمة Python الموحدة. يمكن للمطوّرين تدريب النماذج والتحقق من صحتها ونشرها ببضعة أسطر من التعليمات البرمجية، مدعومة بتوثيق شامل ودعم مجتمعي نشط.

تعدد الاستخدامات وتوازن الأداء

لا تقتصر نماذج Ultralytics على المربعات المحدودة. فهي تدعم في الأصل تجزئة النماذج، وتقدير الوضع، والتصنيف، والكشف عن الكائنات الموجهة (OBB). فيما يتعلق بالأداء، غالبًا ما تحقق إصدارات YOLO الحديثة (مثل YOLOv8 و YOLO11) دقة أعلى لكل معلمة من EfficientDet واستدلال أسرع من YOLOv7 مما يحقق توازنًا مثاليًا للنشر في العالم الحقيقي.

الذاكرة وكفاءة التدريب

تشتهر نماذج Ultralytics YOLO بكفاءة ذاكرتها. فهي عادةً ما تتطلب ذاكرة CUDA أقل أثناء التدريب مقارنةً بالمكشافات القائمة على المحولات أو البنى الأقدم القابلة للتطوير. يسمح ذلك للباحثين بتدريب أحدث النماذج على أجهزة من فئة المستهلكين. علاوةً على ذلك، يتم تبسيط عملية التعلُّم التحوّلي من خلال أوزان عالية الجودة مُدرّبة مسبقاً ومتاحة للتنزيل الفوري.

from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

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

# Run inference with high speed
predictions = model("https://ultralytics.com/images/bus.jpg")

مواصفات الطراز

YOLOv7

EfficientDet

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

متى تختار EfficientDet

يظل EfficientDet مرشحاً قوياً للأنظمة المدمجة التي لا يتوفر فيها تسريع GPU .

  • تطبيقات الجوال: تطبيقات iOS التي تقوم بالكشف عن الكائنات على CPU.
  • مستشعرات إنترنت الأشياء عن بُعد: أجهزة تعمل بالبطاريات تراقب التغيرات البيئية حيث يتم احتساب كل مللي واط من الحوسبة.

متى تختار YOLOv7

يتفوق YOLOv7 في البيئات الصناعية عالية الأداء.

  • القيادة الذاتية: اكتشاف المشاة والمركبات بمعدلات إطارات عالية لضمان السلامة.
  • المدن الذكية: تحليل تدفقات الفيديو المتعددة في وقت واحد لإدارة حركة المرور على الخوادم الطرفية.

الخلاصة

تمثل كلتا البنيتين إنجازين مهمين في مجال الرؤية الحاسوبية. أظهر EfficientDet قوة التحجيم المركب لكفاءة البارامتر، بينما أظهر YOLOv7 حدود ما هو ممكن مع تحسين زمن انتقال GPU .

ومع ذلك، بالنسبة للمطورين الذين يبحثون عن الحل الأكثر حداثة وقابلية للصيانة والتنوع، فإن Ultralytics YOLO11 يوصى باستخدام عائلة النماذج. فهي تقدم مفاضلات فائقة بين الدقة والسرعة، وسير عمل أبسط، ونظام بيئي قوي يبسّط الرحلة من تنظيم مجموعة البيانات إلى النشر.

استكشف نماذج أخرى

إذا كنت مهتمًا بمقارنة بنيات الكشف عن الكائنات الأخرى، ففكر في هذه الموارد:


تعليقات