前言
在图像分割网络与对抗网络的构造中编码器与解码器是其中的关键环节,本文中为大家带来编码器- 解码器网络结构的设计理念。本篇文章中我们以图像分割为例子进行分析。
分析
图像分割中的编码器可视为特征提取网络,通常使用池化层来逐渐缩减 输入数据的空间维度;而解码器则通过上采样/反卷积等网络层来逐步 恢复目标的细节和相应的空间维度。
以U-Net为例(示例图如下),给出了一个具 体的编码器-解码器网络结构。在编码器中,引入池化层可以增加后 续卷积层的感受野,并能使特征提取聚焦在重要信息中,降低背景干扰,有助于图像分类。然而,池化操作使位置信息大量流失,经过编码 器提取出的特征不足以对像素进行精确的分割。这给解码器逐步修复物 体的细节造成了困难,使得在解码器中直接由上采样/反卷积层生成的 分割图像较为粗糙。
因此,一些研究人员提出在编码器和解码器之间建 立快捷连接(shortcut/skip connection),使高分辨率的特征信息参与到 后续的解码环节,进而帮助解码器更好地复原目标的细节信息。 经典的图像分割算法 FCN(Fully Convolutional Networks)、UNet和SegNet都是基于编码器-解码器的理念设计的。
FCN 和 U-Net 是最先出现的编码器-解码器结构,都利用了快捷连接向解码器中引入 编码器提取的特征。FCN 中的快捷连接是通过将编码器提取的特征进行 复制,叠加到之后的卷积层提取出的特征上,作为解码器的输入来实现 的。
与 FCN 不同,SegNet 提出了最大池化索引(max-pooling indicies) 的概念,快捷连接传递的不是特征本身,而是最大池化时所使用的索引 (位置坐标)。利用这个索引对输入特征进行上采样,省去了反卷积操 作,这也使得 SegNet 比 FCN 节省了不少存储空间