深度学习-图像语义分割论文核心思想

一、监督中间过程使训练的权重分布更符合物理意义->提高准确率

深网络参数量大于系统的自由度,或多或少地都存在过拟合,因此不同的训练方式可以获得不同的权重分布,而好的权重分布可以提升准确率。那么什么是好的权重分布?对于单纯的端到端的训练,得到的中间层输出的物理意义不强,加强中间层输出的物理意义就可以得到更合理的权重分布。基于这种思想,有两种方法可以加强中间层输出的物理意义。

1、采用先训练一部分网络(encoder),这样得到的encoder部分的权重是可以得到降采样了的、符合真实值的预测结果,即符合物理意义的权重分布。再用训练好的权重初始化全部网络(encoder-decoder),增加较高分辨率的细节信息。而如果直接使用端到端的方式训练encoder-decoder的整个网络,前面encoder部分的权重分布往往没有单独的物理意义,不能预测出较好的降采样的结果,整体的权重分布得到的准确率也相对一些。相应的论文可参见ENet, ERFNet。

2、对中间层的输出设置一个或多个loss function, 以一定的权重加到最后的一层的loss function中,获得一个总体的loss functon,让神经网络优化这个总体的loss function。这样中间层的loss function没被考虑,使得这些中间层之前的网络的权重更符合物理意义,提高准确率。可参见ICNet, PSPNet。

二、多尺度信息的思想

当训练数据集内存在不同尺度的同一内容时,如近大远小导致的不同尺度的人,神经网络可以隐式地把不同尺度大小的人都识别出来。即便如此,显式地增加多尺度信息可以提升神经网络的准确率,同时采用多尺度的信息可以让神经网络在做局部预测时更好地考虑全局信息。两种方法:

1、将不同感受野的feature map直接concat或者sum到一起,如ESPNet(dilation convolution得到的不同感受野),Deeplab v2 (Atrous Spatial Pyramid Pooling的到的不同感受野)。

2、将不同分辨率的层经过(上)采样后concat或sum到一起,如ICNet, PSPNet。

关于多尺度的思想,在论文Rethinking Atrous Convolution for Semantic Image Segmentation (Deeplab v3)中有较全面的比较。

三、提升实时性 (降低预测时间)

1、先减少通道数(用1x1的卷积调整通道数代价最小),做卷积,再增加通道数。如ResNet的non-bottleneck形式用两个3x3的卷积相连,设通道数为c,则参数量为9c+9c=18c; 使用bottleneck形式,为了保证卷积层通道数为c,输入的通道数为4c, 先通过1x1的卷积降低通道数为c,再经过3x3的卷积,最后使用1x1的卷积将通道数扩展为4c,总共参数量为c+9c+4c=14c。 通过这样的先压缩再扩展的方式降低了参数量。关键点在于通过最后的扩展增加了不同通道之间的组合方式。

2、分解。如ERFNet,通过将3x3的卷积分解为1x3和3x1的卷积相连;将ResNet的non-bottleneck的2层3x3的卷积分解后,参数量为3c+3c+3c+3c=12c, 参数量减少33% 。

FCN, ICNet, PSPNet

PSPNet

Deeplab

ShuffleNet

ERFNet

ENet

ESPNet

SegNet

猜你喜欢

转载自blog.csdn.net/Cxiazaiyu/article/details/82050098