美文网首页
实时实例分割:OrienMask(ICCV2021)

实时实例分割:OrienMask(ICCV2021)

作者: Valar_Morghulis | 来源:发表于2022-03-25 18:11 被阅读0次

https://arxiv.org/abs/2106.12204

Real-time Instance Segmentation with Discriminative Orientation Maps

作者:杜闻涛、项志宇等人(浙江大学信息与电子工程学院)

通讯作者网页:https://person.zju.edu.cn/xiangzy/

尽管近年来实例分割取得了长足的进步,但设计具有实时性能的高精度算法仍然是一个挑战。在本文中,我们提出了一个实时实例分割框架OrienMask。在一级目标检测器YOLOv3上,添加一个 mask 头来预测一些分辨方向图(discriminative orientation maps),这些方向图被明确定义为前景和背景像素的空间偏移向量。由于方向图的辨别能力,可以在不需要额外前景分割的情况下恢复mask。所有与相同锚框大小匹配的实例共享一个公共方向图。这种特殊的共享策略减少了mask预测的摊销内存利用率,但不会损失mask粒度。给定NMS后幸存的边框预测,实例mask可以从相应的方向图以低复杂度同时构造。由于 mask 表示的简洁设计及其与基于锚的目标检测器的有效集成,我们的方法在实时条件下有效,同时保持了具有竞争力的准确性。在COCO基准测试上的实验表明,OrienMask以42.7 fps的速度实现了34.8的 mask AP,使用单个RTX 2080 Ti进行评估。代码在:https://github.com/duwt/OrienMask

1.引言

实例分割旨在对每个单独的对象进行像素级的预测。它集成了实例级对象检测[28,26,19,16]和像素级语义分割[21,6,7],形成了更细粒度的视觉感知任务。目前主要有两种解决方案,即基于检测的方法和基于分割的方法。前者通过额外的前景密集预测扩展了对象检测器,而后者以自下而上的方式使用特定的每像素属性或嵌入,以分离同一类别的实例。

这两种模式都有明显的缺点。传统的基于检测的方法,如Mask R-CNN[9]依靠特征池化操作将所有感兴趣区域(ROI)投影到固定大小。由于后续的 mask 头应用于每个区域proposal的丰富特征图,因此速度在很大程度上受到限制,尤其是当对象密集出现时。此外,恒定的 mask 分辨率会给小目标带来不必要的计算,并会丢失大目标的宝贵细节。相反,基于分割的方法[20,15]以像素对像素的方式保留细粒度的外观和几何结构。它们可以在基本场景中获得令人满意的结果,但在准确性上往往落后于基于检测的方法。当对象的规模发生变化,类别的数量增加时,基于分割的方法中采用的像素级聚类的通用性仍然存在疑问。

为了满足实时推理的要求,YOLACT[2]提出了一种特殊的 mask 构造方案,该方案将共享的非局部原型与实例级系数(instance-wise coefficients)做线性组合。它抛弃了早期基于检测的方法中通常采用的RoI池化操作,直接从细粒度特征映射中组装mask。根据这个范例,提出了一种改进的方法,名为BlendMask[4]。它用一组注意图替换1D的实例级系数(instance-specific coefficients),这些注意图提供额外的空间自适应信息,以丰富mask的细粒度细节。这些解决方案的成功表明,在基于检测的方法中融入提供有用信息的全局特征具有巨大潜力。然而,这些方法的一个明显缺陷在于生成组装的 mask 时对RoI裁剪操作的依赖性,这可能会由于不准确的边界框预测而带来一些 mask 不完整性。

在这项工作中,我们试图以另一种方式将细粒度表示与一阶段检测器做集成。具体来说,我们专注于紧凑的 mask 表示,以及与基于锚的检测器YOLOv3[27]的有效集成,以实现实时性能。首先,提出了一种新的辨识方向图,对多个 mask 进行独立编码,根据像素的正标签或负标签为像素分配向心或离心向量。这种设计完全不受任何其他语义分割或前景预测的影响,并且对于解码整个mask来说是轻量级的。此外,考虑到目标的不同尺度会改变方向向量的大小分布,还考虑了多尺度设计。我们为与特定锚框尺寸匹配的实例分配不同的方向图,以保证 mask 表示的完整性。OrienMask在目标检测器上只增加了一个头,其功能与框分配和预定义的锚尺寸紧密结合。在推理过程中,对于每个预测的边界框,可以根据相应方向图中的辨识向量快速构造其实例mask,如图1所示。这个过程简单而直接,只包括通过方向向量指示的空间目标来确定所有像素的二值标签。我们工作的主要贡献可以总结如下:

