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

【2024APMCM亚太杯A题】详细解题思路

A题 复杂场景下的水下图像增强研究

  • 解题思路
    • 问题一
      • 图像统计分析技术
        • 一、检测 偏色 的技术
        • 二、检测 弱光 的技术
        • 三、检测 模糊 的技术
    • 聚类算法
  • 问题二
  • 问题三
  • 问题四
  • 完整论文与代码

解题思路

在这里插入图片描述

问题一

问题 1:请使用类似上文提到的图像统计分析技术,对附件 1 提供的水下图像进行多角度分析。将附件 1 提供的图像分为偏色、弱光、模糊三类,并在“Answer.xls”附件中三个位置填写文件名,并说明这样分类的原因
在这里插入图片描述

图像统计分析技术

除了文中提到的直方图和边缘算子,以下是一些常见的图像统计分析技术,这些技术可用于对水下图像或其他图像进行深入分析:

  • 灰度共生矩阵(GLCM)
    用于分析图像的纹理特征,通过统计像素灰度值之间的空间关系提取特征,例如对比度、能量、熵和相关性。
  • 频域分析
    通过傅里叶变换将图像从空间域转换到频域,分析图像的频率分布,例如低频区域用于检测整体亮度分布,高频区域用于检测边缘和纹理。
  • 颜色空间转换与分析
    将图像从RGB空间转换到其他颜色空间(如HSV、Lab),分析亮度、饱和度和色调的分布,用于处理水下光照和色彩失真的问题。
  • 梯度计算
    利用梯度算子(如Sobel、Prewitt、Scharr)计算图像的梯度强度和方向,以检测边缘清晰度和形状特征。
  • 熵计算
    图像熵用于量化图像中信息的复杂度。熵越高,表示图像信息越丰富,随机性越高。
  • 小波变换
    通过小波分解图像,分析其不同尺度的细节和纹理特征,用于检测图像的细节信息和去噪处理。
  • 边缘分割和轮廓分析
    应用Canny、Laplacian等边缘检测算子,通过统计物体轮廓的长度、面积或形状,获取图像中目标的结构信息。
  • 光流分析
    用于动态图像或视频中,统计像素的运动信息(如方向和速度),评估水下物体移动的轨迹。
  • 直方图均衡化与统计
    分析图像亮度值分布,检查亮度均匀性并评估对比度调整的效果。
  • 图像特征点统计
    通过特征点检测算法(如SIFT、SURF、ORB)统计图像中的关键点密度和分布,用于评估图像质量或检测关键区域。
  • 噪声分布分析
    分析图像中的噪声类型(高斯噪声、椒盐噪声等)及其强度,确定去噪处理的必要性和方法。
  • 形态学分析
    使用数学形态学操作(如腐蚀、膨胀、开运算和闭运算)分析图像结构和目标物体的形态特征。
  • 亮度对比分析
    统计图像中明暗区域的分布比例,分析亮度对比度是否适合人眼感知。
一、检测 偏色 的技术

1.颜色直方图分析
统计不同通道(R、G、B或HSV空间中的H通道)的颜色分布,检查颜色是否集中在某一特定通道上。例如,偏蓝或偏绿色可能是水下图像常见的偏色情况。
2.颜色空间转换与分析
转换到Lab或YUV颜色空间,分析亮度(L通道)和色彩信息(a、b通道)的偏移程度。Lab颜色空间中的a、b分量可以直观反映色彩失衡。
3.白平衡检测
计算图像中灰度均衡性是否异常,例如通过灰度世界假设(Gray World Assumption)检测整体色彩是否失衡。
4.颜色饱和度检测
在HSV颜色空间中分析S通道分布。如果S值异常集中或过低,可能暗示偏色情况。

二、检测 弱光 的技术

