YOLO Vision 2026:

مُكتشف الكائنات الفوري المستند إلى رؤية محول RT-DETR من Baidu#

نظرة عامة#

يعتبر Real-Time Detection Transformer (RT-DETR)، الذي طورته Baidu، مكتشف كائنات متطور من البداية إلى النهاية يقدم أداءً فورياً مع الحفاظ على دقة عالية. وهو مستند إلى فكرة DETR (الإطار الخالي من NMS)، بينما يقدم عموداً فقرياً قائماً على التدوير ومشفراً هجيناً فعالاً لتحقيق سرعة فورية. يعالج RT-DETR الميزات متعددة المقاييس بكفاءة من خلال فصل التفاعل داخل المقاييس والدمج عبر المقاييس. النموذج قابل للتكيف بدرجة كبيرة، ويدعم التعديل المرن لسرعة الاستدلال باستخدام طبقات فك ترميز مختلفة دون إعادة تدريب. يتفوق RT-DETR على الخلفيات المحسنة مثل CUDA مع TensorRT، متفوقاً على العديد من مكتشفات الكائنات الفورية الأخرى.



Watch: How to Use Baidu's RT-DETR for Object Detection | Inference and Benchmarking with Ultralytics 🚀

نظرة عامة على هندسة نموذج Baidu RT-DETR نظرة عامة على RT-DETR من Baidu. يوضح مخطط هندسة نموذج RT-DETR المراحل الثلاث الأخيرة للعمود الفقري {S3، S4، S5} كمدخل للمشفر. يقوم المشفر الهجين الفعال بتحويل الميزات متعددة المقاييس إلى تسلسل من ميزات الصور من خلال التفاعل بين الميزات داخل المقياس (AIFI) ووحدة دمج الميزات عبر المقاييس (CCFM). يتم استخدام تحديد الاستعلام الواعي بـ IoU لتحديد عدد ثابت من ميزات الصور لتكون بمثابة استعلامات كائنات أولية لفك التشفير. أخيراً، يقوم فك التشفير مع رؤوس التنبؤ المساعدة بتحسين استعلامات الكائنات بشكل تكراري لتوليد المربعات ودرجات الثقة (المصدر).

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

  • المشفر الهجين الفعال: يستخدم RT-DETR من Baidu مشفراً هجيناً فعالاً يعالج الميزات متعددة المقاييس عن طريق فصل التفاعل داخل المقاييس والدمج عبر المقاييس. يقلل هذا التصميم الفريد القائم على محولات الرؤية من التكاليف الحسابية ويسمح باكتشاف الكائنات الفوري.
  • اختيار الاستعلام المدرك لـ IoU: يعمل نموذج RT-DETR من Baidu على تحسين تهيئة استعلام الكائنات باستخدام اختيار الاستعلام المدرك لـ IoU. يسمح هذا للنموذج بالتركيز على الكائنات الأكثر صلة في المشهد، مما يعزز دقة الاكتشاف.
  • سرعة استدلال قابلة للتكيف: يدعم نموذج RT-DETR من Baidu تعديلات مرنة لسرعة الاستدلال باستخدام طبقات فك ترميز مختلفة دون الحاجة إلى إعادة التدريب. تسهل هذه القابلية للتكيف التطبيقات العملية في سيناريوهات اكتشاف الكائنات الفورية المختلفة.
  • إطار العمل الخالي من NMS: بناءً على DETR، يلغي RT-DETR الحاجة إلى المعالجة اللاحقة لقمع الحد الأقصى غير (NMS)، مما يبسط خط أنابيب الكفاءة ويحتمل أن يحسن الكفاءة.
  • الكشف بدون مرساة: كمكتشف بدون مرساة، يبسط RT-DETR عملية الاكتشاف وقد يحسن التعميم عبر مجموعات بيانات مختلفة.

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

توفر واجهة برمجة تطبيقات Ultralytics Python نماذج PaddlePaddle RT-DETR مدربة مسبقاً بمقاييس مختلفة:

  • RT-DETR-L: دقة AP بنسبة 53.0% على مجموعة COCO val2017، بمعدل 114 إطاراً في الثانية على وحدة معالجة الرسومات T4 GPU
  • RT-DETR-X: دقة AP بنسبة 54.8% على مجموعة COCO val2017، بمعدل 74 إطاراً في الثانية على وحدة معالجة الرسومات T4 GPU

بالإضافة إلى ذلك، أصدرت Baidu نموذج RTDETRv2 في يوليو 2024، والذي يعمل على تحسين البنية الأصلية بشكل أكبر مع مقاييس أداء معززة.

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

يقدم هذا المثال أمثلة بسيطة للتدريب والاستدلال لـ RT-DETR. للحصول على التوثيق الكامل لهذه والوضعيات الأخرى، راجع صفحة توثيق التنبؤ، والتدريب، والتقييم، والتصدير. يمكن أيضاً تدريب النماذج على وحدات معالجة الرسومات السحابية عبر Ultralytics Platform.

