Meet YOLO26: next-gen vision AI.

Link to this sectionBaidu'nun RT-DETR modeli: Bir Vision Transformer tabanlı Gerçek Zamanlı Nesne Dedektörü#

Link to this sectionGenel Bakış#

Baidu tarafından geliştirilen Real-Time Detection Transformer (RT-DETR), yüksek doğruluk oranını korurken gerçek zamanlı performans sunan son teknoloji ürünü bir uçtan uca nesne dedektörüdür. DETR'nin (NMS içermeyen çerçeve) fikrine dayanan bu model, aynı zamanda gerçek zamanlı hıza ulaşmak için konvolüsyon tabanlı bir backbone ve verimli bir hibrit kodlayıcı sunar. RT-DETR, ölçek içi etkileşim ve ölçekler arası füzyonu birbirinden ayırarak çok ölçekli özellikleri verimli bir şekilde işler. Model oldukça uyarlanabilir olup, yeniden eğitime gerek kalmadan farklı kodlayıcı katmanları kullanılarak çıkarım hızının esnek bir şekilde ayarlanmasını destekler. RT-DETR, TensorRT ile CUDA gibi hızlandırılmış arka uçlarda mükemmel sonuçlar verir ve diğer birçok gerçek zamanlı nesne dedektöründen daha iyi performans gösterir.



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

Baidu RT-DETR model mimarisine genel bakış Baidu'nun RT-DETR modeline genel bakış. RT-DETR model mimarisi şeması, kodlayıcıya giriş olarak backbone'un son üç aşamasını {S3, S4, S5} göstermektedir. Verimli hibrit kodlayıcı, ölçek içi özellik etkileşimi (AIFI) ve ölçekler arası özellik füzyonu modülü (CCFM) aracılığıyla çok ölçekli özellikleri bir görüntü özellikleri dizisine dönüştürür. IoU duyarlı sorgu seçimi, kodlayıcı için ilk nesne sorguları olarak işlev görecek sabit sayıda görüntü özelliğini seçmek için kullanılır. Son olarak, yardımcı tahmin kafalarına sahip kodlayıcı, kutuları ve güven skorlarını üretmek için nesne sorgularını yinelemeli olarak optimize eder (kaynak).

Link to this sectionTemel Özellikler#

  • Verimli Hibrit Kodlayıcı: Baidu'nun RT-DETR modeli, ölçek içi etkileşimi ve ölçekler arası füzyonu birbirinden ayırarak çok ölçekli özellikleri işleyen verimli bir hibrit kodlayıcı kullanır. Vision Transformer tabanlı bu benzersiz tasarım, hesaplama maliyetlerini düşürür ve gerçek zamanlı nesne algılamaya olanak tanır.
  • IoU Duyarlı Sorgu Seçimi: Baidu'nun RT-DETR modeli, IoU duyarlı sorgu seçimini kullanarak nesne sorgusu başlatma sürecini iyileştirir. Bu, modelin sahnedeki en alakalı nesnelere odaklanmasını sağlayarak algılama doğruluğunu artırır.
  • Uyarlanabilir Çıkarım Hızı: Baidu'nun RT-DETR modeli, yeniden eğitime ihtiyaç duymadan farklı kodlayıcı katmanları kullanılarak çıkarım hızında esnek ayarlamalar yapılmasını destekler. Bu uyarlanabilirlik, çeşitli gerçek zamanlı nesne algılama senaryolarında pratik uygulamayı kolaylaştırır.
  • NMS'siz Çerçeve: DETR'yi temel alan RT-DETR, non-maximum suppression (NMS) sonrası işlemine olan ihtiyacı ortadan kaldırarak algılama hattını basitleştirir ve verimliliği potansiyel olarak artırır.
  • Anchor-Free (Çapasız) Algılama: Bir anchor-free dedektör olarak RT-DETR, algılama sürecini basitleştirir ve farklı veri kümelerinde genelleme yeteneğini artırabilir.

Link to this sectionÖnceden Eğitilmiş Modeller#

