全网独家--【图像色彩增强】方法梳理和问题分析

news2024/12/29 10:46:20

文章目录

  • 图像增强
  • 图像色彩增强
  • 问题
    • 可视化比较
  • 难点
    • 色彩空间大,难以准确表征?
    • 不同场景差异大,难以自适应?
    • 计算量大,但应用场景往往实时性要求高?
  • 方法
    • 传统方法
    • 深度学习
    • 逐像素预测
    • 3D LUT
    • 模仿ISP
  • 个人思考
    • 批判性看待论文工作
    • 速度快
    • 效果好
    • 大模型

图像增强

图像增强是一个非常大的领域,包含去噪,去雾,超分辨率,去模糊,低光照增强,重建等都属于
图像增强!
但我要讨论的方向更具体是:图像色彩增强,区别于低光照增强和水下图像增强!

图像色彩增强

图像色彩增强针对图像色彩进行调整优化,有的文章叫做——图像润色(image retouching),无法去噪,无法在极低光照情况恢复(这种低光照恢复往往伴随着大量噪声,因为颜色已经完全丢失,或大部分丢失,难度更大)。

图像色彩增强的主要评价数据集是:MIT5K,HDR++和PPR10K,有的论文中说是image retouching,也有论文说image enhancement,本质都是对颜色空间的调整优化,使其更符合人类视觉感知!

其中MIT5K数据集是包含低光照处理的,训练和测试图光照降低,有A/B/C/D/E五个专家调色,一般方法都使用C标签进行训练和比较;HDR也是训练图片亮度和色彩都降低;

PPR10K主要是针对人像精修图片,进行精细化的色彩、亮度和曝光的调整,同时数据集中加入了人像的mask用于指导优化训练。

问题

本质上:模型优化调整图片的颜色,亮度和曝光,能让图片和专家的调色结果更加一致!

图像色彩增强还有一个额外的任务,图像色调调整image tone,色调的调整一般使用16bit图片进行训练和XYZ空间评价;

所以训练图片的格式也有区别:润色任务使用sRGB图像格式训练,主要专注色彩和亮度调整,使用C专家标记和PSNR,SSIM,Eab进行评价;色调调色任务使用16bitS的图片进行训练;

可视化比较

在这里插入图片描述
上图分别是sRGB, XYZ空间和gt图片。

原始图像的色彩和亮度都很低,人们的视觉主观感受很差;
中间这张的色调也不好,整体呈现灰蒙蒙和青色,影响对图像中物体的观感!
最右边这张专家标记图片的亮度、色彩和色调都很棒,能清楚看到山丘、草堆,沙石和天空,主观感受也更舒适,用PSNR和SSIM评价结果,前两者的结果很差!

难点

色彩空间大,难以准确表征?

色彩空间是一个庞大的空间数量,不同颜色组合成255x255x255的颜色空间,如果进行逐一统计和建立映射关系,复杂度非常高。
本质上,图像色彩映射是一个复杂度高、非线性和结果多样性的过程!需要模型能够准确映射颜色空间高维度和大数量的颜色关系,构建出高效表征的映射关系。

不同场景差异大,难以自适应?

对于不同场景图片中,同一个颜色会有多种映射结果,这也给色彩映射带来极大的难度和挑战!
不仅要求模型能够适应不同场景的差异映射关系,还要适应同一色彩的不同场景自适应映射;
色彩映射的结果需要自然、符合人类视觉机制,这其实是难度非常大的。

计算量大,但应用场景往往实时性要求高?

图像增强根据其方法不同,计算方式也不同,计算量差距较大。

传统的方法直接计算色彩映射矩阵,使用较少的参数实现色彩映射,计算量小;
但深度模型后的GAN生成网络和FCN逐像素预测的网络模型,计算量大,训练复杂,限制了实用性;
基于颜色迁移函数拟合的深度学习,通过预测少量的映射函数,能达到计算量小、效果好!

方法

传统方法

使用线性或者非线性方程拟合颜色映射关系。
最典型的是:曲线色彩映射图,2D lut;

  • Color Transfer Using Probabilistic Moving Least Squares
  • Example-Based Image Color and Tone Style Enhancement
  • Learning Photographic Global Tonal Adjustment with a Database of Input / Output Image Pairs

深度学习

色彩映射方程拟合
zero-DCE(比较经典的方法,多级拟合和2D曲线映射)
CSNet——CSRNet-Conditional Sequential Modulation for Efficient Global image Retouching

逐像素预测

