【语义分割】——分割边缘细化/CascadePSP

出处:腾讯
code:https://github.com/hkchengrex/CascadePSP
论文:https://arxiv.org/pdf/2005.02551.pdf
转载自:https://www.codenong.com/cs106633876/
【语义分割】——分割边缘细化/CascadePSP_第1张图片

3. 网络推理流程

3.2. Global and Local Cascade Refinement
in testing,我们使用了Global Step 和 Local Step来处理高分辨率的分割细化通过使用相同训练的refinement module。Global step考虑的是resize image和repair structure,Local step是细化细节。
3.2.1 Global Step
【语义分割】——分割边缘细化/CascadePSP_第2张图片
Global step采用3级级联refine the whole image。由于全分辨率图像GPU无法处理, 我们对输入进行下采样,使长轴具有长度L,同时保持相同的纵横比。
在第一级级联后,输入通道的一个被双线性上采样的coarse output代替。一直重复到最后。
这种设计使我们的网络能够逐步修复分割错误,同时保持初始分割中的细节。通过多个levels,我们可以粗略地描述对象,并在粗层次中修复较大的误差,并使用粗层次提供的更健壮的特征来关注精细层次中的边界精度 。

3.2.2 Local Step
【语义分割】——分割边缘细化/CascadePSP_第3张图片

超高分辨率图像在GPU处理很困难,而且在训练和测试数据的巨大改变也会引起分割质量下降。我们利用级联模型首先使用下采样图片执行global refinement,然后使用image crops来自于higher 分辨率image执行local refinement。这些crops能使Local step不用高分辨率训练数据就能处理高分辨率图像 ,因为Global step已经考虑到image context。
Local step中采用Global step的两个输出经过双线性恢复到原始图像尺寸WxH。模型采用LxL的image crops,crop output的每一边由16个像素被切避免边界伪影。 在融合中,由于图像上下文的不同,来自不同块的输出可能彼此不一致,我们通过对所有输出值进行平均来解决这一问题。
在这里插入图片描述
L选择了900

总结

  • 边缘的细化效果还是可以的,但是推理是Cascade,local step都要2次,时间消耗大。
  • 不知道是否支持多类别,论文好像是说又在ade20k上有做实验,不知道怎么做的多类别。

你可能感兴趣的:(语义分割,语义分割,cascadepsp)