Ultralytics Python API, farklı ölçeklerde önceden eğitilmiş PaddlePaddle RT-DETR modelleri sunar:

  • RT-DETR-L: COCO val2017 üzerinde %53.0 AP, T4 GPU üzerinde 114 FPS
  • RT-DETR-X: COCO val2017 üzerinde %54.8 AP, T4 GPU üzerinde 74 FPS

Ayrıca Baidu, Temmuz 2024'te orijinal mimariyi gelişmiş performans metrikleriyle daha da ileriye taşıyan RTDETRv2'yi yayınladı.

Link to this sectionKullanım Örnekleri#

Bu örnek, basit RT-DETR eğitimi ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export dokümantasyon sayfalarına bakın. Modeller ayrıca Ultralytics Platform aracılığıyla bulut GPU'larında eğitilebilir.

Örnek
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")
Daha Hızlı Çıkarım için Takaslar

RT-DETR önceden eğitilmiş ağırlıkları, yeniden eğitime gerek kalmadan gecikmeyi azaltmak için iki çıkarım zamanı ayarını destekler:

  • eval_idx: Kod çözmeyi erken sonlandırır. Varsayılan 6 katmanlı kodlayıcı için sıfır tabanlı bir dizin (05) kullanın. eval_idx=5 tüm katmanları kullanır; eval_idx=3 ise 4 katman kullanır. TensorRT v10.11 yüklü bir T4 GPU üzerinde RT-DETR-L, 4 katmanla 8.0 ms / 52.7 mAP değerinden 7.4 ms / 52.5 mAP değerine iyileşir.
  • num_queries: Nesne sorgularını azaltır (varsayılan: 300). 100'e düşürmek, aynı kurulumda COCO üzerinde 7.4 ms / 51.7 mAP değerine ulaşabilir. Görüntü başına daha az nesnenin bulunduğu veri kümelerinde mAP düşüşü genellikle daha küçüktür, ancak değeri görüntü başına beklenen maksimum nesne sayısının üzerinde tutun.

Her iki ayar da mAP değerini düşürebilir; dağıtımdan önce veri kümenizdeki takas durumunu doğrulayın.

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)

Link to this sectionDesteklenen Görevler ve Modlar#

Bu tablo, model türlerini, belirli önceden eğitilmiş ağırlıkları, her model tarafından desteklenen görevleri ve ✅ emojileriyle gösterilen çeşitli modları (Train, Val, Predict, Export) sunar.

Model TipiÖnceden Eğitilmiş AğırlıklarDesteklenen GörevlerÇıkarımDoğrulamaEğitimDışa Aktar (Export)
RT-DETR Largertdetr-l.ptNesne Tespiti
RT-DETR Extra-Largertdetr-x.ptNesne Tespiti
Sadece mimari varyantları

rtdetr-resnet50.yaml ve rtdetr-resnet101.yaml yalnızca YAML mimarileri olarak sunulur. Ultralytics, yalnızca rtdetr-l ve rtdetr-x için önceden eğitilmiş ağırlıklar yayınlar. ResNet varyantlarını YAML'den örneklendirin (örneğin, RTDETR("rtdetr-resnet50.yaml")) ve gerektiği gibi eğitin veya ince ayar yapın.

Link to this sectionİdeal Kullanım Senaryoları#

RT-DETR, hem yüksek doğruluk hem de gerçek zamanlı performans gerektiren uygulamalar için özellikle uygundur:

Link to this sectionAlıntılar ve Teşekkür#

Baidu'nun RT-DETR modelini araştırma veya geliştirme çalışmalarınızda kullanıyorsanız, lütfen orijinal makaleyi alıntılayın:

Alıntı
@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 için 2024 tarihli makaleyi alıntılayabilirsiniz:

Alıntı
@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}
}

We would like to acknowledge Baidu and the PaddlePaddle team for creating and maintaining this valuable resource for the computer vision community. Their contribution to the field with the development of the Vision Transformers-based real-time object detector, RT-DETR, is greatly appreciated.

Link to this sectionSSS#

Link to this sectionBaidu'nun RT-DETR modeli nedir ve nasıl çalışır?#

