语义分割技术基础——编码器
前言
语义分割的本质是像素级别的物体分类任务,其基本结构可以被概括为编码器-解码器结构(Encoder-Decoder)。输入图像经过“编码”阶段提取出颜色、纹理、边缘等低级特征,再经过“解码”阶段将获取的低级特征信息进行加工获取富含语义信息和物体分类相关的高级特征信息,然后通过相关上采样技术将下采样后的特征图上采样回原始输入图像分辨率,最终经过分类层完成像素级别的物体分类任务。
编码器技术
编码器主要的技术手段是利用卷积操作去提取图像中含有的低级特征信息。这类低级特征信息往往含有与物体相关的边缘信息、颜色信息和纹理信息等等。
通常在“编码”阶段,模型需要采用池化层或者带有跨步操作的卷积层进行下采样,从而减少模型的计算量,提高模型的运算效率。
1)普通的卷积
普通的卷积操作如下图所示,当输入张量的维度为H*W*M时,H代表张量行数,W代表张量列数,M代表张量的通道数;
若输出张量的通道数为N,则一个标准卷积需要N个通道数为M的卷积核去与输入张量做点运算(假设卷积核大小为K*K)。因此,其参数量可以表示为:
Number of Parameter = K * K * M * N
解释:普通卷积中,卷积核行列是K * K;输入张量通道数为M,所以卷积核的通道数也为M;输出张量的通道数为N,所以需要N个卷积核。即:K * K * M * N
2)深度可分离卷积
深度可分离卷积,能减少标准卷积的参数量,提升模型的运算效率。深度可分离卷积核如下图所示,它的每一个卷积核只负责输入张量的一个通道。
因此,深度可以分离卷积的卷积核数等于输入张量的通道数,输出张量的通道数和输入张量的通道数一致。
但深度可分离卷积缺乏各个不同通道之间特征信息的交互,为了进一步增加跨通道信息,深度可分离卷积之后往往需要增加下图所示的卷积核大小为1*1的普通卷积(逐点卷积),由此可以得到跨通道交互的特征信息。
最终在达到相同感受野及相同大小输出张量时,深度可分离卷积和逐点卷积可将普通卷积的参数数量减少为:
Number of Parameter = K * K *1 * M + 1 * 1 *M * N
因此,深度可分离卷积和逐点卷积的结合可以在相同感受野和通道寄到胡的情况下大大减少普通卷积的参数量,从而有助于模型的轻量化与移动端设备的部署。
3)空洞卷积
空洞卷积,Dilated Convocation,也被译作膨胀卷积、带孔卷积、扩张卷积,随着模型对感受野需求的增大被引入到模型设计中。它可以在保持模型参数量不变的情况下,增大模型的感受野进而跟更好提取特征图中的上下文信息,从而提高模型对有效特征的选择和利用。
空洞卷积相当于通过对普通卷积核本身进行补零,然后在输入特征图的两个维度上进行卷积运算的方法增加感受野,普通卷积就相当于膨胀率为1时的空洞卷积。
如下图所示,其中a图代表核大小为3*3的普通卷积核;b图代表膨胀率为2,核大小为3*3的空洞卷积核(通过对普通卷积核进行间隔补零)。
它们具有明显的感受野差异,同样为3*3大小的卷积核,普通卷积核的感受野为3*3,而膨胀率为2的空洞卷积的感受野为7*7。
除了上述卷积操作外,还有可变形卷积、空间变换卷积模型等等特殊的卷积操作。它们可以提取出与输入物体空间分布相关的特征。池化层是在“编码”阶段下采样的另一种常用操作,它不需要任何训练参数即可以较好地保留特征。池化层主要分为平均池化层核最大池化层。平均池化层在对应池化核中平均相应区域的特征值,而最大池化层在对应池化核保留该区域内特征图的最大值。
- 点赞
- 收藏
- 关注作者
评论(0)