YOLOv10 في مقابل DAMO-YOLO#
عند بناء خطوط أنابيب computer vision الحديثة، يُعد اختيار بنية الكشف عن الكائنات في الوقت الفعلي المناسبة أمراً بالغ الأهمية. في هذا التحليل التقني الشامل، نستكشف البنى، ومقاييس الأداء، وحالات الاستخدام المثالية لكل من YOLOv10 و DAMO-YOLO. يمثل كلا النموذجين قفزات كبيرة في قدرات الكشف عن الكائنات، لكنهما يسلكان مسارين معماريين مختلفين لتحقيق أهدافهما.
سواء كان مشروعك يتطلب النشر على أجهزة edge AI المحدودة أو يتطلب أقصى درجات الدقة على وحدات معالجة الرسومات السحابية، فإن فهم دقائق هذه البنى سيساعدك على اتخاذ قرار مستنير.
استكشاف YOLOv10#
قدمه باحثون في جامعة تسينغهام، حيث أحدث نموذج YOLOv10 ثورة في عائلة YOLO من خلال تقديم نهج أصلي من طرف إلى طرف، مما أدى فعلياً إلى إلغاء الحاجة إلى Non-Maximum Suppression (NMS) أثناء المعالجة اللاحقة.
تفاصيل YOLOv10:
- المؤلفون: Ao Wang، Hui Chen، Lihao Liu، وآخرون.
- Organization: Tsinghua University
- التاريخ: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- المستندات: https://docs.ultralytics.com/models/yolov10/
الميزات المعمارية الرئيسية#
تتمثل الابتكار الأساسي لنموذج YOLOv10 في استراتيجية Consistent Dual Assignments الخاصة به للتدريب الخالي من NMS. تعتمد كواشف الكائنات التقليدية بشكل كبير على NMS لتصفية مربعات الإحاطة المتداخلة، مما يفرض زمن انتقال غير متوقع - وهو عنق زجاجة كبير للتطبيقات في الوقت الفعلي مثل autonomous vehicles والروبوتات عالية السرعة. من خلال التنبؤ بمربع إحاطة مثالي واحد لكل كائن مباشرة، يحقق YOLOv10 استدلالاً يمكن التنبؤ به ومنخفضاً للغاية في زمن الانتقال.
علاوة على ذلك، يوظف النموذج تصميماً يعتمد على Holistic Efficiency-Accuracy Driven Design. تحسن البنية مكونات مختلفة، بما في ذلك رأس تصنيف خفيف الوزن وفصل النزول المكاني للقنوات، مما يقلل بشكل كبير من التكرار الحسابي. يؤدي هذا إلى بنية تتميز بعدد أقل من المعاملات ومقاييس FLOPs أقل مع الحفاظ على تنافسية mean Average Precision (mAP).
مثال على الاستخدام#
يتم دمج YOLOv10 بعمق في النظام البيئي لشركة Ultralytics، مما يجعله سهل الاستخدام بشكل لا يصدق عبر Ultralytics Python package.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to TensorRT format
model.export(format="engine", quantize=16)استكشاف DAMO-YOLO#
تم تطوير DAMO-YOLO بواسطة مجموعة Alibaba، ويركز على اكتشاف هياكل شبكات عالية الكفاءة من خلال البحث التلقائي في بنية الشبكة (NAS)، بهدف دفع حدود باريتو للسرعة والدقة.
تفاصيل DAMO-YOLO:
- المؤلفون: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, و Xiuyu Sun
- المنظمة: Alibaba Group
- التاريخ: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
الميزات المعمارية الرئيسية#
يقدم DAMO-YOLO العديد من التقنيات الجديدة المصممة للتطبيقات الصناعية. أساس النموذج هو العمود الفقري MAE-NAS، الذي يتم إنشاؤه عبر بحث تطوري متعدد الأهداف. تكتشف هذه العملية الآلية هياكل العمود الفقري التي تلتزم بصرامة بميزانيات حسابية محددة مسبقاً، مما يحقق توازناً دقيقاً بين الدقة وزمن انتقال الاستنتاج.
بالإضافة إلى ذلك، تستخدم البنية عنق Efficient RepGFPN. تم تصميم شبكة هرم الميزات هذه لتحسين دمج الميزات عبر مقاييس مختلفة، وهو أمر بالغ الأهمية للمهام المعقدة مثل aerial imagery analysis حيث تختلف الكائنات بشكل كبير في الحجم. ولإكمال ذلك، يطبق DAMO-YOLO نموذج ZeroHead، وهو رأس الكشف المبسط الذي يقلل بشكل كبير من تعقيد طبقات التنبؤ النهائية، مما يوفر وقت حساب قيماً أثناء الاستدلال.
مقارنة الأداء#
عند تقييم بنيات الكشف عن الأشياء، يعد العثور على المقايضة الصحيحة بين سرعة الاستنتاج، وكفاءة البارامترات، ودقة الكشف أمراً بالغ الأهمية. يقارن الجدول أدناه أداء YOLOv10 و DAMO-YOLO عبر أحجام نماذجهم الخاصة.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| 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 |
كما لوحظ في المعايير، يقدم YOLOv10 باستمرار ملفات تعريف زمن انتقال استثنائية على TensorRT، خاصة في نسخته النانو، مما يتطلب بارامترات وعمليات FLOP أقل بكثير من نماذج DAMO-YOLO المماثلة. في حين أن DAMO-YOLO يوفر mAP قوياً في نسخته الصغيرة، فإن كفاءة البارامترات وزمن انتقال الاستنتاج لعائلة YOLOv10 توفر ميزة مميزة لبيئات النشر المقيدة.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv10 و DAMO-YOLO على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv10#
يعد YOLOv10 خياراً قوياً لـ:
- الكشف الفوري بدون NMS: التطبيقات التي تستفيد من الكشف الشامل (end-to-end) بدون تقنية Non-Maximum Suppression، مما يقلل من تعقيد النشر.
- الموازنة بين السرعة والدقة: المشاريع التي تتطلب توازناً قوياً بين سرعة الاستدلال ودقة الكشف عبر مختلف أحجام النماذج.
- تبيقات ذات زمن استجابة ثابت: سيناريوهات النشر التي تكون فيها أوقات الاستدلال المتوقعة حرجة، مثل robotics أو الأنظمة المستقلة.
متى تختار DAMO-YOLO#
يوصى باستخدام DAMO-YOLO من أجل:
- تحليلات الفيديو ذات الإنتاجية العالية: معالجة تدفقات الفيديو ذات معدل الإطارات العالي على بنية تحتية ثابتة لوحدات GPU من NVIDIA حيث يكون إنتاجية الدفعة-1 هو المقياس الأساسي.
- خطوط التصنيع الصناعية: السيناريوهات ذات قيود زمن انتقال GPU صارمة على أجهزة مخصصة، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- أبحاث البحث في البنية العصبية: دراسة تأثيرات البحث الآلي في البنية (MAE-NAS) والهياكل الأساسية المعاد برمجتها بكفاءة على أداء الاكتشاف.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- الكشف عن الأشياء الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء (IoT) حيث تعمل ProgLoss و STAL على تعزيز الدقة بشكل كبير على الأشياء الدقيقة.
ميزة Ultralytics#
بينما يكون كلا النموذجين مثيرين للإعجاب من الناحية التقنية، فإن اختيار بنية للإنتاج يتضمن النظر إلى ما هو أبعد من المقاييس الخام. إن البناء باستخدام النماذج المدعومة أصلاً بواسطة Ultralytics ecosystem يوفر مزايا لا تقارن لكل من المطورين والباحثين على حد سواء.
سهولة الاستخدام ونظام بيئي تتم صيانته جيداً#
على عكس المستودعات الأكاديمية المستقلة التي غالباً ما تواجه الإهمال، توفر Ultralytics نظاماً بيئياً قوياً ومصاناً بفعالية. قد يكون إعداد بيئات معقدة للنماذج التي تعتمد بشكل كبير على خطوط أنابيب NAS أمراً شاقاً. في المقابل، توفر Ultralytics واجهة برمجة تطبيقات Python موحدة وبدسية وواجهة سطر أوامر (CLI) قوية، مدعومة بتوثيق شامل documentation. هذا يقلل بشكل جذري من وقت طرح حلول الرؤية المخصصة في السوق.
كفاءة التدريب ومتطلبات الذاكرة#
يمكن أن يصبح تدريب النماذج الكبيرة مكلفاً حسابياً بسرعة. تشتهر بنى Ultralytics YOLO تاريخياً بصمة ذاكرة CUDA المنخفضة أثناء التدريب والاستدلال. تتيح هذه الكفاءة للمطورين تدريب النماذج على الأجهزة الاستهلاكية أو مثيلات السحابة الفعالة من حيث التكلفة دون الوقوع في أخطاء نفاد الذاكرة الشائعة عند العمل مع النماذج المستندة إلى محولات مثل RT-DETR.
تتكامل Ultralytics بسلاسة مع أفضل أدوات MLOps. يمكنك بسهولة تتبع تقدم تدريب النموذج الخاص بك باستخدام عمليات التكامل مع Weights & Biases أو Comet أو ClearML بدون أي تعليمات برمجية إضافية.
تعدد الاستخدامات عبر المهام#
تتمثل إحدى القيود الكبيرة للعديد من نماذج الكشف المتخصصة في تركيزها الضيق. ضمن النظام البيئي لشركة Ultralytics، لا تقتصر على الكشف عن الكائنات فقط. تمتئد الأدوات بسلاسة لتشمل مهام computer vision tasks متعددة، بما في ذلك instance segmentation وimage classification وpose estimation وoriented bounding box (OBB) detection.
التطلع إلى المستقبل: تطور YOLO26#
بينما قاد YOLOv10 الاستدلال الخالي من NMS وأظهر DAMO-YOLO قوة NAS، يتحرك مجال الرؤية الحاسوبية بسرعة. بالنسبة للمطورين الذين يبحثون عن الحل النهائي الأحدث، نوصي بالتحقق من Ultralytics YOLO26.
تم إصداره كخليفة نهائي لـ YOLO11، حيث يبني YOLO26 على الأساس الخالي من NMS الذي وضعه YOLOv10 ولكنه يأخذ الأمر إلى ما هو أبعد من ذلك بكثير.
تشمل التطورات الرئيسية في YOLO26 ما يلي:
- استنتاج CPU أسرع بنسبة تصل إلى 43%: تم تحسينه خصيصاً للحوسبة الطرفية والأجهزة منخفضة الطاقة.
- إزالة DFL: تمت إزالة Distribution Focal Loss، مما يضمن عمليات تصدير أبسط وتعزيز التوافق مع أهداف نشر متنوعة.
- مُحسِّن MuSGD: هجين من SGD و Muon، مما يوفر استقرار تدريب نماذج لغوية كبيرة (LLM) متقدم وتقارباً أسرع مباشرة في الرؤية الحاسوبية.
- ProgLoss + STAL: وظائف خسارة محسنة بشكل كبير توفر تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر أساسي لحالات الاستخدام مثل agriculture والاستشعار عن بعد.
من خلال الاستفادة من Ultralytics Platform المجددة حديثاً، يمكن للمطورين تعليق النماذج من الجيل التالي مثل YOLO26 وتدريبها ونشرها بسلاسة في بضع نقرات فقط، مما يضمن أن خط أنابيب رؤية الكمبيوتر الخاص بك حديث وجاهز للمستقبل.