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 数据…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...
