D-FINE环境搭建&推理测试
在目标检测领域,内卷严重的实时目标检测 (Real-time Object Detection) 领域,性能与效率始终是难以平衡的核心问题。绝大多数现有的 SOTA 方法仅依赖于更先进的模块替换或训练策略,导致性能逐渐趋于饱和。前阵子YOLOv11横空出世(感兴趣的童鞋可以移步
一、模型介绍
不同于传统的固定坐标预测,D-FINE 创新了两种方法:细粒度分布优化 (FDR) 和全局最优定位自蒸馏 (GO-LSD)。通过将回归任务转化为细粒度的分布优化任务,D-FINE 不仅显著简化了优化难度,还能够更精确地建模每条边界的不确定性。此外,D-FINE 将定位知识 (Localization Knowledge) 融入到模型输出,通过高效的自蒸馏策略在各层共享这些知识,因而在不增加额外训练成本的前提下,实现了性能的进一步显著提升。凭借这些创新,D-FINE 在 COCO 数据集上以 78 FPS 的速度取得了 59.3% 的平均精度 (AP),远超 YOLOv10、YOLO11、RT-DETR v1/v2/v3 及 LW-DETR 等竞争对手,成为实时目标检测领域新的领跑者。目前,D-FINE 的所有代码、权重以及工具已开源,包含了详细的预训练教程和自定义数据集处理指南。
让我们看下与YOLOv11的对比,左边是D-FINE的超大杯,右边是YOLOv11的,大眼看过去,对于逆光模糊的场景,D-FINE确实效果要好很多。
二、环境安装
代码仓库
git clone
环境安装
docker run --rm -it --gpus=all -v /datas/work/zzq:/workspace pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel bash
cd /workspace/D-FINE/D-FINE-master
pip install -r requirements.txt -i
pip install onnx -i
pip install onnxsim -i
三、测试推理
(1)训练
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --master_port=7777 --nproc_per_node=4 train.py -c configs/dfine/dfine_hgnetv2_${model}_coco.yml --use-amp --seed=0
(2)测试
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --master_port=7777 --nproc_per_node=4 train.py -c configs/dfine/dfine_hgnetv2_${model}_coco.yml --test-only -r model.pth
(3)推理
python tools/inference/torch_inf.py -c configs/dfine/dfine_hgnetv2_x_coco.yml -r models/dfine_x_obj2coco.pth --im-file bus.jpg --device cuda:0
(4)导出
python tools/deployment/export_onnx.py --check -c configs/dfine/dfine_hgnetv2_x_coco.yml -r models/dfine_x_obj2coco.pth