FCN (Fully Convolutional Network)
FCN 的主要思想是将卷积神经网络 (CNN) 转变为全卷积网络,以直接输出与输入图像同样大小和分辨率的分割图。
卷积部分:FCN 通常基于预先训练的模型(如 VGG16)作为特征提取器。它将 VGG16 的最后三个全连接层替换为卷积层,以获得与输入图像同样大小的特征图。这些特征图为分割任务提供了丰富的上下文信息。
上采样部分:为了得到与输入图像同样大小的输出,FCN 使用转置卷积(也称为反卷积)进行上采样。转置卷积可以看作是卷积的逆操作,它能够学习将低分辨率的特征图逐步上采样到高分辨率。
Skip Connection:为了结合低层和高层特征,FCN 引入了跳级连接(skip connection)。这些连接将卷积层的输出与上采样后的特征图合并,使得模型能够同时利用浅层和深层的特征信息。
PSPNet (Pyramid Scene Parsing Network)
PSPNet 旨在解决语义分割中的多尺度问题,通过引入金字塔池化模块来捕获不同尺度的上下文信息。
卷积部分:类似于 FCN,PSPNet 首先使用一个预训练的 CNN(如 ResNet)提取特征。 金字塔池化模块:为了捕捉多尺度的上下文信息,PSPNet 引入了金字塔池化模块。该模块对特征图进行不同尺度的池化操作(如 1x1, 2x2, 3x3),从而得到不同尺度的特征向量。这些特征向量随后通过上采样操作与原始特征图进行合并,提供多尺度的上下文信息。
ASPP (Atrous Spatial Pyramid Pooling):PSPNet 还借鉴了 ASPP 的思想,通过使用空洞卷积 (atrous convolution) 来实现不同扩张率的池化,进一步增强模型的上下文感知能力。
Deeplab-v3
Deeplab-v3 采用了空洞卷积和多尺度信息的融合来提高语义分割的准确性。
骨干网络:Deeplab-v3 的骨干网络通常采用 ResNet 或 VGG16,用于提取特征。
空洞卷积:空洞卷积允许网络在空间维度上进行稀疏采样,从而扩大感受野并捕获更大的上下文信息。通过改变卷积核的步长(也称为扩张率),Deeplab-v3 能够捕获不同尺度的上下文信息。
ASPP (Atrous Spatial Pyramid Pooling):与 PSPNet 中的 ASPP 类似,Deeplab-v3 也采用了 ASPP 来实现不同扩张率的池化。这有助于模型更好地理解图像的上下文信息。
多尺度信息融合:为了进一步提高分割精度,Deeplab-v3 采用了多尺度信息的融合策略。通过将不同扩张率的空洞卷积层的输出进行拼接,模型能够同时利用不同尺度的特征信息,从而更准确地分割对象。
综上所述,FCN、PSPNET和Deeplab-v3都采用了卷积神经网络进行特征提取,但它们的网络结构有所不同。FCN和PSPNET都进行了多尺度池化操作,而Deeplab-v3则采用了空洞卷积和多尺度信息的融合。这些网络结构在语义分割任务中都取得了较好的效果。