语义分割和MMSegmentation
基本思路
按颜色
最简单思路,按照颜色来聚类。但是这样的操作没有语义。不同物体颜色可能想尽,物体内部也可能有多种颜色。
滑窗
用一个滑窗在图像上去滑动,每滑动一次就作为一张单帧的图片输入到卷积神经网络中,获得一个预测结果。把这个预测结果作为这个滑窗中心点像素的语义分割预测结果。因为卷积神经网络可以提取语义信息,可以做分类。滑窗的方式也使得每一个像素都有机会参与识别,所以这种思路叫做逐像素分类。但问题是滑窗需要设置,而且效率低,成本大。
所以先在原图上卷积一次得到一个feature map,再用这个feature map再进行滑窗,这样就复用滑窗了。
深度学习下的语义分割模型
全卷积网络
叫全卷积网络是因为没有用到全连接层,得到了一个输出的概率图,反映了某一个类别在原图上的热力图。
全卷积网络会一层层的下采样,就是宽高都变小,将下采样后的特征图还原成原来的尺寸就需要上采样(升采样)。
上采样有双线性插值、转置卷积等
全卷积网络的预测与训练
多层级
多层次是分别去上采样还原结合低层次的细粒度信息和高层次的语义信息,综合得到一个特征图。对于卷积神经网络而言,底层的细粒度的细节是比较丰富的,但是语义信息比较贫乏,而在深层的语义信息是丰富的,但是细节信息贫乏。所以我们可以综合高层和低层的特征,来还原最终的语义分割的结果。
UNet就是一种多尺度的融合高低层特征的算法,先逐级下采样再逐级上采样。
上下文信息与PSPNet模型
图像周围的内容也称为上下文,可以帮助我们做出更准确的判断,所以这也是语义分割算法的一个重要改进方向。要把感受野尽可能的变大,让他有全局的视野,能够看到这个物体周围的环境从而帮助他进一步的去做语义分割。
为了在预测过程中使用上下文信息,就需要增加感受野更大的网络分支,将上下文信息导入到局部预测中。
空洞卷积与DeepLab模型
空洞卷积解决的是下采样的问题。
在传统的卷积神经网络中下采样会使得输出尺寸变小,feature map的宽高会逐渐变小。
如果我们把池化层和卷积中的步长去掉可以减少下降的次数,但是特征图就会变大。如果想维持相同的感受野就需要增大卷积核,但会增加大量的参数。因为卷积核越大,它需要学习的权重就越多。
那使用空洞卷积dilated convolutional,就可以在不增加参数的情况下增大感受野。
一个标准的卷积下采样,卷积运算得到的是这么一个结果。空洞卷积是特征图不变,使用膨胀卷积核,然后再进行卷积运算,得到的是一个相同的计算结果。
下采样加标准卷积就等价于空洞卷积,所以这里通过膨胀卷积核的方法,而不是通过下采样的方法去实现了下采样,能够在不引入额外参数的情况下实现了下采样。
ASPP
总结
分割模型的评估方法
accuracy就是交集比上真实的面积值
IoU叫做交并比,是交集和并集之比。IoU越大,就说明真实图和预测的图越来越重合
还有dice,这个可以看作是某种调和平均数
以上是一个类别的,也可以算出所有类别的mAcc mIoU mDice