当前位置: 代码迷 >> 综合 >> 道路分割论文研读之D-LinkNet :LinkNet with Pretrained Encoder and Dilated Convolution for High Resolution Sate
  详细解决方案

道路分割论文研读之D-LinkNet :LinkNet with Pretrained Encoder and Dilated Convolution for High Resolution Sate

热度:13   发布时间:2023-12-26 14:35:55.0

本人最近在研究路网生成算法,遇到瓶颈,借鉴卫星图识别的经典算法。

1.Introduction:

道路提取可视为二值语义分割任务,像素级二分类。

卫星图路网分割的挑战:

1. 输入的图像是高分辨率的,因此网络应该有大的接收范围,可以覆盖整个图像。2. 卫星图像中的道路往往细长复杂,覆盖了整个图像的一小部分。在这种情况下,保存详细的空间信息非常重要。3. 道路具有天然的连通性和较大的跨度。考虑到道路的这些自然属性是必要的。

通俗解释下上述挑战,因为道路长,可能横贯整个样本,所以需要大的视野域进行特征提取;因为道路细,前景背景占比悬殊,所以需要保留特征的空间信息,故扩大视野域不适合增加pooling层,从而破坏空间特征。扩大视野域的另一个好处是可以学习到道路的连通性和跨度特征。

Linknet是一种有效的语义分段神经网络,它利用了跳跃连接、残差块和编解码器结构的优点。

D-LinkNet使用带有预训练的编码器Linknet作为其主干,并且在中心部分具有附加的膨胀卷积层。因此本文的闪光点在于添加膨胀卷积层扩充视野域。

膨胀卷积的优势:

膨胀卷积是在不降低特征图分辨率的情况下增大特征点的感受野。通常有两种模式,级联和并行模式,这两种模式都显示出很强的提高分割精度的能力。我们充分利用了这两种方式的优点,采用快捷连接的方式将这两种方式结合起来。使用池化层可以成倍增加特征点的感受野,但可能会降低特征图的分辨率,并丢失空间信息。pooling减小图像尺寸增大感受野后用upsampling扩大图像尺寸同样可以保持分辨率的同时扩大感受野,但是在先减小再增大尺寸的过程中,肯定有一些信息损失掉了。因此空洞卷积层是池化层的理想的代替选择。

在语义切分领域,用ImageNet预先训练的权值初始化编码器取得了令人满意的结果。

2. Network Architecture

D-LinkNet分为三部分 A, B, C三部分, 分别是 encoder, center part 和 decoder 。

  Linknet只有A,C的机构,D_linknet额外增加了B(也就是中心部分),用于扩大接受范围,保存详细的空间信息。

D-LinkNet使用几个膨胀的卷积层,中间部分带有跳过连接。

Dilated convolution: 空洞卷积(膨胀),在标准的 convolution map 里注入空洞,以此来增加 感受野。dilation rate 指的是kernel的间隔数量(e.g. 正常的 convolution 是 dilatation rate 1)。

上述center part部分特征大小为32*32,视野域分别为31/15/7/3/1。几乎可以遍历整个samples。

3.训练:

数据扩增-图像形态变换:

①、随机翻折:包含水平、竖直、对角线三种翻折方式,每张图片扩增为原来的8倍。

②、随机缩放:将图像随机缩放至多10%。

③、随机偏移:将图像随机上下左右偏移至多10%。

④、随机拉升:将图像随机沿竖直方向或水平方向拉升至多10%。

经过以上四种变换之后,再截取图像中心1024*1024的部分,不足的部分补0。

数据扩增-图像色彩变换:

使用OpenCV,在HSV空间对图像进行色彩变换。在OpenCV中,每个像素的HSV保存在uint8的数据类型中(0~255)。

①、H空间,随机变换(-15~15)。

②、S空间,随机变换(-15~15)。

③、V空间,随机变换(-30~30)。

loss = BCE (binary cross entropy) + dice coef?cient loss

4.测试:

由于卫星图像具有翻折和旋转不变性,在测试时,我们将图像进行水平、竖直、对角线三种翻折,每张图片预测8次,然后将8次的结果平均。(我们没有旋转图片是出于预测时间的考虑)

?

U-net有把背景识别为道路的错误,LinkNet34在道路连续性上存在不足。D-LinkNet避免了这两种错误。

  相关解决方案