【Soft NMS】《Soft-NMS – Improving Object Detection With One Line of Code》

news2024/11/25 9:44:46

在这里插入图片描述

ICCV-2017


文章目录

  • 1 Background and Motivation
  • 2 Related Work
  • 3 Advantages / Contributions
  • 4 Method
  • 5 Experiments
    • 5.1 Results
    • 5.2 Sensitivity Analysis
    • 5.3 When does Soft-NMS work better?
    • 5.4 Qualitative Results
  • 6 Conclusion(own)


1 Background and Motivation

NMS 是许多目标检测算法重要的步骤之一

在这里插入图片描述

NMS 的缺点,if an object lies within the predefined overlap threshold, it
leads to a miss.(sets the score for neighboring detections to zero)

在这里插入图片描述
Intuitively, if a bounding box has a very high overlap with M M M(maximum score), it should be assigned a very low score, while if it has a low overlap, it can maintain its original detection score.

作者对 NMS 进行了改进

2 Related Work

NMS first employed in edge detection techniques

3 Advantages / Contributions

  • NMS 基础上提出 Soft-NMS,not require any extra training and is simple to implement
  • obtain consistent improvements for the coco-style mAP metric on
    standard datasets like PASCALVOC2007 (1.7% for both R-FCN and Faster-RCNN) and MS-COCO

4 Method

NMS 与 maximum score box 的 IoU 大于阈值的都抑制为了 0

在这里插入图片描述

全抑制为0,容易漏检,NMS should take the following conditions into account,

在这里插入图片描述
NMS 的阈值越高,越容易误检,越低约容易漏检

高 NMS 阈值情况下,mAP 反而会下降,因为 the increase in false positives would be much higher than the increase in true positives for this case because the number of objects is typically much smaller than the number of RoIs generated by a detector.

soft-NMS 大于阈值的分数降低

在这里插入图片描述
a list of detection boxes B B B with scores S S S.
maximum score M M M
the set of final detections D D D

suppressing all nearby detection boxes with a low N t N_t Nt would increase the miss-rate.

其中 Rescoring Functions f ( i o u ( M , b i ) ) f(iou(M, b_i)) f(iou(M,bi)) 的形式有如下两种

(1)非连续的(not continuous)
在这里插入图片描述
与最高分box 的 IoU 越大,分数降得更多(误检的概率比较大),IoU 越小,分数降的越少

IoU 等于 N t N_t Nt 的时候,值不一样

(2)连续的
在这里插入图片描述
计算复杂度同 traditional NMS

also a greedy algorithm and does not find the globally optimal re-scoring of detection boxes.

不一定局限于指数形式,也可以是 Gompertz function

在这里插入图片描述

5 Experiments

5.1 Results

N t N_t Nt to 0.3, σ \sigma σ to 0.5
在这里插入图片描述

在这里插入图片描述

Soft-NMS has more potential to improve recall at higher O t O_t Ot(detection evaluation threshold).

在这里插入图片描述

5.2 Sensitivity Analysis

试试 soft-NMS 超参数 σ \sigma σ 的敏感性

在这里插入图片描述

5.3 When does Soft-NMS work better?

(1)Localization Performance

千言万语,不如下面一个表来的直接
在这里插入图片描述
even when we obtain better performance at higher O t O_t Ot, performance at lower O t O_t Ot does not drop.

low values of σ \sigma σ perform better at lower O t O_t Ot and higher values of sigma perform better at higher O t O_t Ot.

(2)Precision vs Recall

在这里插入图片描述

5.4 Qualitative Results

在这里插入图片描述

a large wide bounding box spanning multiple people is suppressed because it had a small overlap with multiple detection boxes with a higher score than it.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6 Conclusion(own)

soft-NMS也是一种贪心算法,并不能保证找到全局最优的检测框分数重置。

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

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

相关文章

【Android】Ubuntu20.04编译Android 13并用模拟器运行

前言 一直好奇Android系统是怎么定制的,直到亲自走一遍Android系统编译流程才发现并没想象的复杂。 这就跟app开发一样,Google官方其实都提供了平台、文档、IDE及一些工具,咱们只要按照官方提供的指南来操作就行了。 如果Android没有提供这…

15 QMessageBox消息对话框

错误提示对话框 信息提示对话框 循环对话框 默认是Yes和No,可以修改属性。第5个参数关联回车键 QMessageBox::Save | QMessageBox::Cancel 可以通过捕获按键获取点击结果 警告提示 代码: //QMessageBox 消息对话框//错误提示QMessageBox::critical(th…

11 spring-boot的MVC配置原理

11.1 spring-boot为MVC提供的自动配置 1.ContentNegotiatingViewResolver视图解析器; 2.静态资源或者支持WebJars; 3.自动注册类型转换器:比如说前台提交user的字段,后台自动封装的意思; 4.HttpMessageConverters&…

计算机视觉(一)图像预处理

本章内容 图像显示与存储原理颜色空间RGB颜色空间CMY(K)颜色空间HSV颜色空间CIE-XYZ颜色空间 图片存储原理主流颜色空间 图像增强的目标图像处理方法点运算:基于直方图的对比度增强直方图 :对数据空间(bin)…

了解 3DS MAX 3D摄像机跟踪设置:第 1 部分

这是一个关于使用行业标准插件 RayFire 在 3ds Max 中破坏元素的新系列。在本教程的第一部分中,我将向您展示如何在 RayFire 中使用在 3ds Max 中拆除元素的最基本操作和方法。 推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 准备场景 步…

使用Gin框架搭配WebSocket完成实时聊天

