Boundary IoU:Improving Object-Centric Image Segmentation Evaluation总结笔记

news2024/11/26 14:23:23

Boundary IoU:Improving Object-Centric Image Segmentation Evaluation(边界Iou:改进以对象为中心的图像分割评价)

目录

一、论文出发点

二、论文核心思想

三、相关工作

四、敏感度分析

五、Boundary IoU定义和实验证明

六、应用

七、结论


一、论文出发点

对于分割任务,不同的评估指标对不同类型错误的敏感性不同,网络可以轻易解决指标对应敏感的类型,而其他错误类型的效果则不尽人意。mask的边界质量是图像分割的一个重要指标,但是很少有论文会提及他们mask的边界质量。以此作为出发点,提出来一种边界Iou,以此提高网络预测的边界质量。

二、论文核心思想

提出了一种新的基于边界质量的分割评价方法——Boundary IoU。基于边界IoU,分别提出了边界AP ( Average Precision )和边界PQ ( Panvision Quality )指标来更新实例和全景分割任务的标准评价协议。结果表明,对于较大的对象,Boundary IOU比标准的Mask IOU对边界错误更敏感。

三、相关工作

作者采用表2给出的统一表示法,定义了表1中常见的分割质量测量方法和新的Boundary IoU测量方法。将测量方法分为基于mask和基于boundary的两类,并讨论它们的差异。

表一:给出了不同分割质量测量方法的定义公式Definition),是否是对称的测量方法Symmetric),更偏向测量类型Preference),以及对什么样的错误类型不敏感Insensitivity)。

(该表是本文前半部分工作的核心所在,证明常用的IoU测量方法有哪些缺陷,由下文进行补充证明。)

表二:定义了表一公式中符号的含义。

四、敏感度分析

在敏感度分析所做的所有工作,是为了证明表一中对应Symmetric、Preference、Insensitivity的三列数据。

(1)敏感度分析的目的

将通过观察测量值响应不同大小的误差进行怎样的变化来比较几种mask一致性测量方法。观察和解释这些曲线,以得出关于这些测量方法的缺点,称之为敏感性分析的方法。

(2)具体方法

为了方便进行系统的比较,作者通过人为制造伪预测来模拟在不同掩码尺寸下的常见一组分割错误。如下图所示:

红色轮廓表示真值掩码。比例误差:(a)扩张mask,(b)削减mask;边界定位误差:(c)向多边形中的每个顶点添加随机高斯噪声;对象定位误差:(d)移动mask;边界近似误差:(e)简化多边形;内部掩码错误:(f)向mask添加空洞。

(3)实验结果

1. 如下图中(a)所示,在固定的错误严重性下,固定像素数对ground truth mask进行扩张/削减,较大对象的伪预测都能获得更高的分数。证明mask IoU偏向于大型对象

2. 如下图中(b)所示,交换预测和真实掩码再次进行测量会给出不同的评分,因此Trimap IoU不是对称的测量方法。在固定的错误严重性下,object area更大的对象的伪预测都能获得更高的分数,因此能证明Trimap IoU偏向于大型对象。

3. 如下图中(c)所示,F-measure可以忽略小的轮廓错位,也就是说F-measure对少量误差严重程度并不敏感,但是当误差严重程度较大时,F-measure会迅速降至零

五、Boundary IoU定义和实验证明

Boundary Iou可以克服以上所有测量方式的缺陷。

Boundary Iou定义公式如下:

Boundary IoU首先计算距离每个轮廓d以内的原始掩码像素集,然后计算这两个集合的并集上的交并比。(其中边界区域Gd和Pd分别是距离真实轮廓和预测轮廓d个像素内所有像素的集合。)

实验证明:

如下图所示,相比于Mask IoU,在固定的错误严重性下,Boundary IoU对于大对象的偏向性更小;相比于Trimap IoU,Boundary IoU是对称的测量方法;相比于Trimap IoU,Trimap IoU对误差严重程度要求十分严苛,一旦超过一定数值,Trimap IoU会直接降为0,而Boundary IoU以柔和的方式评估真实Mask与预测之间的一致性

