FocalClick: Towards Practical Interactive Image Segmentation 论文阅读

date
Feb 24, 2023
Last edited time
Mar 27, 2023 08:36 AM
status
Published
slug
FocalClick论文阅读
tags
DL
CV
summary
type
Post
Field
Plat

Abstract

首先,现有模型在低功耗设备上的工作效率不够高;其次,在用于细化预先存在的掩模时,它们的性能表现不佳,因为它们无法避免破坏正确的部分。FocalClick 通过在局部区域内预测和更新掩模来同时解决这两个问题。
我们将对整个图像的预测(慢速)分解为两个在小裁剪图像上的推理(快速):在目标裁剪(Target Crop)上进行粗略分割,以及在焦点裁剪(Focus Crop)上进行局部细化。
为了使模型能够处理预先存在的掩模,提出了渐进式合并(Progressive Merge)作为解决方案。Progressive Merge 利用形态学信息来决定哪些部分需要保留,哪些部分需要更新,使用户能够有效地改进任何预先存在的掩模。

Introduce

interactive segmentation

交互式分割使用户能够使用简单的交互方式(如涂鸦,框或点击)方便地注释掩模。在基于点击的方法下,用户可以连续放置正/负样本点来定义前景和背景,每次用户点击后,模型会返回新的预测结果。
基于点击的交互式分割的基本范式是使用 Gaussian maps 或 disks 来表示点击,然后将点击图与图像连接起来作为输入,并将其发送到分割模型来预测掩模。

Working with preexisting mask

在实际应用中,很少有需要从头开始进行掩模注释的任务。现有的掩模通常由离线模型或其他形式的预处理提供。然而,以前的方法不兼容外部给定的掩模。大多数方法不考虑先前的掩模作为输入。虽然[10,36]将前一个掩模与输入图像和点击图连接起来,但它们表现不佳。
💡
[10] Marco Forte, Brian Price, Scott Cohen, Ning Xu, and Fran ̧ cois Piti ́ e. Getting to 99% accuracy in interactive segmentation. arXiv:2003.07932, 2020.
[36] Konstantin Sofiiuk, Ilia A Petrov, and Anton Konushin. Reviving iterative training with mask guidance for interactive segmentation. arXiv:2102.06583, 2021.
notion image
我们注意到,在注释过程中,随着点击逐渐添加,观察当前掩模,每个点击都有一个具体的目标。例如,在图1中,新点击的目标是将球拍添加到前景中。在这种情况下,球拍区域需要比球员和网球场获得更多的注意。然而,以前的方法在每次点击后对所有像素均做出相同的新预测,导致了两个问题:
  1. 良好预测的区域将被重复计算,导致计算冗余;
  1. 先前掩模的所有像素都将被更新,使得模型无法保留初始掩模中给出的细节。

Method

FocalClick的关键是将整个图像上的一个预测(慢速)分解为对小块的两个轻量级预测。
notion image
首先,Target Crop选择目标对象周围的 Patch,将其调整为小尺度,并将其发送到Segmentor进行粗略掩模的预测。然后,Focus Crop选择需要细化的局部区域,并将放大的局部 Patch 馈送到Refiner中。最后,Progressive Merge 将局部预测对齐到全尺度的掩模上。因此,每次点击后,我们只细化一个小的局部区域,但所有像素的最终预测都经过了不同轮次的计算分配。

Target crop

我们首先计算前一次Mask和新添加的点击所在的最小外接框,并使用比例 扩展对其进行扩展。然后,我们对输入张量(图像、前一次Mask和 click maps)进行裁剪,并将它们缩放到较小的分辨率。

Coarse segmentation

我们选择当前的 SOTA 方法 HRNet+OCR 和 SegFormer 作为 Segmentor 进行粗分割。

Focus crop

Focus crop 的目的是选择需要细化的局部区域。我们比较原始分割结果和先前的掩模之间的差异,得到差异掩模 。然后,我们计算包含新点击的 的最大连通区域,并为该最大连通区域生成外部框。类似于目标裁剪,我们使用比例 进行扩展。我们将此区域标记为焦点裁剪(Focus Crop)。因此,在输入图像和点击地图上裁剪局部补丁。此外,我们使用RoiAlign来裁剪Segmentor 的特征图和 coarse predicted logits

Local refinement

我们使用两个头部来预测 Detail Map 和 Boundary Map ,并通过更新粗略预测 logits 的 Boundary 区域来计算Refined Prediction

Progressive merge

在注释或编辑 Mask 时,我们不希望模型在每次点击后更新所有像素的掩模。否则,精心注释的细节将被完全覆盖。相反,我们只想在我们打算修改的有限区域进行更新。
在添加用户点击后,我们只需将新预测的掩模二值化,并计算新预测与现有掩模之间的不同区域,然后选择包含新点击的最大连通区域作为更新区域(图3中绿色部分)。在该区域中,我们将新预测的掩模更新到先前的掩模上,并在其他区域保持先前的掩模不变。

Training supervision

我们使用二元交叉熵损失 监督 Boundary Map 。粗略分割 由 RITM 中提出的归一化 Focal Loss 进行监督。对于 Refined Prediction ,我们在 NFL 损失上添加边界权重(1.5),并将其记为 ,总损失如下:

Experiment

notion image
notion image

© Lazurite 2021 - 2023