D-FINE环境搭建推理测试

 引子

        在目标检测领域,内卷严重的实时目标检测 (Real-time Object Detection) 领域,性能与效率始终是难以平衡的核心问题。绝大多数现有的 SOTA 方法仅依赖于更先进的模块替换或训练策略,导致性能逐渐趋于饱和。前阵子YOLOv11横空出世(感兴趣的童鞋可以移步YOLOv11环境搭建&推理测试_yolo11测试-CSDN博客),我一直感觉实时目标检测已经差不多到头了,这不,又来了一篇卷的文章。这才过去这么短的时间,为了打破这一性能和效率的瓶颈,来自中科大的研究团队提出了 D-FINE,重新定义了边界框回归任务。OK,那就让我们开始吧。

一、模型介绍

        不同于传统的固定坐标预测,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 GitHub - Peterande/D-FINE: D-FINE: Redefine Regression Task of DETRs as Fine-grained Distribution Refinement 💥💥💥

环境安装

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 Simple Index

pip install onnx -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install onnxsim -i https://pypi.tuna.tsinghua.edu.cn/simple

三、测试推理

(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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/831614.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于.NET开源、功能强大且灵活的工作流引擎框架

前言 工作流引擎框架在需要自动化处理复杂业务流程、提高工作效率和确保流程顺畅执行的场景中得到了广泛应用。今天大姚给大家推荐一款基于.NET开源、功能强大且灵活的工作流引擎框架:elsa-core。框架介绍 elsa-core是一个.NET开源、免费(MIT License)、功能强大且灵活的工作…

Dedecms 织梦上传图片失败 ERROR:Copy Uploadfile Error! 提示

问题:上传图片时提示 ERROR: Copy Uploadfile Error!。原因:上传的文件损坏,或上传目录无写入权限。解决方法:尝试上传其他图片:检查上传的图片是否损坏,尝试上传其他图片。给上传目录写入权限:Linux 服务器:通过 FTP 设置 uploads 目录及其子文件夹为 777 权限。 Wind…

Web服务器被配置为不列出此目录的内容

创建或上传首页文件在站点根目录下创建一个首页文件,如 index.html、index.asp、index.aspx 或 default.aspx。 确保文件内容有效,例如对于 index.html,可以包含以下基本内容:<!DOCTYPE html> <html> <head><title>我的网站</title> </he…

PbootCMS模板内页如何调用相关文章

使用 {pboot:lists code={sort:scode} num=4} 标签调用相关文章,其中 num=4 表示调用4篇文章。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理…

C#实战:使用腾讯云识别服务轻松提取火车票信息

公司内部涉及到车票报销的时候一个个输入火车票信息非常麻烦,尤其是出差比较多的企业,这对于财务人员的涉及报销单据录入还是非常麻烦的。今天给大家分享使用腾讯云车票识别服务,轻松提取火车票信息。这样可以方便把识别服务集成到业务系统,可以大大减轻财务人员录入单据信…

《Django 5 By Example》阅读笔记:p1-p16

《Django 5 By Example》学习第1天,p1-p16总结,总计16页。 一、技术总结 1.Django基本操作 (1)创建 project & 创建 app django-admin startproject mysitedjango-admin startapp blog(2)定义model (3)启动项目 python manage.py runserver二、英语总结(生词:8) 1.finte…

2024/11/11

软件设计 实验12:外观模式 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算…

2024.11.6(周三)

用透明组合模式实现教材中的“文件夹浏览”这个例子。 实验要求: 1.文件的执行不需真正实现,只需简单提示即可; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 #include <iostream> #include <string> #include<list> using namespace std;class Abst…

2024.11.7(周四)

用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。 实验要求: 1.提交类图; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 #i…

2024.11.5(周二)

用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 实验要求: 1.画出对应的类图; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 (1) Bus.java package test;public class Bus implements Vehicle{@Overridepublic void run() {Sy…

CFAT:三角窗口实现图像超分辨率

CFAT:三角窗口实现图像超分辨率基于变换器的模型通过利用其固有的捕获复杂上下文特征的能力,彻底改变了图像超分辨率(SR)的效果。如今,在Transformer架构中使用的重叠矩形移位窗口技术是超分辨率模型中的一种常见做法,可以提高图像放大的质量和鲁棒性。然而,它在边界处存…

CFAT:释放三角窗口实现图像超分辨率

CFAT:释放三角窗口实现图像超分辨率基于变换器的模型通过利用其固有的捕获复杂上下文特征的能力,彻底改变了图像超分辨率(SR)的效果。如今,在Transformer架构中使用的重叠矩形移位窗口技术是超分辨率模型中的一种常见做法,可以提高图像放大的质量和鲁棒性。然而,它在边界…