cv::dnn::NMSBoxes和nms-free的比较

1. 原理与目标

  • cv::dnn::NMSBoxes
    基于传统的非极大值抑制(NMS)算法,通过交并比(IoU)筛选重叠框,保留置信度最高的框,抑制冗余检测。支持变体如 Soft-NMS(通过降低分数而非直接抑制)。
    核心逻辑:排序置信度 → 逐轮选择最高分框 → 抑制与其重叠的框。

  • NMS-free
    完全避免使用传统NMS,通常通过模型设计或替代后处理策略减少冗余预测。例如:

    • 端到端模型(如 DETR):通过 Transformer 和二分图匹配直接生成唯一预测。

    • 关键点检测(如 CenterNet):基于物体中心点或角点预测,自然减少重叠框。

    • 稀疏预测设计:通过损失函数约束输出稀疏性(如 YOLOv9 的变体)。


2. 应用场景

  • cv::dnn::NMSBoxes

    • 适用于依赖密集候选框的传统检测模型(如 YOLO、Faster R-CNN、SSD)。

    • 需要后处理去重的场景,尤其是通用目标检测任务。

  • NMS-free

    • 适用于端到端模型或关键点检测框架(如 DETR、CenterNet)。

    • 密集物体检测(如人群计数)或对实时性要求高的场景。


3. 性能对比

维度cv::dnn::NMSBoxesNMS-free
速度后处理耗时随框数量增加而上升无NMS步骤,可能更快(依赖模型设计)
准确性在密集场景下可能抑制有效框(漏检)减少密集漏检,但对模型训练要求更高
实现复杂度简单(OpenCV 一行调用)复杂(需模型结构设计或替代后处理逻辑)
泛化性广泛支持各类检测模型需特定模型结构配合

4. 优缺点

  • cv::dnn::NMSBoxes

    • 优点:成熟、易用,与现有框架无缝集成。

    • 缺点:依赖人工阈值调优,密集场景性能下降。

  • NMS-free

    • 优点:避免阈值敏感性问题,适合密集检测;可能减少计算延迟。

    • 缺点:模型设计复杂,训练数据需求高(如 DETR 需更长训练周期)。


5. 典型代表

  • 使用 NMS 的模型:YOLO 系列、Faster R-CNN、RetinaNet。

  • NMS-free 模型:DETR(Transformer)、CenterNet(关键点)、YOLOv9-nmsfree 变体。


总结

  • 选择 cv::dnn::NMSBoxes:若使用传统检测模型,追求快速实现和成熟方案。

  • 选择 NMS-free:若需端到端部署优化、密集场景检测,或愿接受更高模型设计复杂度。

两者并非绝对对立,部分 NMS-free 方法可能结合轻量后处理(如聚类),而传统模型也可通过改进 NMS(如 Soft-NMS)提升性能。实际选择需权衡任务需求、硬件条件及开发资源。

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

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

相关文章

React-useImperativeHandle (forwardRef)

我们会遇到这样的场景:某个组件想要暴露一些方法,来供外部组件来调用。例如我们在开发form表单的时候,就需要把设置表单值、重置值、提交等方法暴露给外部使用。会有如下代码: import { forwardRef } from react;const Form for…

多人五子棋联机对战平台 测试报告

目录 项目介绍 测试用例设计 部分功能测试示例 自动化测试 测试范围 排除范围 自动化测试目录​编辑 执行全部自动化测试用例 性能说明 总结 性能测试 结果分析 测试总结 项目介绍 该项目基于WebSocket实现实时通信,采用SSM框架构建在线五子棋多人联机…

JAVAEE(网络原理—UDP报头结构)

我们本篇文章要讲的是UDP的报头结构以及注意事项。 下面呢,我先说一下UDP是什么? 1.UDP是什么? UDP是一种网络协议。网络协议是计算机网络中,为了使不同设备之间能够准确、高效地进行数据交换和通信,而预先制定的一…

STM32学习笔记汇总

所有学习资料均参考b站江科大,和铁山羊 一.创建工程(比较麻烦,而且时间长了就容易忘记) 二.点灯大师(成功的第一步) 三.不同的烧录器使用(Jlink-stlink)

【MySQL】SQL语句在MySQL中的执行过程?主要存储引擎区别?

MySQL SQL语句执行过程详解 作为面试官,我来详细剖析一条SQL语句在MySQL中的完整执行过程,这是每个后端开发者都应该掌握的核心知识。 一、连接阶段 建立连接 客户端通过TCP/IP协议与MySQL服务器建立连接(默认3306端口)服务器验证用户名、密码和权限…

【记录】服务器安装ffmpeg

前言 因为项目中需要用到 ffmpeg 进行图像的一些操作,本文记录下在服务器安装 ffmpeg 的全过程,还是具有一定挑战性的。 系统详情 本文使用的操作系统详情如下 通过 命令 cat /etc/os-release 获取 虽然操作系统为 Rocky Linux,但安装过程是通用的,因为本文记录的是从源代码…

