RCFSNet

news2024/10/2 6:41:59

搬来了一种结合道路上下文信息与多尺度特征的道路遥感图像道路提取方法,与常见的道路提取算法相比,RCFSNet能够获取完整的路网标签,在遮挡场景中表现出色

本人是太原理工大学大数据学院在2022年发表在《IEEE Geoscience and remote sensing letters》的遥感图像道路提取方法。

论文链接:https://ieeexplore.ieee.org/document/9982686

代码链接:https://github.com/CVer-Yang/RCFSNet

随着深度学习在计算机视觉任务的广泛应用,深度学习算法也应用于遥感图像道路提取任务。早期在CVPR2018: DeepGlobe Road Extraction Challenge(全球卫星图像道路提取)比赛中,DLinkNet模型以LinkNet网络作为基本框架,在网络中间部分采用不同空洞率的空洞卷积提取、融合多尺度道路上下文信息,该算法最终获得比赛的冠军。当前道路提取研究方法主要从替换主干网络、改进上下文信息提取方法、结合注意力机制等多方面对道路提取任务进行探究。然而,目前的道路提取方法仍存在生成的路网连通性差、道路边缘不明显等问题。本文提出一种结合道路上下文信息与全阶段特征融合的RCFSNet算法,与常见的道路提取算法相比,RCFSNet能够获取完整的路网标签,在遮挡场景中表现出色。

本文设计了一种结合道路上下文信息与多阶段特征融合的道路图像道路提取方法,模型结构如图1所示。

图1.模型结构图

A. 编码器

RCFSNet网络使用在ImageNet数据集上预先训练的ResNet34网络作为编码器。编码器首先进行卷积核大小为7×7且步长为2的卷积,预训练编码器网络模块之后为步长为2的最大池化。网络的后面部分由重复的残差块组成。残差块内部在输出输出之间设计了跳跃连接(shortcut),缓解了在深度神经网络中增加深度带来的梯度消失问题。

B.多尺度上下文信息提取模块(MSCE)

遥感图像中存在大量道路被周围物体遮挡的场景,上下文关系模块能够捕捉道路与周围物体的关系,增强模型预测道路的完整性。不同于常见的上下文信息提取模块,考虑到道路的具体形状与整体特征,我们设计了一种新颖的条带空洞卷积用于提取准确的道路上下文信息。

图2 . 多尺度上下文信息提取模块 

多尺度上下文信息提取模块由普通空洞卷积支路、水平空洞卷积、垂直空洞卷积三条支路组成,每条支路的卷积空洞率为1,2,4。在同一条支路中,采用跳跃连接融合不同感受野下的道路特征图。本模块中还设计了池化核为(1,W)与(H,1)的池化操作获取道路的整体特征。模型最终采用拼接操作融合不同支路的特征图,采用1×1卷积将特征图通道数恢复到512。本文对输入特征图与上下文信息之间采用元素相加操作进行融合,设置了可训练的参数P进行加权,能够抑制模块产生的冗余信息。

C.全阶段特征融合模块(FSFF)

不同阶段解码器的特征图包含不同的道路特征。编码器初级阶段特征图中能够提供丰富的道路结构特征,而高级阶段特征图中蕴含丰富的道路语义信息。因此有效地结合这部分特征图能够为解码器提供准确的道路特征信息。

图3.全阶段特征图融合模块 

以D3阶段为例,本文首先将特征图E1,E2,E3,E4,E5调整到与特征图E3相同分辨率大小、通道数为64的中间特征图,随后采用拼接操作对特征图进行融合。为生成更准确的道路结构特征图,我们设计了一种协同双注意力机制(CDAM)辅助全阶段特征的融合。

协同双注意力机制由协同通道注意力机制和协同空间注意力机制组成。在协同通道注意力中,融合特征图首先经过池化核大小为(1,W)与(H,1)的池化操作处理,随后采用reshape操作将特征图变形为H×320与W×320的特征图,特征图被输出通道数为1的1D卷积核学习相邻通道的依赖关系,随后采用变形操作将特征图变形为320×1×1的特征图。分别采用sigmoid函数获取特征图结合宽度、高度信息的通道权重,输入特征图结合权重生成两个通道特征加权的特征图。

