2024年亚太地区数学建模大赛A题-复杂场景下水下图像增强技术的研究
复杂场景下水下图像增强技术的研究
对于海洋勘探来说,清晰、高质量的水下图像是深海地形测量和海底资源调查的关键。然而,在复杂的水下环境中,由于光在水中传播过程中的吸收、散射等现象,导致图像质量下降,导致模糊、低对比度、颜色失真等。这些情况被称为水下图像退化。水下图像退化的主要原因包括光在水中的传播损失、前向散射和后向散射效应,以及悬浮粒子对光[5]的散射效应。
这些因素共同导致了水下图像在传输过程中细节和清晰度的损失,影响了视觉识别和分析。
水下成像过程的示意图如图2所示。根据贾夫-麦格拉默里水下成像模型,该相机捕获的水下图像可以表示为三个分量的线性组合:直接分量、前向散射分量和后向散射分量[1]。其中,前向散射分量是指由目标表面反射或辐射在水中被悬浮粒子散射后进入成像系统的光。此组件将导致所获得的图像出现模糊。后向散射分量是指进入水中的自然光被悬浮粒子散射后进入成像系统的光,导致所获得的图像对比度较低。在一般情况下,由于物体和相机之间的距离很近,因此使用了简化的成像模型
式中,I (x)表示退化的水下图像,J (x)表示清晰的图像,B为水下环境中的环境光,t (x)为水下场景的透光函数。不同条件下的光传输率也不同。同时,水下环境光也随深度和水浊度等因素的变化而变化,这些都会导致水下图像的退化增加。
在对水下图像进行增强等处理操作之前,需要对待处理的图像进行统计分析,如图3所示。图像分析通常利用数学模型与图像处理技术相结合来分析底层特征和高级结构,从而提取智能信息。例如,使用直方图可以统计分析图像中不同通道中的颜色分布,而应用边缘运算符可以提供关于图像中物体轮廓的清晰度信息。这些信息帮助我们将图像分类为不同的类别,并提出有针对性的图像增强解决方案。
水下图像增强技术是一种通过应用信号处理、图像处理和机器学习理论来提高在水下环境中捕获的图像质量的技术。它的目的是减少由于在水中对光的吸收和散射而引起的图像模糊、颜色失真和对比度降低等问题,从而提高水下图像的能见度和清晰度
水下图像的增强和恢复方法可以分为传统的方法和深度学习方法。传统的方法可以进一步分为非物理模型和基于物理的模型。非物理模型方法通过直接调整图像的像素值来提高视觉质量,包括应用现有的图像增强方法和特殊设计的算法。基于物理的模型方法通过建模和估计参数来反转水下图像的退化过程。这些方法可以基于假设或先验知识进行反演,也可以利用水下成像的光学特性来改善恢复后的图像。然而,由于水下场景的复杂性,大多数现有的方法都不能处理所有的场景。因此,针对复杂场景的水下场景增强算法对于水下视觉的后续任务具有重要意义
为了评估不同场景下水下图像的退化程度并提供有针对性的增强方法,请回答以下问题:
问题1:请使用与上述文本的图像统计分析技术对附件1提供的水下图像进行多角度分析。将附件1中提供的图像分为三类:颜色投射、弱光和模糊,并在“Answer.xls”附件中的三个位置填写文件名。另外,也解释了这种分类的原因。
问题2:基于问题1中提出的退化类型,利用问题中提供的水下成像模型,构建一个附加图像的水下场景图像退化模型。分析从不同场景[1](包括但不限于彩色投射、低光等)捕获的水下图像的退化原因。分析这些退化模型的相似之处(例如,从颜色、照明、清晰度等角度进行分类)。
问题3:基于问题2中建立的水下场景图像退化模型,提出了一种针对单一场景(如颜色投射、模糊、低光等)的水下图像增强方法,并利用附件中提供的图像数据对所提出的增强方法进行了验证。包括附件2中测试图像的增强结果及其相应的评价指标,计算并呈现输出图像的PSNR、UCIQE、UIQM等评价指标,并填写在“Answer.xls”提供的结果附件1表中
问题4:现有水下图像增强模型的建模适应性在不同场景中而异。请结合上述问题和附件中提供的图像,提出一个为复杂场景定制的水下图像增强模型(例如,非物理模型,可参考[2]-[5])。该模型应该能够在各种复杂的场景中增强水下图像的退化问题。将附件2中测试图像的增强结果及其相应的评价指标纳入本文,以显示、计算和输出输出图像的PSNR、UCIQE、UIQM等评价指标,并填写到“Answer.xls”提供的附件2表中。
问题5:将特定场景的各种增强技术与复杂场景的单一增强技术进行比较,并在实际应用中提出水下视觉增强的可行性建议
附录:水下图像评价指标:PSNR(峰值信噪比)、UCIQE(水下彩色图像质量评价)和UIQM(水下图像质量测量)是用于评估图像质量的关键指标。下面是对这三个指标的计算方法的全面描述。PSNR(峰值信噪比):PSNR是测量图像质量的客观标准,它计算原始图像与处理图像之间的均方误差(MSE),并将其转换为分贝单位来测量图像质量。UCIQE(水下彩色图像质量评价):UCIQE[9]是颜色密度、饱和度和对比度的线性组合,用于定量评价水下图像的不均匀色铸型、模糊度和低对比度。它是一个图像质量评估度量,不需要一个参考(地面真实)图像。具体的定义如下
相关文章:

2024年亚太地区数学建模大赛A题-复杂场景下水下图像增强技术的研究
复杂场景下水下图像增强技术的研究 对于海洋勘探来说,清晰、高质量的水下图像是深海地形测量和海底资源调查的关键。然而,在复杂的水下环境中,由于光在水中传播过程中的吸收、散射等现象,导致图像质量下降,导致模糊、…...

shell与QQ邮箱的连接
1.下载软件:yum install s-nail 2.配置文件:vim /etc/s-nail.rc 末尾添加此三行,加入QQ邮箱和验证码 3.验证码位于QQ邮箱安全管理内,进行复制粘贴 4.测试发消息给本地邮箱:echo "要发送的内容" | mail …...

11.21 深度学习-tensor常见操作
import torch from PIL import Image from torchvision import transforms # 获取元素值 tensor.item() 返回一个数值 只能是tensor里面有一个数字的 # 我们可以把单个元素tensor转换为Python数值,这是非常常用的操作 # tensor 里面超过了1个数字就不行 def g…...

【MySQL课程学习】:MySQL安装,MySQL如何登录和退出?MySQL的简单配置
🎁个人主页:我们的五年 🔍系列专栏:MySQL课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 MySQL在Centos 7环境下的安装: 卸载…...

基于官网的Vue-router安装(2024/11)
!!!首先声明,官网很重要。其次,不知道为啥,我不会安装时看不懂官网,会了之后就能看懂了。 官网地址:https://router.vuejs.org/zh/guide/ 1.npm安装 npm install vue-router4 官方貌…...

未来已来:少儿编程竞赛聚焦物联网,激发创新潜力
随着人工智能与物联网技术(IoT)的快速发展,少儿编程教育正在迎来新的变革浪潮。近年来,各类少儿编程竞赛纷纷增加了物联网相关主题,要求学生结合编程知识和硬件设备设计智能家居、智慧城市等创新项目。这一趋势不仅丰富…...

archlinux安装waydroid
目录 参考资料 注意 第一步切换wayland 第二步安装binder核心模组 注意 开始安装 AUR安裝Waydroid 启动waydroid 设置网络(正常的可以不看) 注册谷歌设备 安装Arm转译器 重启即可 其他 参考资料 https://ivonblog.com/posts/archlinux-way…...

