卷积神经网络-图像分割(FNC)

FCN网络作为深度学习图像分割的开创者,实现了图像语义分割的端到端预测。其核心在于将全连接层替换为卷积层,引入上采样层恢复图像尺寸,以及创新的跳跃结构提升分割精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FCN网络是深度学习图像分割领域的奠基之作,有着极大的意义.今天就来简单介绍一下FCN全卷积网络。
这篇论文的标题为"Fully Convolutional Networks for Semantic Segmentation",也就是全卷积网络应用于语义分割.传统的分类卷积神经网络,如AlexNet,VGG等都是输入一幅图像,输出图像所属类别的概率,因此为对整幅图像的类别的预测.而本文中的FCN全卷积网络则适用于图像语义分割,即输入一幅图像,输出仍然为一幅图像,只是分割出原图像中需要的类别.这样就不能再使用传统的分类模型了.下面将具体介绍一下FCN全卷积网络.

1.语义分割和密集预测
密集预测是一种基于密集像素的图像处理任务,具体的有语义分割,边界预测,图像复原,图像定位等任务.这些任务与图像分类任务最明显的区别就在于,他们需要对整幅图像中的每一个像素点进行操作,因此是一种密集预测.
FCN模型要解决的问题是图像语义分割.它是一种端到端,像素到像素的预测任务,要求输入原始图像,输出图像中对应类别的分割图.

2.FCN模型介绍
FCN网络沿用了VGG分类网络的前几层,并将最后的三层全连接层替换为相应的卷积层,并在网络的最后添加了上采样层(upsampling layer),将图像复原到原先的尺寸.网络的简单结构示意图如图所示:
在这里插入图片描述
上图仅仅是FCN-32s的示意图,另外的FCN-16s和FCN-8s中包含有跳跃结构,后面将具体解释.

全卷积网络:
正如这篇论文标题所说的,FCN模型的最大的特点就在于使用了全卷积网络.在传统的分类任务中,无论网络前段使用什么样的结构,最后都会接着两层或者三层全连接层,即将卷积得到的三维特征图拉直为一维向量,通过全连接层进行概率预测.在FCN模型中,完全抛弃了全连接层,并且全部用卷积层替代,从头到尾的进行卷积操作.最后将会得到一个三维的特征图,这个特征图的每一个channel的特征图代表一个类别的分数,以此进行预测.具体结构如下:
在这里插入图片描述
全卷积神经网络的主要优点在于可以输入任意大小的图像。
在一个卷积神经网络中,可以很明显的看到卷积层是与输入图像的大小没有关系的,即无论图像多大,都可以进行卷积操作,只是卷积层输出的特征图大小不同.在卷积神经网络中,真正限制输入图像大小的是最后的全连接层神经元数,因为全连接层单元数必须与最后一层卷积的输出特征图相匹配(否则会造成全连接层权值参数个数不一致).使用全卷积网络使用卷积层替换全连接层,这样就没有全连接层单元数的限制,因此可以输入任意大小的图像(至少要大于224X224).
当输入不同大小的图像时全卷积网络将会产生不同大小的输出特征图,例如输入224X224的图像,则输出特征图为1X1X1000,输入512X512的图像,则输出特征图为16X16X1000.
另外,全卷积网络输出三维特征图,保留了原始图像中的坐标信息,这是全连接层所不具备的.
在这里插入图片描述

上采样方法
论文中提出了上采样方法,即整个FCN网络模型的最后一层上采样层(FCN-32s).在通过整个全卷积网络之后,原始图像被提炼为m∗n∗1000mn1000m∗n∗1000的特征图,里面包含着整幅图像的高级特征,并且能够预测图像类别.最后还需要添加一个上采样层,将提炼得到的特征图反卷积为原始图像大小,并显示分割图像.
上采样可以看做是卷积和池化的逆操作.因子为fff的上采样可以看做是对原始图像的步长为1/f1/f1/f的卷积,当fff为整数的时候,也可以看做是对输出图像的步长为fff反卷积操作.
反卷积(deconvolution)有很多种方法,插值法,转置卷积法等都是经典的反卷积方法,本文中采用的是双线性插值.双线性插值的基本思想就是根据与像素点相邻的四个像素点进行x,y两个方向的线性插值,从而得到该像素点的预测值.

跳跃结构
该论文中的另一个创新点在于使用了跳跃结构.如下图所示:
在这里插入图片描述

未使用跳跃结构的模型为FCN-32s,它直接将最后一层池化的特征图进行反卷积得到分割图像.原始图像经过FCN模型中的5次池化,图像大小压缩为原来的1/321/321/32,因此FCN-32s模型中的最后一层直接对它进行了因子fff为32的上采样操作,由于上采样倍数过大,输出图像完全无法体现出原始图像的细节,是的结果非常差.在FCN-16s和FCN-8s中使用了跳跃结构如上图所示,FCN-16s模型将第四次池化后的特征图与第五次池化后的特征图结合,既保留了图像的高阶特征,又不会损失过多的图像细节,得到的分割结果明显好于FCN-32s.FCN-8s模型与FCN-16s模型类似.
以FCN-16s模型为例,具体的融合过程为:首先对最后一个池化后的特征图进行因子为2的上采样操作,转化为2X2的图像,然后再与第四次池化后的2X2的特征图相叠加,最后对叠加后的结果进行因子为16的上采样操作.
shift and stitch
要从粗糙的原始图像上采样得到密集预测,文中提出了shift and stitch方法,但是最后的FCN模型中似乎没有使用该方法。shift and stitch的主要思想是对原始图像进行多层次平移池化,即原始图像产生多套池化特征图,最后上采样的时候可以根据多个池化特征图精准的复原图像。具体操作是,设降采样因子为f,把输入图像向右平移x个像素,向下平移y个像素,x,y分别从0~f,产生f2f^2f 2 个版本的池化特征图,理论上这些特征图的总和包含原始图像的全部信息,没有因为池化而损失信息。把这f2f^2f 2 个版本的特征图连接起来(stitch),就是上采样过程。
我认为作者在最终的模型中并没有使用该方法,可能是由于每次池化都需要将原图像分裂为f2f^2f 2 池化特征图,经过多次池化过程,实际上神经网络会变得非常大,计算效率不高。经过实验可以学习的跨层融合的上采样过程效果更好效率都更加高效。