1.亮度直方图分析
分析图像灰度分布或亮度分布(Y通道、L通道或HSV的V通道)。当亮度值集中在低范围时,可以判定图像为弱光。
2.对比度测量
使用亮度对比度公式(如对比度=亮度最大值与最小值的差值)检测整体对比度。弱光图像通常对比度较低。
3.熵计算
弱光图像的信息熵较低,因为暗区像素分布单一,图像信息不丰富。
4.伽马分布分析
检测亮度分布曲线是否偏向低值区域,低伽马值可能表明弱光问题。
5.动态范围分析
检查图像的动态范围(即亮度值从最低到最高的跨度)。弱光图像动态范围通常较窄。

三、检测 模糊 的技术

1.梯度分布统计
使用梯度算子(如Sobel、Prewitt)统计图像中梯度值的分布情况。模糊图像通常梯度强度较低,边缘模糊。
2.拉普拉斯方差分析
计算图像的拉普拉斯算子方差。如果方差值过低,说明图像的清晰度较差。
3.频域分析
对图像进行傅里叶变换,分析高频分量的分布。模糊图像高频成分衰减显著。
4.边缘检测结果统计
使用Canny或其他边缘检测算法统计边缘数量和清晰度。如果边缘数量明显减少或边缘较软,则可能是模糊图像。
5.对比度梯度分析(Contrast Gradient Analysis)
模糊图像的局部对比度梯度变化较小,清晰度低。
6.视觉感知清晰度模型(VSI)
通过视觉感知清晰度指数(Visual Saliency Index)分析图像模糊程度,模拟人眼感知。

聚类算法

将所有特征进行值计算出来,进行聚类算法。
在这里插入图片描述
在这里插入图片描述

问题二

基于问题 1 中提出的退化类型,利用问题中提供的水下成像模型,构建附有图像的水下场景图像退化模型。分析不同场景 [1] 拍摄的水下图像的退化原因(包括但不限于偏色、弱光等)。分析这些退化模型的相同点或不同点(例如,从颜色、光照、清晰度等角度进行分类)。

  1. 偏色
    偏色主要由水对不同波长光的吸收和散射导致。由于水对红光吸收更强、对蓝光吸收较弱,深水区域通常会出现偏蓝或偏绿色现象。
    原因分析:
    水深:光吸收随着水深增加,红光消失,绿光和蓝光主导。
    水体成分:悬浮颗粒和有机物会改变光的散射特性。
    环境光变化:水下环境光随光源类型、光照强度和方向变化。
  2. 弱光
    弱光由环境光随深度衰减和光散射引起,导致整体亮度降低。
    原因分析:
    光照强度不足:在深水或阴影区域,光线衰减较快。
    后向散射分量:增加了散射光线,导致环境光的有效亮度降低。
    光透射率变化:水体浑浊度降低了光传递到目标的能力。
  3. 模糊
    模糊通常是由前向散射引起的。光线被悬浮颗粒散射后进入成像系统,形成模糊的视觉效果。
    原因分析:
    悬浮颗粒的浓度:颗粒密度增加会导致更多的前向散射。
    物体与相机的距离:距离越远,散射效应越显著,导致图像模糊。
    在这里插入图片描述
    具体退化类型的影响可以通过调整参数进行模拟:
    1.偏色:在 J(x)中增加颜色吸收模型(对 R/G/B 三通道的光强分别进行非线性衰减)。
    在这里插入图片描述

2.弱光:降低环境光 B 的强度,同时调整透射率 t(x) 使整体亮度衰减。
弱光表现为整体亮度降低,常由环境光衰减、后向散射等引起。弱光退化可以通过调整环境光强度 B 和透射率 t(x) 来模拟。
在这里插入图片描述
3.模糊:加入基于前向散射的点扩散函数(PSF),模拟悬浮颗粒散射导致的模糊效果。
在这里插入图片描述

问题三

问题 3:基于问题 2 中建立的水下场景图像退化模型,提出针对单一场景(如偏色、模糊、弱光)量身定制的水下图像增强方法,并使用附件中提供的图像数据验证所提出的增强方法。将附件 2 中的测试图像的增强结果及其对应的评价指标纳入论文中,计算并呈现输出图像的 PSNR、UCIQE、UIQM 等评价指标,并填入“Answer.xls”中提供的附件 1 结果表格中。