Oralce数据库巡检SQL脚本
文章目录 Oralce数据库巡检SQL脚本1 检查表空间使用情况2 检查是否有 offline 状态的表空间3 在线日志是否存在小于 50M 的及状态不正常4 检查锁阻塞5 查看是否有僵死进程6 检查是否有失效索引7 检查不起作用的约束8 缓冲区命中率9 数据字典命中率10 库缓存命中率11 内存中的排…...

CentOS使用中遇到的问题及解决方法
一、CentOS 7网络配置(安装后无法联网问题) 现象说明 在安装CentOS系统后,有可能出现无法联网的问题,虚拟机中的网络配置并没有问题,而系统却无法联网,也ping不通。 原因描述 CentOS默认开机不启动网络,因…...

ThinkPad t61p 作SMB服务器,打印服务器,pc ,android ,ipad利用此服务器互传文件
1.在t61p上安装win7 2,配置好smb 服务 3.再安装好打印驱动程序 4.pc与win7利用系统的网络互相发现,映射为硬盘使用。 5.android,ipad安装ES文件浏览器访问win7 共享文件夹,互传文件。 6.android手机安装FE文件浏览器,可以利用花生壳外网…...

php:使用Ratchet类实现分布式websocket服务
一、前言 最近需要做一个有关聊天的小程序,逻辑很简单,所以不打算用Swoole和workerman之类的,最后选择了Ratchet,因为简单易用,适合小型websocket服务。 二、问题 但是目前我的项目是分布式环境,统一通过Ng…...

储能场站安全风险挑战
电化学储能目前最大的痛点问题就是安全问题,制约了储能行业的发展。 首先:锂作为最活泼的金属加上有机溶剂的电解液,安全性天生就差。基因不行。 其次储能系统的BMS对电池管理相对粗放,不足以保证锂电池的安全运行。 当前储能产业…...

Ubuntu系统为同一逻辑网口配置不同网段的IP
近期遇到一个问题:机载计算机的载版上有两个网口,但是这两个网口本质上是一个独立网口一个交换机,即对于机载计算机而言这两个物理网口是同一个逻辑网口。但是我需要将这两个网口分别连接到两个设备,并配置不同网段的IP࿰…...

MySQL出现Waiting for table metadata lock的原因以及解决方法(已亲测)
参考:MySQL出现Waiting for table metadata lock的原因以及解决方法 - digdeep - 博客园 当对表执行truncate\drop 操作时,会出现一直处于等待的状态,通过show processlist可以看到TableA停滞在Waiting for table metadata lock的状态。kill…...

学会Lambda,让程序Pythonic一点
Lambda是Python里的高阶用法,要把代码写得Pythonic,就需要了解这些高阶用法,想说自己是一名真正的Python程序员,先要把代码写得Pythonic。 今天聊下Lambda的用法,写篇简短的用法说明。 Lambda是匿名函数的意思&#…...

GDPU 信息安全 期末复习
文章目录 第一章 绪论✅ 单选题✅ 简答题6. 假定你是单位的安全主管,为了提高单位的网络安全性,在制定单位的安全保障方案时,有哪些措施(包括技术和非技术的)?9. 有人说只要我有足够多的钱,就可…...

Python 使用 Token 认证方案连接 Kubernetes (k8s) 的详细过程
在 Kubernetes 中,使用 Token 认证是一种常见的客户端身份验证方式,尤其适用于 ServiceAccount。以下是详细的步骤,包括如何查看 Token、获取 API 服务地址、配置远程连接,以及如何在 Python 中连接 k8s。 1. 获取 Token 首先&a…...

