当前位置: 首页 > news >正文

Paper -- 洪水深度估计 -- 利用图像处理和深度神经网络绘制街道照片中的洪水深度图

在这里插入图片描述


基本信息

论文题目:Flood depth mapping in street photos with image processing and deep neural networks

中文题目: 利用图像处理和深度神经网络绘制街道照片中的洪水深度图

作者及单位
· Bahareh Alizadeh Kharazi,美国得克萨斯州立大学景观建筑与城市规划系
· Amir H. Behzadan,美国得克萨斯州立大学建筑科学系

投稿和接受时间
· 投稿时间:2020年11月4日
· 修改时间:2021年3月10日
· 接受时间:2021年3月16日

期刊: 《Computers, Environment and Urban Systems》中国科学院SCI分区 1区


摘要

  • 本文研究了在城市地区使用传统方法如遥感和数字高程模型(DEMs)进行洪水深度估计时常出现的大误差问题
  • 提出了一种利用 深度神经网络检测被淹没的停车标志 的新方法; 此外,还结合了 Canny边缘检测概率Hough变换 计算杆长并 估计洪水深度
  • 研究使用了一个名为 BluPix 2020.1 的数据集,该数据集包含美国加拿大10个FEMA地区的网页挖掘照片

背景

  • 了解 洪水深度 对于 应对洪水后的响应和恢复操作 的成功至关重要
  • 常用的 洪水估计方法 (水深传感器等) 具有较大局限性

方法

  • 首先使用修改后的Mask R-CNN 检测街景照片中的停车标志
  • 再应用 Canny边缘检测和概率Hough变换确定停车标志杆的可见长度
  • 通过 洪水前和洪水后的图像对中标志杆的长度差异, 估算洪水深度
  • 由于一些图像中标志牌不是正对着的, 使用 倾斜校正方法 校正了的结果所得到的误差更低

大致方法

在这里插入图片描述
(a) 图像: 显示了一个洪水情况下的停车标志
(b) 图像: 展示了同一停车标志在没有洪水情况下的正常状态

洪水深度估计:通过比较洪水情况下和无洪水情况下停车标志的可见高度差异,可以计算洪水深度。在这种情况下,通过测量 p 和 p’ 的差值可以估算 d w d_w dw,即洪水深度

  • s 和 s’:这两个标记代表停车标志在图像中的总高度。在洪水情况下为 s,无洪水情况下为 s’。
  • p 和 p’:这两个标记表示停车标志杆的可见长度。在洪水情况下的可见长度为 p,无洪水情况下的可见长度为 p’。
  • d w d_w dw:洪水深度, 即洪水情况下水面到停车标志底部的距离
    • 前提: 现实中标志牌的尺寸是类似国标这种, 尺寸是固定已知的
    • 利用停车标志八边形的已知物理高度,计算图像中的每像素实际长度比例 r r r r ′ r' r 估算水深
      d w = r ′ ⋅ p ′ − r ⋅ p d_w = r' \cdot p' - r \cdot p dw=rprp

基于Faster R-CNN框架的停车标志牌检测

在这里插入图片描述
该图描述了从输入RGB图像输出目标检测框 的完整流程

  • 这一过程利用了卷积神经网络(CNN)技术,来实现图像中的对象识别和定位

输入:输入是一个标准的RGB图像,图中展示了一个被洪水淹没的停车标志
CNN:首先,图像通过卷积神经网络(CNN)进行特征提取
RoI Align:利用区域感兴趣对齐(RoI Align)技术从CNN特征图中精确抽取候选区域的特征
卷积层(Conv):接着,这些特征被送入更深的卷积层进行进一步的分析
分类(分类)和边界框回归(定位):在特征经过处理后,用于两个主要任务:一是识别图像中的对象类别(即停车标志),二是确定对象的具体位置(类别框)。
FCN:全卷积网络(FCN)用于从卷积特征图中生成像素级的预测,用于精细化目标检测
输出:最终输出是标记了目标检测边界框的图像,如图中黄色框所示,准确标出了停车标志的详细位置


Canny边缘检测过程

在这里插入图片描述
输入图像:最左侧显示的是原始RGB图像,即洪水情况下的停车标志。
灰度图像:原始图像被转换成灰度图像,减少处理数据量同时保留必要信息
高斯模糊:使用高斯核对灰度图像进行模糊处理,以消除图像噪声并平滑图像
边缘检测
Sobel算子:利用Sobel算子计算图像的梯度强度和方向,这是检测图像边缘的关键步骤
梯度和方向:𝐺 和 𝜃 分别代表每个像素的梯度强度梯度方向
非最大抑制:这一步骤旨在仅保留梯度最大的边缘,去除非边缘区域的所有梯度响应
滞后阈值:通过设置两个阈值——低阈值和高阈值,进一步细化和确认真实的边缘。
最终生成的边缘图: 显示了图像中检测到的所有边缘,这些边缘以亮线的形式表示,主要集中在停车标志及其杆上


