CascadePSP: Toward Class-Agnostic and Very High-Resolution Segmentation via Global and Local Refinement 论文阅读

date
Mar 20, 2023
Last edited time
Mar 27, 2023 08:23 AM
status
Published
slug
CascadePSP论文阅读
tags
DL
CV
summary
type
Post
Field
Plat
本文是一篇关于精细化语义分割边界的文章,主要提出了一种无需使用任何高分辨率训练数据即可解决高分辨率分割问题的新颖方法。网络中使用级联的结构,其中全局步骤可分割整个图像,并为后续的局部步骤提供足够的图像上下文以执行全分辨率高质量分割。整体思路巧妙,看好其应用价值。

Abstract

最先进的语义分割方法几乎只针对固定分辨率范围内的图像进行训练。这些分割对于非常高分辨率的图像来说是不准确的,因为使用 bicubic 上采样的低分辨率分割方法不能充分捕捉沿物体边界的高分辨率细节。
在本文中,提出了一种无需使用任何高分辨率训练数据即可解决高分辨率分割问题的新颖方法——Cascade PSP 网络,该网络会在可能的情况下完善和纠正局部边界。尽管该网络是用低分辨率分割数据训练的,但即使对于大于 4K 的高分辨率图像也同样适用。经过在不同的数据集上进行定量和定性研究,实验表明 CascadePSP 可以在不进行任何微调的情况下分割出像素精确的分割边界。

Introduce

随着 4K UHD(3840×2160)成为新的行业标准,商用相机和显示器的分辨率已显着提高。尽管对高分辨率媒体有需求,但是许多先进的计算机视觉算法在具有高像素数量的图像方面仍面临各种挑战。图像语义分割是这些计算机视觉任务之一,针对低分辨率图像(例如 PASCAL 或 COCO 数据集)设计的深度学习语义分割模型通常无法推广到更高分辨率的场景。具体来说,这些模型通常使用与像素数成线性关系的 GPU 内存,因此实际上不可能直接训练 4K UHD 高分辨率图像。同时,由于高分辨率图像的标注困难,导致训练所需的数据难以获取。目前,解决 4K 分辨率的图像的分割主要手段有下采样和剪裁两种,但是下采样消除了细节信息,而剪裁则破坏了图像的上下文信息。
本文提出的 CascadePSP,是一种通用的精细化分割优化模型,可将任何给定的图像的分割效果从低分辨率细化为高分辨率。该模型经过独立训练,可以轻松地附加到任何现有方法中以改善其分割效果,从而可以生成对象的更精细,更准确的分割 mask。同时,该模型将初始 mask 作为输入,该 mask 可以是由任何算法输出的粗略结果。然后,CascadePSP 将输出精细化的 mask。
我们的模型以级联方式设计,以粗到细的方式生成精细的分割。早期级别的粗略输出预测对象结构,该结构将用作后期级别的输入以细化边界细节。
notion image
为了对非常高分辨率的图像进行评估,首先为高分辨率数据集添加了标注,该数据集具有 50 个验证对象和 100 个测试对象,并具有与 PASCAL 中相同的语义类别,称为 BIG 数据集。最终在 PASCALVOC 2012,BIG 和 ADE20K 数据集上测试了模型。实验证明,不必针对特定数据集或特定模型的输出来训练 CascadePSP 的模型,相反,通过干扰 ground truth 来执行数据扩充就足够了。CascadePSP 模型还可以扩展为具有直接适应的密集多类语义分割的场景解析任务。

Method

Refinement Module

notion image
优化模块用不同的比例的图像和多个不完美的分割 mask 来生成精确的分割。 多尺度输入使模型能够捕获不同层次的结构和边界信息,使网络能够学习自适应地融合不同尺度的 mask 特征,在最精细的层次上完善分割。
所有较低分辨率的输入分割均被双线性上采样为相同大小,并与 RGB 图像连接在一起。使用 ResNet-50 作为主干网络的 PSPNet 来从输入中提取步长为 8 的特征图。其中金字塔池化大小为 [1,2,3,6],这有助于捕获全局上下文。除了最终的 OS 1 输出之外,模型还生成了 OS 8 和 OS 4 的分割结果,并跳过 OS 2 来提供纠正局部错误边界的灵活性。(OS 指输出特征图的分辨率与输入图像分辨率的比值)
为了重建在提取过程中丢失的像素级图像细节,采用了来自主干网络的 skip connection,并使用上采样模块融合了特征。将 skip 分支的特征和来自主干分支的双线性上采样的特征连接起来,并使用两个 ResNet 块对其进行处理。使用 2 层 1×1conv 生成分割输出,然后进行 sigmoid 函数激活。

