pidnet

semantic segmentation

Posted by DYC on September 3, 2023

pidnet

motivation
  • 双分支模型高分辨率与低频上下文信息直接融合导致出现细节信息特征容易被周围上下文淹没的问题
contribution
  • 将CNN和PID联系起来,并提出了一个基于PID控制器架构的三分支网络
  • 提出了Bag融合模块,用于平衡细节和上下文特征
architecture

作者认为每个对象内部像素的语义是一致的,并且只在相邻对象的边界上变得不一致,因此语义的差异仅在对象边界处为非零,所以为了解决双分支模型带来的问题,作者提出再新增一个分支,用于边界信息的检测

image-20230901171008237

一共分为P、I、D三个分支,P分支的作用解析和保留高分辨率特征图中的详细信息,I分支的作用是在本地和全局聚合上下文信息以解析长程依赖关系,分支D的作用是提取高频特征来预测边界区域,并且作者设计了几个模块包括Pag、PPM、Bag

Pag

image-20230902233912262

P分支会从I中学习到有用的语义特征,P和I两个分支矩阵相乘,得到了σ矩阵,σ表示两个像素属于一个目标的相似程度,如果相似度高,则增加更多I分支的细节

image-20230903111722825

PPM

为了更好地进行全局场景先验构建,PSPNet引入了金字塔池模块(PPM),该模块在卷积层之前连接多尺度池映射,以形成局部和全局上下文表示

Avg(17,8)表示平均池化核大小为17×17,步长为8,每一层经过池化卷积之后再进行上采样与经过1*1的原图相加再进行卷积

image-20230902233930137

Bag

在经过前面的模型之后得到了三个分支,P分支代表了特征图的细节,I分支代表了特征图的上下文信息,D分支代表了边界信息,所以将D分支进行sigmoid操作然后分别与另外两个分支进行融合,然后进行相加,这样迫使模型沿着边界区域更加信任细节的分支,并利用上下文特征来填充其他区域

image-20230902233941749

可以用下面公式表示

image-20230903120657758

总的来说P 分支解析高分辨率特征图中的细节信息,I 分支聚合局部和全局的上下文信息以捕获远距离依赖,而 D 分支提取高频特征以预测边界区域。整个模型使用级联残差块作为主干网络,并使用不同深度和宽度的网络来生成 PIDNet 系列模型