目录
2、均方差损失(Mean Square Error Loss)
一、概念
1、定义
全卷积网络(Fully Convolutional Networks,FCN)是一种用于语义分割的深度学习网络模型。传统的卷积神经网络(CNN)常用于图像分类任务,但是对于像素级别的语义分割任务,需要输出每个像素的类别标签,CNN的全连接层并不能处理不同输入尺寸的图像,因此不能直接用于语义分割。
FCN通过将全连接层替换为全卷积层,实现了端到端的像素级别的语义分割。FCN的网络结构由编码器和解码器组成。编码器用于提取图像的高级语义信息,解码器用于将编码器的特征图上采样到原始图像大小,并输出每个像素的类别标签。
具体而言,FCN的编码器部分通常使用预训练的卷积神经网络,如VGG16或ResNet等,这些网络在大规模图像分类数据集上进行了训练,并且能够提取图像的高级语义特征。然后,在编码器的最后几个卷积层上添加了1x1卷积层,将通道数缩减为要分割的类别数。
解码器部分通常由反卷积层和跳跃连接(skip connection)组成。反卷积层通过上采样操作将编码器的特征图恢复到原始图像大小,同时进行细化和增强特征。跳跃连接是指将编码器的低级特征图与解码器的相应层特征图进行连接,这样可以将更多的细节信息传递到解码器,提高分割精度。
最后,使用softmax函数对解码器输出进行标签分类,得到每个像素的类别预测。FCN使用交叉熵损失函数来优化网络参数,并使用反向传播算法进行训练。
FCN的训练过程包括两个阶段:预训练和微调。预训练是在大规模图像分类数据集上对编码器进行训练,微调是在带有标注的语义分割数据集上对整个网络进行训练。
FCN是一种基于全卷积网络的语义分割模型,通过引入编码器和解码器的结构,实现了像素级别的语义分割任务。通过预训练和微调阶段的训练,FCN能够学习到图像的语义信息,并输出每个像素的类别标签,从而实现准确的语义分割。
2、详解
首个端对端的针对像素级预测的全卷积网络。使用分类网络作为骨干网络,全卷积的含义是将分类网络中的全连接层替换成了全卷积层。

通过一系列的卷积下采样得到最终的特征层,最终特征层的通道数是21,因为当初主流数据集为PASCAL VOC,该数据集有20个类别加上1个背景。得到最终特征层之后,对其进行上采样,恢复为原图大小的特征图,其中通道数为21。针对上采样之后的特征图的每一个像素,在21个通道上有21个值,对这21个值进行Softmax处理,就可以得到该像素针对每一个类别的预测概率,取概率最大的类别作为该像素的预测类别。
二、FCN结构
1、Convolutionalization

在分类网络中的最后三个全连接层对应着输出,输入一张图片,通过分类网络最后得到一个针对1000个类别的预测值,这一千个预测值通过Softmax处理后,就可以得到1000个类别的概率。 对于全连接层,要求输入节点个数是固定的,在训练过程中如果输入节点个数变化就会报错。
全局池化层可以支持输入任意尺寸的图片。全局池化层是在1x1卷积之后的,1x1卷积不改变特征图尺寸大小,无所谓输入图片的尺寸大小。
如果将最后三个全连接层全部替换为卷积层,对网络输入大小就无限制了。将全连接层的权重转化到卷积层中,就是对应Convolutionlization的过程。
采用卷积层之后,且输入图片大小大于224x224,则最终得到的特征层的高度和宽度是大于1的,并不是之前的1x1x1000的向量。大于1之后,对应的1000个通道里,每个通道的数据就是2维的,就可以可视化每个通道的数据,就可以得到heatmap图。
2、处理过程
以VGG-16-D模型为例,从输入大小为224x224的图片经卷积池化操作之后,下采样32倍到7x7大小,然后依次通过三个全连接层,前两个全连接层

9947

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



