【Cycle-Interactive GAN:弱光图像增强】

news2024/11/15 17:25:55

Cycle-Interactive Generative Adversarial Network for Robust Unsupervised Low-Light Enhancement

(基于循环交互式生成式对抗网络的鲁棒无监督弱光增强)

近年来的无监督弱光增强方法摆脱了对成对训练数据拟合的基本限制,在调节图像亮度和对比度方面表现出了优异的性能。然而,对于无监督的弱光增强,由于缺乏对细节信号的监督,残余的噪声抑制问题在很大程度上阻碍了这些方法在实际应用中的广泛部署。本文提出了一种新的用于无监督弱光图像增强的循环交互式生成对抗网络(Cycle-Interactive Generative Adversarial Network (CIGAN)),它不仅能够更好地传递弱光图像与正常光图像之间的光照分布,而且能够处理两个域之间的细节信号,在循环增强/降级过程中抑制/合成真实噪声。特别地,所提出的弱光引导变换将弱光图像的特征从增强GAN的生成器(enhancement GAN (eGAN))前馈到退化GAN的生成器(degradation GAN (dGAN))。dGAN通过学习真实微光图像的信息,可以合成出更加真实的微光图像中的各种光照和对比度。此外,dGAN中的特征随机扰动模块学习增加特征随机性,以产生多样化的特征分布,从而使合成的低光照图像包含真实感噪声。实验结果表明了该方法的优越性和CIGAN中各模块的有效性。

介绍

典型地,在低光照条件下获取的图像不可避免地由于各种视觉质量损害而劣化,例如不期望的可见度、低对比度和强噪声。弱光图像增强旨在从观察到的弱光图像恢复正常光潜像,以同时获得理想的可见度、适当的对比度和抑制的噪声。它极大地提高了图像的质量,有利于人类视觉,并且还可以辅助高级计算机视觉任务,例如图像分类、人脸识别和目标检测等。开创性的低光照图像增强方法扩展了低光照图像的动态范围,即直方图均衡化(HE),或者自适应地调整分解的照明和反射层,即基于Retinex的方法。

最近,基于深度学习的方法取得了显著的成功。这些方法中的大多数遵循监督学习的范例,并且严重依赖于准备好的成对正常/弱光图像来训练和评估模型。然而,常见的成对训练数据集受到它们各自的限制。第一,通过简化的模拟成像管道合成的数据可能无法捕获真实的低光图像的固有属性。第二,由专业修图师创建手工修图数据是相当劳动密集型和耗时的。采用这类数据作为训练数据,也要承担修图者个人素质偏差的风险。第三,真实的捕获的数据可能捕获真实的退化,但无法覆盖野外的各种场景和物体。此外,使用预定义设置(即曝光时间和ISO)捕获的地面真实值可能不是最佳的。因此,基于成对数据的有监督方法不可避免地导致训练数据与真实的世界测试数据之间的域转移,进而给真实低照度图像的泛化带来挑战。

近年来,人们提出了一系列无监督的弱光增强方法。这些方法不依赖于成对的训练数据,并且只需要两个不成对的低/正常光图像集合。它们是基于单向生成对抗网络(GAN)或可学习曲线调整构建的。这些方法在亮度/对比度调节方面取得了良好的效果。然而,由于缺乏对细节信号的监控,一些具有挑战性的、带有强烈噪声的真实微光图像的质量并不令人满意。作为一个非常相似的主题,图像美学质量增强受益于CycleGAN,以提供最先进的性能。我们认为,这些CycleGAN不能有效地处理弱光图像增强问题。首先,低光退化引入了信息丢失,这使得增强问题不明确。换句话说,低/正常光图像之间的映射是一对多映射。然而,CycleGAN只能导致一对一的区别映射。第二,低/正常光域的固有维度是不平衡的,因为具有强噪声的低光图像反映更复杂的属性。这种不平衡可能干扰CycleGAN的训练,即退化生成器不能合成真实噪声,并且随后增强生成器不能处理真实退化。