确定洪水中停车标志及其支杆的精确位置

在这里插入图片描述
使用图像处理技术确定洪水中停车标志及其支杆的精确位置
检测到的停车标志:第一个图显示了在洪水背景中的停车标志被自动检测并用绿色边框标出。
边界框:第二个图展示了放大的停车标志,绿色框清晰地标示了停车标志的边界。
边界框坐标:第三个图展示了边界框的具体坐标,这些坐标定义了框的四个角
( x 1 , y 1 ) (x_1, y_1) (x1,y1):边界框左上角的坐标
( x 2 , y 2 ) (x_2, y_2) (x2,y2):边界框右上角的坐标
( x 3 , y 3 ) (x_3, y_3) (x3,y3):边界框左下角的坐标
( x 4 , y 4 ) (x_4, y_4) (x4,y4):边界框右下角的坐标


确定停车标志杆的位置

在这里插入图片描述
图中的标志:停车标志被框定,用于分析其几何参数。
S o c t S_{oct} Soct: 标志顶部的宽度
h h h: 从标志底部到所需检测点的高度
2 w 2w 2w: 用红线标记的宽度,表示检测区域的宽度
( x c o o , y c o o ) (x_{coo}, y_{coo}) (xcoo,ycoo): 表示检测区域顶部中心的坐标
( x y m a x , y m a x ) (x_{y_{max}}, y_{max}) (xymax,ymax): 表示检测区域底部中心的坐标


从图像中估算停车标志杆的长度

在这里插入图片描述
左图:显示了洪水情况下的停车标志,红色线表示杆的候选线
中图:强调了停车标志杆的估算位置,使用黄色和蓝色标记以示区分。
右图:展示了用于计算杆长的坐标系统,以及如何从这些坐标得出杆的实际长度 p = y m a x − y c o o p=y_{max}-y_{coo} p=ymaxycoo


通过模板匹配方法估计停车标志的倾斜角度以校正标志牌

在这里插入图片描述
输入图像:为洪水中的停车标志图像,标志牌可能存在旋转和倾斜
模板八边形的旋转:模板八边形被依次绕 x , y , z x,y,z x,y,z 三轴旋转,分别生成一系列可能的姿态(如图中展示的不同倾斜角度模板)
匹配重叠:将调整大小后的模板八边形与输入图像重叠,并计算重叠区域的相似度(Overlap)
最大重叠模板:找到重叠区域最大的模板视为最佳匹配,确定停车标志的倾斜角度。
输出:根据对应的俯仰、偏航、滚转角度( P i t c h = − 12 ° , Y a w = − 30 ° , R o l l = 0 ° ) Pitch = -12°,Yaw = -30°,Roll = 0°) Pitch=12°Yaw=30°Roll= 校正图像


效果

在这里插入图片描述
左侧案例 (a):包括洪水前和洪水后两张配对照片。标注了杆的总长度(洪水前)和露出部分的长度(洪水后)
显示了根据这些数据计算出的洪水深度 误差, Δ 表示估算误差,单位为英寸
右侧案例 (b):同上

相关文章:

Paper -- 洪水深度估计 -- 利用图像处理和深度神经网络绘制街道照片中的洪水深度图

基本信息 论文题目:Flood depth mapping in street photos with image processing and deep neural networks 中文题目: 利用图像处理和深度神经网络绘制街道照片中的洪水深度图 作者及单位: Bahareh Alizadeh Kharazi,美国得克萨斯州立大…...

学习C#中的BackgroundWorker 组件

