Ultralytics YOLO27: انضم إلى قائمة الانتظار.
ابدأ

Ultralytics YOLO27

قريبًا: YOLO27

تخضع نماذج YOLO27 للمراحل النهائية من البحث والتطوير (R&D)، ومن المتوقع إطلاقها في وقت لاحق من هذا العام. النماذج غير متاحة بعد، ولم يُحدَّد موعد لإطلاقها. تعرض هذه الصفحة معاينة للنماذج القادمة؛ وقد تتغير الميزات والنتائج المعيارية قبل الإصدار. أمثلة التعليمات البرمجية أدناه مخصصة للاستخدام بعد إصدار النماذج ودعم الحزمة لها، ولن تعمل مع الحزمة العامة الحالية. لن تُصدر أوزان النماذج وملفات التكوين وشيفرة التنفيذ في الوقت الحالي. انضم إلى قائمة انتظار YOLO27 لتكون أول من يعلم بموعد إطلاقه.

نظرة عامة#

تُعدّ Ultralytics YOLO27 عائلة من نماذج الرؤية الآنية، وتستخدم نماذج الكشف فيها تصميمين متكاملين: بنية CNN مبسطة للطرازين الصغيرين N وS، وبنية قائمة على الاستعلامات وخالية من NMS للطرازين الأكبر M وL. يُنشر التصميمان عبر الواجهة نفسها. تستخدم نماذج الكشف N وS افتراضيًا رأسًا أحاديًا إلى متعدد مع NMS؛ استخدم nms=False لاختيار الرأس الخالي من NMS.

YOLO27 هي عائلة النماذج المرتقبة في سلسلة Ultralytics YOLO، وتأتي خلف YOLO26. تتوفر بأربعة أحجام — N وS وM وL — وتدعم اكتشاف الكائنات، تجزئة المثيلات، التجزئة الدلالية، تقدير العمق، التصنيف، تقدير الوضعية واكتشاف الكائنات الموجّهة. ينطبق تقسيم التصميمين على اكتشاف الكائنات وتجزئة المثيلات وتقدير الوضعية. أما التجزئة الدلالية وتقدير العمق والتصنيف واكتشاف الكائنات الموجّهة فتستخدم بنية CNN.

عبر مقاييس الكشف الأربعة، يحقق YOLO27 قيمة 42.6-60.5 mAP على COCO بزمن استجابة 0.44-1.86 ms على NVIDIA RTX PRO 6000، وتصل القيمة إلى 61.4 mAP مع YOLO27l عند استخدام مدخل أكبر بحجم 800 بكسل. ويُعد YOLO27l أول نموذج من Ultralytics يتجاوز 60 mAP على COCO، بينما يحسّن YOLO27n/s المدمج دقة YOLO26n/s مع سرعة مماثلة إلى حد كبير.

البدء السريع (بعد الإصدار)
from ultralytics import YOLO

