MPDIoU: A Loss for Efficient and Accurate Bounding BoxRegression--论文学习笔记
超越GIoU/DIoU/CIoU/EIoU MPDIoU让YOLOv7和YOLACT双双涨点
目标检测上的指标对比:

论文地址: [2307.07662] MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression (arxiv.org)
摘要
边界框回归(Bounding Box Regression,BBR)在目标检测和实例分割中被广泛应用,是定位目标的重要步骤。然而,大多数现有的边界框回归损失函数在预测框与实际标注框具有相同的宽高比但宽度和高度值完全不同的情况下无法进行优化。为了解决上述问题,作者充分探索了水平矩形的几何特征,提出了一种基于最小点距离的边界框相似度比较度量——MPDIoU,其中包含了现有损失函数中考虑的所有相关因素,例如重叠或非重叠面积、中心点距离以及宽度和高度的偏差,同时简化了计算过程。在此基础上,作者提出了一种基于MPDIoU的边界框回归损失函数,称为。实验结果表明,将MPDIoU损失函数应用于最先进的实例分割(如YOLACT)和目标检测(如YOLOv7)模型,在PASCAL VOC、MS COCO和IIIT5k数据集上优于现有的损失函数。
Introduction
目标检测和实例分割是计算机视觉中两个重要的问题,在过去几年中吸引了大量研究人员的兴趣。大多数最先进的目标检测器(例如YOLO系列,Mask R-CNN,Dynamic R-CNN和DETR)依赖于边界框回归(BBR)模块来确定目标的位置。基于这种模式,设计良好的损失函数对于BBR的成功非常重要。到目前为止,大多数现有的BBR损失函数可分为两类:1、基于数的损失函数;2、基于交并比(IoU)的损失函数。
然而,现有的大多数BBR损失函数在不同预测结果下具有相同的值,这降低了边界框回归的收敛速度和准确性。因此,考虑到现有BBR损失函数的优缺点,并受到水平矩形的几何特征启发,作者尝试设计一种基于最小点距离的新型损失函数,用MPDIoU作为新的度量标准,比较边界框回归过程中预测边界框与实际标注边界框之间的相似性。作者还提供了一个简单易实现的解决方案,用于计算两个轴对齐矩形之间的MPDIoU,使其可以作为评估指标纳入最先进的目标检测和实例分割算法中,并在一些主流的目标检测、场景文本识别和实例分割数据集(如PASCAL VOC,MS COCO,IIIT5k和MTHv2)上进行测试,以验证作者提出的MPDIoU的性能。
本文的贡献总结如下:
-
作者考虑了现有IoU-based损失和
-norm损失的优缺点,并提出了一种基于最小点距离的IoU损失,即
,来解决现有损失函数的问题,并获得更快的收敛速度和更准确的回归结果。
-
作者在目标检测、字符级场景文本识别和实例分割任务上进行了广泛的实验。出色的实验结果验证了提出的MPDIoU损失的优越性。详细的消融研究展示了不同损失函数和参数值设置的效果。
相关工作就是介绍了之前的几种IoU(GIoU/DIoU/CIoU/EIoU),这里就跳过了,感兴趣的话可以看这里:IoU Loss综述,对几种IoU做了总结
Intersection over Union with Minimum Points Distance
在分析了IoU系列损失函数的优势和劣势之后,开始思考如何提高边界框回归的准确性和效率。通常情况下,使用左上角和右下角点的坐标来定义一个唯一的矩形。受到边界框几何特性的启发,作者设计了一种新颖的基于交并比的度量标准,名为MPDIoU,直接最小化预测边界框与实际标注边界框之间的左上角和右下角点距离。

MPDIoU的计算过程总结在算法1中:

通过使用MPDIoU作为新的损失度量,作者期望能够改善边界框回归的训练效果,提高收敛速度和回归精度。
总结一下,提出的MPDIoU简化了两个边界框之间的相似性比较,适用于重叠或非重叠的边界框回归。因此,在2D/3D计算机视觉任务中,MPDIoU可以很好地替代交并比作为所有性能指标的度量。在本文中,作者仅关注2D目标检测和实例分割,可以将MPDIoU轻松应用为度量和损失函数。
MPDIoU as Loss for Bounding Box Regression
在训练阶段,通过最小化以下损失函数,使得模型预测的每个边界框Bprd = [xprd, yprd, wprd, hprd]T趋近于其对应的真实标注边界框Bgt = [xgt, ygt, wgt, hgt]T:

其中Bgt表示真实标注边界框的集合,表示用于回归的深度模型的参数。典型的损失函数L采用
范数,例如均方误差(MSE)损失和
损失,这些损失函数在目标检测、行人检测、场景文本识别、3D目标检测、姿态估计和实例分割等任务中得到广泛应用。然而,最近的研究表明,基于
范数的损失函数与评估指标——交并比(IoU)并不一致,因此提出了基于IoU的损失函数。基于前面一节中MPDIoU的定义,作者定义基于MPDIoU的损失函数如下:

因此,现有边界框回归损失函数的所有因素都可以通过4个点的坐标来确定。转换公式如下所示:

在上述公式中,表示覆盖Bgt和Bprd的最小外接矩形的面积,
和
分别表示真实标注边界框和预测边界框的中心点坐标。
和
表示真实标注边界框的宽度和高度,
和
表示预测边界框的宽度和高度。
从公式(10)-(12)中可以发现所有现有损失函数中考虑的因素都可以通过左上角点和右下角点的坐标来确定,例如非重叠面积、中心点距离、宽度和高度的偏差,这意味着作者提出的不仅考虑全面,还简化了计算过程。
根据定理3.1,如果预测边界框和真实标注边界框具有相同的宽高比,那么预测边界框位于真实标注边界框内的值低于预测边界框位于真实标注边界框外的情况。这一特性保证了边界框回归的准确性,倾向于提供具有较少冗余的预测边界框。

考虑到真实标注边界框Bgt是一个面积大于零的矩形,即Agt > 0。算法2中的条件(1)和算法2中的条件(6)确保了预测面积Aprd和交集面积I为非负值,即Aprd ≥ 0 和 I ≥ 0,对于∀Bprd ∈ R4。

因此,对于任何预测边界框Bprd = (x1prd, y1prd, x2prd, y2prd) ∈ R4,其并集面积U > 0。这确保了交并比的分母在任何预测输出值下都不会为零。此外,对于任何Bprd = (x1prd, y1prd, x2prd, y2prd) ∈ R4的值,其并集面积总是大于等于交集面积,即U ≥ I。因此,始终有界,即0 ≤
< 3,对于∀Bprd ∈ R4。
当IoU = 0时:对于MPDIoU损失,作者有。在Bgt和Bprd不重叠的情况下,即IoU=0,MPDIoU损失可以简化为
。在这种情况下,通过最小化
,作者实际上是在最小化
。这一项是一个介于0和1之间的归一化度量,即
。
实验
作者在各种数据集上进行了实验,在VOC 的测试集上的指标如最上的图,比其他的几个IoU都有提升,以及在COCO上的对比实例:

后面还对比了实例分割和OCR场景文本定位的实验结果,的结果都有提升
ocr:
实例分割:

