Advertisement

2021-7-20 山东大学软件学院暑期项目实训日志-第四周 01

阅读量:

目录

1、全卷积网络(FCN)的简单介绍

1.1、CNN与FCN的比较

2、FCN上采样理论讲解

2.1、双线性插值上采样

2.2、反卷积上采样

2.3、反池化上采样


1、全卷积网络(FCN)的简单介绍

1.1、CNN与FCN的比较

CNN: 传统的人工神经网络架构(CNNs)中,在经过一系列的空间缩减操作后通常会紧跟多个全连接层。这些全连接层的作用是对卷积操作生成的特征图进行进一步抽象和表征提取,并将其转化为固定维度的空间特征向量表示。这类架构设计旨在实现对输入样本的空间语义信息提取与学习。传统的CNN架构通常用于图像级别的分类与回归任务分析中提到的例子中所展示的应用场景:AlexNet网络通过构建一个1000维的概率向量来表征输入图像对应各个类别归属的可能性大小。
如上图所示:

在这里插入图片描述

在CNN架构中, AlexNet接收了图像数据,生成一个长度为1000的特征向量,该向量反映了该图像对各个类别所属的概率,其中在' tabby cat'类别中统计得出的概率值最高,并被用于执行分类任务.

FCN: FCN是实现图像像素级别的分类(即每个像素点都独立完成分类),从而有效地解决了图像语义分割问题。与经典CNN不同的是,在卷积层中使用全连接层得到固定长度的特征向量以实现分类。然而,在经典CNN中只能接收固定尺寸的输入图片,并通过全连接层获取固定的表征维度;而FCN采用反卷积层允许其接收不同尺寸的输入图片,并通过对最后一个卷基层生成的特征图(feature map)进行上采样处理使其恢复到与输入图片尺寸相同的状态。这样就能实现每个像素位置都能生成相应的预测结果,并在此基础上结合上采样的特征图进行像素级别的分类(如图所示)。

在这里插入图片描述

简单来说,在于前者将最后一层全连接替换成卷积并使模型输出经过预先训练得到的标注结果而非预测的概率值

2、FCN上采样理论讲解

FCN网络通常是用来对图像进行语义分割的。因此就需要将图像中的每个像素进行分类。从而需要一个上采样操作将最终输出映射回原图尺寸。通常情况下,在处理低分辨率特征图时会采用特定的上采样方法。这里我们来陈述一下上采样的三种主要方法。

2.1、双线性插值上采样

单线性插值(仅在一个方向上)是指已知两个点的值,并将这两点连接成一条直线以确定中间点的值。假设,在假设的情况下有两点(x₁, y₁)和(x₂, y₂),它们被连接成一条直线;因此,在区间[x₁, x₂]内的任意一点都可以用该直线上对应的点来表示其数值。双线性插值(在两个方向上)涉及一个三维坐标系;因此,在这个坐标系中需要确定四个特定点才能计算出中心点的空间坐标位置;如图所示的一个例子:

在这里插入图片描述

假如我们想得到未知函数 f 在点 P = (x, y) 的值,假设我们已知函数 f 在

Q1​1=(x1​,y1​)、Q1​2=(x1​,y2​),Q2​1=(x2​,y1​)

以及 Q_{22} = (x_2, y_2) 这四个采样点处的值。通常情况下,在数字图像处理中f代表一个像素点的像素值。首先,在x方向上执行线性插值处理得到:

在这里插入图片描述

然后在 y 方向进行线性插值,得到:

在这里插入图片描述

综合起来就是双线性插值最后的结果:

在这里插入图片描述

因为双线性插值仅依赖于相邻四个像素的位置关系,在计算过程中不会引入额外的小数值运算。因此该公式的分母始终为1。在OpenCV源码中采用了一些优化策略:例如将浮点运算转换为整型运算以提高计算效率(其中将小数值放大至第11位后转换为整型,并经过两次连乘运算后右移22位)。此外还实现了源图像与目标图像几何中心的对齐

  • SrcX=(dstX+0.5)* (srcWidth/dstWidth) -0.5
  • SrcY=(dstY+0.5) * (srcHeight/dstHeight)-0.5

这一部分需要特别强调的是源图像与目标图像的坐标原点均设置在左上角,并依据插值算法计算目标图像每个像素值的具体对应关系。例如,在实际应用中若将一张5×5的原始图片缩小为3×3尺寸时,则需明确两个图象之间的各个像素对应关系如图所示:如果不进行中心对齐处理,则会导致输出结果偏向左侧;而通过实现中心对齐,则能够获得较为平衡的结果:

在这里插入图片描述

2.2、反卷积上采样

上采样的方式: 传统的卷积操作通常会导致分辨率下降。通过使用3×3的卷积核对4×4的输入进行卷积操作后,能够得到2×2的输出区域。

在这里插入图片描述

这一过程同样属于卷积运算。为什么能够实现分辨率的提升呢?在之前的讨论中,我们提到一种方法能够保持输出分辨率与输入一致,具体做法是在周围区域填充零像素。

在这里插入图片描述

不过你得考虑一下。其实上面这种仅在四周进行补零的操作是存在问题的。其实在边缘区域这样的操作可能会导致信息处理不够理想。因此我们可以将这些信息平均分配到每个像素之间的间隙处进行补零操作。如图所示

在这里插入图片描述

2.3、反池化上采样

通过下图可以直观地理解反池化的原理,在进行再池化操作时需记录原始的池化位置,并在此基础上进行相应的还原处理;在反向处理过程中将原始的非零区域恢复至初始状态,在其余未涉及的区域则设为零值。

在这里插入图片描述

上述三种方法各具特色与不足,在图像处理领域中应用较为广泛的方法之一是双线性插值技术。这种技术相对简单易行,并且不需要进行额外的参数调优即可完成图像重采样过程;然而该方法的一个显著缺点就是无法完全恢复图像细节信息。相比之下反卷积上采样算法虽然具有较高的计算复杂度但是其能够更精确地恢复图像细节并有效解决边缘模糊问题

参考自:原文链接:

全部评论 (0)

还没有任何评论哟~