当前位置: 首页 > 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…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...