GAN-based

  • 《DPE-Deep Photo Enhancer Unpaired Learning for Image Enhancement from Photographs with GANs》
  • 《MIEGAN Mobile Image Enhancement via A Multi-Module Cascade Neural Network》
  • 《Unpaired Image Enhancement with Quality-Attention Generative Adversarial Network》

3D LUT

adaptive 3D LUT(最早用3D LUT,效果好速度快,代码可复现)
AdaInt (改进3D LUT的采样间隔,基于Open MM框架,代码无法完全复现, CVPR2023)
SeqLUT (多个3D 和2D 结合,使用模型减枝减少参数,ECCV2023)
4D LUT (提取语义特征,和3D LUT结合,arixv)

模仿ISP

全局参数估计和局部像素映射
You Only Need 90K Parameters to Adapt Light: a Light Weight Transformer for Image Enhancement and Exposure Correction (BMVC2022, 代码中关于MIT5K的论文结果无法复现)

个人思考

批判性看待论文工作

看了不少论文,虽然都生成自己方法效果好,速度快,但实际代码效果并不都是理想的!

阅读论文和代码复现,既要通过经验来判断,也要批判性看待和甄别。

并不是都要追求SOTA,方法思路是合理的、新颖的就很不错。但不能宣称结果无法复现,只是为了中稿,白白浪费读者时间就不好了!!!

针对这些论文方法给出了自己的一些可能的研究方向思考:

速度快

轻量级模型。
不论是CNN,transformer,还是3D lut得学习权重设计,都需要参数少,计算快,满足实时性要求!

效果好

色彩映射,其实不需要太大的模型进行色彩表征,难点在于特定色彩,能参考当前图片场景和语义进行自适应映射调整,以满足不同色彩映射关系得实现!
比如3D LUT可以考虑当前图片得场景得到对应gammar值进行全局颜色映射之后得自适应增强结果。
后续方法根据3D LUT得不足,融合语义、颜色自适应间隔采样、和1D lut融合等方法,都是补充!

大模型

在无版权网站找到高质量、色彩好得图片,进行整体的、随机性亮度降低、曝光降低、颜色饱和度和色调的调整,构建海量数据集;
同时使用大模型进行训练和优化,最终得到高质量的图像增强结果。
大模型的潜力来弥补不同主观感受到差异性!
或者使用语言来进行约束,学习训练各种不同风格的增强,使用模型并提供promote来自适应调整增强结果,而不是只能靠单一的专家标记和得到固定的结果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.数据的类型、数据的输入输出

2.数据的类型、数据的输入输出 2.1 数据类型-常量-变量(整型-浮点-字符)2.1.1 数据类型2.1.2 常量2.1.3 变量2.1.4 整型类型2.1.5 浮点型数据2.1.6 字符型数据字符型常量字符型变量 2.1.7 字符串型常量 2.2 混合运算-printf讲解 2.1 数据类型-常量-变量(整型-浮点-字符) 2.1.1…

shell脚本怎么获取当前脚本名称(获取脚本文件名)$(basename “$0“)(basename命令:去除字符串路径部分、去除后缀)

文章目录 shell脚本如何获取当前执行脚本名称解释:$(basename "$0")$0(当前脚本的名称,带脚本与工作目录之间的相对路径)basename(去除字符串路径部分)示例 拓展:basename命令的完整用…

项目引入多个连接池,导致使用其他连接池,maven分析学习

第一步在命令行中执行 mvn dependency:tree > excludeParentstart.log如果你的settings文件不是项目使用的setting配置,那么就使用下面的命令 mvn -gs 你的路径/apache-maven-3.8.2/conf/settings-person.xml dependency:tree > excludeParentstart.log然后…

Spring学习---上篇

文章目录 1、Spring1.1、简介1.2、优点1.3、Spring的组成1.4、拓展 2、IOC理论推导3、IOC的本质3.1、IOC概念3.2、IoC是Spring框架的核心内容 3、HelloSpring3.1、实现3.2、思考 4、IOC创建对象的方式5、Spring配置5.1、别名(alias)5.2、Bean的配置5.3、…

Multi-class classification without multi-class labels (ICLR 2019)

Multi-class classification without multi-class labels (ICLR 2019) 摘要 这项工作提出了针对多分类的新策略,不需要具体的类别标签,取而代之是利用样本之间的两两相似度,这是一种弱化的标注方式。所提方法称作元分类学习,为两…

