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

YOLO-NAS

تحديث مهم

يرجى ملاحظة أن Deci، المبدعين الأصليين لـ YOLO-NAS، قد تم الاستحواذ عليهم بواسطة NVIDIA. نتيجة لذلك، لم تعد هذه النماذج تحظى بالصيانة النشطة من قبل Deci. تواصل Ultralytics دعم استخدام هذه النماذج، ولكن لا يُتوقع المزيد من التحديثات من الفريق الأصلي.

نظرة عامة

تم تطوير YOLO-NAS بواسطة Deci AI، وهو نموذج تأسيسي رائد للكشف عن الكائنات. إنه نتاج تقنية البحث المتقدم عن البنية العصبية، المصممة بدقة لمعالجة القيود المفروضة على نماذج YOLO السابقة. مع وجود تحسينات كبيرة في دعم التكميم والمقايضات بين الدقة ووقت الاستجابة، يمثل YOLO-NAS قفزة كبيرة في الكشف عن الكائنات.

مثال على صورة النموذج نظرة عامة على YOLO-NAS. تستخدم YOLO-NAS كتل واعية بالقياس الكمي وقياس كمي انتقائي لتحقيق الأداء الأمثل. يختبر النموذج، عند تحويله إلى نسخته الكمية INT8، انخفاضًا طفيفًا في الدقة، وهو تحسن كبير مقارنة بالنماذج الأخرى. تتوج هذه التطورات في بنية فائقة بإمكانيات غير مسبوقة في الكشف عن الكائنات وأداء متميز.

الميزات الرئيسية

  • كتلة أساسية صديقة للتكميم: يقدم YOLO-NAS كتلة أساسية جديدة صديقة للتكميم، تعالج أحد القيود الهامة لنماذج YOLO السابقة.
  • التدريب المتقدم والقياس الكمي: يستفيد YOLO-NAS من مخططات التدريب المتقدمة والقياس الكمي بعد التدريب لتحسين الأداء.
  • تحسين AutoNAC والتدريب المسبق: يستخدم YOLO-NAS تحسين AutoNAC ويتم تدريبه مسبقًا على مجموعات البيانات البارزة مثل COCO و Objects365 و Roboflow 100. هذا التدريب المسبق يجعله مناسبًا للغاية لمهام الكشف عن الكائنات النهائية في بيئات الإنتاج.

نماذج مدربة مسبقًا

اختبر قوة الجيل التالي من الكشف عن العناصر باستخدام نماذج YOLO-NAS المدربة مسبقًا والمقدمة من Ultralytics. صُممت هذه النماذج لتقديم أداء متميز من حيث السرعة والدقة. اختر من بين مجموعة متنوعة من الخيارات المصممة خصيصًا لتلبية احتياجاتك الخاصة:

الأداء

النموذج mAP زمن الوصول (بالمللي ثانية)
YOLO-NAS S 47.5 3.21
YOLO-NAS M 51.55 5.85
YOLO-NAS L 52.22 7.87
YOLO-NAS S INT-8 47.03 2.36
YOLO-NAS M INT-8 51.0 3.78
YOLO-NAS L INT-8 52.1 4.78

تم تصميم كل نوع نموذج لتقديم توازن بين متوسط الدقة المتوسطة (mAP) والكمون، مما يساعدك على تحسين مهام الكشف عن الكائنات لتحقيق الأداء والسرعة.

أمثلة الاستخدام

لقد سهلت Ultralytics دمج نماذج YOLO-NAS في تطبيقات python الخاصة بك عبر ultralytics حزمة python. توفر الحزمة واجهة برمجة تطبيقات (API) بايثون سهلة الاستخدام لتبسيط العملية.

تعرض الأمثلة التالية كيفية استخدام نماذج YOLO-NAS مع ultralytics حزمة للاستدلال والتحقق:

أمثلة الاستدلال والتحقق

في هذا المثال، نتحقق من صحة YOLO-NAS-s على مجموعة بيانات COCO8.

مثال

يوفر هذا المثال رمز استدلال وتحقق بسيط لـ YOLO-NAS. للتعامل مع نتائج الاستدلال، راجع توقع الوضع. لاستخدام YOLO-NAS مع أوضاع إضافية، راجع التحقق و تصديرYOLO-NAS على ultralytics الحزمة لا تدعم التدريب.

PyTorch مدربة مسبقًا *.pt يمكن تمرير ملفات النماذج إلى NAS() class لإنشاء مثيل نموذج في python:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Display model information (optional)
model.info()

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

تتوفر أوامر CLI لتشغيل النماذج مباشرة:

# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml

# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg

المهام والأوضاع المدعومة

نحن نقدم ثلاثة أنواع مختلفة من نماذج YOLO-NAS: صغير (s)، متوسط (m)، وكبير (l). تم تصميم كل نوع لتلبية الاحتياجات الحسابية والأداء المختلفة:

  • YOLO-NAS-s: مُحسَّن للبيئات التي تكون فيها الموارد الحسابية محدودة ولكن الكفاءة هي المفتاح.
  • YOLO-NAS-m: يقدم نهجًا متوازنًا، ومناسبًا لـ اكتشاف الكائنات للأغراض العامة بدقة أعلى.
  • YOLO-NAS-l: مصمم خصيصًا للسيناريوهات التي تتطلب أعلى دقة، حيث تكون الموارد الحسابية أقل تقييدًا.