图4.协同通道注意力机制模块结构图 

在协同空间注意力机制中,首先采用通道平均池化和最大池化操作压缩通道特征信息,随后采用拼接与卷积操作融合特征图。分别采用卷积核大小为(1,W)与(H,1)的卷积操作压缩特征图的空间信息,随后采用expand操作恢复特征图尺寸到1×H×W。采用sigmoid函数获取特征图在宽度和高度维度的空间权重,输入特征图结合权重生成两个空间特征加权的特征图。

图5.协同空间注意力机制模块结构图 

将协同双注意力机制生成的融合特征图采用拼接操作进行融合,随后采用输出通道数为128的1×1卷据核生成补充的道路特征图,其中128对应编码器特征图E3的通道数。

D.解码器

每一阶段解码器接收来自全阶段特征融合模块输出的道路特征图与上一阶段解码器输出的特征图作为输入。上一阶段的解码器采用上采样和1×1卷积操作将特征图尺寸与通道数调整到与全阶段特征融合模块输出的道路特征图一致,随后采用拼接、卷积、批归一化(BN)、修正线性单元(ReLU)操作进行特征融合。

在预测阶段,采用64个卷积核大小为3×3的卷积与上采样操作对全阶段解码器的特征图进行调整,采用相加操作进行特征图融合,随后输入到3×3卷积与sigmoid操作获得道路结果预测图。

实验分析

A.实验数据

本文在DeepGlobal和Massachusetts数据集进行实验。该数据集包含6 226对1 024 × 1 024像素的RGB卫星遥感图像和标签,每幅图像的像素分辨率为0.5m/像素。图像由Digital Globe的卫星收集,为泰国、印度和印度尼西亚3个国家的城市、乡村等多种场景。在实验中将6 226幅图像分成5 500幅训练集数据和726幅测试集数据。马萨诸塞道路数据集(Masaschusetts road dataset)包括1171对1500×1500像素的RGB航拍图像。图像包含城市、郊区和农村等多种场景区域。训练前将数据集进行预处理,裁剪为1024×1024像素点的图像。实验数据包括1108对训练图像作为训练集与49对图像作为测试集。

B.损失函数与评价指标

本文选用二元交叉熵与Dice系数组合作为损失函数。选用准确率、召回率、交并比、F1-score指标评价神经网络模型。样本可分为四种类型:真阳性(TP)、假阳性(FP)、真阴性(TN)和假阴性(FN)。计算公式如下所示:

 

C.性能对比

本文为了验证模型的性能,文章在两个公开数据集上进行实验。将提出的模型与U-Net, DLinkNet, NLinkNet,DeeplabV3+, MACU-Net, DBRANet等模型进行了性能对比。本方法在DeepGlobal与Massachusettss数据集均获得最好的IoU与F1-score,证明本方法的有效性与鲁棒性。

图6 不同模型的P-R曲线与F1-Thresholds曲线,第一行为模型在DeepGlobal道路数据集的表现,第二行为模型在Massachusetts数据集的表现。 

D.预测结果分析

生成的道路标签显示,本方法不仅能提取完整的路网标签,而且对道路遮挡场景具有一定的推理能力,其中图像中红色区域代表背景像素点预测为道路的情况,蓝色像素点代表模型未识别到的道路像素点。第一行图像黄色框标记了展示了道路被绿植遮挡的情形,第三行图像黄色框标记道路被建筑物遮挡的情况,RCFSNet方法均具有良好的表现。

图7. 不同模型在数据集中的表现 

E.消融实验

本文设计了消融实验证明所提模块的有效性。删除MSCE模块后模型的召回率明显下降,证明道路上下文关系能够辅助模型提取到完整的道路标签。删除FSFF模块后模型的精确率明显下降,证明生成的道路结构特征能够辅助模型生成更准确的道路标签。MSCE模块与FSFF模块的结合在两个数据集上均获得最佳的F1-score与IoU指标,证明两种模块组合的有效性。