增强方法:基于颜色校正与光照补偿的多阶段方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
偏色校正:

  • 使用光吸收补偿模型恢复不同波长的光信息。
  • 动态白平衡增强整体颜色均衡性。
    亮度补偿:
  • CLAHE 和伽马校正提高暗区域的亮度和对比度。
    视觉优化:
  • 高斯滤波器和 Retinex 进一步平滑颜色过渡,并增强细节。

问题四

现有的水下图像增强模型在不同场景下的建模适应性存在差异。请结合上述问题和附件中提供的图像,提出一种针对复杂场景的水下图像增强模型(例如非物理模型,可参考文献[2]-[5]),该模型应能够增强多种复杂场景下的水下图像退化问题。将附件2中测试图像的增强结果及其对应的评价指标纳入论文展示,计算并输出输出图像的PSNR、UCIQE、UIQM等评价指标,并填入“Answer.xls”中附件2结果表格中。

提出一种联合优化网络 (Joint Optimization Network, JONet),包括以下模块:
1.多通道特征提取模块(MCFE)
用于捕获不同通道的颜色、纹理和亮度特征。
2.全局与局部增强模块(GLE-LFE)
用于处理光照不均和局部模糊问题。
3.多任务损失函数(MTL)
联合优化图像的颜色校正、对比度增强和清晰度。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 训练数据:使用公开水下图像数据集(如 UIEB 数据集)和生成的合成退化图像。
  • 训练过程:
  • 数据增强:包括模拟偏色、弱光和模糊退化。
  • 优化器:使用 Adam 优化器,学习率设置为 10^{-4}。
  • 推理过程:输入退化图像,直接输出增强图像 I′(x)。
    在这里插入图片描述

完整论文与代码

完成解题思路,以及完整论文代码请看下方~

相关文章:

【2024APMCM亚太杯A题】详细解题思路

A题 复杂场景下的水下图像增强研究 解题思路问题一图像统计分析技术一、检测 偏色 的技术二、检测 弱光 的技术三、检测 模糊 的技术 聚类算法 问题二问题三问题四完整论文与代码 解题思路 问题一 问题 1:请使用类似上文提到的图像统计分析技术,对附件 …...

用 React18 构建Tic-Tac-Toe(井字棋)游戏

下面是一个完整的 Tic-Tac-Toe(井字棋)游戏的实现,用 React 构建。包括核心逻辑和组件分离,支持两人对战。 1. 初始化 React 项目: npx create-react-app tic-tac-toe cd tic-tac-toe2.文件结构 src/ ├── App.js…...

数据结构及算法--排序篇

在 C 语言中,可以通过嵌套循环和比较运算符来实现常见的排序算法,比如冒泡排序、选择排序或插入排序 目录 基础算法: 1.冒泡排序(Bubble Sort) 2.选择排序(Selection Sort) 3.插入排序&…...

泷羽sec学习打卡-网络七层杀伤链1

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于蓝队基础的那些事儿-Base1 基本的企业网络架构是怎样的呢?高层管理IT管理影子IT中央技术…...

【QT】绘图

个人主页~ 绘图 一、绘图1、基础内容2、绘制形状(1)线段(2)矩形(3)圆形(4)文本(5)画笔(6)画刷 3、绘制图片(1)…...

vue3+elementui-plus el-dialog全局配置点击空白处不关闭弹窗