1. BackgroundWorker 组件概述 许多经常执行的操作可能需要很长的执行时间。 例如: 图像下载 Web 服务调用 文件下载和上载(包括点对点应用程序) 复杂的本地计算 数据库事务 本地磁盘访问(相对于内存访问来说其速度很慢&…...

【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!

大家好,欢迎来到程序视点!我是小二哥! 前言 在VUE项目开发中,一些数据常常被多个组件频繁使用,为了管理和维护这些数据,就出现了状态管理模式。 今天小二哥要给大家推荐的不是VueX,而是称为新…...

PCB 间接雷击模拟

雷击是一种危险的静电放电事件,其中两个带电区域会瞬间释放高达 1 千兆焦耳的能量。雷击就像一个短暂而巨大的电流脉冲,会对建筑物和电子设备造成严重损坏。雷击可分为直接和间接两类,其中间接影响是由于感应能量耦合到靠近雷击位置的物体。间…...

JAVA泛型和顺序表ArrayList

目录 泛型 泛型的定义: 泛型的实例化: 泛型的使用: 顺序表ArrayList 顺序表ArrayList的两种实例化方法: ArrayList常用的方法: 1. add 方法 2. size ( ) 方法 3. get 方法 4. set 方法 5. 顺序表的三种遍历元素的方法…...

Qt桌面应用开发 第六天(鼠标事件 定时器事件 定时器类 事件分发器 事件过滤器)

目录 1.1鼠标进入和离开enterEvent\leaveEvent 1.2鼠标按下释放和移动mousePressEvent\mouseReleaseEvent\mouseMoveEvent 1.3定时器事件timerEvent 1.4定时器类QTimer 1.5事件分发器event 1.6事件过滤器eventFilter 1.1鼠标进入和离开enterEvent\leaveEvent 事件&#x…...

Javascript高级—深入JS模板字符串的高级用法

深入JS模板字符串的高级用法:解锁动态内容生成的无限可能 在JavaScript编程中,模板字符串(Template Literals)自ES6(ECMAScript 2015)引入以来,就以其简洁、直观的特性迅速成为开发者们生成动态…...

14. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--章节总结

本章重点介绍了如何在一个简单的系统中实现基本的权限管理功能。通过构建一个简单的权限控制模型,章节阐述了如何为用户分配权限,并在应用程序中进行访问控制。 一、关键要点: 1. 用户管理(登录/注册/Token) 本章节聚…...

vulhub之fastjson

fastjson 1.2.24 反序列化 RCE 漏洞(CVE-2017-18349) 漏洞简介 什么是json json全称是JavaScript object notation。即JavaScript对象标记法,使用键值对进行信息的存储。举个简单的例子如下: {"name":"BossFrank", "age":23, "isDevel…...

2024年亚太地区数学建模大赛D题-探索量子加速人工智能的前沿领域

量子计算在解决复杂问题和处理大规模数据集方面具有巨大的潜力,远远超过了经典计算机的能力。当与人工智能(AI)集成时,量子计算可以带来革命性的突破。它的并行处理能力能够在更短的时间内解决更复杂的问题,这对优化和…...

卷积神经网络各层介绍

目录 1 卷积层 2 BN层 3 激活层 3.1 ReLU(Rectified Linear Unit) 3.2 sigmoid 3.3 tanh(双曲正切) 3.4 Softmax 4 池化层 5 全连接层 6 模型例子 1 卷积层 卷积是使用一个卷积核(滤波器)对矩阵进…...

Python应用指南:高德拥堵延时指数

随着城市化进程的加快,交通拥堵问题日益严重,成为影响城市居民生活质量的重要因素之一。为了科学评估和管理交通拥堵,各种交通拥堵指数应运而生。其中,高德地图提供的“拥堵延时指数”因其数据丰富、实时性强和应用广泛而备受关注…...

ISO 21434标准:汽车网络安全管理的利与弊

ISO 21434标准在提升汽车网络安全性方面起到了重要作用,但任何标准都不是完美无缺的,ISO 21434标准也存在一些不足之处。以下是对其不足之处的分析: 一、标准的灵活性与适应性 缺乏具体技术细节:ISO 21434标准更多地提供了网络安…...

无插件H5播放器EasyPlayer.js视频流媒体播放器如何开启electron硬解码Hevc(H265)

在数字化时代,流媒体播放器技术正经历着前所未有的变革。随着人工智能、大数据、云计算等技术的融合,流媒体播放器的核心技术不断演进,为用户提供了更加丰富和个性化的观看体验。 EasyPlayer.js H5播放器,是一款能够同时支持HTTP、…...

excel版数独游戏(已完成)

前段时间一个朋友帮那小孩解数独游戏,让我帮解,我看他用电子表格做,只能显示,不能显示重复,也没有协助解题功能,于是我说帮你做个电子表格版的“解题助手”吧,不能直接解题,但该有的…...

接口上传视频和oss直传视频到阿里云组件

接口视频上传 <template><div class"component-upload-video"><el-uploadclass"avatar-uploader":action"uploadImgUrl":on-progress"uploadVideoProcess":on-success"handleUploadSuccess":limit"lim…...

Arcgis 地图制作

地图如下,不同历史时期&#xff1a;...

【每日一题1121】python校招笔试题、面试题

1、Python字符串不是通过NUL或者’\0’来结束的 C语言中字符串使用’\0’作为结束符&#xff0c;以防止越界。但是在python中&#xff0c;字符串值只包含所定义的东西。 2、执行以下程序&#xff0c;输出结果为&#xff08;&#xff09; class Base(object):count 0def __in…...

Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现

Spring Boot Vue 基于 RSA 的用户身份认证加密机制实现 什么是RSA&#xff1f;安全需求介绍前后端交互流程前端使用 RSA 加密密码安装 jsencrypt库实现敏感信息加密 服务器端生成RSA的公私钥文件Windows环境 生成rsa的公私钥文件Linux环境 生成rsa的公私钥文件 后端代码实现返…...

Docker搭建有UI的私有镜像仓库

Docker搭建有UI的私有镜像仓库 一、使用这个docker-compose.yml文件&#xff1a; version: 3services:registry-ui:image: joxit/docker-registry-ui:2.5.7-debianrestart: alwaysports:- 81:80environment:- SINGLE_REGISTRYtrue- REGISTRY_TITLEAtt Docker Registry UI- DE…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...