model = YOLO("yolo27n.pt")  # ⁨تحميل نموذج YOLO27n مُدرّب مسبقًا⁩
results = model("path/to/bus.jpg")  # ⁨تشغيل الاستدلال⁩

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

  • الكشف ثنائي المقياس تتنبأ الكواشف القياسية بالأجسام على ثلاث خرائط سمات: دقيقة ومتوسطة وخشنة. يتخلى YOLO27 N وS عن الخريطة المتوسطة، ويتنبآن باستخدام خريطة دقيقة فقط (للأجسام الصغيرة) وخريطة خشنة (للأجسام الكبيرة)، مع تحجيم ثابت للسمات المدمجة يحافظ على توازن المقياسين. يقلل هذا جزءًا كبيرًا من العمليات الحسابية لرأس الكشف، ما يجعل النماذج أسرع مع الحفاظ على موثوقية التدريب نفسها التي يوفرها التصميم الكامل ذي المقاييس الثلاثة.

  • تعزيز اكتشاف الأجسام الصغيرة تُوسَّع مرحلة الميزات المبكرة عالية الدقة لالتقاط مزيد من التفاصيل الدقيقة. وبالاقتران مع خريطة التنبؤ الدقيقة المتبقية، يحسّن ذلك تحديد المواقع والانحدار للأجسام الصغيرة، وهي الفئة الأصعب على النماذج المدمجة.

  • الإشراف على محاذاة المقدّمة أثناء التدريب، يتعلم فرع إضافي خفيف التمييز بين «الجسم» و«الخلفية» في كل موضع. صُمم هذا الفرع لسد الفجوة بين الإشراف الأكثر كثافة من نوع واحد إلى متعدد المستخدم أثناء التدريب والرأس من نوع واحد إلى واحد الذي ينتج التنبؤات النهائية، ما يقلّص فجوة الدقة من 0.9/0.8 mAP في YOLO26n/s إلى 0.4 mAP فقط في YOLO27n/s، بحيث يحتفظ الرأس المنشور من نوع واحد إلى واحد بمعظم دقة التدريب. يُستخدم هذا الفرع أثناء التدريب فقط، ويُزال عند الاستدلال والتصدير، لذا لا يضيف أي تكلفة عند النشر.

  • اكتشاف قائم على الاستعلامات دون NMS تستبدل النماذج الأكبر التنبؤ الكثيف بـمحوّل يفرز مجموعة ثابتة من استعلامات الكائنات ويُخرج الاكتشافات النهائية مباشرةً — دون الحاجة إلى معالجة لاحقة عبر الإخماد غير الأقصى. يجمع YOLO27m وYOLO27l بين هذا المحوّل وعمود فقري UltraViT يستخدم الانتباه الذاتي في أعمق مراحله لالتقاط السياق العام، تليه وصلة FPN/ PAN ‏FPN/PAN.

  • واجهة واحدة بسيطة تُستخدم كلتا البنيتين عبر واجهة Python نفسها في YOLO. يُختار مسار التدريب والتحقق والتنبؤ والتصدير المناسب تلقائيًا استنادًا إلى النموذج، لذا يعمل الرمز المكتوب لأحد مقاييس YOLO27 مع المقاييس الأخرى دون أي تغيير.

أي نموذج YOLO27 ينبغي أن أستخدم؟#

الإرشادات التالية مخصصة لاختيار نموذج بعد إصدار YOLO27. أما للمشاريع الحالية، فاستخدم YOLO26.

  • YOLO27n / YOLO27s — الأجهزة الطرفية والطائرات المسيّرة والفيديو في الزمن الحقيقي: أسرع النماذج في العائلة، مع تحسين اكتشاف الأجسام الصغيرة بفضل التصميم ذي المقياسين. راجع NVIDIA Jetson وRaspberry Pi لمعرفة تفاصيل النشر الخاصة بكل جهاز.
  • YOLO27m — التوازن الأمثل بين الدقة والسرعة على وحدات GPU: يتفوق في الدقة على YOLO26m مع زمن استجابة مماثل، ما يجعله الخيار الافتراضي لـالنشر على GPU في بيئات الإنتاج.
  • YOLO27l — للتطبيقات التي تتطلب دقة عالية: أول نموذج من Ultralytics يتجاوز 60 mAP على COCO، إذ يحقق 61.4 mAP بحجم مدخل أكبر، مع الحفاظ على الأداء الفوري على GPU.

للمقارنة مع عائلات أخرى، راجع جميع نماذج Ultralytics. ولقياس المفاضلة بين الدقة والسرعة على أجهزتك بدلًا من أجهزتنا، راجع وضع قياس الأداء.


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

يستعرض الجدول التالي الدعم المخطط للمهام والأوضاع عبر مقاييس نماذج YOLO27 الأربعة. تشير علامات الاختيار إلى الدعم المزمع عند الإصدار، وليس إلى التوفر العام حاليًا؛ فجميع ملفات النماذج المدرجة لم تُصدر بعد.

