🚀 D-FINE
D-FINE是一個用於目標檢測的模型,它重新定義了DETR模型中的邊界框迴歸任務,實現了出色的定位精度,可應用於自動駕駛、監控系統等多個領域。
✨ 主要特性
- 高精度定位:通過重新定義DETR模型中的邊界框迴歸任務,實現了出色的定位精度。
- 關鍵組件:由細粒度分佈細化(FDR)和全局最優定位自蒸餾(GO - LSD)兩個關鍵組件組成。
- 廣泛適用性:適用於自動駕駛、監控系統、機器人技術和零售分析等多種即時目標檢測應用場景。
- 靈活部署:既適用於邊緣設備,也適用於大規模系統,能在動態的現實環境中確保高精度和高速度。
📚 詳細文檔
概述
D - FINE模型由Yansong Peng、Hebei Li、Peixi Wu、Yueyi Zhang、Xiaoyan Sun、Feng Wu在論文D - FINE: Redefine Regression Task in DETRs as Fine - grained Distribution Refinement中提出。
該模型由[VladOS95 - cyber](https://github.com/VladOS95 - cyber)在[@qubvel - hf](https://huggingface.co/qubvel - hf)的幫助下貢獻。這是D - FINE在HF transformers庫中的實現。
- _coco -> 在COCO數據集上訓練的模型
- _obj365 -> 在Object365數據集上訓練的模型
- _obj2coco -> 在Object365數據集上訓練,然後在COCO數據集上微調的模型
性能
D - FINE是一個強大的即時目標檢測器,通過重新定義DETR模型中的邊界框迴歸任務,實現了出色的定位精度。D - FINE包含兩個關鍵組件:細粒度分佈細化(FDR)和全局最優定位自蒸餾(GO - LSD)。

訓練
D - FINE在COCO(Lin等人 [2014])的train2017數據集上進行訓練,並在COCO val2017數據集上進行驗證。我們報告了標準的AP指標(在從0.50 - 0.95的均勻採樣IoU閾值上平均,步長為0.05),以及在實際場景中常用的APval5000指標。
應用
D - FINE非常適合在各種應用中進行即時目標檢測,如自動駕駛、監控系統、機器人技術和零售分析。其增強的靈活性和便於部署的設計使其既適用於邊緣設備,也適用於大規模系統,同時確保在動態的現實環境中具有高精度和高速度。
💻 使用示例
基礎用法
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-medium-obj2coco")
model = DFineForObjectDetection.from_pretrained("ustc-community/dfine-medium-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}")
📄 許可證
本項目採用Apache - 2.0許可證。