文章目录 前言实时聊天聊天功能测试发送信息 前言 在写项目的时候,需要完成实时聊天的功能,于是简单的学习下WebSocket,想知道WebSocket是什么的小伙伴可以去网上别的地方学习一下。 要实现实时聊天,网上的大部分内容都是Spring…

【MI】ModuleNotFoundError: No module named ‘braindecode.datautil.signalproc‘

使用HGD数据集时,需要从braindecode中调用 一直显示ModuleNotFoundError 以为是导入braindecode的版本太新了,于是在braindecode官网上找代码对应版本,一直找不到,最后从github上找到了代码的使用指南 GitHub - braindecode/br…

(学习笔记)HTTP Keep-Alive和TCP Keep-Alive

HTTP的Keep-Alive HTTP协议采用的是[请求-应答]模式,也就是客户端发起请求,服务端才会响应请求,一来一回这个样子。 由于HTTP是基于TCP传输协议实现的,客户端与服务端需要进行HTTP通信前,需要先建立TCP连接&#xff…

redis的常用命令和数据结构

目录 redis的基本特征 Redis操作命令行 redis的数据结构 Redis的基本特征 键值型,value支持多种不同的数据结构,功能丰富 单线程,每个命令具备原子性 低延迟,速快(基于内存,IO多路复用,良好…

第 109 场 LeetCode 双周赛

A 检查数组是否是好的 暴力: 排序后遍历判断 class Solution { public:bool isGood(vector<int> &nums) {sort(nums.begin(), nums.end());for (int i 0; i < nums.size() - 1; i)if (nums[i] ! i 1)return false;return nums.back() nums.size() - 1;} };B 将…

npm(基础)

基础-是什么 深度-为什么 #npm基础 - 现代前端开发模式 ##很多年前的前端,是什么样子? ##补充一下 ###Node SDK(software develop kit):Node jdk() IDE(集成dev env):VSCode ####有了npm,我们就可以创建一个工程环境 npm - 理解成一个包管理下载的工具 每一个npm管理…

树莓派刷机和登入

1.打开映像工具 2.选择映像文件写入 3.拔出卡插入树莓派上电 4.树莓派登入 1.HDMI视频线&#xff0c;连接到显示屏幕 2.串口登录 修改系统配置&#xff0c;启用串口登录树莓派 &#xff08;1) 打开SD卡根目录的"config.txt文件"&#xff0c;停止蓝牙&#xff0c;…

Pytorch深度学习------TensorBoard的使用

文章目录 1.什么是TensorBoard2.安装3.启动4.Pytorch 使用 TensorBoard4.1 写入数据4.2 写入图像 1.什么是TensorBoard TensorBoard是一个工具&#xff0c;主要用于数据可视化&#xff0c;用大白话的语言来说就是可以记录在机器学习中表格数据、非表格数据&#xff08;图片、文…

信息与通信工程学科面试准备——通信原理|推免/复试/补充

目录 1. 加性高斯白噪声 加性噪声 白噪声 2. 窄带随机过程 2.1 正弦波加窄带随机过程 3. 信道类型 4.多径传播 5. 频率选择性衰落与相关带宽 6.信道容量&#xff08;连续信道的信道容量&#xff09; 7.调制的目的和分类 7.1 目的 7.2 方式 7.3 作用(正弦波调制) …

08_堆学习

目录 一、堆的核心概述2、内存细分 二、设置堆内存大小与OOM1、设置堆内存大小2、OOM的说明 三、年轻代与老年代2、如何查看一个程序新生代和老年代的比例 四、图解对象分配过程1、图解对象分配过程2、对象分配特殊情况3、常用优化工具概述与 Jprofiler的演示 五、Minor GC、Ma…

MATLAB 自定义最小二乘法拟合直线点云(具体过程)方法二 (27)

MATLAB 自定义最小二乘法拟合直线点云(具体过程)方法二 (27) 一、算法简介二、算法实现1.代码(注释详细)2.效果展示一、算法简介 最小二乘法拟合直线,可以将离散的点云表达为一条规则的数学直线, 这里使用的直线方程为y = kx+b 这里提供具体的实现流程,展示如何进行最…

实现外部缓存-Redis

目录 实现 RedisTemplate RedisTemplate的序列化 RedisSerializer 创建Redis缓存配置类 测试使用 创建配置类 创建注解测试实体 创建配置文件 创建单元测试类进行测试 实现 RedisTemplate XXXTemplate 是 Spring 的一大设计特色&#xff0c;其中&#xff0c;RedisTe…

Linux笔记——进程管理与网络监控技术讲解

系列文章目录 Linux笔记——磁盘进行分区与挂载介绍 Linux笔记——管道相关命令以及shell编程 文章目录 系列文章目录 前言 一 进程管理 1 简介 2 系统执行进程的情况 3 查看进程树 4 服务管理 4.1 服务的运行级别 4.2 chkconfig 4.3 systemctl管理指令 4.4 针…

【文档智能】ERNIE-Layout

前言 这是百度在2022年的一篇工作&#xff1a;ERNIE-Layout。该工作通过增强布局知识的预训练模型&#xff0c;以学习更好的表示&#xff0c;结合文本、布局和图像的特征。旨在利用文档布局相关信息&#xff0c;进行文档理解&#xff0c;进一步提高文档信息抽取的性能。 1、文…

FPGA_学习_13_方差计算小模块

测距器件APD的性能与器件本身的温度、施加在APD的偏置电压息息相关。 在不同的温度下&#xff0c;APD的偏压对测距性能的影响非常大。 要确定一个合适的APD的偏压Vopt&#xff0c;首先你要知道当前温度下&#xff0c;APD的击穿电压Vbr&#xff0c;一般来讲&#xff0c;Vopt Vb…