【论文阅读】FlipCAM:高分辨率遥感影像弱监督建筑物提取的特征级翻转增强方法

【论文阅读】FlipCAM:高分辨率遥感影像弱监督建筑物提取的特征级翻转增强方法

文章目录

  • 【论文阅读】FlipCAM:高分辨率遥感影像弱监督建筑物提取的特征级翻转增强方法
    • 一、介绍
    • 二、方法
      • 2.1 准备
      • 2.2 一致性的架构
      • 2.3 SAM模块
      • 2.4 建筑提取模式
    • 三、实验结果

FlipCAM: A Feature-Level Flipping Augmentation Method for Weakly Supervised Building Extraction From High-Resolution Remote Sensing Imagery

为准确提取建筑物,深度神经网络需要收集大量的像素级标注,耗费大量时间

带有图像级注释的弱监督语义分割(WSSS)方法是一种有效的建筑物提取方法

  

问题:

  • 图像级标签缺乏空间信息,导致建筑物提取存在部分完整性和空洞现象
  • 遥感图像中复杂的背景会导致建筑物边界的提取不准确

  

提出了一种新的弱监督建筑提取方法FlipCAM来应对这些挑战。

基于特征级翻转增强的翻转模块通过融合原始和翻转特征图来提高CAM热图的完整性

通过将Flip模块与基于一致性架构的slice and merge (SAM)模块相结合

  

解决:

  • FlipCAM能够端到端生成高质量的CAM热图,既具有边界精细度,又具有内部完整性
  • 这也缓解了建筑物提取的特殊困难,包括密集建筑物中的粘连以及与背景和阴影的混淆,

  
  

一、介绍

从遥感影像中提取建筑物对于城市规划[1]、[2]、人口估算[3]、土地覆盖制图[4]等地理应用具有重要意义

论文是二值分割任务

我们在实际工作中依然是多类的语义分割

  

建筑物提取的主要目的是将遥感图像中的每个像元分配为建筑物或非建筑物标签

深度卷积神经网络(deep convolutional neural network, DCNNs)因其处理丰富数据的强大能力而被广泛应用于建筑物提取中

全卷积网络(FCN)可以充分利用像素间的空间上下文信息,通过CNN的接受场提取多层次特征

  

人们提出了许多不完全标注方法来提取遥感图像中的建筑物

图像级弱监督方法更具实用性和挑战性,因为其中图像级标注的成本最优

使得弱监督方法难以达到与完全监督语义分割(FSSS)方法相同的性能

  

图像级弱监督语义分割(WSSS)方法主要步骤:

  • 训练具有图像级标签的分类网络,获得具有目标定位能力的类激活图
  • 伪掩码由CAM热图生成,作为一系列后处理的粗建筑提取结果
  • 利用伪掩码训练常规语义分割网络,提取细粒度建筑区域

  

于图像级标签严重缺乏边界信息和空间位置信息,与完全监督的像素级标签相比,伪掩码通常存在边界精细度不足和内部完整性不足两大不足

解决的方式:

  • 条件随机场(CRF)和 CRF loss
  • AffinityNet 和 IRN 提高伪掩模的边界精细度
  • 受CRF损耗的启发,提出了边界损耗 和 边界模块,以端到端方式解决边界问题。
  • 自监督原理的一致性正则化方法[38]、[39]、[40]、[41]因其在挖掘边界和多尺度信息方面的性能较好而受到欢迎
  • 一致性架构中创建适当的增强图像是至关重要的,因为这些图像可以提供图像级标签之外的监督
  • 有几种方法尝试通过多种子[46]、[47]、[48]、[49]、[50]、聚类[51]、改进损失函数[52]
  • 结合深度学习的新思想,提出了不确定性估计[58]、对比学习[59]、原型探索[41]、[60]
  • 注意力模块[61]-[68]的弱监督方法
      

这些计算机视觉中的弱监督方法不能直接应用于遥感图像

设计适合高分辨率遥感图像的WSSS方法至关重要

  

基于低成本高效提取地理目标的迫切需求,

已有研究对高分辨率遥感图像的图像级弱监督提取任务进行了针对性改进

提出了一种从粗到细的弱监督方法来解决标签噪声、边界模糊、类别不平衡等特殊提取问题

  
与上述地理对象相比,更多的研究集中在弱监督建筑提取上

这些研究倾向于将边界细化和完整性增强的步骤分开,而不是端到端的方式

  

由于弱监督方法中已经存在许多子步骤,继续分离步骤将大大降低提取效率

我认为的端到端的方法不可缺少的就是分割seg的引入

  