Baidu'nun RT-DETR (Real-Time Detection Transformer) modeli, Vision Transformer mimarisi üzerine inşa edilmiş gelişmiş bir gerçek zamanlı nesne dedektörüdür. Verimli hibrit kodlayıcısı aracılığıyla ölçek içi etkileşimi ve ölçekler arası füzyonu birbirinden ayırarak çok ölçekli özellikleri verimli bir şekilde işler. IoU duyarlı sorgu seçimini kullanan model, en alakalı nesnelere odaklanarak algılama doğruluğunu artırır. Yeniden eğitime gerek kalmadan kodlayıcı katmanlarının ayarlanmasıyla elde edilen uyarlanabilir çıkarım hızı, RT-DETR'yi çeşitli gerçek zamanlı nesne algılama senaryoları için uygun hale getirir. RT-DETR özellikleri hakkında daha fazla bilgiyi RT-DETR Arxiv makalesinde bulabilirsiniz.

Link to this sectionUltralytics tarafından sağlanan önceden eğitilmiş RT-DETR modellerini nasıl kullanabilirim?#

Önceden eğitilmiş PaddlePaddle RT-DETR modellerini kullanmak için Ultralytics Python API'sinden yararlanabilirsiniz. Örneğin, COCO val2017 üzerinde önceden eğitilmiş bir RT-DETR-l modelini yüklemek ve T4 GPU'da yüksek FPS elde etmek için aşağıdaki örneği kullanabilirsiniz:

Örnek
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")

Link to this sectionNeden diğer gerçek zamanlı nesne dedektörleri yerine Baidu'nun RT-DETR modelini seçmeliyim?#

Baidu'nun RT-DETR modeli, hesaplama maliyetlerini ciddi oranda düşürürken yüksek doğruluğu koruyan verimli hibrit kodlayıcısı ve IoU duyarlı sorgu seçimiyle öne çıkar. Yeniden eğitime gerek kalmadan farklı kodlayıcı katmanlarını kullanarak çıkarım hızını ayarlama konusundaki benzersiz yeteneği, önemli bir esneklik katar. Bu, onu özellikle TensorRT ile CUDA gibi hızlandırılmış arka uçlarda gerçek zamanlı performans gerektiren uygulamalar için avantajlı kılar ve diğer birçok gerçek zamanlı nesne dedektörünü geride bırakır. Transformer mimarisi ayrıca geleneksel CNN tabanlı dedektörlere kıyasla daha iyi bir küresel bağlam anlayışı sağlar.

Link to this sectionRT-DETR, farklı gerçek zamanlı uygulamalar için uyarlanabilir çıkarım hızını nasıl destekler?#

Baidu'nun RT-DETR modeli, yeniden eğitime ihtiyaç duymadan farklı kodlayıcı katmanları kullanılarak çıkarım hızında esnek ayarlamalar yapılmasına olanak tanır. Bu uyarlanabilirlik, çeşitli gerçek zamanlı nesne algılama görevlerinde performansı ölçeklendirmek için çok önemlidir. Daha düşük hassasiyet ihtiyaçları için daha hızlı işleme veya daha yavaş ancak daha doğru algılamalar gerekip gerekmediğine bakılmaksızın, RT-DETR özel gereksinimlerinizi karşılayacak şekilde uyarlanabilir. Bu özellik, modelleri farklı hesaplama yeteneklerine sahip cihazlarda dağıtırken özellikle değerlidir.

Link to this sectionRT-DETR modellerini eğitim, doğrulama ve dışa aktarma gibi diğer Ultralytics modlarıyla kullanabilir miyim?#

Evet, RT-DETR modelleri eğitim, doğrulama, tahmin ve dışa aktarma dahil olmak üzere çeşitli Ultralytics modlarıyla uyumludur. Bu modların nasıl kullanılacağına ilişkin ayrıntılı talimatlar için ilgili dokümantasyona başvurabilirsiniz: Train, Val, Predict ve Export. Bu, nesne algılama çözümlerinizi geliştirmek ve dağıtmak için kapsamlı bir iş akışı sağlar. Ultralytics çerçevesi, farklı model mimarilerinde tutarlı bir API sunarak RT-DETR modelleriyle çalışmayı kolaylaştırır.

Yorumlar