该论文简要概述了目标检测和实例分割算法的研究现状,并简要分析了各种方法的优缺点。在此基础上,提出了一个完整的框架来完成目标检测和实例分割的任务,这两项任务相互帮助,同时实现性能改进。
本文作者来自中科院自动化所:
介绍
对象检测和实例分割是计算机视觉中两个基本且密切相关的任务,分别专注于在对象级别和像素级别的渐进式图像理解。由于深度神经网络的应用,近年来见证了这两项任务的重大进步。但是,在大多数以前的工作中尚未充分探讨它们的关系。因此,通过利用对象级和像素级信息之间的交互来提高这两项任务的性能仍然是有意义且具有挑战性的。
图1:对象检测中的本地化错误。 (a)(b)盒子没有完全包围物体。 (c)(d)盒子不要紧紧地围住物体。 如果我们充分利用对象检测和实例分割任务之间的相互关系,则可以轻松纠正大多数这些错误。结果通过Mask R-CNN获得(He et al.2017)。
对象检测的目标是使用矩形边界框定位每个对象,并将其分类为特定类别。在此任务中,最关键的挑战之一是对象的本地化,即包含性和紧密边界框的规范。正如在许多最新方法中通常可以看到的那样,如图1所示,定位误差很容易降低其性能。定位误差主要是由使用回归方法获得边界框的机制导致的,如逐点所示。回归并不直接了解整个对象。因此,将对象本地化转换为像素级任务更为合理,这与边界框的定义一致。
方法介绍
作者提出的算法框架如下:
图2:建议的RDSNet的体系结构遵循两个流结构,即对象流和像素流。 来自这两个流的信息通过几个设计良好的模块相互交互:关联模块和裁剪模块将实例的感知和平移方差引入像素流,从而有助于生成实例蒙版(请参阅第3.2节)。 反过来,实例蒙版将帮助对象流获得更准确的边界框(请参见第3.3节)。 c表示等级编号,k表示一个位置的锚编号,d表示表示尺寸,β表示尺寸。 *表示卷积运算。
论文作者认为:目标检测属于对象级任务。这类任务更注重对象级的特点。它不需要高分辨率,但需要更高级的语义信息。实例分割任务属于像素级任务。类任务需要逐像素输出,这需要更高的分辨率和更详细的信息。
因此,如图所示设计了一个双流网络。上面的对象流集中于完成目标检测任务。它可以是SSD、YOLO、RetinaNet(本文使用RetinaNet)等任何一种基于锚定的目标检测算法;以下是像素流的焦点以高分辨率完成分割任务(本文采用类似于PanopticFPN的方法融合多尺度特征,得到高分辨率的输出);接下来的几项操作是本文的重点,以及如何使这两项任务相互帮助:
对象辅助实例分割:
常见的实例分割算法分为两类:
一种是与Mask R-CNN相似的基于提议的方法,它是对目标检测算法的直接扩展,但该方法将面临上述许多问题:生成的实例掩码分辨率相对较低,严重依赖于提议的边界框;
另一种是基于分割算法。首先预测每个点的嵌入,然后通过聚类得到每个实例的掩码。形成一个集群,然后获取每个对象的掩码)。这种方法自然克服了基于提议的方法的缺陷,但一般不能进行端到端的训练(一般需要度量学习来训练嵌入),且局限于聚类算法,性能一般有限。
仔细分析发现,聚类问题主要是由于没有聚类中心造成的。也就是说,如果我们有了每个簇的中心,就可以放弃聚类算法,进行端到端的训练;“中心”应该是每个对象的嵌入,也就是说,它应该起源于对象层,而不是像素层!因此,形成了本文提出的基于相关滤波的示例掩模生成算法:
图3:对象2和像素表示的图示,它们都分别嵌入到对象和像素流的d维特征空间中。 像素表示接近特征空间中的对应实例表示,并且不同的对象具有不同的表示。 对表示执行降维(从d到3)和L2归一化
象流和像素流分别提取对象和像素的嵌入(获取对象嵌入的方法也很简单,可以直接在目标检测算法的检测头的分类和回归分支中添加一个额外的分支进行预测),它属于同一对象的像素,其对应的对象具有相似的嵌入。相似度度量采用内积相似度,即对每个检测到的目标,以其嵌入为核,对像素嵌入进行相关滤波。以获取此对象的掩码。
此外,本文还充分利用目标流得到的目标边界框来抑制远离目标中心的噪声,在一定程度上克服了CNN变体对实例分割任务的影响。
掩码有助于目标检测:
边界框定位是目标检测的一项重要任务,现有的大多数方法都是利用回归得到边界框的位置。但是,我们回顾了边界框的定义,发现它本身是由对象掩码的最小包围矩形定义的!
既然我们可以得到对象的掩码,为什么还要依赖回归算法呢?还有什么(前提是对象掩码的获取不应依赖于边界框)?但是,通过实验发现,直接使用上述基于相关的滤波方法得到的实例掩码生成的边界框,其精度并不太高,甚至低于回归方法得到的边界框!本文作者通过可视化发现,大多数对象的遮罩可以提供非常精确的边界框。但是,一些对象的预测结果也有不满意的遮罩,这使得边界框具有较大的偏移量。
在此基础上,提出了一种基于贝叶斯公式的边界框定位算法。首先,将边界框定位定义为一个分类任务(是物体在宽/高维度上的一个坐标,是物体的一个边界),将问题转化为给定的物体掩模,预测坐标属于边界框的后验概率:
然后,利用贝叶斯公式,以回归得到的边界框为先验概率P(X=i),以最大维卷积和激活函数为目标实例掩码得到P(M′X=i)。
整个流程如下图所示:
该方法综合考虑了回归得到的边界框和实例掩码的优点,得到了更精确的边界框。具体结果见下图。结果表明,该方法得到的边界框可以与较高的IOU和地面真值bbox相匹配。
实验结果
本文已在COCO数据集上进行了实验验证:
对COCO val2017上某些结果的视觉比较。 顶部,中间和底部行是通过Mask R-CNN,不带扩展裁剪或MBRM的RDSNet和完整版本的RDSNet获得的。 与Mask R-CNN相比,RDSNet提供更锐利的蒙版。圆圈区域突出显示了MBRM在减轻定位错误方面的优势。
在实例分割任务中,该方法可以在单阶段算法中实现速度和精度的较好平衡。它在近3倍的速度下达到了接近TensorMask的精度,在类似的速度提升下达到了基于YOLACT的2.3mAP。
在目标检测任务中,该方法以极低的计算代价在不同的主干上实现了一致的性能改进。
值得注意的是:本文采用RetinaNet作为检测器,其对实例分割任务的扩展不会带来计算量的显著增加。如果采用其他更先进的目标检测算法,其检测精度和速度将得到进一步提高。
结论
作者提出了用于对象检测和实例分割的统一体系结构,并且实验分析证明了这两个任务之间的相互关系。这项工作在很大程度上克服了以前工作的缺点,例如实例蒙版的分辨率低,蒙版对框的依赖性很大以及边界框的定位错误。 作者认为对象检测和实例分割任务不应分开研究,并希望将来的工作集中在不同图像感知任务之间的相互关系。
论文地址或源码下载地址:关注“图像算法”微信公众号 回复"RDSNet"
网友评论