Stacked U-Nets with Multi-Output for Road Extraction

Abstract

本文提出了一种使用具有多个输出的重叠U-Net(stacked U-Net)进行道路提取的新方法,混合损失函数(hybrid loss function)用于解决训练数据类别不均衡的问题。后处理方法(Post-processing methods)可以提高召回率(road map vectorization and shortest path search with hierarchical thresholds)。与普通的VGG网络相比,平均IOU总体提高可以超过20%。

1.Introduction

影响道路提取准确性的原因:

  1. 道路和建筑物都是人造物体,与计算机视觉研究训练数据集中常见的自然物体有很大的不同。
  2. 预测结果对于较小的预测误差容忍度很低(虚假的道路 以及 由于植被或者建筑物的阴影导致的道路间隙)
  3. CNN难以学习常识(common knowledges)和 mapping conventionsc。
  4. 基于图像补丁(patch based)的模型无法捕获宏观特征(macro features),例如,道路网络是一个连通图,道路往往遵循最短路径。

在本文中,我们证明了U-Net比VGG有更好的mIOU,提出了一种stacked U-Net新模型,可以进一步的改善网络。此外,还是用了在目标定位中常见的多输出(multiple output),后处理通过连接断路来帮助改善召回率,最后混合函数可以解决训练数据不平衡的问题。

2.Our Model

下图是stacked U-Net结构,我们将两个U-Net连接起来以允许多个输出, 第一个U-Net输出辅助信息(auxiliary information),例如道路拓扑(road topology)和到道路的像素距离(pixel distance to roads)。第二个U-Net通过将每个像素分类为道路或非道路来生成道路遮罩(road masks)。 我们还将第一个U-Net的深度从三个扩展到五个,以提高准确性。

在这里插入图片描述

2.1. Stacking Units

堆叠单元(stacking unit)是我们网络的基本组成部分。这个单元由编码块(encoding blocks)(标记为青色-蓝色)和解码块(decoding blocks)(标记为橙色)组成,如下图所示
在这里插入图片描述
Encoding blocks和Decoding blocks在对应层具有concatenation连接方式。 这些shortcuts确保了Decoding blocks可以利用来自先前层的信息。U-Net结构有助于组合来自中间层和更深层的特征图(feature maps)。 较深的层通常包含高级特征,包含更多详细信息和位置信息。 不同stacked unit之间的快shortcuts具有相似的效果。 这些shortcuts也有利于训练收敛,因为梯度可以直接传播到较早的层。

2.2. Encoding and Decoding Blocks

在这里插入图片描述
与GoogleNet和Inception网络类似,我们使用分支融合块(branch-fusion)来连接来自不同大小filters的特征图,而不是单个3x3卷积层。 这使网络能够识别不同大小的特征,并学习如何合并不同通道中的输出。

3.Implementation

本节介绍了我们实现中提高平均IoU的各种优化技术

3.1. Multiple Output

如第1节所述,CNN经常学习道路外观特征(例如颜色,纹理和边缘)而不是结构特征(例如连通性和同一条道路的宽度一致性)

因此,受目标定位和人类姿态估计(huamn post estimation)CNN模型的启发,除输出道路像素分类输出外,我们还将输出下面两个特征,以迫使其学习结构特征。

  • 道路像素的输出程度(the outgoing degree of a road pixel)
  • 像素到最近道路的距离(the distance of a pixel to the nearest roads)

不同的道路像素的程度(The degrees of different road pixels)是根据ground truth自动计算的,它通过强制网络对输出分支进行计数来帮助改善道路连通性。

像素到最近道路的距离是通过距离变换(distance transformation)来计算的,这有助于改善道路边界不明确的像素分类精度,例如,泥土路混合成田地和一半被植被覆盖的道路[14]。 这类似于分类任务中经常使用的软标签。 图4展示了这些额外的输出
在这里插入图片描述

3.2. Post processing

