YOLOE: رؤية أي شيء في الوقت الحقيقي
مقدمة
YOLOE (رؤية أي شيء في الوقت الحقيقي) هو تقدم جديد في نماذج YOLO القابلة للتطبيق بدون أي لقطة، والمصممة للكشف عن المفردات المفتوحة وتجزئتها. على عكس نماذج YOLO السابقة التي تقتصر على فئات ثابتة، يستخدم YOLOE مطالبات نصية أو صور أو مفردات داخلية، مما يتيح الكشف في الوقت الفعلي عن أي فئة من فئات الكائنات. تم تصميم YOLOE استنادًا إلى YOLOv10 ومستوحى من YOLO ويحقق YOLOE أداءً متطورًا من دون أي لقطات مع الحد الأدنى من التأثير على السرعة والدقة.
حالة تكامل Ultralytics 🚧 حالة التكامل 🚧
تكامل Ultralytics ل YOLOE قيد الإنشاء حاليًا 🔨. ستعمل أمثلة الاستخدام الموضحة في هذه الوثائق بمجرد اكتمال التكامل 🔨. يُرجى التحقق مرة أخرى للحصول على التحديثات 🔄 أو متابعة مستودع GitHub الخاص بنا 🚀 لمعرفة آخر التطورات.
مقارنةً بنماذج YOLO السابقة، يعزز YOLOE الكفاءة والدقة بشكل كبير. فهو يتحسن بمقدار +3.5 نقطة مكرر عن YOLO على نظام LVIS مع استخدام ثلث موارد التدريب فقط وتحقيق سرعات استدلال أسرع بمقدار 1.4 مرة. يتفوق YOLOE-v8-large، الذي تم ضبطه بدقة على COCO، على YOLOv8 بمقدار 0.1 ميغابايت، باستخدام وقت تدريب أقل بحوالي 4 أضعاف. وهذا يوضح التوازن الاستثنائي بين دقة YOLOE وكفاءته وتعدد استخداماته. تستكشف الأقسام أدناه بنية YOLOE، والمقارنات المعيارية، والتكامل مع Ultralytics Ultralytics.
نظرة عامة على الهندسة المعمارية
يحتفظ YOLOE بهيكل YOLO القياسي - عمود فقري تلافيفي (مثل CSP-Darknet) لاستخراج الميزات، وعنق (مثل PAN-FPN) للاندماج متعدد النطاقات، ورأس كشف منفصل وخالٍ من الارتكاز (كما في YOLO11) يتنبأ بالكائنات والفئات والمربعات بشكل مستقل. يقدم YOLOE ثلاث وحدات جديدة تتيح الكشف عن المفردات المفتوحة:
-
محاذاة المنطقة-النص القابلة لإعادة التحديد (RepRTA): يدعم الكشف عن النص الموجه بالنص من خلال تنقيح تضمينات النص (على سبيل المثال، من CLIP) عبر شبكة مساعدة صغيرة. عند الاستدلال، تُطوى هذه الشبكة في النموذج الرئيسي، مما يضمن عدم وجود أي نفقات زائدة. وبالتالي، يكتشف YOLOE كائنات عشوائية ذات تسميات نصية (على سبيل المثال، "إشارة مرور" غير مرئية) دون عقوبات وقت التشغيل.
-
أداة تشفير الموجه المرئي المنشط دلاليًا (SAVPE): يُمكِّن الاكتشاف الموجه المرئي عبر فرع تضمين خفيف الوزن. بالنظر إلى صورة مرجعية، يقوم SAVPE بتشفير ميزات دلالية وتنشيطية، وتكييف النموذج لاكتشاف الأجسام المتشابهة بصريًا - وهي قدرة اكتشاف من لقطة واحدة مفيدة للشعارات أو أجزاء محددة.
-
التباين البطيء في المنطقة-المطالبة (LRPC): في الوضع الخالي من المطالبات، يقوم YOLOE بالتعرّف على المجموعة المفتوحة باستخدام التضمينات الداخلية المدرّبة على مفردات كبيرة (أكثر من 1200 فئة من LVIS و Objects365). بدون مطالبات خارجية أو برامج ترميز خارجية، يحدد YOLOE الكائنات من خلال تضمين البحث عن التشابه، والتعامل بكفاءة مع مساحات التسمية الكبيرة عند الاستدلال.
بالإضافة إلى ذلك، يدمج YOLOE تجزئة المثيل في الوقت الحقيقي من خلال توسيع رأس الكشف مع فرع التنبؤ بالقناع (على غرار YOLACT أو YOLOv8)، مما يضيف الحد الأدنى من النفقات العامة.
والأهم من ذلك، لا تقدم وحدات YOLOE ذات العالم المفتوح أي تكلفة استدلالية عند استخدامها كرأس YOLO عادي مغلق المجموعة. بعد التدريب، يمكن إعادة ضبط معلمات YOLOE بعد التدريب في رأس YOLO القياسي، مع الحفاظ على عمليات التشغيل المتماثلة والسرعة (على سبيل المثال، مطابقة YOLO11 بالضبط).
مقارنة أداء YOLOE
يطابق YOLOE أو يتجاوز دقة نماذج YOLO ذات المجموعة المغلقة على المعايير القياسية مثل COCO، دون المساس بالسرعة أو حجم النموذج. يقارن الجدول أدناه بين YOLOE-L (المبني على YOLO11) ونماذج YOLOv8 ونماذج YOLO11 المقابلة:
الطراز | COCO mAP50-95 | سرعة الاستدلال (T4) | المعلمات | GFLOPs (640 بكسل) |
---|---|---|---|---|
YOLOv8 (مجموعة مغلقة) | 52.9% | 9.06 مللي ثانية (110 إطارات في الثانية) | 43.7 M | 165.2 B |
YOLO11 (مجموعة مغلقة) | 53.5% | 6.2 مللي ثانية (130 إطارًا في الثانية) | 26.2 M | 86.9 B |
YOLOE-L (سيارة نقل مفتوح) | 52.6% | 6.2 مللي ثانية (130 إطارًا في الثانية) | 26.2 M | 86.9 B† |
† لدىYOLO11 و YOLOE-L بنيتان متطابقتان (تم تعطيل وحدات المطالبة في YOLO11)، مما يؤدي إلى سرعة استدلال متطابقة وتقديرات GFLOP مماثلة.
يحقق YOLOE-L نسبة 52.6% من mAP، متفوقًا على YOLOv8(52.9%) بمعلمات أقل بنسبة 40% تقريبًا (26 مليونًا مقابل 43.7 مليونًا). تعالج الصور بدقة 640 × 640 في 6.2 مللي ثانية (161 إطارًا في الثانية) مقارنةً بـ YOLOv8 التي تبلغ 9.06 مللي ثانية (110 إطارًا في الثانية)، مما يسلط الضوء على كفاءة YOLO11. والأهم من ذلك أن وحدات YOLOOE ذات المفردات المفتوحة لا تتكبد أي تكلفة استدلالية، مما يدل على تصميم "لا مقايضة مجانية".
بالنسبة لمهام اللقطة الصفرية والنقل، يتفوق YOLOE على YOLOE-small على YOLO بمقدار +3.5 نقطة وصول باستخدام موارد تدريب أقل بمقدار 3 أضعاف. كما أن ضبط YOLOE-L من LVIS إلى COCO يتطلب أيضًا وقت تدريب أقل بـ 4 أضعاف من YOLOv8 مما يؤكد كفاءته وقدرته على التكيف. يحافظ YOLOE كذلك على سرعة YOLO المميزة، حيث يحقق أكثر من 300 إطار في الثانية على GPU T4 وحوالي 64 إطارًا في الثانية على iPhone 12 عبر CoreML وهو مثالي لعمليات النشر على الحافة والجوال.
ملاحظة
الشروط المعيارية: نتائج YOLOE مأخوذة من نماذج تم تدريبها مسبقًا على Objects365 وGoldG وLVIS، ثم تم ضبطها أو تقييمها على COCO. تأتي أفضلية YOLOE الطفيفة على YOLOv8 من التدريب المسبق المكثف. وبدون هذا التدريب المفتوح، يتطابق YOLOE مع نماذج YOLO ذات الحجم المماثل، مما يؤكد دقة SOTA ومرونة العالم المفتوح دون عقوبات في الأداء.
مقارنة مع النماذج السابقة
يقدم YOLOE تطورات ملحوظة مقارنةً بنماذج YOLO السابقة وأجهزة الكشف عن المفردات المفتوحة:
-
YOLOE مقابل YOLOv5:
YOLOv5 يوفر توازنًا جيدًا بين السرعة والدقة ولكنه يتطلب إعادة تدريب للفئات الجديدة ويستخدم رؤوسًا قائمة على المراسي. على النقيض من ذلك، فإن YOLOE خالٍ من المراسي ويكتشف الفئات الجديدة ديناميكيًا. يحقق YOLOE، الذي يعتمد على تحسينات YOLOv8 دقة أعلى (52.6% مقابل 50% تقريبًا من دقة YOLOv5 على COCO) ويدمج تجزئة النماذج، على عكس YOLOv5. -
YOLOE مقابل YOLOv8:
تمديد YOLOE YOLOv8المعاد تصميمه، محققًا دقة مماثلة أو متفوقة(52.6% من دقة المعالجة الكلية مع حوالي 26 مليون معلمة مقابل 52.9% من دقة YOLOv8 مع حوالي 44 مليون معلمة). يقلل بشكل كبير من وقت التدريب بسبب التدريب المسبق الأقوى. يتمثل التقدم الرئيسي في قدرة YOLOE في العالم المفتوح، حيث يكتشف الأجسام غير المرئية (على سبيل المثال،"سكوتر الطيور" أو"رمز السلام") عبر المطالبات، على عكس تصميم YOLOv8 ذي المجموعة المغلقة. -
YOLOE مقابل YOLO11:
YOLO11 تحسينات على YOLOv8 مع تحسين الكفاءة وتقليل عدد المعلمات (تخفيض بنسبة 22% تقريبًا). يرث YOLOE هذه المكاسب مباشرةً، ويطابق سرعة الاستدلال في YOLO11 وعدد المعلمات (حوالي 26 مليون معلمة)، مع إضافة اكتشاف المفردات المفتوحة وتجزئتها. في سيناريوهات المجموعة المغلقة، يعادل YOLOE YOLO11 لكنه يضيف بشكل حاسم القدرة على التكيف لاكتشاف الفئات غير المرئية، مما يحقق قدرةYOLO11 + قدرة العالم المفتوح دون المساس بالسرعة. -
YOLOE مقابل كاشفات المفردات المفتوحة السابقة:
اعتمدت نماذج المفردات المفتوحة السابقة (GLIP و OWL-ViT و YOLO) اعتمادًا كبيرًا على محولات لغة الرؤية، مما أدى إلى بطء في الاستدلال. يتفوق YOLOE على هذه النماذج في دقة اللقطة الصفرية (على سبيل المثال، +3.5 نقطة في YOLO مقابل YOLO) بينما يعمل أسرع بـ 1.4 مرة مع موارد تدريب أقل بكثير. مقارنةً بالمناهج القائمة على المحولات (على سبيل المثال: GLIP)، يوفر YOLOE استدلالًا أسرع من حيث الحجم، مما يسد فجوة الدقة والكفاءة في اكتشاف المجموعة المفتوحة.
وباختصار، يحافظ YOLOE على سرعة وكفاءة YOLO المشهورة، ويتفوق على سابقيه في الدقة، ويدمج التجزئة، ويقدم اكتشافًا قويًا للعالم المفتوح، مما يجعله متعدد الاستخدامات وعمليًا بشكل فريد.
حالات الاستخدام والتطبيقات
تتيح خاصية YOLOE للكشف عن المفردات المفتوحة وتجزئتها تطبيقات متنوعة تتجاوز النماذج التقليدية للفئات الثابتة:
-
اكتشاف الأجسام في العالم المفتوح:
مثالية للسيناريوهات الديناميكية مثل الروبوتات، حيث تتعرف الروبوتات على الأجسام التي لم يسبق رؤيتها باستخدام المطالبات، أو أنظمة الأمن التي تتكيف بسرعة مع التهديدات الجديدة (مثل العناصر الخطرة) دون إعادة التدريب. -
اكتشاف اللقطات القليلة واللقطة الواحدة:
باستخدام المطالبات المرئية (SAVPE)، يتعلم YOLOE بسرعة الأجسام الجديدة من صور مرجعية واحدة - وهو مثالي للفحص الصناعي (تحديد الأجزاء أو العيوب على الفور) أو المراقبة المخصصة، مما يتيح عمليات البحث المرئية بأقل قدر من الإعداد. -
المفردات الكبيرة والتعرف طويل الذيل:
تتفوق YOLOE، المجهزة بمفردات تضم أكثر من 1000 فئة، في مهام مثل مراقبة التنوع البيولوجي (الكشف عن الأنواع النادرة) أو مجموعات المتاحف أو مخزون التجزئة أو التجارة الإلكترونية، حيث تتعرف على العديد من الفئات بشكل موثوق دون تدريب مكثف لكل فئة. -
الكشف والتجزئة التفاعلية:
يدعم YOLOE التطبيقات التفاعلية في الوقت الحقيقي مثل استرجاع الفيديو/الصور القابل للبحث، والواقع المعزز (AR)، وتحرير الصور بشكل حدسي، مدفوعًا بمدخلات طبيعية (نص أو مطالبات مرئية). يمكن للمستخدمين عزل الكائنات أو تحديدها أو تحريرها بشكل ديناميكي باستخدام أقنعة التجزئة بدقة. -
التوسيم الآلي للبيانات والتمهيد:
يسهّل YOLOE إنشاء مجموعة بيانات سريعة من خلال توفير مربع حدودي أولي وشروح تجزئة أولية، مما يقلل بشكل كبير من جهود وضع العلامات البشرية. وهي ذات قيمة خاصة في تحليل مجموعات الوسائط الكبيرة، حيث يمكنها تحديد الكائنات الموجودة تلقائيًا، مما يساعد في بناء نماذج متخصصة بشكل أسرع. -
تجزئة أي كائن:
يوسع إمكانيات التجزئة لتشمل الأجسام العشوائية من خلال المطالبات - وهو مفيد بشكل خاص للتصوير الطبي أو الفحص المجهري أو تحليل صور الأقمار الصناعية، وتحديد البنى تلقائيًا وتجزئتها بدقة دون نماذج متخصصة مدربة مسبقًا. على عكس نماذج مثل SAMيتعرف YOLOE على الكائنات ويجزئها تلقائيًا في نفس الوقت، مما يساعد في مهام مثل إنشاء المحتوى أو فهم المشهد.
عبر جميع حالات الاستخدام هذه، تتمثل الميزة الأساسية لـ YOLOE في تعدد الاستخدامات، حيث توفر نموذجًا موحدًا للكشف والتعرف والتجزئة عبر السيناريوهات الديناميكية. تضمن كفاءته الأداء في الوقت الفعلي على الأجهزة ذات الموارد المحدودة، وهو مثالي للروبوتات والقيادة الذاتية والدفاع وما بعدها.
نصيحة
اختر وضع YOLOE بناءً على احتياجاتك:
- وضع المجموعة المغلقة: لمهام الفئة الثابتة (السرعة والدقة القصوى).
- الوضع الموجه: إضافة كائنات جديدة بسرعة عبر مطالبات نصية أو مرئية.
- وضع المجموعة المفتوحة بدون موجه: الكشف العام عبر العديد من الفئات (مثالي للفهرسة والاكتشاف).
في كثير من الأحيان، يؤدي الجمع بين الأنماط - مثل الاكتشاف الخالي من المطالبات متبوعًا بالمطالبات المستهدفة - إلى الاستفادة من إمكانات YOLOE الكاملة.
التدريب والاستدلال
يتكامل YOLOE بسلاسة مع واجهة برمجة تطبيقاتUltralytics Python و CLIعلى غرار نماذج YOLO الأخرىYOLOv8 YOLO). إليك كيفية البدء بسرعة:
حالة تكامل Ultralytics 🚧 حالة التكامل 🚧
تكامل Ultralytics لـ YOLOE قيد التطوير حاليًا 🔨. توضح الأمثلة أدناه كيف ستعمل واجهة برمجة التطبيقات بمجرد اكتمال التكامل ✅.
التدريب والاستدلال باستخدام YOLOE
from ultralytics import YOLO
# Load pre-trained YOLOE model and train on custom data
model = YOLO("yoloe-s.pt")
model.train(data="path/to/data.yaml", epochs=50, imgsz=640)
# Run inference using text prompts ("person", "bus")
model.set_classes(["person", "bus"])
results = model.predict(source="test_images/street.jpg")
results[0].save() # save annotated output
هنا، يتصرف YOLOE مثل الكاشف القياسي افتراضيًا ولكنه يتحول بسهولة إلى الكشف الفوري عن طريق تحديد الفئات (set_classes
). تحتوي النتائج على مربعات محدودة، وأقنعة وتسميات.
# Training YOLOE on custom dataset
yolo train model=yoloe-s.pt data=path/to/data.yaml epochs=50 imgsz=640
# Inference with text prompts
yolo predict model=yoloe-s.pt source="test_images/street.jpg" classes="person,bus"
مطالبات CLI (classes
) توجيه YOLOE بشكل مشابه Python set_classes
. تتطلب المطالبة المرئية (الاستعلامات القائمة على الصور) حاليًا واجهة برمجة تطبيقات Python .
المهام الأخرى المدعومة
- المصادقة: تقييم الدقة بسهولة باستخدام
model.val()
أوyolo val
. - التصدير: تصدير نماذج YOLOE (
model.export()
) إلى ONNX و TensorRT وما إلى ذلك، مما يسهل عملية النشر. - التتبع: يدعم YOLOE تتبع الأجسام (
yolo track
) عند تكاملها، مفيدة لتتبع الفصول المدفوعة في مقاطع الفيديو.
ملاحظة
يتضمن YOLOE تلقائياً أقنعة التجزئة في نتائج الاستدلال (results[0].masks
)، مما يبسّط المهام الدقيقة بالبكسل مثل استخراج الأجسام أو القياس دون الحاجة إلى نماذج منفصلة.
الشروع في العمل
قم بإعداد YOLOE بسرعة مع Ultralytics باتباع الخطوات التالية:
-
التثبيت: تثبيت حزمة Ultralytics أو تحديثها:
-
تنزيل أوزان YOLOE: تتوفر نماذج YOLOE المدربة مسبقًا (على سبيل المثال، متغيرات YOLOE-v8-S/L، YOLOE-11) من إصدارات YOLOE GitHub. ما عليك سوى تنزيل
.pt
لتحميله إلى فئةYOLO الخاصة بـ Ultralytics . -
متطلبات الأجهزة:
- الاستدلال: GPU الموصى بهاNVIDIA مع ≥4-8 جيجابايت VRAM). تعمل النماذج الصغيرة بكفاءة على وحدات معالجة الرسومات المتطورة (مثل Jetson) أو وحدات المعالجة المركزية بدقة أقل.
- التدريب: يتطلب ضبط YOLOE على البيانات المخصصة عادةً GPUومات واحدة فقط. يتطلب التدريب المسبق واسع النطاق للمفردات المفتوحة (LVIS/Objects365) الذي استخدمه المؤلفون حوسبة كبيرة (8× وحدات معالجة رسومات RTX 4090).
-
التكوين: تستخدم تكوينات YOLOE ملفات Ultralytics YAML القياسية. التكوينات الافتراضية (على سبيل المثال,
yoloe-s.yaml
) تكفي عادة، ولكن يمكنك تعديل العمود الفقري أو الفئات أو حجم الصورة حسب الحاجة. -
تشغيل YOLOE:
- الاستدلال السريع (خالية من الفورية):
-
الكشف الموجه (مثال موجه نصي):
في Python:
-
نصائح التكامل:
- أسماء الفصول: تستخدم نواتج YOLOE الافتراضية فئات LVIS؛ استخدام
set_classes()
لتحديد التسميات الخاصة بك. - السرعة: ليس لدى YOLOE أي نفقات عامة ما لم يتم استخدام المطالبات. المطالبات النصية لها تأثير ضئيل؛ والمطالبات المرئية أكثر قليلاً.
- الاستدلال الدفعي: مدعومة مباشرة (
model.predict([img1, img2])
). بالنسبة للمطالبات الخاصة بالصور، قم بتشغيل الصور بشكل فردي.
- أسماء الفصول: تستخدم نواتج YOLOE الافتراضية فئات LVIS؛ استخدام
توفر وثائقUltralytics المزيد من الموارد. يتيح لك YOLOE استكشاف إمكانات العالم المفتوح القوية بسهولة داخل نظام YOLO المألوف.
نصيحة
نصيحة احترافية: لزيادة دقة اللقطة الصفرية لـ YOLOE إلى أقصى حد، قم بالضبط الدقيق من نقاط التحقق المتوفرة بدلاً من التدريب من الصفر. استخدم كلمات مطالبة تتماشى مع تسميات التدريب الشائعة (انظر فئات LVIS) لتحسين دقة الكشف.
الاستشهادات والشكر والتقدير
إذا كانت YOLOE قد ساهمت في بحثك أو مشروعك، يُرجى الاستشهاد بالورقة البحثية الأصلية التي كتبها كل من آو وانغ وليهاو ليو وهوي تشين وزيجيا لين وجونغونغ هان وغويغوانغ دينغ من جامعة تسينغهوا:
لمزيد من القراءة، يمكن الاطلاع على ورقة YOLOE الأصلية على موقع arXiv. يمكن الوصول إلى شفرة مصدر المشروع والموارد الإضافية عبر مستودع GitHub الخاص بهم.
الأسئلة الشائعة
كيف يختلف YOLOE عن YOLO
في حين أن كلاً من YOLOE و YOLO يُمكِّنان الكشف عن المفردات المفتوحة، فإن YOLOE يُقدم العديد من المزايا. يُحقق YOLOE دقة أعلى بمقدار 3.5 نقطة مئوية على نظام LVIS مع استخدام موارد تدريب أقل بمقدار 3 أضعاف، ويعمل أسرع بمقدار 1.4 ضعف من YOLO. يدعم YOLOE أيضًا ثلاثة أوضاع مطالبة (نصية، ومرئية، ومفردات داخلية)، بينما يركز YOLO بشكل أساسي على المطالبات النصية. بالإضافة إلى ذلك، يشتمل YOLOOE على إمكانات تجزئة مثيل مدمجة، مما يوفر أقنعة دقيقة بالبكسل للكائنات المكتشفة دون نفقات إضافية.
هل يمكنني استخدام YOLOE كنموذج YOLO عادي؟
نعم، يمكن أن يعمل YOLOE تمامًا مثل نموذج YOLO القياسي دون أي عقوبة أداء. عند استخدام YOLOE في وضع المجموعة المغلقة (بدون مطالبات)، يتم إعادة ضبط وحدات YOLOE ذات المفردات المفتوحة في رأس الكشف القياسي، مما يؤدي إلى سرعة ودقة مماثلة لنماذج YOLO11 المكافئة. هذا يجعل YOLOE متعدد الاستخدامات للغاية - يمكنك استخدامه ككاشف تقليدي للحصول على أقصى سرعة ثم التبديل إلى وضع المفردات المفتوحة فقط عند الحاجة.
ما أنواع المطالبات التي يمكنني استخدامها مع YOLOE؟
يدعم YOLOE ثلاثة أنواع من المطالبات:
- مطالبات نصية: تحديد فئات الكائنات باستخدام لغة طبيعية (على سبيل المثال، "شخص"، "إشارة مرور"، "دراجة بخارية للطيور")
- مطالبات بصرية: توفير صور مرجعية للأجسام التي تريد اكتشافها
- المفردات الداخلية: استخدم المفردات المدمجة في YOLOE التي تضم أكثر من 1200 فئة دون الحاجة إلى مطالبات خارجية
تسمح لك هذه المرونة بتكييف YOLOE مع سيناريوهات مختلفة دون إعادة تدريب النموذج، مما يجعله مفيدًا بشكل خاص للبيئات الديناميكية حيث تتغير متطلبات الكشف بشكل متكرر.
كيف يتعامل YOLOE مع تجزئة المثيل؟
يدمج YOLOE تجزئة المثيل مباشرةً في بنيته من خلال توسيع رأس الكشف بفرع التنبؤ بالقناع. هذا النهج مشابه لنهج YOLOv8 ولكنه يعمل مع أي فئة كائنات مُطالبة. يتم تضمين أقنعة التجزئة تلقائيًا في نتائج الاستدلال ويمكن الوصول إليها عبر results[0].masks
. هذا النهج الموحّد يلغي الحاجة إلى نماذج منفصلة للكشف والتجزئة، مما يسهّل سير العمل للتطبيقات التي تتطلب حدودًا دقيقة للأجسام بالبكسل.
كيف يتعامل YOLOE مع الاستدلال مع المطالبات المخصصة؟
على غرار YOLO يدعم YOLOE استراتيجية "المطالبة ثم الكشف" التي تستخدم مفردات غير متصلة بالإنترنت لتعزيز الكفاءة. يتم ترميز المطالبات المخصصة مثل التسميات التوضيحية أو فئات كائنات محددة مسبقًا وتخزينها كمفردات غير متصلة بالإنترنت. يعمل هذا النهج على تبسيط عملية الكشف دون الحاجة إلى إعادة التدريب. يمكنك تعيين هذه المطالبات ديناميكيًا داخل النموذج لتخصيصه لمهام كشف محددة:
from ultralytics import YOLO
# Initialize a YOLOE model
model = YOLO("yoloe-s.pt")
# Define custom classes
model.set_classes(["person", "bus"])
# Execute prediction on an image
results = model.predict("path/to/image.jpg")
# Show results
results[0].show()