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

RT-DETR من Baidu: كاشف الكائنات في الوقت الفعلي يعتمد على Transformer للرؤية

نظرة عامة

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



شاهد: محول الكشف في الوقت الحقيقي (RT-DETR)

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

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

  • مشفر هجين فعال: يستخدم RT-DETR الخاص بـ Baidu مشفرًا هجينًا فعالًا يعالج ميزات متعددة المقاييس عن طريق فصل التفاعل داخل النطاق ودمج النطاقات المتقاطعة. يقلل هذا التصميم الفريد القائم على Vision Transformers من التكاليف الحسابية ويسمح باكتشاف الكائنات في الوقت الفعلي.
  • تحديد الاستعلام المدرك لـ IoU: يعمل RT-DETR الخاص بـ Baidu على تحسين تهيئة استعلام الكائن باستخدام تحديد الاستعلام المدرك لـ IoU. يتيح ذلك للنموذج التركيز على الكائنات الأكثر صلة في المشهد، مما يعزز دقة الاكتشاف.
  • سرعة استدلال قابلة للتكيف: يدعم RT-DETR من Baidu تعديلات مرنة لسرعة الاستدلال باستخدام طبقات فك ترميز مختلفة دون الحاجة إلى إعادة التدريب. تسهل هذه القدرة على التكيف التطبيق العملي في سيناريوهات الكشف عن الكائنات في الوقت الفعلي المختلفة.
  • إطار عمل خالٍ من NMS: استنادًا إلى DETR، يزيل RT-DETR الحاجة إلى المعالجة اللاحقة non-maximum suppression، مما يبسط مسار الاكتشاف ويحتمل أن يحسن الكفاءة.
  • الكشف الخالي من المرساة: باعتباره كاشفًا خاليًا من المرساة، فإن RT-DETR يبسّط عملية الكشف وقد يحسن التعميم عبر مجموعات البيانات المختلفة.

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

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

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

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

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

يوفر هذا المثال أمثلة بسيطة لتدريب واستدلال RT-DETR. للحصول على وثائق كاملة حول هذه الأوضاع وغيرها، راجع صفحات وثائق التوقع و التدريب و التحقق و التصدير.

مثال

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")
# Load a COCO-pretrained RT-DETR-l model and train it on the COCO8 example dataset for 100 epochs
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained RT-DETR-l model and run inference on the 'bus.jpg' image
yolo predict model=rtdetr-l.pt source=path/to/bus.jpg

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

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

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

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

يعتبر 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 لإنشاء هذا المورد القيم والحفاظ عليه لمجتمع رؤية الكمبيوتر. مساهمتهم في هذا المجال من خلال تطوير كاشف الكائنات في الوقت الفعلي القائم على Vision Transformers، RT-DETR، تحظى بتقدير كبير.

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

ما هو نموذج RT-DETR الخاص بـ Baidu وكيف يعمل؟

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

كيف يمكنني استخدام نماذج RT-DETR المدربة مسبقًا والمقدمة من Ultralytics؟

يمكنك الاستفادة من واجهة برمجة تطبيقات Ultralytics Python لاستخدام نماذج PaddlePaddle RT-DETR المدربة مسبقًا. على سبيل المثال، لتحميل نموذج RT-DETR-l المدرب مسبقًا على COCO val2017 وتحقيق معدل إطارات مرتفع في الثانية (FPS) على 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")
# Load a COCO-pretrained RT-DETR-l model and train it on the COCO8 example dataset for 100 epochs
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained RT-DETR-l model and run inference on the 'bus.jpg' image
yolo predict model=rtdetr-l.pt source=path/to/bus.jpg

لماذا يجب علي اختيار RT-DETR من Baidu على كاشفات الأجسام الأخرى في الوقت الفعلي؟

يتميز RT-DETR من Baidu بفضل المشفر الهجين الفعال واختيار الاستعلام المدرك لـ IoU، مما يقلل بشكل كبير من التكاليف الحسابية مع الحفاظ على دقة عالية. كما أن قدرته الفريدة على ضبط سرعة الاستدلال باستخدام طبقات فك ترميز مختلفة دون إعادة التدريب تضيف مرونة كبيرة. وهذا يجعله مفيدًا بشكل خاص للتطبيقات التي تتطلب أداءً في الوقت الفعلي على الواجهات الخلفية المتسارعة مثل CUDA مع TensorRT، متفوقًا على العديد من أدوات الكشف عن الكائنات الأخرى في الوقت الفعلي. توفر بنية المحولات أيضًا فهمًا أفضل للسياق العالمي مقارنةً بأدوات الكشف التقليدية القائمة على CNN.

كيف يدعم RT-DETR سرعة استدلال قابلة للتكيف لتطبيقات الوقت الفعلي المختلفة؟

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

هل يمكنني استخدام نماذج RT-DETR مع أوضاع Ultralytics الأخرى، مثل التدريب والتحقق والتصدير؟

نعم، نماذج RT-DETR متوافقة مع أوضاع Ultralytics المختلفة بما في ذلك التدريب والتحقق والتنبؤ والتصدير. يمكنك الرجوع إلى الوثائق الخاصة للحصول على إرشادات مفصلة حول كيفية استخدام هذه الأوضاع: Train، Val، Predict، و Export. يضمن ذلك سير عمل شاملاً لتطوير ونشر حلول الكشف عن الكائنات الخاصة بك. يوفر إطار Ultralytics واجهة برمجة تطبيقات (API) متسقة عبرarchitectures النماذج المختلفة، مما يسهل العمل مع نماذج RT-DETR.



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

تعليقات