损失函数

对于较粗糙的 OS 8,使用交叉熵损失,对于较精细的 OS 1,使用 L1 + L2 损失,对于 OS 4,使用交叉熵和 L1 + L2 损失的平均值,可以得出最佳结果。为了进行更好的边界细化,在 OS 1 上还采用了分段梯度幅度上的 L1 损失。分割梯度由一个 3×3 均值滤波器和 Sobel 算子组成。
其中 表示 3×3 均值滤波器, 表示由 Sobel 算子近似的梯度算子。

消融实验

为了强调边界精度的感知重要性,提出了一种新的评价指标 mean Boundary Accuracy (mBA)。
notion image
Refinemet Module Code Implement

Global and Local Cascade Refinement

在测试中,使用全局步骤和局部步骤通过采用相同的优化模块来执行高分辨率分割优化。具体来说,“全局”步骤考虑将整个调整大小后的图像用于修复结构,而 “局部” 步骤则使用图像裁剪以全分辨率优化细节。可以将相同的优化模块递归用于更高分辨率的优化。

Global Step

notion image
图 4 详细介绍了 Global 步骤的设计,该步骤使用 3 级级联优化整个图像。由于测试过程中的全分辨率图像通常无法放入 GPU 进行处理,因此首先对输入进行降采样。
级联的输入使用 input segmentation 进行初始化,并进行复制以保持输入通道尺寸固定。在级联的第一级之后,其中一个输入通道将被双线性向上采样的粗略输出代替。重复此操作直到最后一级,其中输入既包含初始的分割结果,也包含来自先前级别的所有输出。
此设计使网络能够逐步修复分割的错误,同时保留初始分割结果中的详细信息。使用多个层次,可以粗略地勾画出对象,并在粗略层次中修复较大的误差,同时使用粗略层次提供的更强大的特征。这使得整个网络专注于精细层次的边界精度。
Local Step
notion image
图 5 说明了 Local 步骤的细节。由于内存的限制,即使使用 GPU,也无法单次处理非常高分辨率的图像。而且,训练数据和测试数据之间规模的急剧变化将导致分割质量变差。因此,本文利用级联模型首先使用降采样后的图像执行全局优化,然后使用来自高分辨率图像的图像裁剪执行局部优化。这些剪裁使 Local 步骤能够在不考虑高分辨率训练数据的情况下处理高分辨率图像,同时 Global 步骤能够将图像上下文考虑在内。
在局部步骤中,模型采用全局步骤最后一级的两个输出,两个输出均被线性调整为图像的原始尺寸 W×H。模型对图像进行尺寸为 L×L 的裁剪,裁剪输出的每边将被削去 16 个像素,以避免边界伪影,但图像边界处有例外。裁剪的步幅统一为 L/2-32,这样大部分像素被 4 个裁剪覆盖,超出图像边界的无效裁剪被移位到与图像的最后一行 / 一列对齐。然后将图像裁剪送入 2 级级联,步幅分别为 4 和 1。在融合过程中,由于图像上下文不同,不同补丁的输出可能会有差异,我们通过对所有输出值进行平均来解决这个问题。 对于分辨率更高的图像,可以采用从粗到细的方式递归应用局部步骤。

Choosing L

notion image
消融实验
notion image
notion image
resize_max_side
实验与结果
数据集: PASCAL  VOC  2012  ,  BIG  (our  high-resolutiondata set), ADE20K
评价指标:mIoU、mBA
Baseline:PSPNet  with  ResNet-50
训练方法:在训练过程中,随机抽取 224×224 个图像 crop,并通过扰动 ground truth 来生成输入分割。具体扰动方法如下图所示:
notion image
实验效果
notion image
notion image
对比实验
notion image
notion image
notion image

© Lazurite 2021 - 2024