本文提出一种新的循环交互式GAN(CIGAN)算法,用于无监督的微光图像增强,同时实现光照调节、对比度增强和噪声抑制。对图像退化的更全面的考虑导致循环建模中更有效的退化和增强过程。换句话说,在图像劣化中生成的低光图像越逼真和多样,图像增强的结果就越好和越鲁棒。为解决CycleGAN的上述问题,从三个方面进行了努力。首先,我们使我们的CIGAN中的退化和增强生成器相互作用。更具体地说,我们提出了一种新的弱光引导变换,将真实弱光图像的特征从增强生成器转移到退化生成器。在整个训练过程中,以不同真实低照度图像的信息为参考,合成了更多的低照度图像,有利于建立低照度/正常低照度图像之间的多重映射关系。其次,为了解决域不平衡问题,我们在退化发生器中加入了一种新的特征随机扰动。该扰动将可学习的随机仿射变换应用于中间特征,这平衡了两个域中特征的固有维度,并且有利于合成真实噪声。最后,我们设计了一系列先进的模块来提高我们的CIGAN的建模能力,如在生成器端的双重注意模块,在鉴别器端的多尺度特征金字塔,作为增强生成器融合操作的对数图像处理模型。大量的实验结果表明,该方法优于现有的无监督方法,甚至优于现有的有监督方法。

贡献

1)提出了一种新的无监督弱光图像增强算法CIGAN,该算法能够同时实现光照调节、对比度增强和噪声抑制,在图像增强方面表现优异,在图像退化建模方面明显优于以往的大多数工作。
2)我们提出了一种弱光引导变换(LGT),允许退化/增强的生成器进行交互,这有助于生成具有更多样和更逼真的照明和对比度的弱光图像。·
3)我们提出一个可学的特性随机扰动(FRP)产生不同的功能分布,使得生成的低光照条件下的图像更现实的噪音和福利低光照条件下的图像增强的过程。

相关工作

Traditional Image Enhancement

Histogram equalization (HE)直方图均衡化。HE聚焦于根据局部或全局统计特性将照度直方图拟合到特定分布。例如,Arici等人将HE视为优化问题,以提高图像对比度,同时抑制不自然的效果。Abdullah等人提出了一种使用分区操作的动态HE技术。Stark等人提出了一种基于HE概括的自适应对比度增强。HE的主要问题是容易引起过增强和噪声放大。

Retinex-based approaches基于Retinex的方法将低光图像分解为亮度层和反射层,以自适应地执行联合亮度调整和噪声抑制。Wang等人提出了一种用于非均匀照明图像增强的自然度Retinex。Fu等人引入了一种加权变量Retinex,可同时估计照明和反射层。这些方法在光照度调整方面表现出了令人满意的性能,但是,手工制作的约束条件很难将低光照图像准确地分解为光照层和反射层,导致视觉效果不自然。

Learning-based Image Enhancement

随着深度学习的蓬勃发展,弱光图像增强已经取得了巨大的成功。从广义上讲,基于学习的图像增强方法根据训练数据大致可分为三类:监督、半监督和无监督。LLNet 首次尝试将深度学习引入到弱光图像增强问题中。为了提高性能,通过设计复杂的网络架构和优化对象,提出了各种监督方法,例如MSR-net、DRD、SICE、DHN和UPE。然而,这些有监督的方法普遍受到高度依赖于成对数据的限制,这限制了这些方法在真实测试数据上的性能。最近,Yang等人提出了一种半监督弱光增强方法。Jiang等人提出了第一个基于GAN的无监督模型。Guo等人采用无参考优化,没有配对或非配对数据。这些无监督的方法在光照调节方面取得了良好的性能,但是没有考虑噪声抑制。

方法

请添加图片描述
请添加图片描述

如图2所示,我们提出的CIGAN旨在通过在不成对数据的监督下同时调整亮度、增强对比度和抑制噪声来提高低光图像的感知质量。它由互补降解型GAN(complementary degradation GAN (dGAN))和增强型GAN(enhancement GAN (eGAN))组成。

