DAMO-YOLO مقابل YOLOX#
يشهد مجال الرؤية الحاسوبية في الوقت الفعلي تطوراً مستمراً. وتعد كل من DAMO-YOLO و YOLOX محطتين بارزتين في هذه الرحلة، حيث قدمت كل منهما ابتكارات فريدة لمعالجة تحديات اكتشاف الكائنات بسرعة ودقة عاليتين. وبينما ساهم كلا النموذجين بشكل كبير في مجتمع المصادر المفتوحة، يظل فهم اختلافاتهم المعمارية، ومنهجيات التدريب، وسيناريوهات النشر المثالية أمراً حاسماً لمهندسي تعلم الآلة.
يستكشف هذا الدليل الشامل الفروق الفنية الدقيقة لكلا النموذجين ويسلط الضوء على سبب توفير البدائل الحديثة مثل منصة Ultralytics YOLO26 لأداء متفوق وسهولة في الاستخدام لبيئات الإنتاج الحالية.
نظرة عامة على النماذج#
تفاصيل DAMO-YOLO#
تم تطوير DAMO-YOLO بواسطة فريق من الباحثين في Alibaba Group، وتم تقديمه كطريقة كشف عن الأشياء عالية الكفاءة تستفيد من اكتشاف البنية التلقائي.
المؤلفون: 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 Documentation
تفاصيل YOLOX#
تم إنشاؤء YOLOX بواسطة باحثين في Megvii، وكان يهدف إلى سد الفجوة بين مجتمعات الأبحاث والصناعة عن طريق تحويل سلسلة YOLO إلى تصميم خالي من المراسي، مما أدى إلى تبسيط البنية بشكل جذري مع تحقيق أداء أفضل في ذلك الوقت.
المؤلفون: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, و Jian Sun
المنظمة: Megvii
التاريخ: 2021-07-18
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
المستندات: YOLOX Documentation
تحليل المعمارية#
معمارية DAMO-YOLO#
يعتمد DAMO-YOLO بشكل كبير على البحث في معمارية الشبكات العصبية (NAS). وتشمل المكونات الأساسية:
- MAE-NAS Backbones: يستخدم خوارزمية بحث تطورية متعددة الأهداف لاكتشاف الهياكل الأساسية التي توفر التوازن الأمثل بين سرعة الاستدلال والدقة.
- Efficient RepGFPN: تصميم عنق ثقيل (heavy-neck) مكيّف لدمج الميزات، مما يساعد النموذج في الحفاظ على دقة عالية عبر أحجام كائنات متفاوتة.
- ZeroHead: رأس اكتشاف مبسط وخفيف الوزن يعمل على تقليل العبء الحسابي في طبقات التنبؤ النهائية.
هندسة YOLOX#
اتبع YOLOX نهجاً مختلفاً، حيث ركز على البساطة الهيكلية والتصميم الخالي من نقاط الارتكاز:
- آلية خالية من نقاط الارتكاز (Anchor-Free): من خلال التنبؤ بإحداثيات مربعات الإحاطة (BBox) مباشرة دون نقاط ارتكاز محددة مسبقاً، يقلل YOLOX من عدد معلمات التصميم والضبط التجريبي المطلوب.
- رأس مفكك (Decoupled Head): يقوم بفصل مهام التصنيف والانحدار إلى فروع ميزات مختلفة، مما يحسن سرعة التقارب والدقة الإجمالية.
- SimOTA Label Assignment: استراتيجية متقدمة لتخصيص التسميات تخصص العينات الإيجابية ديناميكياً للحقائق الأرضية (ground truths)، مما يحسن كفاءة التدريب.
بينما يستخدم DAMO-YOLO عمليات بحث NAS مدفوعة بالآلة لإيجاد بنى مثالية تحت قيود صارمة، يستفيد YOLOX من تبسيطات ذكية صممها البشر (مثل الرؤوس الخالية من نقاط الارتكاز) لتبسيط خط أنابيب اكتشاف الكائنات.
مقارنة الأداء#
يتطلب تقييم هذه النماذج النظر في متوسط دقة متوسط المقياس (mAP)، وسرعات الاستدلال، وعدد المعلمات. يوجد أدناه جدول مقارنة مفصل للمتغيرات القياسية وخفيفة الوزن لكلا المعمارتين.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
بينما يحقق YOLOXx أعلى mAP مطلق عند 51.1، يقدم DAMO-YOLOl دقة mAP تنافسية للغاية تبلغ 50.8 مع أقل من نصف عدد المعلمات (42.1 مليون مقابل 99.1 مليون) وتنفيذ TensorRT أسرع بشكل ملحوظ.
منهجيات التدريب#
تدريب DAMO-YOLO#
تستخددم DAMO-YOLO تعزيز التقطير المعقد أثناء التدريب. غالباً ما يتم تدريب نموذج "معلم" كبير أولاً، وتُقطر معرفته إلى نماذج "الطلاب" الأصغر. كما أنها تستخدم AlignedOTA لتخصيص التسميات الديناميكية. على الرغم من كونها فعالة للغاية، إلا أن عملية التدريب متعددة المراحل هذه تزيد بشكل جذري من وقت GPU compute والنفقات العامة للذاكرة المطلوبة.
تدريب YOLOX#
يعتمد YOLOX على استراتيجيات قوية لزيادة البيانات (augmentation) مثل MixUp و Mosaic. ومع ذلك، اكتشف المؤلفون أن إيقاف هذه الزيادات القوية في الحقب الـ 15 الأخيرة يسمح للنموذج بسد فجوة الواقع، مما يعزز مقاييس الدقة النهائية بشكل كبير.
حالات الاستخدام المثالية#
- DAMO-YOLO: الأنسب لعمليات النشر الصناعية عالية المخاطر حيث يمكن دعم خطوط أنابيب التقطير من جانب الخادم، وحيث تستفيد الأجهزة المستهدفة (مثل بعض NVIDIA GPUs) بشكل مباشر من معمارية العنق الثقيل NAS الخاصة به.
- YOLOX: ممتاز للمطورين الذين يبحثون عن نهج نقي خالٍ من المراسي. يجعل
YOLOXnanoخفيف الوزن للغاية قابلاً للتطبيق على أجهزة Android القديمة، وedge computing، وستشعار إنترنت الأشياء المقيدة للغاية حيث يكون عدد المعلمات هو عائق الاختناق المطلق.
ميزة Ultralytics: ظهور YOLO26#
بينما تمثل DAMO-YOLO و YOLOX علامات بارزة ممتازة، فإن المطورين اليوم يطلبون حلولاً أكثر شمولاً وتنوعاً وسهولة في الاستخدام. وهنا يكمن تألق Ultralytics Platform ونموذج Ultralytics YOLO26 المُصدر حديثاً.
تم إطلاق YOLO26 في يناير 2026، وهو النموذج النهائي الموصى به لجميع مهام computer vision. فهو يقدم مجموعة من الإنجازات التي تتفوق على البنى القديمة:
- تصميم NMS-Free من الطرف إلى الطرف: يلغي YOLO26 أصلاً معالجة ما بعد الاستدلال باستخدام NMS (كبت غير الحد الأقصى). وهذا يسمح بنشر أبسط وأسرع بكثير، مما يتجنب اختناقات زمن الوصول المتأصلة في رؤوس الاكتشاف التقليدية.
- أسرع بنسبة تصل إلى 43% في استدلال CPU: من خلال إزالة DFL (خسارة التركيز التوزيعية) استراتيجياً وتحسين الطبقات، يوفر YOLO26 سرعات لا مثيل لها على وحدات المعالجة المركزية (CPUs) وأجهزة الحافة.
- محسن MuSGD: مستوحى من تقنيات تدريب نماذج اللغات الكبيرة (LLM)، يقدم YOLO26 محسن MuSGD (هجين من SGD و Muon)، مما يؤدي إلى عمليات تدريب مستقرة للغاية وتقارب أسرع بكثير مقارنة بالإعدادات القديمة في YOLOX.
- ProgLoss + STAL: تحقق دوال الخسارة المتقدمة هذه تحسينات ملحوظة في التعرف على الكائنات الصغيرة، مما يجعل YOLO26 متفوقاً بشكل كبير في تصوير الطائرات بدون طيار والروبوتات.
- التنوع: على عكس DAMO-YOLO، المخصص حصرياً للكشف عن الأشياء، تتعامل YOLO26 بسلاسة مع instance segmentation، وpose estimation، وclassification، وOriented Bounding Boxes (OBB) بشكل أصلي داخل نفس النظام البيئي المُدار جيداً.
سهولة الاستخدام مع Ultralytics#
تعمل واجهة برمجة تطبيقات Python من Ultralytics على تبسيط تجربة المطورين. يتطلب تدريب نموذج YOLO26 متطور كوداً نموذجياً أقل بكثير ويتجنب خطوط أنابيب التقطير المعقدة في DAMO-YOLO. علاوة على ذلك، تتميز نماذج Ultralytics بمتطلبات ذاكرة CUDA منخفضة بشكل استثنائي أثناء التدريب مقارنة بنماذج Transformer الثقيلة.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with one line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast, NMS-free inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX or TensorRT seamlessly
model.export(format="onnx")يمكنك التعليق التلقائي، والتدريب، ونشر النماذج على الحافة باستخدام Ultralytics Platform، والتي تتعامل مع جميع إصدارات البيانات وتوفير GPU السحابي نيابة عنك.
الخلاصة#
يعتمد الاختيار بين DAMO-YOLO و YOLOX على قيود محددة: يقدم DAMO-YOLO نسب سرعة إلى دقة استثنائية على وحدات GPU معينة عبر NAS، بينما يوفر YOLOX تصميماً نظيفاً خالياً من نقاط الارتكاز مثالياً لسيناريوهات الحافة خفيفة الوزن.
ومع ذلك، بالنسبة للفرق التي تبحث عن حل حديث ومستقبلي مع مجتمع نشط، فإن بنية Ultralytics YOLO26 هي الخيار النهائي. إن تصميمها الخالي من NMS، والاستدلال السريع على وحدة المعالجة المركزية، وواجهة برمجة التطبيقات الموحدة لمهام الاكتشاف والتجزئة والوضع تجعلها لا مثيل لها للانتقال بسلاسة من الأبحاث إلى الإنتاج الواقعي القوي.
بالنسبة للمطورين المهتمين باستكشاف البنى الحديثة الأخرى، نوصي أيضًا بالتحقق من Ultralytics YOLO11 أو النماذج القائمة على المحولات مثل RT-DETR المتاحة في وثائق Ultralytics الشاملة.