一、Global Aggregation then Local Distribution in Fully Convolutional Networks
核心思想:利用全局信息来细化分割结果,具体来说是先取得全局信息,再利用全局信息生成每个像素的局部信息,利用这个局部信息给每个像素点加权来增强分割结果。
实现:

全局信息聚合:
局部信息生成:首先对全局信息进行上采样,之后经过sigmoid层生产相应的权重,再与原特征图相乘即可,之后使用了一种常见的操作手段,将加权之后的特征图与原特征图进行通道连接,送入最终的网络处理。
二、Object-Contextual Representations for Semantic Segmentation
核心思想:利用每一类的全局语义依赖给每个像素进行加权,生成每个像素的语义表示,然后根据这个语义表示进行类别的判断。
实现:

利用卷积的不同阶段得到与
,由于一共有
个类别,利用1*1卷积与空间softmax生成
个区域表示,之后利用另一个阶段得到的特征图
对区域表示进行加权,得到信息更丰富的
个区域表示,之后同时对
与
做变换,并利用
生成每个像素的语义表示,在这个过程中,隐含着对通道进行加权,最终结合
做最后的判定。
三、SparseMask: Differentiable Connectivity Learning for Dense Image Prediction
核心思想:将一个性能较好的分类网络快速扩展为一个分割网络
实现:

由于语义分割网络需要结合多层语义信息,因此网络设计遵从编码解码结构,其中解码结构为与编码结构相同层次数目的解码块,相互之间的连接采用密集连接方式,为了降低训练时间与内存占用,本文设计了一种新型损失函数,用来消除没有必要的连接与解码层。主要的创新点如下:
1)解码器操作如下:
代表编码结构的特征,以往对于解码器融合编码器的操作,一般是先上采样,之后进行通道进行连接再进行卷积,但这样运算量太大,作者论证了特征图连接之后卷积等效于对每个特征图卷积之后相加,上采样与点卷积顺序可改变,因此作者使用了如上结构。为了防止卷积的幅值影响权重,又做了归一化操作,如下:
2)损失函数设计如下:
其中,使得
尽量为0或者1,
使得
尽量稀疏。
3)最终对网络修剪按如下步骤:1.丢弃所有权重小于某个阈值的连接;2.丢弃所有没有输入的解码块;3.丢弃所有产生特征没有被其他解码块利用的解码块。
四、Structured Knowledge Distillation for Semantic Segmentation
核心思想:使用知识蒸馏的理论,训练一个高性能的语义分割小模型。
实现:

网络运用知识蒸馏的想法,从一个复杂的大的语义模型中训练出一个紧凑的高性能的网络。主要体现在以下三个方面:1)像素蒸馏,比较teacher模型与student模型输出的差距,使用的损失函数是 KL散度;2)成对蒸馏,比较teacher模型与student模型中间特征图的差距,损失函数使用的是均方误差;3)整体蒸馏,将student模型作为生成器,另外设置一个全卷积网络作为判别器来不断的对抗学习,损失函数是推土机距离。
网友评论