النموذجأسماء الملفاتالمهمةالتدريبالتحققالاستدلالالتصدير
YOLO27yolo27n.pt yolo27s.pt yolo27m.pt yolo27l.ptالكشف✅✅✅✅
YOLO27-segyolo27n-seg.pt yolo27s-seg.pt yolo27m-seg.pt yolo27l-seg.ptتجزئة الكائنات✅✅✅✅
YOLO27-semyolo27n-sem.pt yolo27s-sem.pt yolo27m-sem.pt yolo27l-sem.ptالتجزئة الدلالية✅✅✅✅
YOLO27-depthyolo27n-depth.pt yolo27s-depth.pt yolo27m-depth.pt yolo27l-depth.ptتقدير العمق✅✅✅✅
YOLO27-clsyolo27n-cls.pt yolo27s-cls.pt yolo27m-cls.pt yolo27l-cls.ptالتصنيف✅✅✅✅
YOLO27-poseyolo27n-pose.pt yolo27s-pose.pt yolo27m-pose.pt yolo27l-pose.ptالوضعية/النقاط المفتاحية✅✅✅✅
YOLO27-obbyolo27n-obb.pt yolo27s-obb.pt yolo27m-obb.pt yolo27l-obb.ptالكشف الموجّه✅✅✅✅

تعمل نماذج YOLO27 للكشف والتقسيم والوضعية وOBB أيضًا مع وضع التتبع، الذي يعمل فوق وضع التنبؤ لتتبع أجسام متعددة عبر إطارات الفيديو.

مساران معماريان

يستخدم YOLO27 في اكتشاف الكائنات وتجزئة المثيلات وتقدير الوضعية تصميمين ضمن واجهة واحدة: تستخدم المقاييس N وS بنية CNN، بينما تستخدم المقاييس M وL البنية القائمة على الاستعلامات والخالية من NMS. وتستخدم التجزئة الدلالية وتقدير العمق والتصنيف واكتشاف الكائنات الموجّهة بنية CNN.


مقاييس الأداء#

تُعرض دقة الاكتشاف على مجموعة التحقق COCO. راجع مقاييس أداء YOLO للاطلاع على شروح mAP والدقة والاستدعاء. ولقياس الدقة خارج COCO، راجع معيار Ultralytics، الذي يقيس متوسط mAP50-95 عبر 37 مجموعة بيانات لاكتشاف الكائنات في العالم الواقعي، تشمل التصوير الطبي والاستشعار عن بُعد والقطاعات الصناعية وتجارة التجزئة وغيرها. تُقاس سرعة الاستدلال على NVIDIA RTX PRO 6000 (TensorRT 11، FP16) لوحدة GPU، وعلى AMD EPYC 9655 (ONNX Runtime، FP32) لوحدة CPU. بعد الإصدار، يمكن إعادة إنتاج أرقام الدقة باستخدام yolo val model=yolo27n.pt data=coco.yaml imgsz=640 nms=False save_json=True. تستخدم جداول اكتشاف الكائنات وتجزئة المثيلات وتقدير الوضعية الرأس الخالي من NMS وتقييم COCO. يستخدم التحقق من وضعية N/S دفعات مستطيلة (rect=True).

نتائج أولية

قد تتغير نتائج الأبحاث هذه خلال مراحل البحث والتطوير النهائية. وستُرفق الأوزان العامة وتعليمات إعادة الإنتاج بالإصدار.

الأداء

راجع وثائق الكشف للاطلاع على أمثلة استخدام هذه النماذج المدرّبة على COCO، والتي تتضمن 80 فئة مدرّبة مسبقًا. يستخدم الجدول إدخالًا بحجم 640 بكسل؛ كما يعرض القسم العام نتائج YOLO27l عند 800 بكسل.

النموذجالحجم
(بكسل)
‏mAPval50-95السرعة
CPU ONNX
(مللي ثانية)
السرعة
RTX PRO 6000 TensorRT11
(مللي ثانية)
المعاملات
(M)
FLOPs
(B)
YOLO27n64042.616.1 ± 1.60.44 ± 0.003.07.2
YOLO27s64050.133.2 ± 0.10.64 ± 0.0011.828.2
YOLO27m64056.474.8 ± 0.51.01 ± 0.0024.664.6
YOLO27l64060.5149.6 ± 1.41.86 ± 0.0072.3166.7

قيم Params وFLOPs تخص النموذج المدمج بعد طي Conv/BatchNorm وإزالة فرع الاكتشاف غير المستخدم. تختار قياسات اكتشاف الكائنات وتجزئة المثيلات وتقدير الوضعية الرأس الخالي من NMS باستخدام nms=False؛ وتعتمد دقة N/S على الرأس المحدد. تشمل FLOPs عمليات ضرب مصفوفات الانتباه في وحدة فك الترميز. تحتفظ نقاط التحقق المدربة مسبقًا ببنية التدريب كاملةً، وقد تُظهر أعدادًا أعلى.


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