فيما يلي نظرة عامة مفصلة على كل نموذج، بما في ذلك روابط للأوزان المدربة مسبقًا والمهام التي يدعمونها وتوافقها مع أوضاع التشغيل المختلفة.

نوع النموذج الأوزان المدربة مسبقًا المهام المدعومة الاستدلال التحقق التدريب تصدير
YOLO-NAS-s yolo_nas_s.pt الكشف عن الكائنات
YOLO-NAS-m yolo_nas_m.pt الكشف عن الكائنات
YOLO-NAS-l yolo_nas_l.pt الكشف عن الكائنات

الاقتباسات والشكر والتقدير

إذا قمت بتوظيف YOLO-NAS في أعمال البحث أو التطوير الخاصة بك، فيرجى الاستشهاد بـ SuperGradients:

@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/records/7789328},
      author = {Aharon,  Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova,  Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya,  Eugene and Rubin,  Ran and Bagrov,  Natan and Tymchenko,  Borys and Keren,  Tomer and Zhilko,  Alexander and {Eran-Deci}},
      title = {Super-Gradients},
      publisher = {GitHub},
      journal = {GitHub repository},
      year = {2021},
}

نعرب عن امتناننا لفريق SuperGradients التابع لـ Deci AI لجهودهم في إنشاء هذا المورد القيم والحفاظ عليه لمجتمع رؤية الكمبيوتر. نعتقد أن YOLO-NAS، بهندسته المبتكرة وقدراته الفائقة في الكشف عن الكائنات، سيصبح أداة حاسمة للمطورين والباحثين على حد سواء.

الأسئلة الشائعة

ما هو YOLO-NAS وكيف يتحسن عن نماذج YOLO السابقة؟

YOLO-NAS، الذي طورته Deci AI، هو نموذج حديث للكشف عن الكائنات يعتمد على تقنية البحث عن البنية العصبية المتقدمة (NAS). يعالج قيود نماذج YOLO السابقة من خلال تقديم ميزات مثل الكتل الأساسية الصديقة للقياس الكمي وأنظمة التدريب المتطورة. ينتج عن هذا تحسينات كبيرة في الأداء، لا سيما في البيئات ذات الموارد الحسابية المحدودة. تدعم YOLO-NAS أيضًا القياس الكمي، مع الحفاظ على دقة عالية حتى عند تحويلها إلى نسختها INT8، مما يعزز ملاءمتها لبيئات الإنتاج. لمزيد من التفاصيل، راجع قسم نظرة عامة.

كيف يمكنني دمج نماذج YOLO-NAS في تطبيق Python الخاص بي؟

يمكنك بسهولة دمج نماذج YOLO-NAS في تطبيق python الخاص بك باستخدام ultralytics package. إليك مثال بسيط لكيفية تحميل نموذج YOLO-NAS مُدرَّب مسبقًا وإجراء الاستدلال:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

لمزيد من المعلومات، راجع أمثلة الاستدلال والتحقق.

ما هي الميزات الرئيسية لـ YOLO-NAS ولماذا يجب أن أفكر في استخدامه؟

تقدم YOLO-NAS العديد من الميزات الرئيسية التي تجعلها خيارًا متميزًا لمهام الكشف عن الكائنات:

  • كتلة أساسية صديقة للتكميم: بنية محسنة تعمل على تحسين أداء النموذج مع الحد الأدنى من انخفاض الدقة بعد التكميم.
  • التدريب المتقدم والقياس الكمي: يستخدم مخططات تدريب متقدمة وتقنيات القياس الكمي بعد التدريب.
  • تحسين AutoNAC والتدريب المسبق: يستخدم تحسين AutoNAC ويتم تدريبه مسبقًا على مجموعات البيانات البارزة مثل COCO و Objects365 و Roboflow 100.

تساهم هذه الميزات في دقتها العالية وأدائها الفعال وملاءمتها للنشر في بيئات الإنتاج. تعرف على المزيد في قسم الميزات الرئيسية.

ما هي المهام والأوضاع التي تدعمها نماذج YOLO-NAS؟

تدعم نماذج YOLO-NAS مهام وأنماط مختلفة للكشف عن الكائنات مثل الاستدلال والتحقق والتصدير. وهي لا تدعم التدريب. تتضمن النماذج المدعومة YOLO-NAS-s و YOLO-NAS-m و YOLO-NAS-l، وكل منها مصمم لقدرات حسابية مختلفة واحتياجات الأداء. للحصول على نظرة عامة مفصلة، راجع قسم المهام والأنماط المدعومة.

هل تتوفر نماذج YOLO-NAS مُدرَّبة مسبقًا وكيف يمكنني الوصول إليها؟

نعم، توفر Ultralytics نماذج YOLO-NAS مُدرَّبة مسبقًا يمكنك الوصول إليها مباشرةً. هذه النماذج مُدرَّبة مسبقًا على مجموعات بيانات مثل COCO، مما يضمن أداءً عاليًا من حيث السرعة والدقة. يمكنك تنزيل هذه النماذج باستخدام الروابط المتوفرة في قسم النماذج المدربة مسبقًا. فيما يلي بعض الأمثلة:



📅 أُنشئ منذ سنة واحدة ✏️ تم التحديث منذ 3 أشهر

تعليقات