该网络在前面两步跟CNN的结构是一样的,但是在CNN网络Flatten的时候,FCN网络将之换成了一个卷积核size为5x5,输出通道为50的卷积层,之后的全连接层都换成了1x1的卷积层。
我们知道1x1的卷积其实就相当于全连接操作传统的基于CNN的分割方法:为了对一个像素分类,使用该像素周围的一个图像块作为CNN的输入,用于训练与预测,这种方法主要有几个缺点:
1)存储开销大,例如,对每个像素使用15 * 15的图像块,然后不断滑动窗口,将图像块输入到CNN中进行类别判断,因此,需要的存储空间随滑动窗口的次数和大小急剧上升;
2)效率低下,相邻像素块基本上是重复的,针对每个像素块逐个计算卷积,这种计算有很大程度上的重复;
3)像素块的大小限制了感受区域的大小,通常像素块的大小比整幅图像的大小小很多,只能提取一些局部特征,从而导致分类性能受到限制。
而全卷积网络(FCN)是从抽象的特征中恢复出每个像素所属的类别。即从图像级别的分类进一步延伸到像素级别的分类。
1、对于一般的分类CNN网络,如VGG和Resnet,都会在网络的最后加入一些全连接层,经过softmax后就可以获得类别概率信息。但是这个概率信息是1维的,即只能标识整个图片的类别,不能标识每个像素点的类别,所以这种全连接方法不适用于图像分割。
2、 而FCN提出可以把后面几个全连接都换成卷积,这样就可以获得一张2维的feature map,后接softmax层获得每个像素点的分类信息,从而解决了分割问题。
FCN缺点:
(1)得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感。
(2)对各个像素进行分类,没有充分考虑像素与像素之间的关系。忽略了在通常的基于像素分类的分割方法中使用的空间规整步骤,缺乏空间一致性。
FCN优点:
对于一个各层参数结构都设计好的神经网络来说,输入的图片大小是要求固定的,比如AlexNet,VGGNet, GoogleNet等网络,都要求输入固定大小的图片才能正常工作。
而FCN的精髓就是让一个已经设计好的网络可以输入任意大小的图片。
假如输入图片size为14x14x3的彩色图,如下图,
首先经过一个5x5的卷积层,卷积层的输出通道数为16,得到一个10x10x16的一组特征图,然后经过2x2的池化层,得到5x5x16的特征图,接着Flatten后进入两个50个神经元的全连接层,最后输出分类结果。这里由于全连接层中输入层神经元的个数是固定,这就导致反推出卷积层的输入要求是固定的,这就不利于不同尺寸的图片进行训练。
该网络在前面两步跟CNN的结构是一样的,但是在CNN网络Flatten的时候,FCN网络将之换成了一个卷积核size为5x5,输出通道为50的卷积层,之后的全连接层都换成了1x1的卷积层。我们知道1x1的卷积其实就相当于全连接操作。
我们从一个实例来看:假如前一层输入大小为28 x 28 x 192,输出大小为28 x 28 x 32,如下:
1、不引入1x1卷积的卷积操作如下:
上图计算量为:
28 x 28 x 192 x 5 x 5 x 32 = 120,422,400次
2、引入1x1卷积的卷积操作:
引入1x1卷积后的计算量为:
28 x 28 x 192 x 1 x 1 x 16 + 28 x 28 x 16 x 5 x 5 x 32 = 12,443,648次
从上面计算可以看出,相同的输入,相同的输出,引入1x1卷积后的计算量大约是不引入的1/10。
3、减少权重个数
Inception的初始版本就是没有加入1x1卷积的网络,如下图:
假如previous layer的大小为28x28x192,那么上面网络的权重个数为:
1 x 1 x 192 x 64 + 3 x 3 x 192 x 128 + 5 x 5 x 192 x 32 = 387072个
其输出的特征图大小为:
28 x 28 x 64 + 28 x 28 x 128 + 28 x 28 x 32 + 28 x 28 x 192 = 28 x 28 x 416
加入1x1卷积的Inception网络如下图,
如果previous layer的大小为28x28x192,那么上面网络的权重个数为:
1 x 1 x 192 x 64 + (1 x 1 x 192 x 96 + 3 x 3 x 96 x 128) + (1 x 1 x 192 x16 + 5 x 5 x 16 x 32) + 1 x 1 x 192 x 32 = 163328个
可见加上1x1卷积后,权重个数从38.7万个左右降到16.3万个左右,同时增加了网络的非线性。
其输出的特征图大小为:
28 x 28 x 64 + 28 x 28 x 128 + 28 x 28 x 32 + 28 x 28 x 32 = 28 x 28 x 256