يقدم هذا القسم أمثلة بسيطة على التدريب والاستدلال باستخدام YOLO27. لمجموعات البيانات المخصصة، راجع نصائح لتحقيق أفضل نتائج التدريب ودليل ضبط المعلمات الفائقة.

المثال أدناه مخصص لنماذج YOLO27 للكشف من أجل كشف الأجسام.

التدريب والاستدلال (بعد الإصدار)

يمكن تمرير نماذج *.pt المدربة مسبقًا باستخدام PyTorch، بالإضافة إلى ملفات الإعداد *.yaml، إلى الفئة YOLO() لإنشاء مثيل نموذج في Python:

from ultralytics import YOLO

# ⁨تحميل نموذج YOLO27n مدرّب مسبقًا على COCO⁩
model = YOLO("yolo27n.pt")

# ⁨تشغيل الاستدلال بنموذج YOLO27n على الصورة 'bus.jpg'⁩
results = model("path/to/bus.jpg")

# ⁨تدريب النموذج على مجموعة بيانات المثال COCO8 لمدة 100 حقبة⁩
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

    • الكشف ثنائي المقياس (N/S): يستغني عن خريطة التنبؤ متوسطة الحجم لتوفير رأس أسرع بدقة تنافسية
    • تحسين الكشف عن الأجسام الصغيرة (N/S): تحسّن مرحلة الميزات المبكرة الأوسع نطاقًا تحديد مواقع الأجسام الصغيرة
    • الإشراف على محاذاة المقدمة (N/S): يقلّص فجوة الدقة بين واحد إلى متعدد وواحد إلى واحد من 0.9/0.8 mAP في YOLO26n/s إلى 0.4 mAP في YOLO27n/s، دون أي تكلفة للاستدلال
    • كشف قائم على الاستعلامات وخالٍ من NMS (M/L): ينتج مفكّك ترميز Transformer عمليات الكشف النهائية مباشرةً
    • واجهة موحّدة وبسيطة: تعمل كلتا البنيتين عبر الفئة نفسها YOLO
  • ليس بعد — لم يُصدر YOLO27 بعد. واصل استخدام YOLO26 في مشاريعك الحالية. تُظهر النتائج الأولية تحسنًا في الدقة عبر أحجام النماذج، مع تجاوز YOLO27l قيمة 60 mAP على COCO. قيّم النماذج النهائية الصادرة وفقًا لعبء العمل لديك قبل الانتقال إليها.

  • بعد الإصدار، يُعتزم أن يستخدم YOLO27 الفئة YOLO نفسها وواجهة API نفسها للتدريب والتحقق والتنبؤ والتصدير التي يستخدمها YOLO26 — ويُختار المسار الصحيح (CNN أو القائم على الاستعلامات) تلقائيًا استنادًا إلى النموذج. ويُعد استبدال yolo26n.pt بـ yolo27n.pt التغيير المقصود لاختيار النموذج عند توفر دعم YOLO27 وأوزانه.

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

  • YOLO27l هو أول نموذج من Ultralytics يتجاوز 60 mAP على COCO، إذ يحقق 60.5 mAP عند إدخال بحجم 640 بكسل (1.9 ms على NVIDIA RTX PRO 6000) و61.4 mAP عند إدخال بحجم 800 بكسل (2.4 ms). ويجمع بين البنية الأساسية UltraViT ودمج الميزات متعددة المقاييس وكاشف قائم على الاستعلامات ينتج عمليات الكشف النهائية مباشرةً دون NMS.

  • يخضع YOLO27 للمرحلة النهائية من البحث والتطوير، ومن المتوقع إطلاقه في وقت لاحق من هذا العام. لم يُحدّد موعد للإطلاق. أوزان النموذج ورمز التنفيذ غير متاحين للعامة بعد.

  • بعد إصدار YOLO27، راجع البدء السريع لتثبيت حزمة ultralytics أو تحديثها، ثم حمّل نموذجًا كما هو موضح أدناه. هذا المثال مخصص للاستخدام بعد الإصدار:

    from ultralytics import YOLO
    
    # ⁨تحميل نموذج YOLO27 nano مدرّب مسبقًا⁩
    model = YOLO("yolo27n.pt")
    
    # ⁨تشغيل الاستدلال على صورة⁩
    results = model("image.jpg")

    راجع أمثلة الاستخدام للاطلاع على أمثلة التدريب والاستدلال، أو دليلي Val وExport الخاصين بهذين الوضعين.