相关文章:
MPDIoU: A Loss for Efficient and Accurate Bounding BoxRegression--论文学习笔记
超越GIoU/DIoU/CIoU/EIoU MPDIoU让YOLOv7和YOLACT双双涨点 目标检测上的指标对比: 论文地址: [2307.07662] MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression (arxiv.org) 摘要 边界框回归(Bounding Box Regression&am…...
【Uniapp 的APP热更新】
Uniapp 的APP热更新功能依赖于其打包工具 HBuilder,具体步骤如下: 1. 在 HBuilder 中构建并打包出应用程序 具体步骤: 1.点击发行,点击制作wgt包 2.根据需求修改文件储存路径和其他配置,点击确定 3.等待打包完成&a…...
MySQL主从复制配置
Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务。 (1)首先确保主从服务器上的Mysql版本相同 (2)在主服务器上,创建一个充许从数据库来访问的用户slave,密码为:123456 ,然后使用REPLICATION SLAV…...
Linux - 添加普通用户为信任用户
1.添加用户 在Linux系统中,可以使用以下步骤添加用户: 打开终端并以root用户身份登录 输入以下命令以创建新用户(请将username替换为您想要创建的用户名): adduser username 设置该用户的密码,使用以下命…...
flask----路由系统
# 1 flask路由系统是基于装饰器的:参数如下 # 2 转换器: # 3 路由系统本质 # 4 endpoint 不传会怎么样,不传会以视图函数的名字作为值,但是如果加了装饰器,所有视图函数名字都是inner,就会出错,使用wrapp…...
驶向专业:嵌入式开发在自动驾驶中的学习之道
导语: 自动驾驶技术在汽车行业中的快速发展为嵌入式开发领域带来了巨大的机遇。作为自动驾驶的核心组成部分,嵌入式开发在驱动汽车的智能化和自主性方面发挥着至关重要的作用。本文将探讨嵌入式开发的学习方向、途径以及未来在自动驾驶领域中的展望。 一、学习方向:…...
Go语言入门:从零开始的快速指南(一)
文章目录 引言Go语言的诞生背景Go 语言的特性安装Go语言环境集成开发环境安装第一个Go程序Go 源代码的特征解读 引言 Go语言(也称为Golang)是一种开源的、静态类型的编程语言,由Google开发。它的设计目标是简单、高效、安全、并且易于学习和…...
Windows7+内网, 安装高版本nodejs,使用vite+vue3+typescript开发项目
前言:vite只支持高版本的nodejs,而高版本的nodejs只支持windows8及以上,且vite还对浏览器版本有兼容问题。以下均为vite官网截图 1、安装好低版本的nodejs win7系统建议安装13.及以下,我的是12.12.0这个版本。nodejs低版本官网下载…...
【C语言day14】
#include<stdio.h>int fun(char* s) {char* t s;while (*t);return(t - s); }int main() {char s[] "abc";int n fun(s);printf("%d\n", n);//4return 0; }循环在*t为0时停止,同时t,t最后会停在字符串结束的’\0’之后的一…...
暑假刷题第19天--8/1
170. 加成序列 - AcWing题库(dfs迭代加深--重点理解) #include<iostream> using namespace std; int n; int a[11]; int dfs(int x,int h){if(x>h1)return 0;if(a[x-1]n)return 1;bool st[130]{};for(int i1;i<x-1;i){for(int j1;j<i;j)…...
Java开发中的------修改密码+忘记密码
目录 1.修改密码 客户端响应 前端vue 后端 controller层 ServiceImpl实现层 2.忘记密码 客户端响应 后端 controller层 serviceImpl实现层 本章需要准备:springcloud项目,依赖,数据库.... 数据库SQL SET FOREIGN_KEY_CHECKS0;-- -…...
ffmpeg安装
简介 FFmpeg是一个开源的音视频处理库,它提供了一系列的工具和API,可以用于处理音视频文件。你可以使用FFmpeg的命令行工具来执行各种音视频处理操作,比如转码、剪辑、合并等。FFmpeg的命令格式通常是:ffmpeg [全局选项] {[输入文…...
Mac电脑目录
System(系统)Applications(应用程序)应用程序目录,默认所有的GUI应用程序都安装在这里User(用户)存放用户的个人资料和配置。每个用户有自己的单独目录Library(资料库)系…...
一起学算法(栈篇)
1.栈的概念 1.栈的定义 栈是仅限在表尾进行插入和删除的线性表,栈又被称为先进后出的线性表,简称“LIFO” 我们这次用数组作为我们栈的底层数据结构,代码会放到结尾供大家参考使用 2.栈顶的定义 栈是一个线性表,我们允许插入…...
Ubuntu开机自启服务systemd.service配置教程(Ubuntu服务)(Linux服务)upstart
文章目录 为什么要将程序配置成服务?1. 自动启动2. 后台运行3. 定时重启4. 简化管理5. 整合系统 版本支持1. Ubuntu 14.04及更早版本:使用upstart作为默认的init系统/etc/rc.local旧版本新版本 2. Ubuntu 15.04到16.04版本:默认使用systemd作…...
大数据课程E4——Flume的Channel
文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Channel的作用和配置; ⚪ 掌握Channel的使用方法; ⚪ 掌握Channel的File Channel; ⚪ 掌握Channel的JDBC Channel; ⚪ 掌握Channel的Spillable Memory Channel; 一、Memory Ch…...
es6中的Map和Set数据结构
Map Map对象可以用于保存键值对 1.创建 一个Map对象 const map new Map() 2.Map的一些方法 set(key,value):通过键值对向Map对象中添加元素get(key):通过建拿到对应的值size:返回Map对象中所包含的键值对的个数has(key):判断Map对象中是否有对应的key,返回一个…...
MyBatis 框架基本的增删改查
提示:写代码要严谨 文章目录 前言前期准备MyBatis CRUD操作流程增加功能删除功能修改功能查询功能#{} 占位符${} 占位符两种占位符的区别❗ 映射文件总结❗ mapper 代理方式实现CRUDmapper代理开发规范增加功能删除功能修改功能查询功能 前言 提示:myba…...
Javascript--JSON
什么是 JSON? JavaScript中的JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用于存储和表示结构化的数据。JSON使用键值对的方式组织数据,并支持基本数据类型(字符串、数字、布尔值、数组和对象&…...
Rust: error: failed to run custom build command for `openssl-sys v0.9.71`
error: failed to run custom build command for openssl-sys v0.9.71 解决 windows : openssl 不要选Light版 设置环境变量 cmd: set OPENSSL_DIR“C:\Program Files\OpenSSL-Win64” OPENSSL_DIR:C:\Program Files\OpenSSL-Win64 linux:…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
