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):同上

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

准备阶段 AssetChecker性能分析工具的使用

UPR资源检测工具AssetChecker的使用 AssetChecker主要功能 支持所有版本的Unity项目 不依赖UnityEditor,无需安装绿色运行 检测速度极快,可在UPR中查看结果和修改建议 支持命令模式,可以CI/CD工具集成,实现自动化检测 检测库持续更新 支持A…

【Python】分割秘籍!掌握split()方法,让你的字符串处理轻松无敌!

在Python开发中,字符串处理是最常见也是最基础的任务之一。而在众多字符串操作方法中,split()函数无疑是最为重要和常用的一个。无论你是Python新手,还是经验丰富的开发者,深入理解并熟练运用split()方法,都将大大提升…

数字图像处理(4):FPGA中的定点数、浮点数

(1)定点数:小数点固定在数据的某一位置的数,可以分为定点整数和定点小数和普通定点数。定点数广泛应用于数字图像处理(图像滤波、图像缩放)和数字信号处理(如FFT、定点卷积)中。 定…

重新定义社媒引流:AI社媒引流王如何为品牌赋能?

在社交媒体高度竞争的时代,引流已经不再是单纯追求流量的数字游戏,而是要找到“对的用户”,并与他们建立真实的连接。AI社媒引流王通过技术创新和智能策略,重新定义了社媒引流的方式,帮助品牌在精准触达和高效互动中脱…

tcp/ip异常断开调试笔记——lwip

问题一:异常掉线 异常断开模拟 1、单片机端做服务端(只监听一个客户端),电脑做客户端连接 2、尝试连接确定通信正常,断开网线。电脑客户端点击断开 3、经过一段时间(超过tcp/ip 3次握手时间&#xff09…

【大数据学习 | Spark-Core】Spark的改变分区的算子

当分区由多变少时,不需要shuffle,也就是父RDD与子RDD之间是窄依赖。 当分区由少变多时,是需要shuffle的。 但极端情况下(1000个分区变成1个分区),这时如果将shuffle设置为false,父子RDD是窄依赖关系&…

低速接口项目之串口Uart开发(二)——FIFO实现串口数据的收发回环测试

本节目录 一、设计思路 二、loop环回模块 三、仿真模块 四、仿真验证 五、上板验证 六、往期文章链接本节内容 一、设计思路 串口数据的收发回环测试,最简单的硬件测试是把Tx和Rx连接在一起,然后上位机进行发送和接收测试,但是需要考虑到串…

C#基础上机练习题

21.计算500-800区间内素数的个数cn,并按所求素数的值从大到小的顺序排列,再计算其间隔加、减之和,即第1个素数-第2个素数第3个素数-第4个素数第5个素数……的值sum。请编写函数实现程序的要求,把结果cn和sum输出。 22.在三位整数…

2024年11月25日Github流行趋势

项目名称:flux 项目维护者:timudk jenuk apolinario zeke thibautRe项目介绍:FLUX.1模型的官方推理仓库。项目star数:17,381项目fork数:1,229 项目名称:screenshot-to-code 项目维护者:abi cle…

运维Tips:Docker或K8s集群拉取Harbor私有容器镜像仓库配置指南

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] Docker与Kubernetes集群拉取Harbor私有容器镜像仓库配置 描述:在现在微服务、云原生的环境下,通常我们会在企业中部署Docker和Kubernetes集群,并且会在企业内部搭建Harbor私有镜像仓库以保证开发源码安全,以及加快…

Qt:信号槽

一. 信号槽概念 信号槽 是 Qt 框架中一种用于对象间通信的机制 。它通过让一个对象发出信号,另一个对象连接到这个信号的槽上来实现通信。信号槽机制是 Qt 的核心特性之一,提供了一种灵活且类型安全的方式来处理事件和数据传递。 1. 信号的本质 QT中&a…

《硬件架构的艺术》笔记(七):处理字节顺序

介绍 本章主要介绍字节顺序的的基本规则。(感觉偏软件了,不知道为啥那么会放进《硬件架构的艺术》这本书)。 定义 字节顺序定义数据在计算机系统中的存储格式,描述存储器中的MSB和LSB的位置。对于数据始终以32位形式保存在存储器…

【Linux】内核的编译和加载

Linux内核是操作系统的核心,负责管理系统的硬件资源,并为用户空间的应用程序提供必要的服务。内核的编译和加载是操作系统开发和维护的重要环节。本文将详细介绍Linux内核的编译过程以及如何加载内核到系统中。 1. 引言 Linux内核的编译是一个复杂的过…

【Linux】DHCP服务实验

DHCP实验 实验前提 1、两个linux操作系统,一个为服务器端,一个为客户端 2、两个操作系统设置为仅主机模式 3、在客户端-虚拟网络编辑器-仅主机模式VMnet1-关闭DHCP 实验步骤 新建虚拟机

2022年计算机网络408考研真题解析

第一题: 解析:网络体系结构-数据链路层 在ISO网络参考模型中,运输层,网络层和数据链路层都实现了流量的控制功能,其中运输层实现的是端到端的流量控制,网络层实现的是整个网络的流量控制,数据链…

详解 【AVL树】

AVL树实现 1. AVL的概念AVL树的实现2.1 AVL树的结点结构2.2 AVL树的插入2.2.1 AVL树的插入的一个大概操作:2.2.2 AVL树的平衡因子更新2.2.3 平衡因子的停止条件2.2.4 再不考虑旋转的角度上实现AVL树的插入 2.3 旋转2.3.1 旋转的原则2.3.2 右单旋2.2.3 右单旋代码实现…

Python 爬虫从入门到(不)入狱学习笔记

爬虫的流程:从入门到入狱 1 获取网页内容1.1 发送 HTTP 请求1.2 Python 的 Requests 库1.2 实战:豆瓣电影 scrape_douban.py 2 解析网页内容2.1 HTML 网页结构2.2 Python 的 Beautiful Soup 库 3 存储或分析数据(略) 一般爬虫的基…

一区北方苍鹰算法优化+创新改进Transformer!NGO-Transformer-LSTM多变量回归预测

一区北方苍鹰算法优化创新改进Transformer!NGO-Transformer-LSTM多变量回归预测 目录 一区北方苍鹰算法优化创新改进Transformer!NGO-Transformer-LSTM多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab NGO-Transformer-LST…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第二十集:制作专门渲染HUD的相机HUD Camera和画布HUD Canvas

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、制作HUD Camera以及让两个相机同时渲染屏幕二、制作HUD Canvas 1.制作法力条Soul Orb引入库2.制作生命条Health读入数据3.制作吉欧统计数Geo Counter4.制作…

Opencv+ROS自编相机驱动

目录 一、工具 二、原理 代码 标定 三、总结 参考: 一、工具 opencv2ros ubuntu18.04 usb摄像头 二、原理 这里模仿usb_cam功能包对Opencv_ros进行修饰,加上相机参数和相机状态,难点在于相机参数的读取。 对于相机参数话题 camera…