CascadePSP:Toward Class-Agnostic and Very High-Resolution Segmentation via Global and Local Refinement
一种通用的级联分割细化模型,它可以细化任何给定的输入分割,在不进行微调的情况下提高现有分割模型的性能
什么是 CascadePSP?
- 一种通用的级联分割细化模型,它可以细化任何给定的输入分割,在不进行微调的情况下提高现有分割模型的性能,
- 具体来说,模型的输入是原始高分辨率图像和其在其他网络上输出的粗分割结果,模型的输出是精细化的分割结果
CascadePSP 的网络结构?
- 主要思路: 将输入图片缩小及其他网络上的粗略分割结果送 Global Step 全局网络,得到全局的分割结果;然后将输入图片分成多个小块,将每个小块和对应的分割 mask 送入 Local Step 局部网络,输出精细化结果
- 全局网络、局部网络均 CascadePSP 的细化模块 (RM) 组成,其输入是上一阶段的分割结果(多个尺寸的分割结果),输出是多个尺寸的分割结果(OS8, OS4, OS1)
- Global Step 全局网络: 输入是 resize 后的原图和初始的 mask,输出 “全局优化分割结果”,
- Local Step 局部网络: 输入是原图的 crop 部分和对应的 mask,输出 “全局优化分割结果” 的所有局部 , 为了避免边界伪影,作者将 OS1 的每一侧都切掉 16 个像素(图像边框除外)
- 合并所有的局部精细化结果 ,得到最终的精细化结果 ,拼合时,由于图像有重叠,因此重叠部分采取所有像素点平均值;如果缺少某些像素点,那么这些位置使用全局步骤输出的 S11 来替代
如何认识 CascadePSP 的细化模块 (RM)?
- 细化模块 (RM) 采用一幅图像和多个不同尺度的不完美分割掩模来生成细化的分割,使金字塔池化模块(Pyramid Pooling Module,PPM)捕获多尺度特征
- 输入:所有低分辨率的输入分段都被双线性向上采样到相同的大小,并与 RGB 图像连接后作为输入
- 输出:3 种等级的优化分割结果 OS8,OS4,OS1
CascadePSP 的损失函数?
- CascadePSP 的损失只要指的 CascadePSP 的细化模块 (RM) 3 个输出 OS8、OS4、OS1 的损失
- 对于较粗糙的 OS 8,使交叉熵损失 (CrossEntropyLoss),对于较精细的 OS 1,使绝对值损失 (L1Loss) 平方损失 (MSELoss/L2Loss),对于 OS 4,使用交叉熵和 L1 + L2 损失的平均值
- 为了进行更好的边界细化,在 OS 1 上还采用了分段梯度幅度上的 L1 损失。分割梯度由一个 3×3 均值滤波器和 Sobel 算子组成, fm (.) 表示 3×3 均值滤波器,∇表示由 Sobel 算子近似的梯度算子,由于梯度与像素级损失相比更稀疏,我们用 α 来衡量它,实验中被设置为 5
- 总损失
什么是 CascadePSP 的 Global Step?
- 全局指将原图缩小,这样上下文信息还在,只是损失了细节
- 输入是缩放的原图 + 缩放的粗分割图,输出是 2 种全局优化分割结果图 OS4,OS1
- 采用 3 级级联的结构,原图 I 大小为 WxH,将其按下图公式缩放为x大小,粗分割图 S 也做相同处理
- 级联结构 1:将 I 和 S* 3 共 4 张图作为 RM 结构的输入,得到 OS8 的优化结果
- 级联结构 2:将 I 和 S 和 1 中的输出 OS8* 2 作为 RM 的输入,得到新的 OS8 和 OS4 的优化结果
- 级联结构 3:将 I 和 S 和新的 OS8,OS4 作为 RM 的输入,得到新的 OS4 和 OS1 的优化结果
什么是 CascadePSP 的 Local Step?
- 局部指将原图裁剪,这样没有损失细节,但是缺失了上下文信息
- 输入:原图和全局步骤的 2 个输出 S4、S1,输出是最终的优化结果 OS1
- 采用 2 级级联的结构,原图 I 大小为 WxH,S4 和 S1 都上采样(双线性插值)到 WxH 的大小,然后将输入的 3 张图都裁剪出 LxL 的图像大小
- 级联结构 1:将 I 和 S1 和 s4* 2 共 4 张图对应裁剪出 LxL 大小,作为 RM 结构的输入,得到 OS8 和 OS4 的优化结果
- 级联结构 2:将裁剪的 I,S11 和 1 中的输出 OS8,OS4 作为 RM 的输入,得到 OS1 的优化结果
- 裁切规则
- 裁剪的图片大小为 LxL,从原图左上角开始,以 L//2-32 的步幅移动进行裁剪
- 超出图像边界的无效裁剪被移动,以与图像的最后一列(行)对齐
- 保证裁剪后的图像没有重复的,保证裁剪后的图像不会出现大多数像素只有前景或背景
CascadePSP 中 Global Step 与 Local Step 的消融实验比较?
- 可知,Global Step 对整体及局部进行了优化,且局部优化对 mIoU 的影响很小,对 mBA 的影响较大
CascadePSP 进行 Local Step 时,裁切的尺寸如何确定?
- GPU 内存使用仅与 L 大小有关,而跟需优化的图像的分辨率无关,因为融合步骤可以在 CPU 上容易的执行
- 上图是使用不同 L 时 GPU 内存使用和优化质量 mBA 的关系,作者选择取 L=900,来平衡精度和性能之间的关系
CascadePSP 论文中,不同的输入分辨率对 mBA 的影响?
- 对于不同图像大小的输入,使用局部步骤与否对 mBA 影响不同。在测试图像 max (H,W) 大于 900 时,缺少局部步骤后 mBA 没有提高
- 因此,当输入图像分辨率低时,可只使用全局步骤,而对于分辨率高的图像,需使用全局 + 局部步骤
什么是平均边界精度度量 (mBA)?
- 对于不同大小图像的一个边界准确度的稳健估计
- 3, w+h/300] 中以均匀间隔取 5 个值,作为半径。以图像的前景目标的边界的每个像素点为圆心,计算每个半径内的分割精度,然后平均这些值
CascadePSP 如何做到掩码循环输入到网络中?
- 通过神经网络的级联拼接实现
CascadePSP 论文中循环输入的终止条件是?
- 神经网络使用优化方法,不断减少精细化的误差,直到满意