从PSPNet到CCNet:语义分割的上下文建模“进化史”与实战选型指南
在自动驾驶车辆识别路况、医疗影像分析病灶区域、卫星图像解析地表特征时,像素级的语义理解能力直接决定了系统性能上限。传统卷积神经网络(CNN)如同拿着放大镜逐块观察图像,而现代语义分割模型则像拥有"上帝视角"的指挥官,能同时协调全局信息与局部细节。这场视觉理解的革命,始于对"上下文建模"技术的持续突破。
1. 上下文建模的技术演进图谱
1.1 从空洞卷积到空间金字塔
2017年问世的DeepLabv2首次将**空洞空间金字塔池化(ASPP)**引入语义分割。其核心思想是通过并行的空洞卷积(Dilated Convolution)捕获多尺度上下文:
# ASPP模块典型实现(PyTorch风格)
class ASPP(nn.Module):
def __init__(self, in_channels, out_channels=256):
super().__init__()
self.conv1 = nn.Conv2d(in_channels, out_channels, 1)
self.conv2 = nn.Conv2d(in_channels, out_channels, 3,
padding=6, dilation=6)
self.conv3 = nn.Conv2d(in_channels, out_channels, 3,
padding=12, dilation=12)
self.conv4 = nn.Conv2d(in_channels, out_channels, 3,
padding=18, dilation=18)
self.pool = nn.AdaptiveAvgPool2d(1)
def forward(self, x):
feat1 = self.conv1(x)
feat2 = self.conv2(x)
feat3 = self.conv3(x)
feat4 = self.conv4(x)
feat_pool = F.interpolate(self.pool(x), size=x.shape[2:])
return torch.cat([feat1, feat2, feat3, feat4, feat_pool], dim=1)
同年PSPNet提出的**金字塔池化模块(PPM)**则采用不同策略:通过多尺度池化获


2702

被折叠的 条评论
为什么被折叠?