图1。基于方向的Mask构造。这些箭头线表示密集预测的方向向量。每个Mask都是通过在匹配的方向图中收集指向实例中心区域的所有像素来构建的(白色或黑色)。Figure 1. Orientation-based Mask Construction. Those arrowed lines denote densely predicted orientation vectors. Each mask is constructed by gathering all pixels pointing to the central region of the instance in the matched orientation map (white or black).

•    我们提出了一种轻量的、基于辨别方向的 mask 表示,用于实时实例分割。通过为前景和背景像素定义相反的方向向量,我们能够在细粒度的双通道图中有效地编码多个实例mask,而不需要显式的前景分割。在推理中,给定实例的目标区域,它们的mask可以很容易并行地由方向图构造。

•    为了处理各种大小的对象,我们提出了一种实例分组机制,其由基于锚框的检测器导出。具有相似大小的每组实例被指定共享一个公用的类不可知方向图。我们还扩展了标注的边界框,以提供足够的背景监督。扩大的有效训练区域不仅平衡了正样本和负样本的数量,而且有助于在边界区域区分它们。

•    我们将辨别方向图集成到基于快速定位的检测器YOLOv3中,并端到端实现模型OrienMask。实验表明,在COCO基准测试上,它能够以42.7fps的速度实现34.8Mask AP,在最先进的实时方法中具有相当的竞争力。

2.    相关工作

先检测再分割的方法

基于目标检测器生成的候选框,先检测再分割方法从

特征图中提取可靠的ROI,然后获得细粒度的实例表示。在两级检测器Fatser R-CNN[28]的成功推动下,Mask R-CNN[9]增加了一个与边界框回归并行的 mask 预测分支,并使用RoIAlign来修复空间量化引起的不对齐。之后,提出了PANet[18],以加强自底向上路径中的消息传递,并从各个级别融合池化特征。HTC[5]将Mask R-CNN扩展为级联结构,将Mask和box分支交错,同时保持语义特征融合。 Mask Scoring R-CNN[10]没有使用检测器的置信度,而是预测一个额外的分数,以准确地表示 mask 质量。然而,由于第二阶段计算量大,这些方法很难满足实时推理的要求。

检测和分割方法

得益于紧凑的单阶段目标检测体系结构[19,16,27,13,8,30],检测和分割方法结合隐式实例特定表示从全局特征图中定制mask。在YOLACT[2]中,作为这一范式的里程碑,一系列 mask 系数(coefficients)与边框预测一起产生。然后将它们与一组高分辨率原型相乘,生成实例mask。Chen等人[4]重新考虑了特征分辨率和系数维度之间的权衡,并提出了BlendMask,它将每个实例的一些注意力映射与一组共享基础相结合。受条件参数化卷积[38]的启发,CondInst[29]预测实例感知卷积核权重,并将其应用于高分辨率特征映射。由于灵活的框架和细粒度的表示,这些方法在速度和准确性之间保持了良好的平衡。与之相比,我们的OrienMask采用了一种显式的、有辨识的特征共享机制来表示mask,而不是隐式的参数化形式,它更简洁且具有很强的可解释性。

其他mask表示

