论文介绍
Split Depth-wise Separable Graph Convolution Network for Road Extraction in Complex Environment from High-resolution Remote Sensing Imagery(TGRS)
用于从高分辨率遥感图像(TGRS)中提取复杂环境中道路的分割深度可分离图卷积网络
摘要:
高分辨率遥感图像的道路信息在各个领域得到广泛应用,基于深度学习的方法有效地显示了较高的道路提取性能。然而,在高分辨率遥感图像中,检测柏油路封闭或树木覆盖的道路,仍存在一些挑战,限制了提取的准确性:1)道路之间的阶级内差异较大,城市物体,特别是道路和建筑物之间的阶级间差异不明显;2)被树木、阴影和建筑物遮挡的道路难以提取;3)道路缺乏高精度遥感数据集。为了提高从高分辨率遥感图像中提取道路的精度,我们提出了一种深度分割(DW)可分离图卷积网络(SGCN)。首先,我们将dw可分卷积进行分割,得到信道和空间特征,以提高道路特征的表达能力。然后,我们提出了一个图卷积网络来捕获通道和空间特征中的全局背景道路信息。利用Sobel梯度算子构造了特征图的邻接矩阵。在马萨诸塞州道路数据集上总共使用了13个深度学习网络,在我们自建的山路数据集上使用了9个,以便与我们提出的SGCN进行比较。我们的模型实现了Union(IOU)的81.65%,f1分数为78.99%,我们提出的数据集的平均IOU为62.45%,f1分数为45.06%。可视化结果表明,SGCN在提取覆盖道路和微小道路方面性能较好,能够有效地从高分辨率遥感图像中提取道路。
论文的贡献:
这项研究有两个创新。(1)我们分割dw可分离卷积以获得信道和空间特征。(2)为了获取道路分割的全局上下文信息,我们使用两种不同的图卷积神经网络对这两个特征进行建模。最后,利用一个梯度算子构造了图的邻接矩阵。
跑通代码
code地址: https://github.com/tist0bsc/SGCN
数据准备
首先Download the files mentioned in “dataset/gansu/readme”
数据组织结构
train
python3 main.py
它将创建一个名为“logs”的文件夹和一个日志文件。此日志文件将记录培训过程。
并且,经过训练的模型(在验证集中具有最大OA)将保存在名为“saved”的文件夹中,并在保存模型时将epochnum记录在“best_epoch.txt”中。
eval
python3 eval.py![在这里插入图片描述](https://img-blog.csdnimg.cn/ddb8e6ddc6a64ebe84a8ac125c14ebb8.png)
它将在测试数据集中评估该模型,并打印度量,包括OA、IOU、精度、召回率、F1,然后将混淆矩阵保存在“saved”文件夹中。
perdict
python3 predict.py
改为python3 predict_roads.py
您可以在“predict/gansu/”中找到视觉结果,“vis”中道路的灰度值为255,而“mask”中为1。
在这里插入图片描述
原图、标签图、预测的mask、可视图
测试自己的数据
首先需要准备数据
修改预测的配置文件predict_config.json,主要修改文件预测结果输出、测试文件路径、图片大小
{
"num_classes": 2,
"pre_dir": "predict/my_roads",
"img_txt": "dataset/my_roads/test.txt",
"img_height":1024,
"img_width":1024,
"predict_model": {
"select" : 0,
"model": ["SGCNNet"]
},
"save_model": {
"save": true,
"save_path": "saved/"
}
}
运行命令行
python predict_roads.py
感觉效果不是特别好,不知道是不是因为原先图片的尺寸是256256,改成了10241024
代码解读
参考
基于遥感影像的道路提取论文、开源代码和数据集汇总:https://blog.csdn.net/weixin_42990464/article/details/113699960