本文也设计了实验证明协同双注意力机制的有效性。与将CDAM替换为CBAM、SE、CA Attention等模块的实验结果相比,结合CDAM的模型能够取得最好的F1-score与IoU指标。 

结论         whaosoft aiot http://143ai.com

本文提出一种结合道路上下文信息与全阶段特征融合的RCFSNet网络用于遥感图像道路提取任务。设计的多尺度上下文信息模块能够获取准确的道路远距离依赖关系。设计的全阶段特征融合模块能够为解码器提供准确的道路特征信息,设计的协同双注意力机制能够有效强化道路的特征表示。方法在公开数据集上进行了实验,模型能够提取完整的道路,同时对遮挡场景具有一定的推理能力。

未来研究方向

1.当前视觉Transformer结构已经在多个计算机视觉任务中屠榜,但是目前结合Transformer技术的遥感图像处理工作还不多见,考虑到遥感图像与自然图像的不同,未来我们将根据遥感图像特征设计适用于遥感任务的Transformer结构。

2.当前道路提取任务解码过程中未充分利用特征图的语义信息,未来将探究如何结合道路语义信息进行路网结构预测。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/95478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot网站开发常用工具类(自己写的适合入门)

目录 字符集转换工具 适用 代码 JWT工具类 适用 代码 七牛云文件上传工具类 适用 代码 文件类型转换工具类 适用 代码 session,cookie工具类 适用 代码 字符集转换工具 适用 主要是完成与前端配合,共同实现特殊字符串传输过程中被转译的问…

数字藏品系统应用场景介绍——元宇宙NFG

数字藏品系统应用场景: 1.虚实结合产品营销:品牌企业限量发行产品,比如限量珍藏版产品,茅台酒,耐克鞋,劳力士手表,爱马仕包包,钻石珠宝,结合元宇宙热点营销,…

Crane 发布国内首个云原生应用碳排放计算优化器

为了共同应对气候变化挑战,减缓全球变暖趋势,2015年12月,近200个缔约方共同通过了《巴黎协定》(The Paris Agreement),对2020年后全球如何应对气候变化做出了行动安排。为实现这一目标,全球多个…

我国液化石油气行业SWOT分析:产销规模持续上涨 供需缺口劣势明显

液化石油气是在炼油厂内,由天然气或者石油进行加压降温液化所得到的一种无色挥发性液体,它极易自燃,当其在空气中的含量达到了一定的浓度范围后,它遇到明火就能爆炸。 一、优势分析 根据观研报告网发布的《中国液化石油气市场发展深度分析与…

【Unity】UI ToolKit 学习记录

Unity推出的这个 UI ToolKit,据说是要用来替代UGUI。既然这么有野心,那肯定要搞来看一看。这次使用目标就是用这个 UI ToolKit 生成一堆类似HUD的头标,然后看看使用难易程度和性能如何。 本文对应Unity版本 :2020.3.41f1c1 1、安装…

四十六——五十一

四十六、JavaScript——对象 一、对象 数据类型:原始值: 1. 数值 Number 2. 大整数 BigInt 3. 字符串 String 4. 布尔值 Boolean 5. 空值 Null 6. 未定义 Undefinded 7. 符号 Symbol 除了七种原始值之外,后面所用到的数据类型,都…

吐槽嫌弃测试周期太长?开发自测一下

互联网产品竞争激烈,在生存的巨大压力之下,策划和运营人员们恨不得每一个需求都能秒级上线,这就给研发团队带来了巨大的压力。 有时候,产品的老大很关注某一个功能点,希望能尽快上线,可是,他发…

基于nodejs电影售票后台管理的设计和实现.zip(论文+源码+ppt文档+视频录制)

相关资料下载地址:请点击下载》》》 一、 项目介绍 5 二、 需求分析 6 1、 前端需求 6 2、 后端需求 6 3、 开发环境 7 三、 技术介绍 7 1、 Vue 7 2、 ElementUI 7 3、 NodeJS 7 4、 MySQL 8 四、 功能实现 8 1、 前端服务构建 8 2、 前端API接口封装 8 3、 前端路…