除了边界框和前景概率图,一些紧凑的mask表示也有助于实例分割。例如,Jetley等人[11]部署了一个自动编码器,将 mask 压缩为低维向量,该向量可以合并到检测器中。Xu等人[37]将一个实例描述为一系列内中心半径,并将其编码为切比雪夫多项式系数。为了获得更高的精度,PolarMask[36]提出了极性中心和极性IoU损失。Peng等人[25]以基于学习的形式实现了snake算法,并提出了循环卷积来迭代地将采样点回归到轮廓位置。作为一种有效的表示,像素偏移及其变体在分割前景内分离实例时很受欢迎。Uhrig等人[31]通过预测深度类和离散方向部署模板匹配,将相同语义标签的像素分配给不同的实例中心。Box2Pix[32]根据偏移向量将前景像素与预测的框中心进行匹配。类似地,Li等人[14]基于检测中心周围的自适应投票区域合并前景像素。Neven等人[22]提出了一种针对特定类别种子和sigma图以及密集偏移向量的联合优化方案。在已知聚类带宽的情况下,按顺序恢复mask。PersonLab[24]利用短程和中程偏移向量来解码人物姿势,然后通过远程偏移对前景像素进行聚类。Novotny等人[23]提出了一种半卷积算子,将坐标添加到学习嵌入的一部分。PointGroup[12]将偏移描述符扩展到3D实例分割,在3D实例分割中,相同类别的点被逐步分组。我们的方法也从空间偏移描述符中得到启发。然而,与上述主要使用空间偏移将分割的前景像素分配给实例的方法不同,我们的方向图是自辨别的(self-discriminative)。它能够同时过滤掉背景区域和单独的实例。为了实现这一目标,定义了特殊的有效训练区域,并考虑了正样本和负样本的不同方向向量。此外,这些细粒度方向图与探测器的锚框紧密结合,保留了不同尺寸的 mask 完整性,并简化了回归。

3 OrienMask

3.1. 整体架构

OrienMask的网络架构主要基于基于锚的检测器YOLOv3[27],主干为Darknet-53。如图2所示,我们添加了一个额外的OrienHead来预测方向图,这是整个框架的关键部分。将获得的边界框和方向图结合起来进行mask构建。

图2。OrienMask架构。左图:该网络基于YOLOv3构建,带有一个额外的头部,对每个锚大小预测不同方向图。H和W表示输入图像的高度和宽度,s表示输出步幅。每个空间位置有C个类别和A个锚框。如虚线所示,在我们改进的版本中,馈送到OrienHead的金字塔特征得到了加强。右图:有三个实例与不同的锚大小匹配。第一行中的边界框由BoxHeads预测,而第二行中的方向图由OrienHead预测。同一列中的每一对分别确定一个实例掩码。Figure 2. OrienMask Architecture. Left: The network is built upon YOLOv3 with an additional head to predict different orientation maps for each anchor size. H and W are height and width of the input image while s denotes the output stride. There are C categories and A anchors per spatial position. Pyramid features fed to OrienHead are strengthened in our improved version as dashed lines indicate. Right:There are three instances matching with different anchor sizes. The bounding boxes in the first row are predicted by BoxHeads while the orientation maps in the second row are predicted by OrienHead. Each pair in the same column individually determines an instance mask.

YOLOv3使用9个边界框预设(priors),并在3个尺度上均匀分配它们。给定高度为H和宽度为W的图像作为输入的图像,输出步幅s尺度下的边界框头生成H/s×W/s×A边界框预测,其中A表示每个网格单元的锚数量。OrienHead将特征金字塔网络(FPN)之后最大的特征图P2作为输入,然后预测双通道固定分辨率H/4×W/4的3A方向图,分别匹配3A个不同的锚框大小(matching with 3A different anchor sizes respectively)。考虑到处理高分辨率特征图非常耗时,我们的OrienHead设计为轻量级。它是三个3×3和1×1卷积层交替交织,输入通道为128和256。(It is interleaved with three 3 × 3 and 1 × 1 convolution layers of input channels 128 and 256 alternatively.)在标准的非极大抑制之后,每个边界框都会根据其锚框大小与方向图配对。如图2右侧所示,其方向向量在收缩的边界框内结束的所有像素构成前景mask。(all pixels whose orientation vectors end within a contracted bounding box form a foreground mask.)

3.2. 基于方向的 mask 表示

方向图O^* \in \mathbb{R}^{H\times W\times 2}存储多个实例在水平和垂直方向上的像素级空间偏移。训练阶段的一些关键概念如图3所示,将详细解释。

图3。方向图。对于每个实例,Mask覆盖的像素是正样本,其方向被定义为指向基本位置的向量。有效训练区域内的剩余像素用作负样本,其应在离心方向上指向有效训练区域的边界。Figure 3. Orientation Maps. For each instance, pixels covered by the mask are positive samples whose orientations are defined as vectors pointing to the base position. Remaining pixels inside the valid training area serve as negative samples, which should point to the border of the valid training area in centrifugal directions.