【C++】ReadFile概述,及实践使用时ReadFile的速率影响研究
ReadFile 函数概述 ReadFile 是 Windows API 函数,用于从文件或设备(如串口、硬盘等)中读取数据。它是同步和异步 I/O 操作的基础函数。 函数原型 BOOL ReadFile(_In_ HANDLE hFile, // 文件或设备句柄_Out_write…...

Mysql的UPDATE(更新数据)详解
MySQL的UPDATE语句是用于修改数据库表中已存在的记录,本文将详细介绍UPDATE语句的基本语法、高级用法、性能优化策略以及注意事项,帮助您更好地理解和应用这一重要的SQL命令。 1. 基本语法 单表更新 单表更新的基本语法如下: UPDATE [LOW…...

基于Java Springboot高校奖助学金系统
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…...

如何在 Ubuntu 22.04 上安装带有 Nginx 的 ELK Stack
今天我们来聊聊如何在 Ubuntu 22.04 服务器上安装 ELK Stack,并集成 Nginx 作为 Web 服务器,同时使用 Let’s Encrypt Certbot 进行 SSL 认证。ELK Stack,包括 Elasticsearch、Logstash 和 Kibana,是一套强大的工具,用…...

Python爬虫:深入探索1688关键词接口获取之道
在数字化经济的浪潮中,数据的价值愈发凸显,尤其是在电商领域。对于电商平台而言,关键词不仅是搜索流量的入口,也是洞察市场趋势、优化营销策略的重要工具。1688作为中国领先的B2B电商平台,其关键词接口的获取对于商家来…...

Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
目录 一、CA机构 二、Lets Encrypt特点 三、申请SSL 一、CA机构 Lets Encrypt是一个由非营利组织Internet Security Research Group (ISRG)运营的证书颁发机构(CA),旨在通过自动化和开放的方式为全球网站提供免费、可靠的SSL/TLS证书。…...

JSON Web Token (JWT)的简单介绍、验证过程及令牌刷新思路
目录 一、JWT 1、什么是Jwt 2、为什么要使用Jwt 3、应用场景 4.Jwt的组成 4.1、Header 4.2、Payload 4.3、signature 二、Jwt验证过程 1、生成Jwt令牌 2、解析旧的Jwt 3、复制Jwt 4、Jwt有效时间测试 三、Jwt令牌刷新思路 1、配置JwtFilter过滤器 2、登录生成Jwt令…...

xxl-job入门
xxl-job , 定时任务 分布式 , 带来的问题的 解决方案 像之前 很多项目都用到定时任务, 但是如果要改为 分布式, 那么定时任务 就要用到 xxl-job 1.用户画像 拼多多,看了某个东西后,推荐类似东西, 做埋…...

100.【C语言】数据结构之二叉树的堆实现(顺序结构) 1
目录 1.顺序结构 2.示意图 编辑 从物理结构还原为逻辑结构的方法 3.父子节点编号的规律 4.顺序存储的前提条件 5.堆的简介 堆的定义 堆的两个重要性质 小根堆和大根堆 6.堆的插入 7.堆的实现及操作堆的函数 堆的结构体定义 堆初始化函数HeapInit 堆插入元素函…...

大模型 VS 大语言模型
最近很多朋友搞不懂大模型和大预言模型的区别,总是把大模型就认为是大语言模型。 今天就用这篇帖子做一个科普。 大模型 概念:大模型是指拥有超大规模参数(通常在十亿个以上)、复杂计算结构的机器学习模型。它通常能够处理海量数…...

Linux高阶——1117—TCP客户端服务端
目录 1、sock.h socket常用函数 网络初始化函数 首次响应函数 测试IO处理函数 获取时间函数 总代码 2、sock.c SOCKET() ACCEPT()——服务端使用这个函数等待客户端连接 CONNECT()——客户端使用这个函数连接服务端 BIND()——一般只有服务端使用 LISTEN()——服务端…...

【Qt】Qt 在main.cpp中使用tr()函数报错
1. 问题 Qt 在main.cpp中使用tr()报错。 error: tr was not declared in this scope2. 解决方法 main.cpp中注意如下: //添加头文件 #include <QObject>//添加QObject QObject::tr("Hello")3. 参考 Qt tr()函数不起效的小问题...

面向对象高级(5)接口
面向对象高级(5) 接口 接口就是规范,定义的是一组规则,体现了现实世界中“如果是...则必须能...”的思想。继承是一个"是不是"的is-a关系,而接口实现则是 "能不能"的has-a关系。 1、接口的定义格…...