🚀 RT-DETRv2
RT-DETRv2是一个用于目标检测的模型,它在RT-DETR的基础上进行了改进,提升了灵活性和实用性,同时保持了实时性能,可广泛应用于自动驾驶、监控系统等多个领域。
🚀 快速开始
本部分将介绍如何快速使用RT-DETRv2进行目标检测。
import torch
import requests
from PIL import Image
from transformers import RTDetrV2ForObjectDetection, RTDetrImageProcessor
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
image_processor = RTDetrImageProcessor.from_pretrained("PekingU/rtdetr_v2_r34vd")
model = RTDetrV2ForObjectDetection.from_pretrained("PekingU/rtdetr_v2_r34vd")
inputs = image_processor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
results = image_processor.post_process_object_detection(outputs, target_sizes=torch.tensor([(image.height, image.width)]), threshold=0.5)
for result in results:
for score, label_id, box in zip(result["scores"], result["labels"], result["boxes"]):
score, label = score.item(), label_id.item()
box = [round(i, 2) for i in box.tolist()]
print(f"{model.config.id2label[label]}: {score:.2f} {box}")
运行上述代码后,将得到如下输出示例:
cat: 0.97 [341.14, 25.11, 639.98, 372.89]
cat: 0.96 [12.78, 56.35, 317.67, 471.34]
remote: 0.95 [39.96, 73.12, 175.65, 117.44]
sofa: 0.86 [-0.11, 2.97, 639.89, 473.62]
sofa: 0.82 [-0.12, 1.78, 639.87, 473.52]
remote: 0.79 [333.65, 76.38, 370.69, 187.48]
✨ 主要特性
模型改进
RT-DETRv2由Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang和Yi Liu在论文RT-DETRv2: Improved Baseline with Bag-of-Freebies for Real-Time Detection Transformer中提出。它通过引入选择性多尺度特征提取、离散采样算子,以及改进动态数据增强和尺度自适应超参数等训练策略,对RT-DETR进行了优化。这些改进在保持实时性能的同时,提高了模型的灵活性和实用性。
性能表现
RT-DETRv2在所有模型尺寸上都始终优于其前身,并且保持了相同的实时速度。

应用场景
RT-DETRv2非常适合用于各种实时目标检测应用,如自动驾驶、监控系统、机器人技术和零售分析。其增强的灵活性和易于部署的设计使其适用于边缘设备和大规模系统,同时确保在动态的现实环境中具有高精度和高速度。
🔧 技术细节
训练数据
RT-DETRv2在COCO(Lin等人 [2014])的train2017数据集上进行训练,并在COCO val2017数据集上进行验证。
评估指标
该模型报告了标准的AP指标(在从0.50 - 0.95的均匀采样IoU阈值上平均,步长为0.05),以及在实际场景中常用的APval50指标。
📄 许可证
本模型采用Apache-2.0许可证。
本模型由@jadechoghari在@cyrilvallez和@qubvel-hf的帮助下贡献。