曝光调整和曝光融合论文粗读

news2024/12/23 15:03:22

曝光调整论文调研

M. Afifi, K. G. Derpanis, B. Ommer and M. S. Brown, “Learning Multi-Scale Photo Exposure Correction,” 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Nashville, TN, USA, 2021, pp. 9153-9163, doi: 10.1109/CVPR46437.2021.00904.

  • 这是2021CVPR的一篇论文,提出了一个新的数据集和一个新的模型,来进行图像曝光调整。将曝光调整分为两个子问题,一个是颜色增强,一个是细节增强。
  • 数据集用的是fivek提供的5000张raw data,用不同的EV值render成为不同曝光水平的图像,用fivek提供的专家retouch的结果作为GT。丢掉了一些和GT配不准的图像,所以最终有24330张多曝光图像。
  • 网络结构如下图所示
    在这里插入图片描述
  • 图片一目了然了已经。先求图像的laplacian pyramid作为网络的输入,之所以说颜色增强和细节增强,是任务laplacian金字塔的第n层代表颜色信息,所以第一个网络是做颜色增强的,后面每一个网络都在添加细节。这一动机是基于如下图的观察:交换laplacian 金字塔的不同层,产生的效果可以看出第n层对应着颜色,其他层对应着细节。
    在这里插入图片描述
  • 损失函数由三部分组成,由于是有监督任务,所以其实基本就是算增强结果 Y Y Y和GT T T T之间的距离。三个损失分别是增强结果与GT的L1距离,不同stage的中间增强结果与GT的Gaussian pyramid不同level的图片的L1距离,以及增强结果的对抗损失:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 模型是多尺度递进训练的,首先在128x128上训练,然后在256x256上训练,最后在512x512上训练。而且模型训练的一开始没有加adv损失,在收敛阶段再添加的adv损失,这个技巧可能还挺重要的。从实验结果上看,虽然在暗图增强比不过别人,但在过曝抑制和多曝光调整上表现很好:
    在这里插入图片描述
    在这里插入图片描述
  • 也有失败的结果,可以看到过饱和区域的信息丢失导致网络复原不出来了:
    在这里插入图片描述

Ma L, Ma T, Xue X, et al. Practical Exposure Correction: Great Truths Are Always Simple[J]. arXiv preprint arXiv:2212.14245, 2022.

  • 这是大连理工大学马龙博士的一篇arxiv上的论文,应该是还没发表的,用非深度学习方法做的曝光校正,提出了一个迭代的算法。
  • 首先定义了一个exposure adversarial function:
    在这里插入图片描述
    这个函数的性质是越接近0.5越大,从而可以配合下面定义的补偿函数,即图中越接近0.5的区域改变越大,从而实现过曝和欠曝区域的对比度拉伸:
    在这里插入图片描述
  • 进一步地,可以对增强结果进行迭代,公式如下:
    在这里插入图片描述
  • 实验结果可以看到这一算法的无参考图像指标(在exposure error数据集和LIME MEF数据集上都测了)还不错,运行速度也很快,还在黑暗环境下的人脸目标检测和语义分割任务上提升了性能(虽然没有提用的是什么检测器):
    在这里插入图片描述
    在这里插入图片描述
  • 也给出了在SICE数据集上的可视化效果:
    在这里插入图片描述
  • 总体看,效果是很不错的。不过我在想,迭代的方式,反正公式是写死的,也没有优化步骤,是不是可以推导一下一步到位?以及,这一公式处理背光图像如何?

Y. Niu, J. Wu, W. Liu, W. Guo and R. W. H. Lau, “HDR-GAN: HDR Image Reconstruction From Multi-Exposed LDR Images With Large Motions,” in IEEE Transactions on Image Processing, vol. 30, pp. 3885-3896, 2021, doi: 10.1109/TIP.2021.3064433.

  • 这是2021年TIP的一篇有监督多曝光图像融合的论文。值得注意的是这里的多曝光图像是多次拍摄的,也就是说图像之间存在移动。
  • 网络结构如下图所示:
    在这里插入图片描述
  • 网络的输入是按如下公式构建的,其中 L i L_i Li表示输入的图片,即对输入的图片做gamma校正后除以曝光时间,然后和原图concatenate在一起:
    在这里插入图片描述
  • 三张不同的曝光水平的图片分别提取特征后concatenate到一起,在网络的最后两层会分别产生两个增强结果,这两个增强结果都要用来算损失。三张图片会选一张作为reference image,其前面单独产生的特征会被作为残差跳层连接到后面的特征图中。网络采取有监督训练的范式,每三张图有一张对应的GT图像作为HDR image,损失函数如下,其中 H ^ 1 \hat H_1 H^1 H ^ 2 \hat H_2 H^2分别表示网络最后两层产生的两个增强结果:
    在这里插入图片描述
    在这里插入图片描述
  • 除此之外还有GAN的损失,所以总的损失如下:
    在这里插入图片描述
  • 文章是在HDR数据集上训练和测试的。可以看到其实没有办法解决背光问题,仅仅是对整张图片的EV做了调整,这也是数据集本身设计的原因:
    在这里插入图片描述