(图中上半部分为在面积>96^2的对象使用伪预测,在所有考虑的错误类型中Boundary IoU与Mask IoU的对比表现,图中下半部分在面积16^2的对象使用伪预测)

六、应用

1. COCO实例分割数据集上对比Mask AP和Boundary AP。

 2. 在R-CNN得到真实预测上进行评价:分别对比Mask AP和Boundary AP更换backbones网络,对比Mask AP和Boundary AP使用PointRend和R-CNN分别输出预测,对比不同测量方法的AP与Boundary AP。

七、结论

本文提出了一种全新的IOU测量方法Boundary IoU,通过敏感度分析证明了现有的常用IOU计算方法的缺陷所在,并通过实验证明Boundary IoU在不同的误差类型下,能克服前者出现的各种不足之处。

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

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

相关文章

【系统移植】uboot 通过 NFS 加载根文件系统(一) —— 网络环境配置

前面试过了SD卡烧录根文件系统,然后借助环境变量 bootargs 来加载SD卡中的根文件系统,但是实际开发需要经常对文件做增删改等操作,所以将根文件系统放在SD上不大合适。 因此,最常用的做法是把根文件系统放在NFS服务端&#xff08…

Spring事务及事务传播机制

一.事务的含义:多个操作封装在一起,要么同时执行成功,一旦有一个操作执行失败,那么全部执行失败。这里给大家举个例子:比如A给B转账50元,而B没有收到这50元,此时A转账B这个操作也需要进行回滚,恢复到A给B没…

HTTP 协议的基本格式

HTTP 什么是HTTP?HTTP是应用层的一个重要协议.它定义了浏览器怎样向服务器请求文件,以及服务器怎样把文件传送给浏览器. 我们打开浏览器,手动输入一个网址:baidu.com.那么此时浏览器就会给百度的服务器发送请求.百度服务器在返回一个html的响应. 那么我们如何学习HTTP协议呢…

【系统移植】uboot 通过 NFS 加载根文件系统(二) —— 修改环境变量 bootcmd、bootargs

上一部分已经配置好了网络环境,我们要修改环境变量以保证开发板可以正常启动,uboot 环境变量中比较重要的环境变量就是 bootcmd 和 bootargs 目录 1、修改自启动命令 — bootcmd 2、修改自启动参数 —— bootargs (1) root/dev/nfs rw (2) nfsroot …

Godot引擎 4.0 文档 - 循序渐进教程 - 创建你的第一个脚本

本文为Google Translate英译中结果,DrGraph在此基础上加了一些校正。英文原版页面: Creating your first script — Godot Engine (stable) documentation in English 创建你的第一个脚本 在本课中,您将编写您的第一个脚本,使用…

Datacom-HCIE 题库 02(10月26日更新)--含解析

单选题 1.[试题编号:189785] (单选题)如图所示,VTEP1上在BD20域内开启了ARP广播抑制功能,并且VTEP1通过 BGP EVPN路由学习到了PC2的ARP信息,则PC1发送的针对PC2的ARP请求,VIEP1在转发给VIEP2时…

设备采购信息管理系统

系列文章 任务14 设备采购信息管理系统 文章目录 系列文章一、实践目的与要求1、目的2、要求 二、课题任务三、总体设计1.存储结构及数据类型定义2.程序结构3.所实现的功能函数4、程序流程图 四、小组成员及分工五、 测试界面展示添加采购信息按编号查找采购信息按设备编号查找…

vue记录鼠标拖拽划过位置并将划过位置变色

首先 我们要做一个这样的基本组件 <template><div><!--循环遍历 List数组用当前下面当做key值然后定义了 onDragStart 鼠标拖动时触发定义 onDragEnd 拖动结束后触发定义 onDragOver 记录所有鼠标拖动经过的位置--><divclass"skeleton"v-f…

DAY 63 mysql的高级语句:存储过程

什么是存储过程 存储过程是一组为了完成特定功能的SQL语句集合。 存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来&#xff0c;这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时&#xff0c;只需要调用它即可…