在与main.ts同级下的plugins文件夹(如果没有,新建一个)下建一个element.js文件(名字随便取) element.js文件内容如下: import ElementPlus from element-plus export default (app) > {console.log(app…...

Markdown语法说明

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…...

推荐一款专业电脑护眼工具:CareUEyes Pro

CareUEyes Pro是一款非常好用的专业电脑护眼工具,软件小巧,界面简单,它可以自动过滤电脑屏幕的蓝光,让屏幕显示更加的不伤眼,更加舒适,有效保护你的眼睛,可以自定义调节屏幕的色调,从…...

对subprocess启动的子进程使用VSCode python debugger

文章目录 1 情况概要(和文件结构)2 具体设置和启动步骤2.1 具体配置Step 1 针对attach debugger到子进程Step 2 针对子进程的暂停(可选) Step 3 判断哪个进程id是需要的子进程 2.2 启动步骤和过程 3 其他问题解决3.13.2 ptrace: Operation not permitted…...

Django启用国际化支持(2)—实现界面内切换语言:activate()

文章目录 ⭐注意⭐1. 配置项目全局设置:启用国际化2. 编写视图函数3. 配置路由4. 界面演示5、扩展自动识别并切换到当前语言设置语言并保存到Session设置语言并保存到 Cookie ⭐注意⭐ 以下操作依赖于 Django 项目的国际化支持。如果你不清楚如何启用国际化功能&am…...

基于单片机的多功能跑步机控制系统

本设计基于单片机的一种多功能跑步机控制系统。该系统以STM32单片机为主控制器,由七个电路模块组成,分别是:单片机模块、电机控制模块、心率检测模块、音乐播放模块、液晶显示模块、语音控制模块、电源模块。其中,单片机模块是整个…...

VSCode 如何选中包含某个字母的所有行

文章目录 写在前面一、需求描述二、解决方法参考链接 写在前面 自己的测试环境:VSCode 一、需求描述 由于需要处理文件,需求是删除文件中包含某个字母的所有行。 二、解决方法 在 Visual Studio Code (VSCode) 中,如果你想选中所有包含某…...

CSRF保护--laravel进阶篇

laravel对csrf非常重视,专门针对csrf作出了很多的保护。如果您是刚刚接触laravel的路由不久,那么您可能对于web.php路由文件的post请求很疑惑,因为get请求很顺利,而post请求则可能会遭遇失败。其中一个失败的原因是由于laravel的c…...

计算机网络-理论部分(二):应用层

网络应用体系结构 Client-Server客户-服务器体系结构:如Web,FTP,Telnet等Peer-Peer:点对点P2P结构,如BitTorrent 应用层协议定义了: 交换的报文类型,请求or响应报文类型的语法字段的含义如何…...

k8s1.31版本最新版本集群使用容器镜像仓库Harbor

虚拟机 rocky9.4 linux master node01 node02 已部署k8s集群版本 1.31 方法 一 使用容器部署harbor (1) wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum -y install docker-ce systemctl enable docker…...

QT中使用json格式存取矩阵数据

在 Qt 中,可以通过 QJsonDocument 和 QJsonArray 方便地存取 JSON 格式的矩阵数据。以下是存储和读取矩阵数据的完整实现示例。 1. 矩阵存储为 JSON 将矩阵(QVector<QVector<double>> 或其他二维数组)存储为 JSON 文件。 实现代码 #include <QJsonArray&g…...

k8s 集群安装

安装rockylinux https://www.jianshu.com/p/a5fe20318b8e https://www.cnblogs.com/haoee/p/18290506 配置VirtualBox双网卡 https://www.cnblogs.com/ShineLeBlog/p/17580311.html https://zhuanlan.zhihu.com/p/341328334 https://blog.csdn.net/qq_36544785/article/deta…...

Elasticsearch面试内容整理-核心概念与数据模型

在 Elasticsearch 中,理解核心概念与数据模型是非常重要的,因为它们定义了数据如何被组织、存储和搜索。以下是 Elasticsearch 的核心概念和数据模型的详细介绍。 核心概念 集群(Cluster) ● 集群是由一个或多个节点组成的,用于共同存储和搜索数据的集合。...

Spring Boot实现License生成和校验

Spring Boot实现License生成和校验 证书准备 # 1. 生成私钥库 # validity&#xff1a;私钥的有效期&#xff08;天&#xff09; # alias&#xff1a;私钥别称 # keystore&#xff1a;私钥库文件名称&#xff08;生成在当前目录&#xff09; # storepass&#xff1a;私钥库密码…...

es写入磁盘的过程以及相关优化

数据写入到内存buffer同时写入到数据到translog buffer,这是为了防止数据不会丢失每隔1s数据从buffer中refresh到FileSystemCache中,生成segment文件,这是因为写入磁盘的过程相对耗时,借助FileSystemCache,一旦生成segment文件,就能通过索引查询到了refresh完,memory bu…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...