K. Wu, J. Chen, Y. Yu and J. Ma, “ACE-MEF: Adaptive Clarity Evaluation-Guided Network with Illumination Correction for Multi-exposure Image Fusion,” in IEEE Transactions on Multimedia, doi: 10.1109/TMM.2022.3233299.

  • 这是2022年TMM的一篇无监督多曝光图像融合的论文,网络由两部分串联组成:CPN和IAN,并且只对图像的YCbCr的Y通道进行处理。第一步的CPN基本就是对两张图像进行加权融合,保留各自清晰的部分。两张图都不清晰的部分,在IAN模块中进行调整。
  • CPN的网络结构很简单,先生成两张weight map W 1 , W 2 W_1,W_2 W1,W2,再对过曝和欠曝图片的亮度通道进行加权平均得到初步调整后的亮度通道
    在这里插入图片描述
    在这里插入图片描述
  • 这一步的损失函数由两部分组成,如下所示,其中 w u w_u wu w o w_o wo分别是欠曝和过曝算损失时的weight map。MEF损失函数是衡量增强结果和原图的亮度和结构信息的相似性。 w i w_i wi是由三个变量定义的,分别用来衡量对比度、色饱和度和曝光水平。对比度由原图的平方的高斯模糊(3x3)和高斯模糊的平方的差定义,而饱和度由三通道的方差图定义,曝光水平由原图偏离0.7的程度组成,是一个高斯概率衡量。第二部分的损失是weight map的TV loss:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • IAN的网络结构如下图所示,网络的输出是两个parameter maps,分别用于element-wise地进行gamma校正,也就是说这两个A都是放到指数上进行gamma校正的。第一步校正是为了增强黑暗的区域,第二步校正是为了把第一步的时候过增强的区域调回来:
    在这里插入图片描述
  • IAN的损失函数分为三部分,第一项是第一次gamma校正的结果高斯模糊后和0.7的差,第二项是第二次gamma校正的结果和初步调整结果的差,第三项没有介绍(我傻了,还能这样的?):
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 颜色通道也要做调整,如下,Cb和Cr都用下面的公式调整, τ = 128 \tau=128 τ=128
    在这里插入图片描述
  • 训练的时候两个网络是各自训练的,所以应该是先训练第一个网络,训练完fix参数训练第二个网络。在SCIE数据上训练。结果还不错:
    在这里插入图片描述

