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

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...