ModaHub魔搭社区:向量数据库Milvus使用 MySQL 管理元数据教程

目录 使用 MySQL 管理元数据 常见问题 数据管理相关博客 使用 MySQL 管理元数据 Milvus 默认使用 SQLite 作为元数据后台管理服务,SQLite 内嵌于 Milvus 进程中,无需启动额外服务。但是在生产环境中,基于可靠性的考虑,我们强烈…

【数据库管理】十分钟了解啥是三级封锁协议、X锁和S锁

一.为什么要用锁 在多用户共享系统中,许多事务可能同时对同一数据进行操作,称为“并发操作”,此时数据库管理系统的并发控制子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,同时避免用户得到不正确的数据。…

Spring框架概括

spring是什么? Spring是2003年兴起的,它是一个轻量级的,非侵入式的IOC和AOP的一站式框架,为简化企业级应用开发。 它的特点: 轻量级:指的是核心jar包比较小的。 非侵入式的:框架代码不会侵入…

Java——《面试题——MQ篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 Java——《面试题——MySQL篇》​​​​​​ Java——《面试题——SpringCloud》 Java…

KingFusion3.6是什么?

哈喽,大家好,我是雷工! 今天继续学习KingFusion3.6,以下为学习笔记。 一、KingFusion3.6简介 1、管控一体化全组态平台KingFusion3.6是一款面向工业企业执行层的生产信息化管理系统。 2、KingFusion3.6基于“全组态”技术&#…

使用ROS功能包camera_calibration进行单目相机和双目相机的内参和外参标定

1.概述 本文总结使用ROS标定单目和双目相机的过程,同时提供生成棋盘格文件的方法。 参考链接: [1]使用ros标定相机的内参和外参 [2]ROS下采用camera_calibration进行双目相机标定 2.生成棋盘格文件 棋盘格可以自己买一个,或者打印一个粘在…

日本团队推出 AI 恋爱游戏:主角穿什么,玩家说了算

女主穿什么,还能由玩家决定?! IT之家6月25日消息,来自日本的一个两人团队近期发布了一段视频,展示了一款正在开发中的基于 AI 的恋爱游戏。 在游戏初期,女主角会以黑色剪影的形式出现,针对女主…

紫云谷游记

先说重点,TLNR 1.早点去,方便找地方停车,坐渡船不用排队太久。 2.景区里的饭没外面的好吃。 3.溯溪回来再在游泳池游泳,溯溪凉快,游泳太晒。 4.溯溪真的好爽。 导航: 紫云谷乘船码头停车场 景区介绍就不多说…

常见电池容量概念

嵌入式软件做产品一定要考虑功耗问题 功耗是多少,装上电池能用多久。 1、毫安时和毫瓦时 毫安时(mAh)和毫瓦时(mWh)是两个不同的物理量,它们分别表示电量和能量的度量单位。下面图片搜18650得到不同结果&…

Elasticsearch介绍与应用

Elasticsearch介绍与应用 Elasticsearch的官方文档。 Elasticsearch官网参考文档:https://www.elastic.co/guide/index.html Elasticsearch官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch mvnrepository依赖库地址:http…

你对工作队列了解多少?Linux中断处理中的workqueue介绍

Linux中断处理中的workqueue介绍 一、workqueue的作用及在Linux中断处理中的应用1.1、workqueue的概述1.2、workqueue在Linux中断处理中的作用 二、workqueue的实现原理2.1、工作队列和工作者线程的关系2.2、工作队列的创建和销毁2.3、工作者线程的创建和销毁2.4、扩展知识&…

2023年的今天,谨慎进入网络安全行业

前言 2023年的今天,慎重进入网安行业吧,目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多,还有很多高中被挖过来的大佬。 理由很简单,目前来说,信息安全的圈子人少,985、211院校很多都才建…

低代码没前途?那是你“盲盒”没拆好

创新本质是什么?一是让昂贵的东西变得便宜,老百姓能用;二是高门槛东西变得低门槛,普通人可用。琢磨着,这不就是说低代码吗? 低代码:让人找不到工作? 低代码无疑成为开发业务的一种…

基于java springboot博客管理系统设计和实现

基于java springboot博客管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 …

前端技术到底是深度重要,还是广度重要?

前言 前几天跟朋友讨论“技术广度和技术深度哪个重要”,再想想自己像过山车一般的前端历程,有感而发,想给小兄弟们一些建议~ 为什么会有这个疑问? 还记得两年前,甚至是一年前,当时想要找到一份好工作&am…