CNN与FCN的区别
CNN一般会在网络的最后设置一些全连接层,将卷积层得到的特征图映射成一个固定长度的特征向量,再通过Softmax等激活函数得到输入图像属于某一类的概率。它适用于图像级的分类和回归任务,确定整幅图像属于哪一类别。
而FCN则将这些全连接层全部替换成卷积层,其网络全部由卷积层组成,相当于对图像进行像素级分类,从而解决了定义在语义级别上的图像分割问题。
FCN的特点
和CNN一样,随着卷积层和池化层的不断作用,输出特征图的尺寸会越来越小,FCN采用反卷积层(转置卷积)对最后一个卷积层的特征图进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每一个像素都产生一个预测,即从抽象的特征中恢复出每个像素所属的类别,同时保留了原始输入图像中的空间信息,最后在上采样的特征图进行像素的分类。
FCN可以接受任意尺寸的输入图像;即任意大小的图像输入得到的都是相同大小的图像输出。
在医学图像合成中的FCN
相比传统CNN没有使用池化层,因为池化层会减少特征图的空间分辨率。尽管减少空间分辨率对于诸如图像分类之类的任务而言是理想的,但由于在局部邻域上的池化会增强对某些图像失真的不变性,因此在图像预测任务中并不需要,因为在图像预测任务中需要精确地捕获细微的图像失真 。
在最后一层卷积层以1个3x3x3的卷积核得到最后的输出图像。损失函数用L2 Loss吧。