有效训练区域

我们首先扩展由标注的边界框包围的区域,以形成有效的训练区域。在训练期间,任何扩展区域之外的像素都会被忽略,这意味着它们不参与损失计算。所有剩余的有效像素根据是否被实例mask覆盖分为两部分,即正样本和负样本。由于正样本的数量是恒定的,当有效训练区域扩展时,将统计更多的负样本,因此应确定适当的扩展比率以平衡正样本和负样本的数量。同时,这种扩展也为区分实例边界附近的像素提供了足够的指导。

方向向量

为了在 mask 构建过程中容易区分正负样本,定义了正负样本的方向向量,使其指向相反的方向。具体来说,首先为每个实例指定一个基本位置,在我们的实验中,边界框质心是一个更好的选择。方向图上的正样本指向基本位置,而负样本应指向离心方向上有效训练区域边界上的位置(The positive samples on the orientation map are defined pointing to the base position while the negative ones should point to the boarder of the valid training area in centrifugal directions.)。将基准位置表示为b,在位置p_i处的像素i的目标方向向量o^*_i可以表示为:

o_i^* = \begin{cases}b - p_i, & \textrm{if positive}, \\(\alpha_i - 1)(p_i - b), & \textrm{if negative},\end{cases}    (1)

\alpha_i = 1 / \max(\dfrac{p_i^x - b^x}{v^l - b^x}, \dfrac{p_i^x - b^x}{v^r - b^x}, \dfrac{p_i^y - b^y}{v^t - b^y}, \dfrac{p_i^y - b^y}{v^b - b^y})    (2)

上标xy分别表示水平方向和垂直方向。(v^l, v^r, v^t, v^b)中的元素表示有效训练区域的最左、最右、最顶和最底坐标。所有正样本相比其它方向都具有最高优先级,从而尽可能保持 mask 完整性。(All positive samples have the highest priority to override other orientations so that the mask completeness is preserved as much as possible) 如果一个负样本被多个有效的训练区域重叠,我们只需取平均值以避免分歧。

由于方向向量被局部定义为指向某些相邻目的位置的空间偏移,因此它们在内部位置的两个方向上都会平滑变化。当不同情况下的有效训练区域重叠时,和谐可能会受到轻微干扰,但整体统一性仍然保持。对于位于 mask 边界上的每一对相邻像素,正像素被拉到基本位置,而负像素被推到扩展边界的外侧。因此,这些位置的一个梯度方向等于基本位置和有效训练区域的相应边界之间的距离,这明显大于其他内部位置的一个像素差。我们在第4.3节中的实验证明,学习到的方向图保留了这一特性,这有助于准确描绘实例mask。

(Since orientation vectors are locally defined as spatial offsets pointing to some neighboring destinations, they vary smoothly in both directions within the interior places. The harmony may be slightly disturbed when valid training areas of different instances overlap but the overall unity is still maintained. For each pair of neighboring pixels locating across the mask boundary, the positive is pulled to the base position while the negative is pushed towards outside to the expanded boarder. Thus one direction of gradients at these positions equals to the distance between the base position and the corresponding boarder of valid training area, which is significantly larger than one pixel difference in other interior places. Our experiments in Section 4.3 do prove that the learned orientation maps retain this property, which is helpful to accurately delineate instance masks. )

实例分组

虽然简单地将所有实例mask堆叠到一个双通道方向图上对于实时考虑很有吸引力,但它可能无法处理某些实例重叠的场景,例如一个人戴着领带。为了缓解这个问题,我们引入了一种实例分组机制。注意到YOLOv3根据与这些预设边界框的交并比将对象指定给不同的锚框大小,我们自然地将此指定迁移到mask表示中。具体来说,根据匹配的锚框大小将实例划分为多个组,并将每组实例mask指定给一个独立的方向图。

(Although simply stacking all instance masks onto a two-channel orientation map is fascinating for real-time considerations, it could fail in handling some instance overlapping scenarios, such as a person wearing a tie. To alleviate this problem, we introduce an instance grouping mechanism. Noticing that YOLOv3 assigns objects to different anchor sizes based on the intersection over unions with those bounding box priors, we naturally transfer this assignment to our mask representation. To be specific, instances are divided into several groups according to the anchor sizes that they are matched, and each group of instance masks are assigned to an independent orientation map.)