1)dGAN: 它的目标是从输入的正常光图像𝐼𝑛∈ N(正常光图像域),在参考低光图像𝐼𝑙∈ L的帮助下,合成一个真实的低光图像𝐼`𝑙∈ L(低光图像域)。我们设计了两个模块来合成具有低亮度、对比度和强噪声的更真实的低亮度图像。如图2中红色虚线所示,LGT帮助dGAN合成𝐼 '𝑙了具有特征信息的𝐼𝑙,保留了的内容𝐼𝑛,同时引入的低光属性𝐼𝑙使的𝐼’𝑙低光照度和对比度更加真实多样。如图2中蓝色虚线所示,FRP学习将随机噪声注入到特征中,以使特征分布更加多样,并合成更逼真的图像噪声。此外,曝光评估损失𝐿exp来保持合成的低光照图像的局部平均照度接近低值。2)eGAN:相反,它专注于学习从合成的低光图像𝐼’𝑙中恢复潜在的正常光图像𝐼‘𝑛(𝐼’𝑛∈ N)。为了使GAN发生器产生高质量的正常光图像,我们设计了一个灵活的对数图像处理(LIP)融合模型和一个双注意模块(DAM)。

Model Architecture

1) Generator ofdGAN

给定一幅正常光照图像𝐼𝑛和一幅参考低光照图像𝐼𝑙,我们采用预先训练好的VGG-19网络ε (·)分别提取它们的多尺度特征表示 ε 𝑖 ε^𝑖 εi(𝐼𝑛)和 ε 𝑖 ε^𝑖 εi(𝐼𝑙)。LGT使用从𝐼𝑙中提取的特征 ε 𝑖 ε^𝑖 εi(𝐼𝑙)来自适应地调制𝐼𝑛的特征 ε 𝑖 ε^𝑖 εi(𝐼𝑛),这有助于在各种不成对的参考低光图像的指导下合成更多样的照明和对比度。DAM被设计为从空间和通道维度捕获上下文信息。FRP学习随机扰动解码器G𝐿的特征以帮助合成具有真实噪声的低光图像。因此,合成的弱光图像𝐼’𝑙可以表示为:
请添加图片描述
式中,T𝑖、A𝑖和P𝑖分别为第i个标度下的LGT、DAM和FRP。基本上,多尺度特征 ε 𝑖 ε^𝑖 εi(`)是relui_1(即,relu1_1、relu2_1、relu3_1、relu4_1和relu5_1),其中ε(·)中的参数在训练阶段是固定的。

2)Generator of eGAN.
eGAN的发生器专用于𝐼’𝑛从合成的低光图像中恢复正常光图像𝐼’𝑙
在这里插入图片描述
不同于以往的方法减去网络的输出输入光线暗的图像获取最后的增强图像。在这里插入图片描述
其中𝜆是控制增强过程的标量,在我们的工作中设置为1。LIP模型有效地提高了模型训练的稳定性和性能.
3) Multi-scale Feature Pyramid Discriminator.
与GAN相关的一个关键问题是设计一个基于局部细节和全局一致性的真假图像鉴别器。我们的解决方案是设计一个能够同时关注低层纹理和高层语义信息的鉴别器网络。因此,我们提出了一种多尺度特征金字塔鉴别器(MFPD),如图4所示。鉴别器的中间层有一个较小的感受野,使发生器更关注纹理和局部细节而最后一层有一个较大的感受野,鼓励发生器确保全局一致性。该算法利用多尺度中间特征和金字塔算法指导生成器生成局部细节更精细、全局一致性更好的图像。
在这里插入图片描述

Module Design

1) Low-light Guided Transformation(LGT)
提出了一种新的弱光引导变换(LGT)模块,将弱光图像的低照度和对比度属性从增强生成器转移到退化生成器,自适应地调整正常光图像的特征,生成具有更丰富和真实照度和对比度的弱光图像。

如图3(a)所示,我们的LGT在第𝑖尺度有两个输入:正常光图像的中间特征 ε 𝑖 ε^𝑖 εi(𝐼𝑛)∈ R 𝑏 × 𝑐 × h × 𝑤 R^{𝑏 ×𝑐 × h×𝑤} Rb×c×h×w和参考低光图像的中间特征 ε 𝑖 ε^𝑖 εi(𝐼l)∈ R 𝑏 × 𝑐 × h × 𝑤 R^{𝑏 ×𝑐 × h×𝑤} Rb×c×h×w,其中𝑏表示批次大小,𝑐是特征通道的数量,𝑤和h分别是特征的高度和宽度。变换参数𝑤( ε 𝑖 ε^𝑖 εi(𝐼𝑛))和𝑏( ε 𝑖 ε^𝑖 εi(𝐼l))通过两个卷积层从参考特征 ε 𝑖 ε^𝑖 εi(𝐼l)学习,其中第一卷积是共享的。调制的中间特征 ε ′ 𝑖 ε'^𝑖 εi(𝐼𝑛)可以通过仿射变换产生如下:
请添加图片描述
与AdaIN 使用统计信息在channel-wise上执行反规格化相比,我们的LGT在元素级进行处理,并提供了一种灵活的方式来空间调制正常光图像特征 ε 𝑖 ε^𝑖 εi(𝐼n)。通过这种方式,所提出的LGT通过元素级仿射参数𝑤( ε 𝑖 ε^𝑖 εi(𝐼𝑛))和𝑏( ε 𝑖 ε^𝑖 εi(𝐼l))将参考低光图像的低照度和对比度属性合并到合成的低光图像中。
2) Feature Randomized Perturbation
2)特征随机扰动。LGT可有效地帮助合成具有各种低照度和对比度但噪声较轻的低光图像,并实现相对有前途的性能。然而,这种光噪声不能为eGAN提供足够的信息来学习抑制真实低光图像的强噪声,因此我们提出了FRP,使dGAN生成器合成更真实的噪声。
请添加图片描述