Django之modelform使用

Django新增修改数据功能优化 目录 1.新增数据功能优化 2.修改数据功能优化 在我们做数据优化处理之前, 我们先回顾下传统的写法, 是如何实现增加修改的。 我们需要在templates里面新建前端的页面, 需要有新增还要删除, 比如说员工数据的新增, 那需要有很多个输入框, 那html…

HTML5 应用程序缓存:原理、实践与演进

在 Web 技术的发展历程中,HTML5 引入的应用程序缓存(Application Cache)曾是提升 Web 应用离线体验的重要技术。它允许 Web 应用进行缓存,使用户在没有因特网连接时也能访问应用,为 Web 应用带来了显著的优势。然而&am…

【问题笔记】解决python虚拟环境运行脚本无法激活问题

【问题笔记】解决python虚拟环境运行脚本无法激活问题 错误提示问题所在解决方法**方法 1:临时更改执行策略****方法 2:永久更改执行策略** **完整流程示例** 错误提示 PS F:\PythonProject\0419graphrag-local-ollama-main> venv1\Scripts\activate…

解决echarts饼图label显示不全的问题

解决办法 添加如下配置: labelLayout: {hideOverlap: false},

Pandas数据合并与重塑

在数据处理与分析的领域中,Pandas 无疑是一颗璀璨的明星。它提供了丰富且强大的功能,让我们能够轻松应对各种复杂的数据操作。其中,数据合并与重塑是两个至关重要的环节,它们能够帮助我们整合不同来源的数据,调整数据的…

Nodejs数据库单一连接模式和连接池模式的概述及写法

概述 单一连接模式和连接池模式是数据库连接的两种主要方式: 单一连接模式: 优点:实现简单,适合小型应用缺点:每次请求都需要创建新连接,连接创建和销毁开销大,并发性能差,容易出…

将 DeepSeek 集成到 Spring Boot 项目实现通过 AI 对话方式操作后台数据

文章目录 项目简介GiteeMCP 简介环境要求项目代码核心实现代码MCP 服务端(批量注册 Tool)MCP 客户端(调用 DeepSeek) DeepSeek APIDockersse 连接ws 连接(推荐)http 连接 Cherry Studio配置模型配置 MCP调用…

【HDFS入门】HDFS性能调优实战:压缩与编码技术深度解析

目录 1 HDFS性能调优概述 2 HDFS压缩技术原理与应用 2.1 常见压缩算法比较 2.2 压缩流程架构 2.3 压缩配置实践 3 列式存储编码技术 3.1 ORC与Parquet对比 3.2 ORC文件结构 3.3 Parquet编码流程 4 性能调优实战建议 4.1 压缩选择策略 4.2 编码优化技巧 5 性能测试…

HCIP --- OSPF综合实验

一、拓扑图 二、实验要求 1,R5为ISP,其上只能配置IP地址;R4作为企业边界路由器,出口公网地址需要通过PPP协议获取,并进行chap认证。 2,整个0SPF环境IP基于172.16.0.8/16划分。 3,所有设备均可访问R5的环…

c++:线程(std::thread)

目录 从第一性原理出发:为什么需要线程? ✅ 本质定义: 📌 使用基本语法: 线程之间的“并发”与“并行”的区别 线程安全与数据竞争(Race Condition) 如何让线程“安全地”访问数据&#x…

PCL软件架构

Point Cloud Library (PCL) 采用模块化设计,提供了丰富的点云处理功能。以下是PCL的核心架构和主要类的详细介绍。 一、PCL整体架构 PCL的架构可以分为以下几个主要层次: 数据表示层:基础点云数据结构和基本操作 算法层:各种点云处理算法实现 I/O层:点云数据的输入输出 …

CCLinkIE转EtherCAT边缘计算网关构建智能产线:跨协议设备动态组网与数据优化传输

一、行业背景 随着新能源汽车市场爆发式增长,汽车制造企业对产线效率、设备协同性及柔性生产能力的要求显著提升。传统产线多采用CC-LinkIEFieldBasic(CCLINKIEFB)协议的三菱PLC控制系统,而新一代伺服驱动设备普遍采用EtherCAT协…

模态双侠闯江湖:SimTier 分层破局,MAKE 智炼新知

目录 利用多模态表示提升淘宝展示广告效果:挑战、方法与洞察摘要1 引言2 预备知识推荐模型中的ID特征基于ID的模型结构 3 多模态表示的预训练3.1 语义感知对比学习3.2 预训练数据集的构建3.3 优化 4 与推荐模型的集成4.1 观察和见解4.2 方法一:SimTier4.…

基于大模型的下肢静脉曲张全流程预测与诊疗方案研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 1.3 研究方法与数据来源 二、下肢静脉曲张概述 2.1 定义与病理生理 2.2 风险因素与临床表现 2.3 诊断方法与现有治疗手段 三、大模型预测原理与构建 3.1 大模型技术简介 3.2 预测模型的数据收集与预处理 3.…