数据结构之堆详解

目录 1.什么是堆 堆的定义 结构体定义与函数接口 堆的初始化 堆的销毁 入堆 向上调整算法 大堆 出堆 向下调整算法 返回堆顶元素 判空 堆的应用 1.什么是堆 知道以上的存储方法&#xff0c;对于完全二叉树&#xff0c;有一个叫做堆的结构&#xff0c;堆本质就是一…

内核调试工具crash使用

内核调试工具crash使用 前言初识获取vmlinuxDwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) 其他 前言 在编写内核驱动的过程中&#xff0c;时不时就导致内核崩溃&#xff0c;也没啥好的调试方法&#xff0c;要么dmesg打印内核日志&…

socket | 网络套接字、网络字节序、sockaddr结构

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

量化论文学习之《基于 CNN-LSTM 混合模型的股价 预测》

主要原理 CNN-LSTM 混合模型首先使用 CNN 来提取时间序列数据的特征&#xff0c;然 后将特征输入进 LSTM 模型中来进行下一交易日股票收盘价的预测。 数据处理 使用数据 作者发现加入volume,pctChg后效果变差&#xff0c;可能原因是加入了相关性较低的特征后造成了数据冗余…

Ubuntu挂载阿里云盘

目录 所需环境安装docker安装rclone获取阿里云盘token 获取docker镜像并运行获取本机IP信息总结rclone配置挂载网盘到本地文件夹开机启动 所需环境 安装docker 使用官方脚本进行全自动安装 curl -fsSL https://test.docker.com -o test-docker.shsudo sh test-docker.sh安装r…

Spring Boot 可执行 Jar 包运行原理

Spring Boot 有一个很方便的功能就是可以将应用打成可执行的 Jar。那么大家有没想过这个 Jar 是怎么运行起来的呢&#xff1f;本篇博客就来介绍下 Spring Boot 可执行 Jar 包的运行原理。 打可执行 Jar 包 将 Spring Boot 应用打成可执行 Ja r包很容易&#xff0c;只需要在 p…

数字信号处理基础(一):常用信号产生

目录 1. 写在前面2. 连续信号和离散信号2.1连续信号2.2 离散信号 3. 常用信号的产生3.1 单位脉冲序列3.2 单位阶跃序列3.3 指数函数3.4 正弦信号和余弦信号3.5 sinc函数3.6 矩形脉冲信号 4. 信号卷积5. 完整代码 1. 写在前面 为了更好的理解通信原理系列文章&#xff0c;在此补…

28 SQL——表子查询

create table dept(id int primary key auto_increment,name varchar(15))comment 部门;insert into dept(id, name) values (1,研发部),(2,市场部),(3,财务部),(4,销售部),(5,总经办),(6,人事部);create table staff (id int primary key auto_increment commentID,name …

使用Mathtype公式编辑器生成CSDN中的数学公式

使用Mathtype公式编辑器生成CSDN中的数学公式 在CSDN中输入数学公式&#xff0c;直接使用LaTeX编辑输入公式有一些难度&#xff0c;如果你熟悉Mathtype公式编辑器&#xff0c;那么在CSDN文档中输入数学公式也变的相对容易。 下面我们举例说明使用Mathtype转换输入CSDN的公式。…

Weex工具链的奥秘

在2017年1月12日 Weex Conf 2017上&#xff0c;来自阿里的卜道依据Weex开发中的痛点介绍了Weex的打包和插件机制&#xff0c;同样来自阿里的归影介绍了Weex的调试工具Devtools&#xff0c;共同揭秘了Weex的工具链。本文是卜道和归影关于Weex工具链实践的分享整理。 Weexpack与…

MyBatis各种类型查询数据的数据绑定

文章目录 1、前言2、查询一个实体类对象字段名和属性名无法映射处理方式一&#xff1a;起别名方式二&#xff1a;使用全局配置文件配置映射规则方式三&#xff1a;自定义resultmap 3、查询一个list集合4、查询单个数据5、查询一条数据为map集合6、 查询多条数据为map集合方式一…