文献中已经提出了各种道路提取的后处理技术,例如,使用结构化SVM(structured SVM) [15]或Markov随机场[9]进行中心线提取,使用特殊的CNN [8]处理嘈杂的数据,通过连接点(junction-points)进行采样来恢复线。并通过启发式搜索[11]填补道路缺口。

在这里,我们通过降低最短路径搜索的置信度阈值来连接断路,从而开发了一种新颖的后处理技术。更具体地说,我们首先将栅格道路(raster road)预测图像转换为矢量(vector)格式,以便我们能够填补缺口并修剪虚假道路(bridge gaps and trim spurious roads),然后根据道路矢量渲染(render)栅格图像并将其与原始预测合并,因为这个挑战需要栅格图像进行IoU计算(then we render a raster image from road vectors and merge it with the original prediction because the challenge needs raster images for IoU calculation)。
3.2.1 Extracting Road Center Lines
我们在[?]中使用相同的方法从灰度(greyscale)预测图像中提取道路中心线。 首先,我们用一个阈值将灰度图像转换为黑白图像。

接下来,我们均匀采样轮廓线(contour line)并绘制voronoi图。 仅保留被阈值图像完全覆盖的线段,这些线段形成道路中心线。 我们对更干净的道路网络采用了多种优化措施,包括修剪路段和合并交叉路口(trimming road stubs and merging close intersections), 参见图5。

从道路矢量绘制栅格图像时,我们需要知道道路宽度,该宽度是使用沿着道路中心线的平均宽度(从中心到75%的灰度)的下降阈值计算得出的。
在这里插入图片描述
3.2.2 Connecting Broken Roads
连接断路可以显著改善召回率。从提取的矢量道路网络的死角(deadend)开始,使用最短路径算法搜索与另一条存在的道路的可能连接。 我们将每个像素i的代价(cost)分配为
在这里插入图片描述
其中pi是像素的道路分类概率。 尽管不超过上述中心线提取步骤中设置的阈值,这迫使最短路径首选具有高概率成为道路的像素。 它也更喜欢道路中心线,而不是沿着弯曲道路的捷径,因为中心线通常具有较高的预测概率。 为了进一步提高准确性和速度,我们在降低阈值的多次迭代中应用了最短路径搜索。 我们还在每次迭代中设置了最大代价(cost),因此我们仅搜索一定范围内的连接。 参见算法1。这里U(s,δ)表示s与半径δ的邻域。

我们使用的递减阈值在这里插入图片描述的列表为{0.5、0.2、0.1、0.05、0.01},δ为100个像素。

3.3. Hybrid loss function

在不平衡的训练数据中使用交叉熵损失会导致收敛速度变慢和准确性降低。 我们将Jaccard损失添加到损失函数L中,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里y和y’分别表示目标向量和预测向量,而λ是Jaccard损失的权重[18]。对于交叉熵损失,采样点的不平衡(负点为97%,正点为3%)使梯度方向朝后锥角减小(图7),这导致了局部最优,尤其是在早期阶段。 Jaccard损失有效地“提起”了后角,并有助于避免局部最优。 参见图8。

4.Experiments

我们的实验是在DeepGlobe数据集上进行的[19]。 我们的网络使用TensorFlow进行了训练。
在这里插入图片描述
数据增强, 包括旋转,翻转和裁剪在内的数据扩充有助于避免过度拟合。 我们预先训练了第一个U-Net,并使用不同的设置微调了整个网络。 使用初始学习率为0.001的Adam优化器。 如果在最近的10个epochs内损失停止减少,我们将进一步降低10倍的学习率。

多输出(multi-output)可将我们的U-Net的mIoU提升约2%(图10)。 损失函数中不同的λ值对精度有重要影响。 适当的λ= 30可以最大程度地提高性能(表1)。 另外,如果不包括“交叉熵”,则网络无法收敛,因为所有负样本的梯度都消失了。 补丁重叠(patch overlapping)也有助于提高准确性。 表2显示了不同设置的总体得分。

在这里插入图片描述

5.Conclusion

在这里插入图片描述
当前最主要的问题是农村地区的预测不好,因为农村地区的道路非常隐蔽,ground truth可能不明现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值