如图3(b)所示,缩放和移位参数𝛼∈ R 𝑏 × 𝑐 × 1 × 1 R^{𝑏 ×𝑐 ×1×1} Rb×c×1×1和𝛽∈ R 𝑏 × 1 × h × 𝑤 R^{𝑏 ×1× h×𝑤} Rb×1×h×w从标准高斯分布中采样,然后融合为:

在这里插入图片描述
其中{𝜃1,𝜃2} ∈ R 1 × 𝑐 × 1 × 1 R^{1×𝑐 ×1×1} R1×c×1×1是两个可学习的标量权重,它们与网络的所有其他参数一起通过反向传播学习。如图2所示,我们将提出的FRP模块嵌入到多尺度dGAN生成器中,使合成的微光图像噪声接近真实的微光图像。请添加图片描述

3) Attention Module
DAM模型被提出来对上下文信息和特征重校准进行建模。如图3(c)所示,DAM由空间注意(SA)分支和通道注意(CA)分支组成。受SENet的启发,SA和CA分别按顺序执行挤压和激励操作。具体而言,在SA分支中,采用通道维的全局平均池和全局最大池对特征图进行压缩;在CA分支中,采用空间维的均值和标准差对特征图进行压缩。
请添加图片描述

Training Objectives

1) Exposure Assessment Loss
我们建议曝光评估损失控制曝光合成低光照条件下的图像和真实之间的一致性。我们的观点是让当地的平均强度的合成低光照条件下的图像区域接近一个较低的值。我们用公式表示𝐿exp为:请添加图片描述
其中𝑖是局部区域的平均强度,𝑒是所需强度,其应接近低值,并𝜎控制高斯曲线的平滑度。在我们的工作中𝜎,𝑒和局部区域大小分别设置为0.1、0.1和7 × 7。
2) Adversarial Loss
们采用相对论性平均Hinge损失(RaHingeGAN)指导dGAN合成真实光线暗的图像。RaHingeGAN关于dGAN损失可以制定为:在这里插入图片描述
其中𝐼𝑙是来自低光图像L的域的真实低光图像,并且𝐼‘𝑙是来自合成低光图像L~的域的合成数据。同样,RaHingeGAN的GAN损失表示为:在这里插入图片描述
3) Cycle-Consistency Loss
它由两部分组成:
(1)𝐿con 计算输入图像𝐼𝑛 / 𝐼𝑙 和循环图像ˆ𝐼𝑛 / ˆ𝐼𝑙 之间的 𝐿1 距离;
(2) 𝐿per 被公式化为输入图像的特征映射和循环图像的特征映射之间的𝐿2 范数,如下:
请添加图片描述
**Total Loss.**所提出的CIGAN根据以下目标进行优化,
请添加图片描述

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

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

相关文章

今年大促季,阿里云容器服务有哪些技术和应用新突破?