patchwise training
实际上我也完全没看懂patchwise training是什么意思,可能在以前的语义分割中用的较多,具体的一个patch训练与一张图片训练有什么区别,我还有待研究。。。

3.训练过程
和其他分割网络模型相同,FCN模型损失函数为像素级的交叉熵损失函数也采用了动量的随机梯度下降优化算法。FCN的前半部分网络是基于VGG的卷积层,因此直接引用VGG网络的权值参数作为FCN的预训练参数。然后再进行微调。

### 回答1: FCN-8s、FCN-16s、FCN-32s是基于全卷积神经网络(Fully Convolutional Network,FCN)的语义分割模型。它们分别使用了8倍、16倍、32倍的下采样和上采样,以实现对输入图像的像素级别的分类和分割。其中,FCN-8s是最早提出的模型,FCN-16s和FCN-32s则是在其基础上进行了改进和优化。这些模型在图像分割领域取得了很好的效果,被广泛应用于自动驾驶、医学图像分析等领域。 ### 回答2: FCN是全卷积神经网络(Fully Convolutional Networks)的缩写,是在CNN(卷积神经网络)的基础上进行修改和扩展得到的一个特殊网络结构。FCN的主要特点是可以处理图像的变换和尺度变化,能够输出与输入图像大小相同的特征图,是语义分割和目标识别领域常用的方法之一。 FCN-8s,FCN-16s和FCN-32s是FCN的三种不同变种。其中的数字表示网络最后一层的步长(stride)。简单来说,stride指的是卷积核在对图像进行卷积时每次移动的像素数。步长为1时,卷积核每次移动一个像素;步长为2时,每次移动两个像素。 FCN-32s是最简单的FCN结构,它的输出尺寸为输入图像尺寸的1/32,每层卷积后,特征图的尺度会缩小2倍,因此需要先将输入图像缩小32倍,然后送入网络进行训练和测试。FCN-32s的性能较低,适合处理相对较小的图像。 FCN-16s和FCN-8s是FCN网络中比较优秀的版本。他们的输出分别为输入图像尺寸的1/16和1/8。FCN-16s和FCN-32s的主要区别在于初始化策略不同。在FCN-16s中,使用了另一个FCN-32s模型的参数来进行初始化,同时保留了FCN-32s中的pool5层,这样可以利用FCN-32s中的pool5层提取的高层特征来进行计算,从而提高分割的精度。在FCN-8s中,使用了FCN-16s模型的参数来进行初始化,同时再加入一个新的迭代层来进行计算,提取更多的低层特征,从而进一步提高分割的精度。 总之,FCN-32s、FCN-16s和FCN-8s是一系列针对不同需求的图像语义分割神经网络。在实际应用中,可以根据具体需求和计算资源等因素选择不同的FCN结构,以获得更好的分割效果。 ### 回答3: FCN(Fully Convolutional Network)是一种基于卷积神经网络的语义分割网络模型。FCN架构的出现,使得我们可以用卷积神经网络来解决图像语义分割问题。FCN-8s、FCN-16s、FCN-32s是FCN网络的不同版本,下面我将分别介绍它们的特点和应用。 FCN-8s FCN-8s是第一个被提出并被广泛应用的FCN版本。它的主要特点是将VGG-16网络的最后三层全连接层(FC6,FC7和FC8)替换为卷积层。这个替换过程将输入图像映射到相应的feature map,以此来解决图像中像素级别的物体分类问题。FCN-8s包含了三个分辨率的feature map,分别是14×14,28×28和56×56。这三个特征图分别代表了高层次,中层次和低层次的图像特征。FCN-8s性能达到了目前最好的语义分割模型。 FCN-16s FCN-16s是FCN的改进版本。它是在FCN-8s的基础上加入了额外的pooling层,从而使得feature map的分辨率减小了,并提高了模型的速度。FCN-16s包含了两个分辨率的feature map,分别是14×14和28×28。它的主要应用是在对速度要求较高的任务中进行物体的语义分割。 FCN-32s FCN-32s是最简单的FCN版本。它是将VGG-16网络的所有全连接层都替换为卷积层,并且只有一个feature map,分辨率为32×32。FCN-32s的训练速度和推断速度都很快,并且是一个参数较少的模型。但是,它的性能要略低于FCN-16s和FCN-8s。 总之,FCN-8s、FCN-16s和FCN-32s都是基于卷积神经网络的图像语义分割模型,它们分别在速度和准确性方面有所不同,并适用于不同类型的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值