مثال
from ultralytics import RTDETR

# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")

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

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
مقايضات سرعة الاستدلال

تدعم الأوزان المدربة مسبقاً لـ RT-DETR إعدادين لوقت الاستدلال لتقليل التأخير دون الحاجة لإعادة التدريب:

  • eval_idx: إيقاف فك التشفير مبكراً. بالنسبة لفك التشفير الافتراضي المكون من 6 طبقات، استخدم فهرساً مبنياً على الصفر (05). يستخدم eval_idx=5 جميع الطبقات؛ بينما يستخدم eval_idx=3 4 طبقات. على وحدة معالجة رسومات T4 مع TensorRT v10.11، يتحسن RT-DETR-L من 8.0 مللي ثانية / 52.7 mAP إلى 7.4 مللي ثانية / 52.5 mAP مع 4 طبقات.
  • num_queries: تقليل استعلامات الكائنات (الافتراضي: 300). يمكن أن يؤدي الخفض إلى 100 إلى الوصول إلى 7.4 مللي ثانية / 51.7 mAP على COCO في نفس الإعداد. في مجموعات البيانات التي تحتوي على عدد أقل من الكائنات لكل صورة، عادةً ما يكون انخفاض mAP أصغر، ولكن حافظ على القيمة أعلى من الحد الأقصى المتوقع للكائنات لكل صورة.

كلا الإعدادين يمكن أن يخفضا من mAP — لذا تحقق من المقايضة على مجموعة بياناتك قبل النشر.

from ultralytics import RTDETR

rtdetr = RTDETR("rtdetr-l.pt")
head = rtdetr.model.model[-1]

# Choose one or both settings after validating the speed/accuracy trade-off.
head.decoder.eval_idx = 3  # Use 4 of 6 decoder layers.
head.num_queries = 100  # Use fewer object queries.

results = rtdetr("path/to/image.jpg")

# Export uses the same decoder and query settings, including TensorRT exports.
rtdetr.export(format="engine", device=0, quantize=16)

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

يعرض هذا الجدول أنواع النماذج، والأوزان المحددة المدربة مسبقاً، والمهام المدعومة من كل نموذج، والوضعيات المختلفة (التدريب، التقييم، التنبؤ، التصدير) المدعومة، والمشار إليها برموز تعبيرية ✅.

نوع النموذجالأوزان المدربة مسبقاًالمهام المدعومةالتدريبالتحققالاستنتاجالتصدير
RT-DETR Largertdetr-l.ptاكتشاف الكائنات
RT-DETR Extra-Largertdetr-x.ptاكتشاف الكائنات
متغيرات المعمارية فقط

يتم شحن rtdetr-resnet50.yaml وrtdetr-resnet101.yaml كمعماريات YAML فقط. تُصدر Ultralytics أوزان التدريب المسبق فقط لـ rtdetr-l وrtdetr-x. قم بإنشاء متغيرات ResNet من YAML (على سبيل المثال، RTDETR("rtdetr-resnet50.yaml")) وقم بتدريبها أو ضبطها حسب الحاجة.

حالات الاستخدام المثالية#

يعد RT-DETR مناسباً بشكل خاص للتطبيقات التي تتطلب كلاً من الدقة العالية والأداء الفوري:

الاقتباسات والشكر#

إذا كنت تستخدم RT-DETR من Baidu في عملك البحثي أو التطويري، يرجى الاستشهاد بالورقة الأصلية:

اقتباس
@misc{lv2023detrs,
      title={DETRs Beat YOLOs on Real-time Object Detection},
      author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu},
      year={2023},
      eprint={2304.08069},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

بالنسبة لـ RTDETRv2، يمكنك الاستشهاد بوارقة 2024:

اقتباس
@misc{lv2024rtdetrv2,
      title={RTDETRv2: All-in-One Detection Transformer Beats YOLO and DINO},
      author={Wenyu Lv and Yian Zhao and Qinyao Chang and Kui Huang and Guanzhong Wang and Yi Liu},
      year={2024},
      eprint={2407.17140},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

نود أن نشكر Baidu وفريق PaddlePaddle لإنشاء وصيانة هذا المورد القيم لمجتمع الرؤية الحاسوبية. نحن نقدر بشدة مساهمتهم في هذا المجال من خلال تطوير مكتشف الكائنات الفوري القائم على محولات الرؤية، RT-DETR.

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

  • يُعد RT-DETR من Baidu (Real-Time Detection Transformer) مكتشف كائنات فوري متقدم مبني على هندسة Vision Transformer. وهو يعالج بكفاءة الميزات متعددة المقاييس عن طريق فصل التفاعل داخل المقاييس والدمج عبر المقاييس من خلال مشفره الهجين الفعال. من خلال توظيف تحديد الاستعلام الواعي بـ IoU، يركز النموذج على الكائنات الأكثر صلة، مما يعزز دقة الكشف. إن سرعة الاستدلال القابلة للتكيف، المتحققة عن طريق ضبط طبقات فك التشفير دون إعادة تدريب، تجعل RT-DETR مناسباً لمختلف سيناريوهات اكتشاف الكائنات الفورية. تعرف على المزيد حول ميزات RT-DETR في ورقة RT-DETR Arxiv.

  • يمكنك الاستفادة من واجهة برمجة تطبيقات Ultralytics Python لاستخدام نماذج PaddlePaddle RT-DETR المدربة مسبقاً. على سبيل المثال، لتحميل نموذج RT-DETR-l مدرب مسبقاً على مجموعة COCO val2017 وتحقيق معدل إطارات عالٍ على وحدة معالجة الرسومات T4 GPU، يمكنك استخدام المثال التالي:

    مثال
    from ultralytics import RTDETR
    
    # Load a COCO-pretrained RT-DETR-l model
    model = RTDETR("rtdetr-l.pt")
    
    # Display model information (optional)
    model.info()
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
    
    # Run inference with the RT-DETR-l model on the 'bus.jpg' image
    results = model("path/to/bus.jpg")
  • يبرز RT-DETR من Baidu بفضل مشفره الهجين الفعال وتحديد الاستعلام الواعي بـ IoU، مما يقلل بشكل كبير من التكاليف الحسابية مع الحفاظ على دقة عالية. إن قدرته الفريدة على ضبط سرعة الاستدلال باستخدام طبقات فك تشفير مختلفة دون إعادة تدريب تضيف مرونة كبيرة. وهذا يجعله مفيداً بشكل خاص للتطبيقات التي تتطلب أداءً فورياً على الخلفيات المعجلة مثل CUDA مع TensorRT، متفوقاً على العديد من مكتشفات الكائنات الفورية الأخرى. توفر هندسة المحولات أيضاً فهمًا أفضل للسياق العالمي مقارنة بمكتشفات CNN التقليدية.

  • يسمح RT-DETR من Baidu بتعديلات مرنة لسرعة الاستدلال باستخدام طبقات فك تشفير مختلفة دون الحاجة إلى إعادة التدريب. هذه القابلية للتكيف بالغة الأهمية لتوسيع نطاق الأداء عبر مهام اكتشاف الكائنات الفورية المختلفة. سواء كنت بحاجة إلى معالجة أسرع لاحتياجات الدقة الأقل أو اكتشافات أبطأ وأكثر دقة، يمكن تصميم RT-DETR ليناسب متطلباتك المحددة. هذه الميزة ذات قيمة خاصة عند نشر النماذج عبر الأجهزة ذات القدرات الحسابية المتفاوتة.

  • لا. بالنسبة لـ RT-DETR، يحدد max_det عدد التنبؤات التي يتم إرجاعها بعد الاستدلال، لكنه لا يزيد من عدد استعلامات الكائنات التي ينتجها فك التشفير. تستخدم نقاط التحقق المدربة مسبقاً لـ Ultralytics RT-DETR 300 استعلام كائن، لذا فهي لا يمكنها إرجاع أكثر من 300 اكتشاف لكل صورة حتى إذا قمت بتعيين max_det إلى قيمة أكبر.

    استخدم max_det لتقليل الاكتشافات المرتجعة، على سبيل المثال max_det=100، عندما تحتاج فقط إلى عدد أقل من التنبؤات عالية الثقة. إذا كانت مجموعة بياناتك تحتوي على أكثر من 300 كائن لكل صورة، قم بتدريب نموذج RT-DETR مخصص مع عدد استعلامات فك تشفير أعلى (nq) في نموذج YAML؛ تغيير هذه القيمة على نقطة تحقق مدربة مسبقاً بعد التدريب لا يعادلها ويتطلب إعادة التدريب لتعلم الاستعلامات الإضافية.

  • نعم، نماذج RT-DETR متوافقة مع وضعيات Ultralytics المختلفة بما في ذلك التدريب، والتحقق، والتنبؤ، والتصدير. يمكنك الرجوع إلى الوثائق الخاصة بكل منها للحصول على إرشادات تفصيلية حول كيفية استخدام هذه الوضعيات: التدريب، والتقييم، والتنبؤ، والتصدير. يضمن ذلك سير عمل شاملاً لتطوير ونشر حلول اكتشاف الكائنات الخاصة بك. يوفر إطار عمل Ultralytics واجهة برمجة تطبيقات متسقة عبر معماريات النماذج المختلفة، مما يسهل العمل مع نماذج RT-DETR.

التعليقات