联合作者:志敏,冬岛,戒空,邓隽,佳旭,谢乘胜,元毅,溪洋在 2022 年的双 11 大促季中,阿里云容器服务(简称 ACK)、容器镜像服务(简称 ACR…

教你如何基于Redis来实现高性能延时消息队列!

最近在倒腾自建博客后端系统,需要用到延时任务的功能,但手头只有一套MySQL和Redis,如果搞一套MQ成本有点大,于是想着用redis实现延时消息队列。有些场景用数据库的定时扫表也能简单实现延时消息的功能,不过对于我这边的…

Frida-Dexdump 脱壳工具下载使用以及相关技术介绍

Frida-Dexdump 脱壳工具下载使用以及相关技术介绍 文章目录Frida-Dexdump 脱壳工具下载使用以及相关技术介绍前言一、查壳、反编译、APK工具推荐二、查壳1.方式12.方式二三、脱壳1.启动frida服务2.方式一3.方式二四、反编译总结前言 本案例使用的App是:引力播.apk&…

多无人机空中机器人施工任务分配(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 空中机器人作为近年来新兴的热点得到了广泛的关注。小型空中机器人在没有外界卫星定位信号的前提下的导航是空中机器人的研究内…

cmip6数据处理、动力降尺度、统计降尺度、制备CMIP6的WRF驱动数据

收录了CMIP6数据处理方法,典型案例分析实践过程中出现的一些问题,及技术(下拉查看) 国际耦合模式比较计划进入新的阶段——第六阶段(CMIP6),这将为气候变化研究领域提供更丰富的全球气候模式数…

Python字符串格式化的三种方式

Python格式化的三种方式 根据类型定义的格式化 - %s 字符串格式化使用操作符 % 来实现, 示例 my name is %s,my age is %s % (neo, 18) 格式符: %s 连接符:格式化字符串与格式符变量之间用一个 % 连接, % 两边各有一个空格 附:…

08、SpringBoot入门简介

1、简介 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。 人们把 Spring Boot 称为搭建程序的脚手架。其最主要作用就是帮我们快速的构建庞大的 Spring 项目,并且尽可能的减少一切 XML 配置…

我用Echarts图表分析巴西队历年战绩,预测卡塔尔世界杯能否夺冠

🐱个人主页:不叫猫先生 🙋‍♂️作者简介:前端领域新星创作者、华为云享专家、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫系列专栏&#xff…

baostock量化怎样下载十档行情数据?

baostock量化对数据的下载其实就是通过计算的方式去决策股票的买卖。目前根据量化计算方式其实跟量子计算一点关系都没有。那么,都说在股票量化交易过程中,可以利用l2股票接口来获取策略选股的方案是很普遍的,利用数据接口下载十档行情&#…

[附源码]Python计算机毕业设计SSM基于协同过滤算法的甜品推荐系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Echart柱状图表排名

var charts { // 按顺序排列从大到小 cityList: [38号点, 8号点, 15号点, 16号点, 24号点], cityData: [7500, 6200, 5700, 4200, 3500] } var top10CityList charts.cityList var top10CityData charts.cityData var color [#ff9500, #02d8f9, #027fff] var color…

CAS:1351272-41-7;[1-(4-乙烯基苯基)-1,2,2-三苯基]乙烯;AIE材料

中文名称:[1-(4-乙烯基苯基)-1,2,2-三苯基]乙烯 英文名称:(2-(4-vinylphenyl)ethene-1,1,2-triyl)tribenzene CAS:1351272-41-7 分子式:C28H22 分子量:358.47 沸点:460.445.0 C(Predicted) 密度:1.0810.06 g/cm3(Predicted) 用途:仅用于科研,不用于人体 提供提下定制合成…

算法 KECP 被顶会 EMNLP 收录,极少训练数据就能实现机器阅读理解

作者:王嘉宁、汪诚愚、邱明辉、石秋慧、王洪彬、黄俊、高明 近日,阿里云机器学习平台 PAI 与华东师范大学高明教授团队合作在自然语言处理顶级会议 EMNLP2022 上发表基于 Prompt-Tuning 的小样本机器阅读理解算法 KECP(Knowledge Enhanced C…

【人工智能】体验一下ChatGPT

体验一下ChatGPT 1.体验地址 chatGPT 注册openai的账号 注意:如果注册过程中一直不成功,可以清清缓存 2.接受短信的手机号 得有个国外手机号,或者1块钱去sms-activate.org注册一个虚拟的手机号 3.功能 最近OpenAI 发布了备受期待的原型通用 ChatGPT&#xf…

一段eslint jsx-a11y/anchor-is-valid警告背后的原因

我们在做React项目时,经常用到a标签做一些跳转动作,但是每次eslint都要提示 jsx-a11y/anchor-is-valid这段代码,我们可以通过/* eslint-disable jsx-a11y/anchor-is-valid */把这个规则屏蔽掉,但是显然不够优化,那到底…

8_2、Java基本语法之多线程的两种创建方式(jdk5之前)

一、前言 Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread 类来体现。 二、JDK1.5之前创建新执行线程有两种方法 继承Thread类的方式 实现Runnable接口的方式 三、继承Thread类的方式 1、使用继承Thread类的方式创建一个线程: ①.创建一个…

c++17可变参函数模板详解

c语言中对于 可变参数的处理是用va_list等一系列宏去做的 他只会生成一个函数 但是理解起来非常麻烦 因为你不得不去了解很多关于汇编层面栈帧的知识 c对于可变参数函数模板进行了改进 他会生成多个函数 而不是在一个函数里玩 个人觉得c这种方式更加先进而且更好理解 接下来让…

线性代数的本质

注:目前没有精力去美化排版,所有博客仅作为自己学习记录所用 《线性代数的本质》课程链接(bilibili) 目录: P1-P4的内容: 1.线性代数的加法:为什么这样子来定义呢(如图&#xff…

(附源码)SSM人力资源管理系统 毕业设计 271621

SSM人力资源管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中&#…

Servlet(二):Servlet的运行原理HttpServlet、HttpServletRequest、HttpServletResponse类详解

Servlet运行原理Servlet API详解HttpServlet类HttpServletRequest类HttpServletResponse类Servlet API详解 Servlet API中包含了很多的内容,但我们主要用到的是以下三个类,HttpServlet,HttpServletRequest,HttpServletResponse …