التعليقات9

اطرح سؤالًا، وشارك نتائجك، أو ساعد شخصًا آخر.

  1. sergshadrapGitHub

    Guys! You are doing incredible job , The thing I'd asked for is the total size for running model. When we speak about small devices embedded solutions that the -n model is intended to the size is very limited by the SoC properties and that is though to predict if it fits to the board or not. I think pointing the size is also important along the performance metrics for tiny models. Thanks again!

    1. Paula DerrengerUltralytics

      Thanks from the Ultralytics team and YOLO community—good suggestion. The preview lists YOLO27n at 3.0M parameters, but actual storage and runtime memory depend on the export format, precision, input size, and backend; exact measurements cannot be published until the models are released. We’ll consider adding artifact-size and memory benchmarks to the YOLO27 documentation, and please keep sharing embedded-device requirements here for team visibility.

    2. sergshadrapGitHub

      Thanks for you! Definitely nobody will ask about exact sizes of the models. What I meant is that most of the camera's SoCs ( for instance) we can split for three major segments, where the middle one is about Arm 1Ggz , 16m flash, and 128m Ram, the high is everything that has more advanced scu with multicores ,spaced flash and Ram and definitely folds more expensive and the low that everything below that. Trying to fit yolo26 to the gk7205v300 that exactly the middle one was a challenge even quantitized to 8. So ... what about the v27? Does it belong to the high-end only or I can try it for the middle one?

    3. Paula DerrengerUltralytics

      YOLO27n is intended for edge devices, so it is not high-end-only; its preliminary 3.0M parameters suggest INT8 weights around 3 MB, but 128 MB RAM may still be the limiting factor because activations and backend buffers depend on input size and runtime. For the GK7205V300, consider it a plausible target—not a confirmed fit—until the released model can be exported, profiled at reduced imgsz, and benchmarked on-device; YOLO27m/l are unlikely choices for those constraints. Please keep sharing your embedded results in this discussion so the Ultralytics team can track them alongside the YOLO27 documentation.

    4. Mohammed YasinUltralytics

      @sergshadrap How's the performance of YOLO26 on such SoCs? Because if it's too big to fit the SoC, then isn't it also too heavy to run? You can always reduce the size of the YOLO models by modifying the YAML file and removing some layers or reducing channels.

    5. sergshadrapGitHub

      Yeah , that is quite heavy stuff for 1 core 0.9 Ghz SoC , but I have it run . The most stable and sensible (for object recognition) configuration turns to be fp16 288x384 nano , that goes about 0.8 fps in continues run . That's pretty slow , but enough for my current cascade version, where IVE hardware detector is catching "something" and yolo refine the output. Would be glad to get a hint - how to reduce size and reduce layers/ channels. Now I'm on ncnn export tools , so it seems there is no fp8 variant for that tool? Forth to mention I'm on OpenIpc firmware and the majestic additionally quite a leaky guy , so with 128M of memory for all we're on the floor..

    6. Mohammed YasinUltralytics(تم التعديل)

      You can create a copy of this YAML and reduce the float values. Lowering width (the second float value) brings the biggest drop in model file size. Of course, all of these also reduces accuracy. The modified YAML can be loaded and used with

      model = YOLO("path/to/yaml")

      The ending suffix letter like n determines which of the scale values are used from this YAML.

      https://github.com/ultralytics/ultralytics/blob/b739caa8d2a0b8c83f7f65c228d006e197d4e5dc/ultralytics/cfg/models/26/yolo26.yaml#L13

    7. sergshadrapGitHub

      If only I change the model , do I need to re-train the model completely or I could move the weights from existing with some algorithm?