Fully Convolutional Network for Automatic Road Extraction from Satellite Imagery

本文介绍了一种改进的U-Net网络,用于从卫星图像中精确提取道路。通过使用预训练的ResNet-34作为编码器,并结合Dropout和TTA技术,实现了对道路特征的有效检测。实验结果显示,该模型在Jaccard指数上表现优秀。

1.Introduction

在这里插入图片描述

2. Model

我们对原始的U-Net网络进行了改进,使用了类似的网络和类似的编码器,使用预训练的ResNet-34网络作为编码器。卷积核的大小是7x7,stride=2,在每个residual block中,第一个卷积的步长是2,剩下的卷积操作步长都为1。
在这里插入图片描述

3. Training

使用Jaccard index(IOU)作为评价指标
在这里插入图片描述
离散公式:(分别为像素i的 二值和 预测概率)
在这里插入图片描述
损失函数(H:BCE):
在这里插入图片描述
最小化L,相当于最小化H,并且最大化J
经过测试,α=0.7

使用Adam 优化器,IOU的预测值在迭代之间变化比较显著,使用了Dropout(0.3),使用了TTA(test time augmentation),即将图像进行90度的旋转得到四张图像,预测然后取平均值。

References

[1] http://deepglobe.org/.
[2] http://ods.ai/.
[3] I. Demir, K. Koperski, D. Lindenbaum, G. Pang, J. Huang,S. Basu, F. Hughes, D. Tuia, and R. Raskar. Deepglobe 2018:A challenge to parse the earth through satellite images. arXiv preprint arXiv:1805.06561, 2018.
[4] M. Everingham, S. A. Eslami, L. V an Gool, C. K. Williams,J. Winn, and A. Zisserman. The pascal visual object classes challenge: A retrospective. International journal of com-puter vision, 111(1):98–136, 2015.
[5] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages
770–778, 2016.
[6] V . Iglovikov, S. Mushinskiy, and V . Osin. Satellite imagery feature detection using deep convolutional neural network: A kaggle competition. arXiv preprint arXiv:1706.06169, 2017.
[7] V . Iglovikov and A. Shvets. Ternausnet: U-net with vgg11 encoder pre-trained on imagenet for image segmentation.arXiv preprint arXiv:1801.05746, 2018.
[8] D. P . Kingma and J. Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014.
[9] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 3431–3440, 2015.
[10] O. Ronneberger, P . Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention, pages 234–241, 2015.
[11] W. Wang, N. Y ang, Y . Zhang, F. Wang, T. Cao, and P . Eklund. A review of road extraction from remote sensing images. Journal of Traffic and TransportationEngineering (English Edition), 3(3):271–282, 2016.
[12] Z. Zhang, Q. Liu, and Y . Wang. Road extraction by deep residual u-net. IEEE Geoscience and Remote Sensing Letters, 2018.
[13] Z. Zhong, J. Li, W. Cui, and H. Jiang. Fully convolutional networks for building and road extraction: preliminary results. In Geoscience and Remote Sensing Symposium (IGARSS), 2016 IEEE International, pages 1591–1594.IEEE, 2016.

### 高分辨率遥感影像中的道路提取技术 深度可分离图卷积网络(Depth-wise Separable Graph Convolution Network, DSGCN)是一种专门设计用于处理复杂环境下的高分辨率遥感影像的道路提取任务的模型。该方法通过结合图结构数据表示和高效的卷积操作来实现对道路特征的有效捕捉。 #### 模型架构概述 DSGCN 的核心在于其采用了深度可分离卷积的思想,这种思想最初来源于移动设备上的轻量化神经网络设计[^1]。具体来说,它将标准卷积分解为两个独立的操作:深度卷积(depthwise convolution)和逐点卷积(pointwise convolution)。这种方法不仅减少了计算量,还提高了模型的学习效率。 在复杂的遥感场景中,道路通常呈现出不规则形状以及多样的纹理特性。为了应对这些挑战,DSGCN 利用了图卷积网络(Graph Convolutional Networks, GCNs),能够更好地建模像素之间的拓扑关系。相比于传统的二维卷积,图卷积可以灵活适应不同尺度的空间连接模式[^2]。 以下是 DSGCN 的主要组成部分: 1. **输入预处理** 输入图像经过初步分割或编码器阶段生成节点特征向量集合 \( \{v_i\} \),其中每个节点代表一个局部区域或者超像素单元。这一步骤有助于降低后续运算的数据维度并增强鲁棒性[^3]。 2. **深度可分离图卷积层** 图卷积被重新定义为两步过程:首先是针对单通道执行邻域聚合操作;其次是利用全连接层调整输出通道数。这一机制显著降低了参数数量的同时保留了丰富的空间上下文信息[^4]。 3. **注意力模块集成** 考虑到实际应用中可能存在噪声干扰或其他异常情况,在某些版本的改进算法里引入了自注意机制 (Self-Attention Mechanism) 来动态加权重要边的关系强度。这样做的好处是可以进一步突出目标对象的关键属性[^5]。 4. **最终预测与后处理** 经过多轮迭代优化后的节点标签会被映射回原始尺寸大小的地图上形成二值化结果作为最终输出。此外还可以附加形态学滤波等手段提升边界清晰度。 ```python import torch from torch_geometric.nn import DepthwiseSeparableConv class DSGCN(torch.nn.Module): def __init__(self, input_dim, hidden_dim, output_dim): super(DSGCN, self).__init__() # 定义深度可分离图卷积层 self.conv1 = DepthwiseSeparableConv(input_dim, hidden_dim) self.conv2 = DepthwiseSeparableConv(hidden_dim, output_dim) def forward(self, data): x, edge_index = data.x, data.edge_index # 前向传播流程 x = self.conv1(x, edge_index).relu() x = self.conv2(x, edge_index) return x ``` 上述代码片段展示了如何构建基于 PyTorch Geometric 库的一个简单版 DSGCN 实现框架。需要注意的是真实项目开发过程中还需要考虑更多细节比如损失函数的选择、训练策略制定等问题。 --- ### 性能评估指标 对于此类任务而言常用的评价标准包括但不限于以下几个方面: - 平均交并比(Mean Intersection over Union, mIoU) - F1-Score - Precision 和 Recall 等分类统计数值[^6] 通过对多个公开数据集测试表明采用此方案相比传统方法确实取得了较为明显的性能增益特别是在面对遮挡严重、光照变化剧烈等情况时表现尤为出色。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值