YOLOv10 مقابل DAMO-YOLO#
عند إنشاء مسارات عمل حديثة لـالرؤية الحاسوبية، يُعد اختيار بنية اكتشاف الأجسام المناسبة للعمل في الوقت الفعلي أمرًا بالغ الأهمية. نستعرض في هذا التحليل التقني الشامل بنيتي YOLOv10 وDAMO-YOLO ومقاييس أدائهما وحالات الاستخدام المثالية لهما. ويمثل النموذجان قفزات مهمة في قدرات اكتشاف الأجسام، لكنهما يسلكان مسارين معماريين مختلفين لتحقيق أهدافهما.
سواء أكان مشروعك يتطلب النشر على أجهزة الذكاء الاصطناعي الطرفي محدودة الموارد أم يتطلب أقصى دقة على وحدات GPU السحابية، فإن فهم خصائص هذه البنى سيساعدك على اتخاذ قرار مدروس.
استكشاف YOLOv10#
قدّم باحثون في جامعة تسينغهوا YOLOv10، وأحدثوا ثورة في عائلة YOLO بإدخال نهج شامل بطبيعته من البداية إلى النهاية، ما ألغى فعليًا الحاجة إلى الكبت غير الأقصى (NMS) أثناء المعالجة اللاحقة.
تفاصيل YOLOv10:
- المؤلفون: Ao Wang وHui Chen وLihao Liu وآخرون
- الجهة: جامعة تسينغهوا
- التاريخ: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- الوثائق: https://docs.ultralytics.com/models/yolov10
الميزات المعمارية الأساسية#
يتمثل الابتكار الأساسي في YOLOv10 في استراتيجية التعيينات المزدوجة المتسقة للتدريب من دون NMS. تعتمد كواشف الأجسام التقليدية بدرجة كبيرة على NMS لترشيح الصناديق المحيطة المتداخلة، ما يؤدي إلى زمن استجابة غير قابل للتنبؤ، وهو عنق زجاجة كبير أمام التطبيقات الآنية مثل المركبات ذاتية القيادة والروبوتات عالية السرعة. ومن خلال التنبؤ مباشرةً بصندوق محيط مثالي واحد لكل جسم، يحقق YOLOv10 استدلالًا بزمن استجابة منخفض للغاية ويمكن التنبؤ به.
علاوة على ذلك، يستخدم النموذج تصميمًا شموليًا يحقق الكفاءة والدقة. وتحسّن البنية مكونات متعددة، تشمل رأس تصنيف خفيفًا وتقليل أخذ العينات المفصول مكانيًا وقنويًا، ما يخفض التكرار الحسابي بدرجة كبيرة. وينتج عن ذلك بنية ذات عدد أقل من المعلمات وFLOPs أقل، مع الحفاظ على متوسط دقة (mAP) تنافسي.
مثال على الاستخدام#
يتكامل YOLOv10 بعمق مع منظومة Ultralytics، ما يجعل استخدامه سهلًا للغاية عبر حزمة Python من Ultralytics.
from ultralytics import YOLO
# حمّل نموذج YOLOv10 nano مدرّبًا مسبقًا
model = YOLO("yolov10n.pt")
# تدريب النموذج على مجموعة بيانات COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# تنفيذ الاستدلال على صورة اختبار
results = model("https://ultralytics.com/images/bus.jpg")
# صدّر النموذج إلى تنسيق TensorRT
model.export(format="engine", quantize=16)استكشاف DAMO-YOLO#
طورت مجموعة Alibaba نموذج DAMO-YOLO، الذي يركز على اكتشاف هياكل شبكية عالية الكفاءة عبر البحث الآلي عن البنية العصبية (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. صُممت شبكة هرم السمات هذه لتحسين دمج السمات عبر المقاييس المختلفة، وهو أمر بالغ الأهمية للمهام المعقدة مثل تحليل الصور الجوية، حيث تتفاوت أحجام الأجسام تفاوتًا كبيرًا. ولإكمال ذلك، يطبق DAMO-YOLO رأس ZeroHead، وهو رأس اكتشاف مبسط يقلل كثيرًا من تعقيد طبقات التنبؤ النهائية، موفرًا وقتًا حاسوبيًا ثمينًا أثناء الاستدلال.
اطّلع على مزيد من المعلومات حول DAMO-YOLO
مقارنة الأداء#
عند تقييم بنيات اكتشاف الأجسام، يُعد إيجاد المفاضلة المناسبة بين سرعة الاستدلال وكفاءة المعلمات ودقة الاكتشاف أمرًا بالغ الأهمية. يقارن الجدول أدناه أداء YOLOv10 وDAMO-YOLO عبر أحجام النماذج المختلفة.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (ms) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 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، لا سيما في إصدار nano، إذ يتطلب عددًا أقل بكثير من المعلمات وFLOPs مقارنةً بالنماذج المماثلة من DAMO-YOLO. وعلى الرغم من أن إصدار tiny من DAMO-YOLO يوفر mAP قويًا، فإن كفاءة المعلمات وزمن الاستدلال في عائلة YOLOv10 يمنحانها أفضلية واضحة في بيئات النشر محدودة الموارد.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv10 وDAMO-YOLO على متطلبات مشروعك المحددة وقيود النشر وتفضيلات المنظومة البرمجية.
متى تختار YOLOv10#
يُعد YOLOv10 خيارًا قويًا لما يلي:
- الكشف الآني دون NMS: التطبيقات التي تستفيد من الكشف الشامل من البداية إلى النهاية من دون الكبت غير الأقصى، مما يقلل تعقيد النشر.
- موازنة السرعة والدقة: المشاريع التي تتطلب توازناً جيداً بين سرعة الاستدلال ودقة الكشف عبر مقاييس نماذج متعددة.
- التطبيقات ذات زمن الاستجابة الثابت: سيناريوهات النشر التي تتطلب أوقات استدلال قابلة للتنبؤ، مثل الروبوتات أو الأنظمة ذاتية التشغيل.
متى تختار DAMO-YOLO#
يوصى باستخدام DAMO-YOLO في الحالات التالية:
- تحليلات الفيديو عالية الإنتاجية: معالجة تدفقات فيديو ذات معدل إطارات مرتفع على بنية تحتية ثابتة من NVIDIA GPU، حيث تكون الإنتاجية عند batch-1 المقياس الأساسي.
- خطوط التصنيع الصناعي: السيناريوهات ذات قيود زمن استجابة صارمة على GPU ضمن أجهزة مخصصة، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- أبحاث البحث عن البنية العصبية: دراسة تأثيرات البحث الآلي عن البنية (MAE-NAS) والعمود الفقري الفعال المعاد تحديد معلماته على أداء الكشف.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي دون NMS: التطبيقات التي تتطلب استدلالاً ثابتاً بزمن استجابة منخفض، من دون تعقيد المعالجة اللاحقة للكبت غير الأقصى.
- البيئات التي تعتمد على CPU فقط: الأجهزة التي لا تتضمن تسريعاً مخصصاً بواسطة GPU، حيث يمنح الاستدلال الأسرع على CPU بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل صور الطائرات المسيّرة الجوية أو تحليل مستشعرات إنترنت الأشياء، حيث يعزز ProgLoss وSTAL دقة اكتشاف الأجسام الدقيقة بدرجة كبيرة.
ميزة Ultralytics#
على الرغم من أن كلا النموذجين مثير للإعجاب من الناحية التقنية، فإن اختيار بنية للإنتاج يستلزم النظر إلى ما يتجاوز المقاييس الإجمالية. يوفر إنشاء الحلول باستخدام نماذج مدعومة أصليًا ضمن منظومة Ultralytics مزايا لا تضاهى للمطورين والباحثين على حد سواء.
سهولة الاستخدام ومنظومة مصانة جيدًا#
على عكس المستودعات الأكاديمية المستقلة التي كثيرًا ما تُهمل، توفر Ultralytics منظومة قوية وصيانتها نشطة. وقد يكون إعداد بيئات معقدة للنماذج التي تعتمد بشدة على مسارات عمل NAS أمرًا صعبًا. أما Ultralytics فتقدم Python API موحدة وبديهية وCLI قوية، تدعمها وثائق شاملة. وهذا يقلل كثيرًا الوقت اللازم لطرح حلول الرؤية المخصصة في السوق.
كفاءة التدريب ومتطلبات الذاكرة#
قد يصبح تدريب النماذج الكبيرة مكلفًا حاسوبيًا بسرعة. وتشتهر بنيات Ultralytics YOLO تاريخيًا بانخفاض استهلاك ذاكرة CUDA أثناء التدريب والاستدلال. وتتيح هذه الكفاءة للمطورين تدريب النماذج على أجهزة بمواصفات استهلاكية أو مثيلات سحابية منخفضة التكلفة، دون مواجهة أخطاء نفاد الذاكرة الشائعة عند العمل مع نماذج قائمة على Transformer مثل RT-DETR.
تتكامل Ultralytics بطبيعتها مع أبرز أدوات MLOps. ويمكنك تتبع تقدم تدريب النموذج بسهولة باستخدام عمليات التكامل مع Weights & Biases أو Comet أو ClearML، دون الحاجة إلى أي شيفرة إعداد إضافية.
التنوع عبر المهام#
من القيود الكبيرة لكثير من نماذج الاكتشاف المتخصصة تركيزها الضيق. أما ضمن منظومة Ultralytics، فلا يقتصر عملك على اكتشاف الأجسام. إذ تمتد الأدوات بسلاسة إلى مهام متعددة في الرؤية الحاسوبية، تشمل تجزئة الكائنات وتصنيف الصور وتقدير الوضعية واكتشاف الأجسام باستخدام الصناديق المحيطة الموجّهة (OBB).
نظرة إلى المستقبل: تطور YOLO26#
في حين ابتكر YOLOv10 الاستدلال من دون NMS وأظهر DAMO-YOLO قوة NAS، يتقدم مجال الرؤية الحاسوبية بسرعة. ونوصي المطورين الباحثين عن حل متطور بأقصى درجة بالاطلاع على Ultralytics YOLO26.
صدر YOLO26 بوصفه الخلف المباشر لـYOLO11، وهو يبني على أساس الاستغناء عن NMS الذي أرساه YOLOv10، لكنه يتجاوزه بدرجة كبيرة.
تشمل أبرز التطورات في YOLO26 ما يلي:
- استدلال على CPU أسرع بنسبة تصل إلى 43%: محسّن خصيصًا للحوسبة الطرفية والأجهزة منخفضة الطاقة.
- إزالة DFL: أُزيلت خسارة البؤرة التوزيعية، ما يضمن عمليات تصدير أبسط وتوافقًا معززًا مع أهداف النشر المتنوعة.
- مُحسِّن MuSGD: مزيج من SGD وMuon، يجلب استقرار تدريب نماذج LLM المتقدم وتسارع التقارب مباشرةً إلى مجال الرؤية الحاسوبية.
- ProgLoss + STAL: دوال خسارة محسّنة بدرجة كبيرة توفر تحسينات ملحوظة في التعرّف على الأجسام الصغيرة، وهو أمر أساسي لحالات استخدام مثل الزراعة والاستشعار عن بُعد.
باستخدام منصة Ultralytics التي أُعيد تطويرها حديثًا، يستطيع المطورون إضافة التعليقات التوضيحية وتدريب النماذج من الجيل التالي مثل YOLO26 ونشرها بسلاسة في بضع نقرات فقط، ما يضمن أن يكون مسار عمل الرؤية الحاسوبية لديك متطورًا وجاهزًا للمستقبل.