方法将一致性架构与两个主要的新颖模块(即SAM模块和Flip模块)集成到一个通用分类网络中

以生成高质量的CAM热图,从而获得高置信度的伪掩码

  

在弱监督任务中,监督信息的稀缺性导致问题:

  • 导致了边界精细度不足
  • 内部完整性不足
      

FlipCAM方法:

  • 一致性架构
  • SAM模块
  • Flip模块

  

以一致性和特征增强的方式在分类网络中引入多个分支,从而增加像素相关性

采用一致性正则化方法,在分支中加入适当的模块,如SAM模块和Flip模块

  

  • SAM模块通过SAM操作和多尺度图像输入增强边界能力和多尺度特征提取能力
  • Flip模块在深度神经网络中实现了原始和翻转特征映射之间的交互

  

FlipCAM中的两个模块在迭代网络训练过程中同时提高了建筑物提取性能,因此在CAM热图生成过程中是一种端到端训练策略

  
主要贡献:

  • 设计了一个名为Flip模块的原创模块,提高建筑物提取的内部完整性
  • 设计了一个名为SAM模块的原始模块,丰富多尺度信息用于提取建筑物
  • 一致性架构将Flip模块和SAM模块相结合,提高了端到端CAM热图生成的边界精细度和内部完整性

  
  

二、方法

FlipCAM是一种图像级弱监督建筑物提取方法,分为两个步骤:

  • 训练分类网络并生成伪掩码
  • 训练分割网络并输出结果

  

提出的FlipCAM方法流程图

在这里插入图片描述
  

2.1 准备

CAM方法的核心是将图像级标签转换为粗像素级标签。首先,在生成CAM之前,需要对分类网络进行训练。为了提高分类网络的特征提取能力,我们使用了二元交叉熵损失函数LBCE

在这里插入图片描述
但考虑到CAM的生成需要使用global average pooling (GAP)层,本研究选择自带GAP层的ResNet-50作为骨干网

GAP层压缩这些特征映射,以便于连接到参数w∈R2C的全连接层
  

在这里插入图片描述
二元分类,因此sb需要通过softmax激活函数进行归一化处理,得到分类概率

Sc表示各类别经过全连通层后的得分。那么,如图3所示,提取建筑物的原始CAM Mb

在这里插入图片描述

  
CAM的生成原理是建筑物的预测值与最后一层卷积生成的特征图的线性组合

  

CAM方法利用图像级标签来实现粗略的建筑物提取。

然而,仍然存在两个挑战:

  • 在使用分类网络提取建筑特征时,由于受粗粒度标注、单一损失函数设置、卷积过程和池化过程的影响,建筑边界信息损失严重;
  • 分类网络往往只关注类别中最具判别性的特征区域来实现准确的分类,导致CAM结果只关注建筑物的局部区域

  

2.2 一致性的架构

在弱监督建筑物提取任务中很好地拟合目标边界

该体系结构的核心思想是通过一致性正则化加入额外的监督来提高模型性能
  

模型通过引入额外的输入分支来实现一致性正则化

如SAM、翻转、旋转、重新缩放等

  

吸收额外的监督信息,特别是更细粒度的对象边界信息,最终提高模型的性能。

CAM方法的本质是利用分类网络进行粗语义分割任务。然而,分类网络和分割网络的参数优化方式存在巨大差异

理想情况下,分割网络趋于等值,可以达到以下效果:

在这里插入图片描述

Ib为建筑物图像样本

T和T−1分别表示变换和倒变换
  

一致性架构由两个分支组成,它们具有共享的网络权重,但输出不同的特征映射

基于原始图像的特征映射和倒转特征映射,我们可以建立如下的一致性正则化损失函
  

保证两个分支输出的激活图不断正则化,从而增强模型提取建筑边界的能力。
  

2.3 SAM模块

为了提高分类网络提取多尺度建筑物的性能,设计了SAM模块

SAM模块[见图4(b)]将不同尺度的遥感图像放入网络中,更适合多尺度遥感场景

  

每个用于训练的图像沿着两个中心轴被切成四个部分,每个部分利用分类网络生成切片的特征图

将它们上采样到原始图像的大小是不必要的。虽然图像大小的变化

  

SAM模块通过在特征映射进入全连接层之前对切片特征映射执行合并操作来解决这个问题

合并后的特征图通过l一致性与另一个分支的特征图相连,不断向网络贡献多尺度建筑信息

在这里插入图片描述

一致性架构实现了对建筑物提取结果边界的优化,但提取结果的完整性仍然得不到保证,容易出现空洞现象