除了解决由不同长宽比或比例的对象引起的重叠问题外,实例分组机制还有更多其他优点。由于更大的物体通常需要更大的感受野,这种安排有利于使每个方向图适应适当的尺度。同时,可以在较小的时间间隔内对分组实例的方向向量进行归一化,使各组的大小分布不发生显著变化,这有利于网络训练。此外,我们的设计也符合这样的观察:一幅图像可能包含许多小实例,但只有几个大实例。因此,它可以保存尽可能多的对象。

(Besides solving the overlapping problem caused by objects of different aspect ratios or scales, the instance grouping mechanism has more additional advantages. Since bigger objects often require larger receptive field, this arrangement is beneficial to adapt each orientation map to appropriate scale. Meanwhile, the orientation vectors of grouped instances can be normalized within a small interval so that the magnitude distribution of each group does not vary significantly, which is good for the network training. Moreover, our design also complies with the observation that an image may contain many small instances but only a few large ones. Hence it can preserve as many objects as possible. )

3.3.  Mask 构建

mask构建过程涉及两个元素:预测的边界框B和方向图O。回想一下,每个边界框预测都有一个锚框大小,每个锚框大小都与方向图关联。因此,每个边界框都必须与方向图匹配。假设BO已经配对,我们根据等式(1)中的定义,以B的质心为基本位置。然后定义一个以基本位置为中心的矩形目标区域,其大小与B的宽度和高度成正比。如果我们将基位置表示为b,边界框的大小表示为s,则构造的 mask M可以表示为:

M = (|O_x + P_x - b_x| < \tau \cdot s_x)  \ \cap \left(\left|O_y + P_y - b_y\right|     (3)</p><p>这里<img class=    (3)

这里P \in \mathbb{R}^{H\times W\times 2}存储每个像素的坐标,\tau是定义目标区域的收缩因子。简而言之,如果一个方向向量指向基本位置周围特定领域内的某个地方,则相应的像素属于给定实例的前景。这个简单的过程只需要point-wise算术或逻辑运算。对于NMS中幸存的所有边界框, mask 构建过程可以轻松并行执行,而无需前景分割。此外,它不需要任何RoI裁剪操作,并直接考虑整个方向图,因此几乎不会因不准确的框预测而导致精度泄漏。

3.4 损失函数

损失函数由两部分组成,分别为目标检测和方向图提供监督。它可以表示为:

\mathcal{L} = \mathcal{L}_{det} + \lambda \mathcal{L}_{orien}    (4)

其中λ是平衡这两项的超参数。\mathcal {L}_{det } 完全是从官方YOLOv3复制而来,文献中没有任何技巧。

对于 \mathcal{L}_{orien},我们计算有效训练区域内每个像素的平滑L1损失,然后分别取正样本和负样本的平均值。此外,我们根据\mathcal {L}_{det } 将它们乘以实例数N_{inst}。完整的表达式写为:

其中,1^{\mathcal{P}}1^{\mathcal{N}}是正样本和负样本的指示函数(indicator functions)。o_i表示在像素i处预测的方向向量,而o_i^*是相应的真值。为了提高数值稳定性并减少不同尺度的方差,o_io_i^*是通过它们的锚框大小a归一化的,而不是直接以像素来衡量。 \mathcal{L}_{orien}对每个尺度分别计算,最后进行求和。虽然网络输出的方向图是输入图形尺寸的1/4,我们是将其上采样到原始尺寸后再计算和汇总损失。同样,在根据方向图以构建mask之前,也会使用双线性插值。

4    实验

我们在具有挑战性的MS COCO数据集[17]上进行实验,并用标准指标评估预测。按照常规做法,所有模型均接受了118k train2017图像的训练,并在5k val2017图像或20k test dev子集图像上进行了测试。

训练细节    对于网络结构,我们保留了YOLOv3的官方实现,并如上所述扩展了完全卷积的OrienHead。主干darknet-53由一个预训练检测器初始化,网络端到端训练。我们使用动量为0.9、权重衰减为0.0005的随机梯度下降(SGD)优化器。批次大小为16,同步批次标准化用于我们的最终模型,但不用于消融研究。初始学习率为0.001,在迭代520k和660k时分别除以10。所有模型都经过100个epoch的训练,输入分辨率为544×544。应用了多种数据增强,例如颜色抖动、随机调整大小和水平翻转。

推理细节    与YOLACT[2]类似,输入图像直接调整为544×544,不使用测试数据增强。默认情况下,推断速度在RTX 2080 Ti上进行评估,并以每秒帧数(FPS)进行测量。

4.1. 消融研究

在我们的消融实验中,检测器的实现是固定的。我们调整我们方法的其他超参数,以获得最佳配置。为了将OrienHead与检测器更紧密地结合在一起,还将对基础模型进行一些额外的改进。

有效训练区

对于方向图,负样本的定义与有效训练区域的边界密切相关。假设每个有效训练区域的大小与其边界框成正比,我们将扩展比r从1.0更改到1.6,步幅为0.2。如表1所示的实验结果,当r=1.2时,我们的模型达到最佳性能,较小或较大的扩展比都会使AP有所下降。我们注意到,随着有效训练区域的扩大,负样本的数量及其方向向量的幅度同时增加。适度的扩展比可以使正负样本数量平衡,同时在边界附近保持足够的差异(differentiation)。它还保持负样本的适当数值分布。这两个方面都有助于我们的模型更好地收敛。

方向损失的权重

在等式(4)的损失函数中, \mathcal{L}_{det } \mathcal{L}_{orien}分别用于提供边框级和像素级监督。为了将这两项联系在一起,我们探索了从5到20的方向损失权重λ,并得到了表2中的结果。随着λ变大, mask AP度量逐渐增加。然而,我们发现当应用大于20的权重时,训练过程变得不稳定,性能饱和。因此,在我们随后的实验中采用λ=20。此外,我们还观察到方向损失权重的调整并没有显著干扰边框级性能,甚至有一些积极的影响,这表明OrienHead在一定程度上保持了网络的稳定性。

方向目标区域

对于在NMS中幸存下来的任何边界框,只需收集方向向量指向该边框基本位置附近的所有像素,而无需进行任何其他操作(如RoI裁剪),即可构建mask。(For any bounding box that survives NMS, the mask is simply constructed by collecting all pixels whose orientation vectors point to somewhere close to its base position, without any other operations like RoI cropping) 边界框通过比例因子收缩,以形成方向目标区域,从而与不同纵横比或尺度的物体兼容。这里我们选择收缩比τ从0.4到0.8。从表3中,我们发现性能对收缩比敏感,当τ=0.6时,性能最好。可以为每组实例进行更具体的参数调整,以实现更高的AP。

其他改进

我们进一步探索了一些措施,以更好地将OrienHead与检测器集成,并提高整体性能。这些措施逐步实施,结果如表4所示。对于方向定义,我们首先选择网格中心作为基准位置,这与检测器中的边框回归规则保持一致。由于长方体质心更准确地定位实例,因此我们采用它作为基准位置。这种改进将maskAP度量从32.5提高到33.3。然后,我们受到下一代YOLO框架[1,Yolov4]的启发,采用了更大的锚框,这被证明更适合给定的输入分辨率。需要注意的是,没有额外的训练技巧,我们仍然保持纯YOLOv3的其他设置。得益于较大的锚,性能提高了0.5 AP。在早期的实验中,我们按照标准FPN为OrienHead生成P2,但预测的方向图与来自多个尺度的边框预测相关。为了将这两个输出紧密关联起来,我们合并了多尺度金字塔特征来预测方向图,同时在后续层中保持相同的网络结构,如图2中的虚线所示。由此产生的模型再次超越了之前的模型,其额外计算成本可以忽略不计。

4.2. 与最新方法的比较

我们首先在规范的COCO测试开发基准上评估我们的OrienMask,并选择一系列有代表性的框架进行比较。从表5中显示的定量结果中,我们发现,与具有类似输入分辨率的方法(如YOLACT和CenterMask)以及一些旨在简化 mask 表示的方法(如PolarMask和MEInst)相比,OrienMask速度更快、精度更高。我们承认OrienMask落后于一些非实时方法,它们要么具有更高的输入图像分辨率,要么具有更复杂的管道。当考虑到推理速度要快两倍甚至三倍时,在准确性上接受一些牺牲似乎是合理的。

由于实时实例分割是我们工作的主要动机,我们进一步将OrienMask与能够在COCO val2017上进行实时推理的最先进方法进行了比较。所有模型都采用了相对较浅的主干和较小的输入分辨率,这使得比较公平且有说服力。如表6所示,我们的方法优于YOLACT,超出5.6AP,但速度要慢4.0 fps。除此之外,OrienMask在速度比较方面是领先的方法,在mask AP度量方面优于大多数同类方法。它在效率和准确性之间达到了很好的平衡。我们还计算用于 mask 构建的top特征映射的内存占用,并将结果记录在“空间”列中。为简洁起见,假设所有方法的输入分辨率固定为544×544。统计数据表明,我们的方法占用最少的内存资源来构造mask,这证明了它在保持良好的mask质量的同时,成功地减少了冗余。

4.3. 讨论

我们定性分析了我们方法的一些基本特性,包含优点和局限性。

方向图

我们选取两个预测的方向图来挖掘我们的 mask 表示机制。如图4所示,每个方向图的注意力都被具有特定锚定大小的对象抓住。两个孩子和一块滑板根据他们的大小而不是类别被分配到两张方向图上。我们展示了两个方向的梯度图及对两者的按位求和,它们在实例边界附近表现出明显的difference。还可以观察到,梯度图的两个组件集中在实例的不同区域,即,左侧和右侧部分在Gx中突出显示,而顶部和底部部分在Gy中突出显示。将这两个互补的方向图结合在一起,可以描绘出物体的完整轮廓,然后安全地收集每个实例的所有内部像素。这些可视化模式以及高质量的预测mask验证了我们基于方向的mask表示的有效性。

定性结果

如图5所示,我们的方法在分离相邻实例和精确描绘其mask方面表现良好。由于避免RoI裁剪,并根据方向图中的矢量直接收集前景像素,我们的 mask 构建过程对不准确的边界框预测有很大的容忍度。同时,我们的方法也适用于一些复杂的对象重叠场景,尤其是当一个或多个小对象位于一个大对象上时。这在图5的几个图像中得到了说明,例如戴领带的人、放在桌子上的食物、人前面的棒球手套等等。由于实例分组机制,匹配不同锚框大小的对象不会相互干扰,并且它们的mask完全保留。此外,我们没有为OrienHead引入任何像素级的分类信息。类不可知的方向图无论属于哪一类,都能以令人满意的质量恢复 mask 。

失败案例

尽管OrienMask在大多数情况下都运行良好,但我们观察到两个典型故障,如图5最后一列所示。第一种情况是两个类别相同、大小相似的实例严重重叠。方向图无法区分它们,因为两个mask的像素指向几乎相同的基本位置。第二个失败是由于实例之间的一些背景像素严重对抗,尤其是当基本位置靠近其mask边界时。例如,图5右下角的两只长颈鹿都倾向于将中间部分向外推,这会意外地使一些背景像素错误地侵入另一个目标区域。总的来说,由 mask 表示的不完整性引起的这些错误是不寻常的,并且只在有限的情况下发生。

The second failure happens due to the severe confrontation of some background pixels between instances, especially when the base positions locate close to their mask boundaries. For example, two giraffes in the bottom right corner of Figure 5 both tend to push the intermediate part outwards, which accidentally makes some background pixels intrude into another target region by mistake. Overall, these errors caused by the incompleteness of mask representation are unusual and only occur in limited cases.

5.结论

在这项工作中,提出了一种实时实例分割框架OrienMask,它将辨别性的方向图与基于锚的检测器相结合。除了前景像素的向心向量之外,我们进一步考虑方向图中的负样本,从而可以同时完成背景滤除和实例分离。还提出了一种实例分组机制,每个方向图专门用于具有相同锚大小的分组对象。(An instance grouping mechanism is also presented and each orientation map specializes in grouped objects with the same anchor size. )给定由预测框指示的目标区域,可以从相应的方向图有效地构建mask,而无需进行明确的前景预测。在COCO上的实验表明,所提出的OrienMask在实时条件下可以达到有竞争力的精度。

相关文章

网友评论

      本文标题:实时实例分割:OrienMask(ICCV2021)

      本文链接:https://www.haomeiwen.com/subject/ilydjrtx.html