全卷积网络FCN讲解

FCN是2015年提出的用于像素级预测的全卷积网络,解决了传统CNN在图像分割上的局限。FCN通过卷积化、反卷积和跳跃结构技术,实现任意尺寸输入并输出与输入相同尺寸的预测结果,适用于语义分割任务。相比CNN,FCN避免了全连接层的存储开销和计算效率问题,能保留空间信息并进行逐像素分类。

一、背景

FCN是由Jonathan Long等人在2015年发表的论文《Fully Convolutional Networks for Semantic Segmentation》中提出的,它是首个端对端针对像素级预测的全卷积网络。
论文地址:https://arxiv.org/pdf/1411.4038.pdf

二、FCN(全卷积网络)

1. CNN与FCN的区别

通常CNN网络在卷积层之后会接上若干个全连接层, 将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量。以AlexNet为代表的经典CNN结构适合于图像级的分类和回归任务,因为它们最后都期望得到整个输入图像的一个数值描述(概率),比如AlexNet的ImageNet模型输出一个1000维的向量表示输入图像属于每一类的概率(softmax归一化)。
举例:下图中的猫, 输入AlexNet, 得到一个长为1000的输出向量, 表示输入图像属于每一类的概率, 其中在“tabby cat”这一类统计概率最高。
在这里插入图片描述
传统的基于CNN分割方法有几个缺点:

  • 存储开销很大:
    例如对每个像素使用的图像块的大小为15x15,然后不断滑动窗口,每次滑动的窗口给CNN进行判别分类,因此则所需的存储空间根据滑动窗口的次数和大小急剧上升。
  • 计算效率低下:
    相邻的像素块基本上是重复的,针对每个像素块逐个计算卷积,这种计算也有很大程度上的重复。
  • 像素块大小的限制了感知区域的大小:
    通常像素块的大小比整幅图像的大小小很多,只能提取一些局部的特征,从而导致分类的性能受到限制。

而FCN对图像进行像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题。与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类(全联接层+softmax输出)不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样, 使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测, 同时保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素分类。
网络结构示意图:
在这里插入图片描述
输入的图片可为任意尺寸彩色图片,且输出的和输入的尺寸相同,该网络才用的PACSAL VOC数据集,所以类别有20个+1个背景,总共有21个。
简而言之,FCN就是将传统网络的全连接层替换成卷积层,这样网络的输出不再是类别而是heatmap,并且输入图片的尺寸不受限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值