J. Cai, S. Gu and L. Zhang, “Learning a Deep Single Image Contrast Enhancer from Multi-Exposure Images,” in IEEE Transactions on Image Processing, vol. 27, no. 4, pp. 2049-2062, April 2018, doi: 10.1109/TIP.2018.2794218.

  • 这是TIP 2018的多曝光图像对比度增强的论文,论文构建了一个多曝光图像数据集,提供了GT图像,从而有监督地训练一个多曝光对比度增强的卷积神经网络模型。
  • 数据集是这样实现的,首先是室内室外拍摄了一些多曝光序列图片(室内可以构建静态场景调节相机参数多次拍摄,室外则通过快拍实现,为了避免室外移动物体的对不准,室外的快拍序列通常只有3-5张,而室内可以有7-18张),然后对每张个场景用最先进的13种MEF和HDR算法产生高对比度图像,然后进行主观评价实验挑选最优的一张作为GT,找不出好的结果的场景会被丢弃。这样的方式我觉得其实有局限性,也就是说这样的方式构建的数据集进行有监督训练出来的网络的上限就是这13种算法的ensemble了,而且作为测试集来评价一些具有更高性能的算法时也不具有合理性。
  • 训练模型用的损失函数是MSE、L1-norm 和 DSSIM 损失:
    在这里插入图片描述
  • 首先将输入图像根据(Zeev Farbman, Raanan Fattal, Dani Lischinski, and Richard Szeliski. 2008. Edge-preserving decompositions for multi-scale tone and detail manipulation. ACM Trans. Graph. 27, 3 (August 2008), 1–10. https://doi.org/10.1145/1360612.1360666)中的WLS方法分解为低频和高频分量:
    在这里插入图片描述
    随后将两个分量分别送进两个并行的子网络并训练这两个子网络。然后将两个子网络fix,将两个增强后的分量输入到另一个CNN中产生最终的增强结果,网络结构如下图所示
    在这里插入图片描述
    这里提到了一个技巧,卷积的padding会产生伪影,因此网络中并没有使用padding,而是使用反卷积来保持size。另一个技巧是认为暗图增强需要正负的激活值,因此不使用relu而使用prelu,我觉得也有点道理。这里的三个网络用的分别是三个不同的损失函数。L的增强网络用的是和GT的L分量的MSE loss作为损失,R的增强网络用的是GT的R分量的l1 loss 作为损失,第二阶段的网络用的是和GT的DSSIM损失
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 实验结果还是很不错的:
    在这里插入图片描述
  • 文章的高低频分治的idea是重要的,但两阶段有待商榷,感觉不美。但是演讲稿看起来是不错的,不知道能不能处理一张图片上同时需要过曝抑制和欠曝补偿的情况。

Haoyuan Wang, Ke Xu, and Rynson W. H. Lau. 2022. Local Color Distributions Prior for Image Enhancement. In Computer Vision – ECCV 2022: 17th European Conference, Tel Aviv, Israel, October 23–27, 2022, Proceedings, Part XVIII. Springer-Verlag, Berlin, Heidelberg, 343–359. https://doi.org/10.1007/978-3-031-19797-0_20

  • 这是ECCV2022的文章,看标题看不出是做多曝光调整的,其实就是做同一张图片上有欠曝和过曝的时候的多曝光调整的,属于有监督学习。
  • 文章首先基于fivek提出了一个多曝光数据集,他拿fivek的raw data,去掉那些GT(专家retouch的)质量不高的,剩下的对raw data 模拟相机ISP生成过曝和欠曝的图片,并检查和返工那些生成的不好的图片,直到挑不出毛病。产生过曝和欠曝的图片用的是下面这个公式,其中 I I I是原来的raw data 归一化到0-1之间的图片, ϕ \phi ϕ是clip,通过调整k可以产生过曝和欠曝的图片。
    在这里插入图片描述
  • 方法上,提出了一个基于局部颜色分布的网络,主要点在于一个是生成了多尺度的局部颜色分布图,其实就是分patch统计了patch内部的分颜色直方图,所以得到的M的第i,j位置是一个 3 × B 3\times B 3×B的向量,表示三通道各个bin得到的概率,根据分patch的大小不同可以得到不同尺度的M。M会被送到LCDE模块,这是一个DRConv模块,根据前面送进来的特征生成卷积核,根据M生成的guided mask来对M的不同位置使用不同的卷积核。
    在这里插入图片描述
  • 为了抑制过曝,取了图像的反图送进同一个网络产生增强结果,再取增强结果的反图。融合增强结果及反图的增强结果的反图可以得到最终的增强结果。融合用的是一个网络预测的权重图,融合对象是原图、增强结果、反图的增强结果的反图。
  • 损失函数是原图和增加个的mse loss、cos loss(DeepUPE用到的),以及两个illumination map的tv loss。
  • 实验上,在自己制作的数据集上测了PSNR SSIM
    在这里插入图片描述
  • 可以看到,欠曝补偿和过曝抑制的效果都还行,不过也有点能做到同一张图片既补偿又抑制(得益于双支路)
    在这里插入图片描述
  • 用反图进行双支路应该是这个方法成功的关键。

Liang J, Yang Y, Zhang A, et al. FCNet: A Convolutional Neural Network for Arbitrary-Length Exposure Estimation[J]. arXiv preprint arXiv:2203.03624, 2022.

  • 这是arxiv 2022上的一篇多曝光校正和多曝光融合的文章,标题换了一次,一开始叫 “Fusion-Correction Network for Single-Exposure
    Correction and Multi-Exposure Fusion”, 后来改成 “FCNet: A Convolutional Neural Network for Arbitrary-Length Exposure Estimation” ,文章提出了一种能够融合任意长度的多曝光序列的方法,当长度为1时可以作为single image的exposure correction模型使用。
  • 网络结构如图所示, 拉普拉斯金字塔分解插入到网络不同阶段的网络结构在2021年CVPR的这篇文章“Learning Multi-Scale Photo Exposure Correction”里面见过,而fusion block其实仅仅是对每张图片预测权重图进行加权平均,损失函数也是照抄这里面的,唯一称得上创新的地方在于提出了一个这样的流程,从粗到细不断地融合和校正多张曝光图片:
    在这里插入图片描述

T. Mertens, J. Kautz and F. Van Reeth, “Exposure Fusion,” 15th Pacific Conference on Computer Graphics and Applications (PG’07), Maui, HI, USA, 2007, pp. 382-390, doi: 10.1109/PG.2007.17.

  • 这是2007年一篇传统多曝光融合的论文。考虑下面三个指标来实现对多张图像的融合权重:
    • 对比度C:用拉普拉斯滤波的结果的绝对值来表示对比度的大小
    • 色饱和度S:用三通道的标准差来表示色饱和度的大小
    • 曝光度E:用像素值落在以0.5为中心,0.2为方差的高斯分布的概率来衡量,如下公式:
      在这里插入图片描述
    • 综合起来的权重如下:
      在这里插入图片描述
  • 再对不同图像的权重进行归一化,然后对图像进行element-wise的加权平均得到融合结果:
    在这里插入图片描述
  • 对于上述的算法产生的结果,论文还不是太满意,因此论文对算法进一步改进,引入了laplacian pyramid。首先对输入的图片分解为laplacian pyramid,对上一步得到的weight map计算gaussian pyramid。然后对pyramid的不同level各自进行加权求和得到各自的融合结果,再从pyramid恢复出原图像即可得到最终的融合结果。而对颜色图片,则对各个颜色通道分别进行融合。
  • 算法的速度如下所示:
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

开放式耳机什么牌子性价比好,这些高颜值蓝牙耳机分享给你

入耳式耳机在运动过程中会与耳道产生摩擦,产生咀嚼音、摩擦音等杂音,会让耳朵难受,听音也会受到影响,特别是像边看电视剧边吃零食等情况,会很影响体验感,所以开放式耳机不入耳的设计完全处理了这一问题&…

卷积神经网络| 猫狗系列【AlexNet】

首先,搭建网络: AlexNet神经网络原理图: net代码:【根据网络图来搭建网络,不会的看看相关视频会好理解一些】 import torchfrom torch import nnimport torch.nn.functional as Fclass MyAlexNet(nn.Module): def…

Linux系统之neofetch工具的基本使用

Linux系统之neofetch工具的基本使用 一、neofetch工具介绍1.1 neofetch简介1.2 neofetch特点 二、检查本地环境2.1 检查操作系统版本2.2 检查内核版本 三、安装neofetch工具3.1 配置yum仓库3.2 安装neofetch3.3 查看neofetch版本 四、neofetch工具的基本使用4.1 直接使用neofet…

quilt data-Working with the Catalog

Quilt Catalog 是 Quilt 的第二部分。它提供了一个在您的 S3 存储桶上的界面,将 Quilt 的数据包和搜索等功能带到了 Web 界面上。 请注意,您可以在不使用 Quilt Catalog 的情况下使用 Quilt Python API,但它们是设计为配合使用的。 简要介绍…

【实现openGauss5.0企业版一主一备搭建部署】

【实现openGauss5.0企业版一主一备搭建部署】 🔻 前言🔻 一、安装前准备🔰 1.1 openGauss安装包下载🔰 1.2 安装环境准备⛳ 1.2.1 硬件环境要求⛳ 1.2.2 软件环境要求⛳ 1.2.3 软件依赖要求⛳ 1.2.4 修改 hosts 和 hostname&#…

【react】创建启动react项目和跨域代理:

文章目录 1、创建启动react项目:2、跨域代理:【1】文档:[https://create-react-app.dev/docs/proxying-api-requests-in-development/](https://create-react-app.dev/docs/proxying-api-requests-in-development/)【2】src/setupProxy.js: 1…

阿姆斯特丹大学Max Welling教授-深度学习和自然科学

目录 简介 AI4Science & Science4AI 深度学习简介 AI4Science Science4AI 总结/结束语 参考 简介 人工智能一直与自然科学有着深厚的联系。 人工神经网络最初被认为是生物神经网络的抽象,许多后续算法(例如强化学习)也是如此。 神经…

springcloud actuator暴露端点漏洞修复

前段时间网络安全的同事突然通知系统漏洞,swagger漏洞和暴露多余端点等,可能会泄露信息。刚开始只是修改了相关配置。如下: 更改config配置 management:security:enabled: true security:user:name: xxxpassword: xxxbasic:enabled: trueen…

配置tensorflow1.15版本遇到的问题:conda环境管理/tensorflow历史版本下载/pycharm中如何使用conda中的虚拟环境

0、前言: 我之前在做配置环境,或者不懂的操作时,总是遇到问题在csdn或者网上搜就行了,然后解决问题之后,也不知道期间搜了哪些知识。也记不住一些修改的地方,这就导致,我十分担心好不容易搭好的…

spring系列-SpringCloud

SpringCloud概述 微服务概述 什么是微服务 目前的微服务并没有一个统一的标准,一般是以业务来划分 将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一件事。 与微服务相对的叫巨石 …

“提高个人生产力:思维导图在时间管理和计划中的应用“

在高效成为当今时代职场人高频谈论的一个词后,时间管理和计划的重要性也日渐显现。一个好的时间管理和计划可以在不知不觉中有效帮助我们更加合理的安排时间,保证工作的有序进行和按时完成。通过合理的协调工作与休息之间的关系,避免我们浪费…

15、服务端实战:数据库工具封装

在了解完 NestJS 的基础配置之后,服务端的内容将引来一个比较重要的环节:数据库。 因为数据库的内容比较多,所以相关内容将分为两个章节来展开讨论: 数据库工具封装 - 将封装统一的数据库操作工具类,方便后期开发于集…

识别肿瘤内微生物的生物信息学工具—MEGA

谷禾健康 已有研究证明宿主微生物在癌症预防和治疗反应中的关键作用,了解宿主微生物和癌症之间的相互作用,可以推动癌症诊断和微生物治疗(即用微生物作为药物)。 然而肿瘤内微生物组数据通常是复杂的,想要厘清相互关系也是极为困难的&#xf…

低代码平台——少量编码即可快速生成应用程序

低代码平台,即无需编码或通过少量代码就可以快速生成应用程序的开发平台。 低代码平台面向的是IT或者平民程序员,解决传统软件开发模式带来的周期长、成本高等问题,客户群体主要为软件开发公司或者拥有IT的中大型企业。而零代码(N…

API接口测试工具的几个特色

API接口测试工具在软件开发过程中起着举足轻重的作用。它们帮助测试人员快速发现和解决API接口的问题,并确保系统的稳定性和性能。本文将介绍API接口测试工具的几个特色,以及为什么它们对测试人员来说非常重要。 首先,API接口测试工具的一个特…

【uniapp】学习之【生命周期】

uniapp生命周期 uni-app框架的生命周期分为两种 : 应用中的生命周期 和 页面内的生命周期 uni-app 应用生命周期 uni-app 页面生命周期

微信公众号本地开发调试 - 无公网IP —— 内网穿透

文章目录 前言1. 配置本地服务器2. 内网穿透2.1 下载安装cpolar内网穿透2.2 创建隧道 3. 测试公网访问4. 固定域名4.1 保留一个二级子域名4.2 配置二级子域名 5. 使用固定二级子域名进行微信开发 前言 在微信公众号开发中,微信要求开发者需要拥有自己的服务器资源来…

软考:中级软件设计师:进程死锁,死锁的预防和避免,银行算法家,

软考:中级软件设计师:进程死锁 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &…

STM32:使用RS485和多摩川编码器通信

本文主要讲使用STM32F767和绝对式多摩川TS5700N8501编码器通信的流程和注意事项。 首先使用STM32CubeMX生成RS485驱动部分功能代码,注意该款编码器的波特率是2.5Mbps。 注意使能的GPIO可以使用其他管脚,我们的主控板使用的是PA8。前期可以这么配置。 配…

zabbix的安装

前提 作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: ●通过一个友好的界面进行浏览整个网站所有的服务器…