技术分享 | 掌握高频 Docker 命令,夯实内功基础

本文为霍格沃兹测试学院学院学员 Docker 实战课程学习笔记,供各位同学参考。 在 Dokcer 横空出世之前,应用打包一直是大部分研发团队的痛点。在工作中,面对多种服务,多个服务器,以及多种环境,如果还继续用传…

我的头条四面:测试工程师调岗测试开发工程师,发生了什么?

早就听说头条是算法大厂手撕代码恐怖如斯,进入玻璃房之前做好了心理准备,本次头条面试总共是四面,一二三技术面HR面,总体感觉也还不错,面试的是测试工程师,最后拿到的offer却是测试开发工程师,从…

Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除

1. 环境说明 主机IP : 192.168.154.146 从机1IP : 192.168.154.147 从机2IP : 192.168.154.148 2.故障记录 当使用Navicat工具打开这三个数据库时 , 发现主库和从库的数据不同 3.排查过程-(Slave_IO_Running状态为Connecting) 3.1 网络是否互通 互ping三台机器 , 看机器…

Python自由职业可以做什么?副业月入3000的快乐你根本想象不到

很多有时间的程序员都会在业余时间接一些“私活”,也就是我们说的副业! 毕竟虽然程序员加班时间长,但是也不是所有程序员都是需要997的…许多事业编制或者说一部分公司并不会出现特别夸张的加班时长。平常周末的时候也就会接一些副业&#x…

如何用Python操作PDF制作数据报告?

大家好,你是否会发现 Python 操作PDF文档内容,主要围绕PDF文档的内容提取、合并与拆分、加密与解密、添加水印以及不同文档格式相互转换来展开。 但大家会发现,其中并没有有太多直接操作PDF并向其写入的内容。这是因为我们更推荐大家Python自…

C语言练习之计算一个数的每位之和(递归实现)

目录 前言 一、思路 二、源代码以及运行截图 源代码: 运行截图: 总结 前言 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和 例如,调用DigitSum(1729),则应该返回1 7 2 9&#…

LeetCode HOT 100 —— 297.二叉树的序列化与反序列化

题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。…

你还以为格子衫头发的就是程序员?这些特征都没有别说你是程序员

周一写几百个bug,周二到周四拼命改bug,周五总结bug,总结的好有周末,总结的不好周末无休! 咳咳,这样的周末我可以不休息! 有很多想要学习Python却找不到途径的朋友,我这里整理了一…

.NET Framework杂记

这篇博客主要记录在用C#编写上位机时,不会的知识点,随时更新,方便查阅。 C#语法操作杂记c#中让textbox选中不选中C#无法使用实例引用来访问成员解决方法针对不同定义情况的引用解释C# 字符串分割用字符串分割用多个字符串分割用单字符分割C#中…

【DevOps实战系列】第二章:详解Gitlab环境及搭建

个人亲自录制全套DevOps系列实战教程 :手把手教你玩转DevOps全栈技术 gitlab就不多说了,这个东西现在大多数公司内部都在使用,它分为社区和企业版本,社区版本ce是免费的,当然也可以选择gitee或github,但由于…

非零基础自学Golang 第8章 包管理 8.6 包的命名 8.7 依赖包管理

非零基础自学Golang 文章目录非零基础自学Golang第8章 包管理8.6 包的命名8.7 依赖包管理第8章 包管理 8.6 包的命名 每个包都有一个包名,包名一般是短小的名字,在包的声明处指定。 通常来说,默认的包名就是包导入路径名的最后一段&#x…

AD20和立创EDA设计(5)立创EDA导出3D模型放入AD20使用

(1)本文主要介绍如何将从立创EDA导出的3D模型,并且对3D模型进行处理。 (2)需提前观看:AD20和立创EDA设计(4)PCB设计; (3)本文需要使用到Fusion 36…