Flip模块通过在特征级融合特征映射来集成高维特征信息。这可以让网络对建筑的整体表象有更深入的了解,从而增强建筑的整体性

  

为了提高CAM的完整性,我们选择了翻转变换,而不是使用其他常用的增强方法来增强特征图,
  

原因如下:首先,一些图像增强方法,如图像旋转、图像缩放、图像平移等,由于数据增强前后变化不大,无法提供足够的监督

图像裁剪并不适用于地理目标可能出现在任何位置的遥感图像

原始图像相比,翻转变换既不会提供有限的监督,也不会丢失空间和位置信息。翻转变换作为一种镜像变换

  

2.4 建筑提取模式

FlipCAM的两个分支共享CNN主干的权值,训练出的网络参数在两个分支之间是唯一且一致的

生成FlipCAM热图,并通过Otsu算法生成阈值热图,将建筑物与背景区分开来

  
伪掩模通过考虑像素之间的空间关系和像素值的相似性来整合上下文信息,提高建筑边界的精细度
  

DeepLabv3+的主要创新是集成了空间金字塔池(ASPP)和编码器-解码器架构

通过LBCE对分割网络DeepLabv3+进行训练后,将未经任何筛选处理的测试图像放入训练好的分割网络中

  

三、实验结果

多种类型建筑物的ISPRS二维语义分割基准数据集((Potsdam数据集和Vaihingen数据集),AIRS

在这里插入图片描述
  
CAM的热力图效果示意

在这里插入图片描述

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

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

相关文章

高效 CUDA 调试:将 NVIDIA Compute Sanitizer 与 NVIDIA 工具扩展结合使用并创建自定义工具

高效 CUDA 调试:将 NVIDIA Compute Sanitizer 与 NVIDIA 工具扩展结合使用并创建自定义工具 NVIDIA Compute Sanitizer 是一款功能强大的工具,可以节省您的时间和精力,同时提高 CUDA 应用程序的可靠性和性能。 在 CUDA 环境中调试代码既具有挑…

JimuReport积木报表 v1.7.4 公测版本发布,免费的JAVA报表工具

项目介绍 一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成报…

Android 性能优化实例分享-内存优化 兼顾效率与性能

背景 项目上线一段时间后,回顾重要页面 保证更好用户体验及生产效率,做了内存优化和下载导出优化,具体效果如最后的一节的表格所示。 下面针对拍摄流程的两个页面 预览页 导出页优化实例进行介绍: 一.拍摄前预览页面优化 预览效果问题 存在…

HelpLook AI ChatBot:自定义Prompts综合指南

AI问答机器人(AI Chatbot)日益在各行业普及,但回答准确率的不足仍是其面临的痛点。用户在与AI问答机器人的互动中常发现,机器人难以完全理解和准确回答复杂问题。HelpLook可以通过自定义提示词(Prompts)和集…

基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证

基于Spring Boot3实现Spring Security6 JWT Redis实现登录、token身份认证。 用户从数据库中获取。使用RESTFul风格的APi进行登录。使用JWT生成token。使用Redis进行登录过期判断。所有的工具类和数据结构在源码中都有。 系列文章指路👉 系列文章-基于Vue3创建前端…

深度学习理解及学习推荐(持续更新)

主推YouTuBe和Bilibili 深度学习博主推荐: Umar Jamil - YouTubehttps://www.youtube.com/umarjamilai StatQuest with Josh Starmer - YouTubehttps://www.youtube.com/statquest RNN Illustrated Guide to Recurrent Neural Networks: Understanding the Int…

八大技术趋势案例(云计算大数据)

科技巨变,未来已来,八大技术趋势引领数字化时代。信息技术的迅猛发展,深刻改变了我们的生活、工作和生产方式。人工智能、物联网、云计算、大数据、虚拟现实、增强现实、区块链、量子计算等新兴技术在各行各业得到广泛应用,为各个领域带来了新的活力和变革。 为了更好地了解…

RISC-V特权架构 - 中断定义

RISC-V特权架构 - 中断定义 1 中断类型1.1 外部中断1.2 计时器中断1.3 软件中断1.4 调试中断 2 中断屏蔽3 中断等待4 中断优先级与仲裁5 中断嵌套6 异常相关寄存器 本文属于《 RISC-V指令集基础系列教程》之一,欢迎查看其它文章。 1 中断类型 RISC-V 架构定义的中…

HCIA-Datacom H12-811 题库补充(3/28)

完整题库及答案解析,请直接扫描上方二维码,持续更新中 OSPFv3使用哪个区域号标识骨干区域? A:0 B:3 C:1 D:2 答案:A 解析:AREA 号0就是骨干区域。 STP下游设备通知上游…

ZK友好代数哈希函数安全倡议

1. 引言 前序博客: ZKP中的哈希函数如何选择ZK-friendly 哈希函数?snark/stark-friendly hash函数Anemoi Permutation和Jive Compression模式:高效的ZK友好的哈希函数Tip5:针对Recursive STARK的哈希函数 随着Incrementally Ve…

vue中使用jsmind生成脑图

项目部分参数&#xff1a; vue&#xff1a;2.6.10 node:16.20.0 1、使用命令行安装jsmind&#xff1a; npm i jsmind -S 2、在文件中引入jsmind&#xff0c;并编写渲染jsmind的代码&#xff1a;&#xff1a; <template><!-- jsmind容器 --><divid"jsmi…

MySQL进阶-----索引的语法与SQL性能分析

目录 前言 一、索引语法 1.SQL语法 2.案例演示 二、SQL性能分析 三、慢查询日志 1.开启日志 2.测试样例 四、profile详情 1.开启profile 2.profile测试SQL语句 五、explain详情 1.语法结构 2.执行顺序示例&#xff08;id&#xff09; 3.执行性能示例(type) 前言 本…

k8s1.28.8版本配置prometheus监控告警

文章目录 官方架构图组件的具体介绍kube-prometheus包含的组件简介&#xff1a;文件存储路径&#xff1a; 结构分析官网自带的一些规则自己总结流程 1-创建规则磁盘使用率报警规则 详解上面rule流程Alertmanagerg查看 2-报警接收器2.1-邮件报警修改Alertmanager配置查看现有的s…

钡铼技术R40路由器助力智能船舶航行数据实时传输与分析

钡铼技术R40路由器在智能船舶领域的应用&#xff0c;对于航行数据的实时传输与分析具有重要意义。随着航运业的不断发展和智能化水平的提升&#xff0c;船舶航行数据的及时传输和有效分析对船舶的安全、运营效率等方面至关重要。而引入钡铼技术R40路由器&#xff0c;则可以实现…

实时数仓之实时数仓架构(Hudi)

目前比较流行的实时数仓架构有两类&#xff0c;其中一类是以FlinkDoris为核心的实时数仓架构方案&#xff1b;另一类是以湖仓一体架构为核心的实时数仓架构方案。本文针对FlinkHudi湖仓一体架构进行介绍&#xff0c;这套架构的特点是可以基于一套数据完全实现Lambda架构。实时数…

智慧工地安全生产与风险预警大平台的构建,需要哪些技术?

随着科技的不断发展&#xff0c;智慧工地已成为现代建筑行业的重要发展趋势。智慧工地方案是一种基于先进信息技术的工程管理模式&#xff0c;旨在提高施工效率、降低施工成本、保障施工安全、提升施工质量。一般来说&#xff0c;智慧工地方案的构建&#xff0c;需要通过集成物…

探索智慧农业精准除草,基于高精度YOLOv5全系列参数【n/s/m/l/x】模型开发构建农田作物场景下杂草作物分割检测识别分析系统

智慧农业是未来的一个新兴赛道&#xff0c;随着科技的普及与落地应用&#xff0c;会有更加广阔的发展空间&#xff0c;关于农田作物场景下的项目开发实践&#xff0c;在我们前面的博文中也有很堵相关的实践&#xff0c;单大都是偏向于目标检测方向的&#xff0c;感兴趣可以自行…

c++|string模拟实现

目录 一、string.h 二、string.cpp 三、Test.cpp 对string的各种接口进行一个简易版的模拟实现&#xff0c;在模拟实现完之后对string的底层实现有了进一步的理解&#xff0c;了解大佬的编程写法思路。也算是对string有了一个小总结。 一、string.h 接口的声明。放在.h文件中…

实验7 内置对象response

编写代码&#xff0c;掌握request、response的用法。【参考课本4.6.2】 三、源代码以及执行结果截图&#xff1a; input.jsp <% page language"java" contentType"text/html; charsetutf-8" pageEncoding"utf-8"%> <!DOCTYPE html>…

【tensorflow框架神经网络实现鸢尾花分类】

文章目录 1、数据获取2、数据集构建3、模型的训练验证可视化训练过程 1、数据获取 从sklearn中获取鸢尾花数据&#xff0c;并合并处理 from sklearn.datasets import load_iris import pandas as pdx_data load_iris().data y_data load_iris().targetx_data pd.DataFrame…