YOLO مقابل YOLOv9: مقارنة تقنية
في عالم الرؤية الحاسوبية سريع التقدم، يعد اختيار النموذج الأمثل للكشف عن الأجسام قرارًا محوريًا يؤثر على كل شيء بدءًا من زمن استجابة النظام إلى دقة الكشف. يقدم هذا الدليل الشامل مقارنة تقنية بين YOLO وهو كاشف عالي السرعة من مجموعة علي بابا، و YOLOv9وهي بنية تركز على حفظ المعلومات وكفاءتها. سنقوم بتحليل ابتكاراتهما المعمارية ومقاييس الأداء وحالات الاستخدام المثالية لمساعدة المطورين والباحثين على اتخاذ خيارات مستنيرة.
في حين أن كلا الطرازين يقدمان تحسينات كبيرة عن سابقيهما, YOLOv9لا سيما عند الاستفادة منه داخل منظومة Ultralytics فإنه يوفر مزيجًا مقنعًا من الدقة المتطورة، والأدوات الملائمة للمطورين، وخيارات النشر المتنوعة.
YOLO: التصميم الموجه نحو السرعة من خلال البحث في البنية العصبية
YOLO هو إطار عمل لاكتشاف الكائنات تم تطويره من قِبل شركة Alibaba، وهو مصمم بمنهجية "مرة واحدة للجميع". وهو يعطي الأولوية لوقت الاستجابة المنخفض والإنتاجية العالية، مما يجعله منافسًا قويًا للتطبيقات الصناعية التي تتطلب قيودًا محددة بدقة على سرعة محددة على أجهزة معينة.
المؤلفون: شيانزهي شو، وييكي جيانغ، وويهوا تشن، ووي هوا تشن، ويلون هوانغ، ويوان تشانغ، وشيويو صن
المنظمة:مجموعة علي بابا
التاريخ: 2022-11-23
اركسيف:https://arxiv.org/abs/2211.15444
جيثب:YOLO
الابتكارات المعمارية
تتميز YOLO من خلال عمليات التصميم الآلية والمكونات الفعالة:
- البحث المعماري العصبي (NAS): بدلاً من تصميم العمود الفقري يدويًا، يستخدم YOLO البحث عن البنية العصبية (NAS) لاكتشاف البنى الفعالة (TinyNAS) المصممة خصيصًا لميزانيات حسابية مختلفة.
- رقبة RepGFPPN: يقدم تنويعًا فعالاً لشبكة هرم السمات المعممة (GFPN)، يُطلق عليه اسم RepGFPPN. يعمل هذا المكوّن على تحسين دمج الميزات ويدعم إعادة المعرفات، مما يسمح بسرعات استدلال أسرع.
- ZeroHead: يستخدم النموذج رأس كشف "ZeroHead" خفيف الوزن، مما يقلل من العبء الحسابي المرتبط عادةً برؤوس الكشف المعقدة.
- AlignedOTA: لتحسين ثبات التدريب ودقته، يستخدم AlignedOTA، وهي استراتيجية تعيين التسمية التي تحل مشكلات عدم التوافق بين مهام التصنيف والانحدار.
نقاط القوة والقيود
تكمن قوة YOLO الأساسية في سرعة الاستدلال. تم تحسين البنية بشكل كبير لتحقيق إنتاجية عالية GPU مما يجعلها مناسبة لخطوط أنابيب تحليلات الفيديو حيث يكون حجم المعالجة أمرًا بالغ الأهمية. بالإضافة إلى ذلك، يعزز استخدام التقطير من أداء نماذجها الأصغر حجمًا.
ومع ذلك، تواجه YOLO تحديات فيما يتعلق بنضج النظام البيئي. مقارنةً بالأدوات القوية المتاحة لنماذج Ultralytics قد يجد المستخدمون موارد أقل للنشر وتحويل التنسيق ودعم المجتمع. كما أن تعدد مهامها يقتصر عموماً على اكتشاف الأجسام، في حين أن الأطر الحديثة غالباً ما تدعم التجزئة وتقدير الوضعيات محلياً.
YOLOv9: تدرجات قابلة للبرمجة لتحقيق أقصى قدر من الكفاءة
يمثل YOLOv9 نقلة نوعية في الكشف عن الأجسام في الوقت الحقيقي من خلال معالجة المشكلة الأساسية المتمثلة في فقدان المعلومات في الشبكات العصبية العميقة. من خلال ضمان الحفاظ على البيانات المهمة في جميع أنحاء عمق الشبكة، يحقق YOLOv9 دقة فائقة مع كفاءة ملحوظة في المعلمات.
المؤلفون: تشين ياو وانغ، هونغ يوان مارك لياو
المنظمة:معهد علوم المعلومات، الأكاديمية الصينية للعلوم بتايوان
التاريخ: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
التوثيقultralytics
البنية الأساسية: PGI وGELAN
يقدم YOLOv9 تقنيتين رائدتين تميزانه عن غيره:
- معلومات التدرج القابلة للبرمجة (PGI): غالبًا ما تعاني الشبكات العميقة من عنق الزجاجة المعلوماتي حيث تضيع بيانات الإدخال أثناء مرورها عبر الطبقات. يوفر PGI فرع إشراف مساعد يولد تدرجات موثوقة، مما يضمن حصول الطبقات العميقة على معلومات كاملة لتحديثات دقيقة للأوزان.
- شبكة تجميع الطبقات الفعالة المعممة (GELAN): تجمع هذه البنية الجديدة بين نقاط قوة شبكة CSPNet وشبكة تجميع الطبقات المعممة ذات الكفاءة العالية (ELAN). تم تصميم GELAN لزيادة استخدام المعلمات إلى أقصى حد، مما يوفر نموذجًا خفيف الوزن وقويًا بشكل لا يصدق.
لماذا تعتبر PGI مهمة
في نماذج التعلّم العميق التقليدية، غالبًا ما تفتقر دالة الخسارة في طبقة الخرج إلى المعلومات الكافية لتوجيه تحديثات الطبقات الضحلة بفعالية. يعمل PGI كجسر، حيث يحافظ على معلومات المدخلات ويضمن أن تتعلم الشبكة بأكملها ميزات قوية، مما يؤدي إلى تقارب أفضل ودقة أعلى.
ميزة Ultralytics
عند استخدام YOLOv9 ضمن منظومةUltralytics يكتسب المطورون مزايا كبيرة مقارنةً بالتطبيقات المستقلة:
- سهولة الاستخدام: تلخص واجهة برمجة تطبيقات Ultralytics Python API وواجهة برمجة تطبيقاتPython و CLI خطوط أنابيب التدريب المعقدة في أوامر بسيطة.
- كفاءة التدريب: تضمن منهجيات Ultralytics الاستخدام الأمثل للموارد. عادةً ما يتطلب YOLOv9 ذاكرةCUDA أقل أثناء التدريب مقارنةً بأجهزة الكشف القائمة على المحولات، مما يجعلها متاحة على نطاق أوسع من الأجهزة.
- تعدد الاستخدامات: في حين أن ورقة YOLOv9 الأساسية تركز على الكشف، فإن إطار عمل Ultralytics يسهل توسيع نطاق هذه البنى إلى مهام أخرى ويضمن التصدير السلس إلى تنسيقات مثل ONNX, TensorRTو OpenVINO.
تحليل الأداء: الدقة مقابل الكفاءة
تبرز المقارنة أدناه المفاضلة بين YOLO و YOLOv9. بينما يوفر YOLO سرعات تنافسية على أجهزة معينة، فإن YOLOv9 يوفر باستمرار متوسط دقة أعلى (mAP) مع عدد أقل من المعلمات، مما يُظهر كفاءة معمارية فائقة.
| النموذج | الحجم (بالبكسل) | mAPفال 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
الوجبات السريعة الرئيسية:
- كفاءة المعلمات: يحقق YOLOv9s كفاءة mAP أعلى (46.8) من معلمات YOLO (46.0) مع استخدام أقل من نصف المعلمات (7.1 مليون مقابل 16.3 مليون). وهذا يجعل YOLOv9 أكثر ملاءمة للتخزين وأسهل في التحديث عبر الأثير لأجهزة الذكاء الاصطناعي المتطورة.
- دقة فائقة: يدفع متغيرا YOLOv9 الأكبر (ج و هـ) حدود الدقة إلى ما هو أبعد من حدود YOLO حيث تصل إلى 55.6 mAP.
- السرعة: على الرغم من أن YOLO يُظهر تفوقًا طفيفًا في زمن انتقال TensorRT الخام للنماذج المتوسطة، فإن YOLOv9t سريع للغاية (2.3 مللي ثانية)، مما يجعله مثاليًا لتطبيقات الأجهزة المحمولة في الوقت الفعلي.
منهجيات التدريب وسهولة الاستخدام
تختلف تجربة التدريب بشكل كبير بين النموذجين. ينطوي اعتماد YOLO على NAS على مرحلة بحث معقدة لاشتقاق البنية أو استخدام العمود الفقري الذي تم بحثه مسبقًا. يمكن أن يكون نهجها "مرة واحدة للجميع" مكلفًا من الناحية الحسابية إذا كان تخصيص بنية العمود الفقري مطلوبًا.
في المقابل، يوفر YOLOv9 المدعوم من Ultralytics وضع تدريب مبسط. يمكن للمستخدمين ضبط النماذج على مجموعات البيانات المخصصة مثل Open Images V7 أو المجموعات المتخصصة بأقل قدر من التكوين. يسمح التكامل مع Ultralytics HUB بالتدريب المستند إلى السحابة والتصور والنشر بنقرة واحدة، مما يجعل الوصول إلى الذكاء الاصطناعي المتقدم أكثر ديمقراطية دون الحاجة إلى خبرة عميقة في NAS أو ضبط المعلمات الفائقة.
مثال على الكود: تدريب YOLOv9
يعد تنفيذ YOLOv9 بسيطًا ومباشرًا باستخدام حزمة Ultralytics Python .
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
حالات الاستخدام المثالية
متى تختار YOLO
- معالجة الفيديو على نطاق واسع: إذا كنت تقوم بمعالجة الآلاف من تدفقات الفيديو على وحدات معالجة الرسومات الخاصة بالخوادم، حيث يُترجم كل جزء من الثانية من زمن الاستجابة إلى توفير كبير في تكاليف البنية التحتية، فقد يكون تحسين YOLO للإنتاجية العالية مفيداً.
- قيود الأجهزة الثابتة: بالنسبة للسيناريوهات التي تكون فيها الأجهزة معروفة وثابتة، يمكن اختيار البنى المشتقة من NAS لملء ميزانية الحوسبة المتاحة بشكل مثالي.
متى تختار YOLOv9
- الرؤية الحاسوبية للأغراض العامة: بالنسبة لغالبية المطورين الذين يعملون في مجال الروبوتات أو الأمن أو تحليلات البيع بالتجزئة، يوفر YOLOv9 أفضل توازن بين الدقة وسهولة الاستخدام.
- نشر الحافة: نظرًا لكفاءة المعلمات الفائقة (على سبيل المثال، YOLOv9s)، فإنه يتناسب بشكل أفضل مع الأجهزة المقيدة مثل Raspberry Pi أو NVIDIA Jetson، مما يترك مساحة أكبر للتطبيقات الأخرى.
- البحث والتطوير: توفر بنية PGI أساسًا رائعًا لمزيد من البحث في كفاءة التعلم العميق.
- تتطلب نظامًا بيئيًا ناضجًا: إذا كان مشروعك يتطلب تتبعًا موثوقًا، وسهولة التصدير إلى CoreML أو TFLite ودعمًا مجتمعيًا نشطًا، فإن نظام Ultralytics البيئي المحيط بـ YOLOv9 لا مثيل له.
الخلاصة
يُظهر كل من YOLO و YOLOv9 الابتكار السريع في مجال اكتشاف الأجسام. يُثبت YOLO قيمة البحث بالبنية العصبية لتحقيق أقصى قدر من الأداء السريع. ومع ذلك YOLOv9 يبرز باعتباره الحل الأكثر تنوعًا وفعالية لمعظم المستخدمين.
من خلال حل عنق زجاجة معلومات الإشراف العميق باستخدام PGI وتحسين الطبقات باستخدام GELAN، يوفر YOLOv9 دقة فائقة مع كفاءة ملحوظة. وعند دمجها مع نظام Ultralytics البيئي، فإنها توفر منصة قوية وجيدة الصيانة وسهلة الاستخدام تعمل على تسريع الرحلة من المفهوم إلى النشر. بالنسبة للمطورين الذين يسعون إلى إنشاء تطبيقات رؤية متطورة بكل ثقة، تظل نماذج Ultralytics YOLO الخيار الأفضل.
استكشف نماذج أخرى
إذا كنت مهتمًا باستكشاف خيارات أخرى متطورة ضمن عائلة Ultralytics أو إجراء المزيد من المقارنات، ففكر في هذه الموارد:
- Ultralytics YOLO11 - أحدث طراز SOTA لمهام الرؤية متعددة الاستخدامات.
- YOLOv8 ضد DAMO-YOLO
- RT-DETR مقابل DAMO-YOLO
- YOLOv10 ضد YOLO
- YOLOX ضد DAMO-YOLO