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

本文主要是介绍Boundary IoU:Improving Object-Centric Image Segmentation Evaluation总结笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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在不同的误差类型下,能克服前者出现的各种不足之处。

这篇关于Boundary IoU:Improving Object-Centric Image Segmentation Evaluation总结笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/218270

相关文章

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

深入探讨Java 中的 Object 类详解(一切类的根基)

《深入探讨Java中的Object类详解(一切类的根基)》本文详细介绍了Java中的Object类,作为所有类的根类,其重要性不言而喻,文章涵盖了Object类的主要方法,如toString()... 目录1. Object 类的基本概念1.1 Object 类的定义2. Object 类的主要方法3. O

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的