🚀 D-FINE
D-FINE是一个用于目标检测的模型,它通过重新定义DETR模型中的边界框回归任务,实现了出色的定位精度,可应用于自动驾驶、监控系统等多个领域。
🚀 快速开始
D-FINE模型由Yansong Peng、Hebei Li等人在论文 D-FINE: Redefine Regression Task in DETRs as Fine-grained Distribution Refinement 中提出。此模型由 VladOS95-cyber 在 @qubvel-hf 的帮助下贡献,这是D-FINE在HF transformers库中的实现。
以下是使用该模型进行目标检测的代码示例:
import torch
import requests
from PIL import Image
from transformers import DFineForObjectDetection, AutoImageProcessor
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
image_processor = AutoImageProcessor.from_pretrained("ustc-community/dfine-xlarge-obj2coco")
model = DFineForObjectDetection.from_pretrained("ustc-community/dfine-xlarge-obj2coco")
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.size[::-1]]), threshold=0.3)
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}")
✨ 主要特性
D-FINE是一个强大的实时目标检测器,通过重新定义DETR模型中的边界框回归任务,实现了出色的定位精度。它包含两个关键组件:细粒度分布细化(FDR)和全局最优定位自蒸馏(GO-LSD)。

🔧 技术细节
D-FINE在COCO (Lin et al. [2014]) 的train2017数据集上进行训练,并在COCO val2017数据集上进行验证。我们报告了标准的AP指标(在从0.50 - 0.95的均匀采样IoU阈值上平均,步长为0.05),以及在实际场景中常用的APval5000指标。
📚 详细文档
模型训练情况
- _coco -> 模型在COCO数据集上训练
- _obj365 -> 模型在Object365数据集上训练
- _obj2coco -> 模型在Object365数据集上训练,然后在COCO数据集上进行微调
应用场景
D-FINE非常适合在各种应用中进行实时目标检测,例如自动驾驶、监控系统、机器人技术和零售分析。其增强的灵活性和便于部署的设计使其适用于边缘设备和大规模系统,同时确保在动态的现实环境中具有高精度和高速度。
📄 许可证
本项目采用Apache-2.0许可证。