Implicit Neural Representation for Cooperative Low-light Image Enhancement

GitHub - Ysz2022/NeRCo: [ICCV 2023] Implicit Neural Representation for Cooperative Low-light Image Enhancement

参考:ICCV2023 | 将隐式神经表征用于“低光增强”,北大张健团队提出NeRCo (qq.com)

以下三个因素限制了现有低光图像增强方法的应用:不可预测的亮度退化和噪声、度量友好和视觉友好版本之间固有的差距,以及有限的配对训练数据。为了解决这些限制,我们提出了一种用于合作式低光图像增强的隐式神经表示方法,名为NeRCo。它以无监督的方式稳健地恢复感知友好的结果。具体而言,NeRCo通过可控的拟合函数统一了现实场景的多样化退化因素,从而提高了稳健性。此外,对于输出结果,我们引入了从预训练视觉-语言模型中得出的语义导向监督。它不仅仅是跟随参考图像,而是鼓励结果符合主观期望,找到更符合视觉习惯的解决方案。此外,为了减少对配对数据的依赖并减少解决方案空间,我们开发了一个双闭环约束增强模块。它以自我监督的方式与其他相关模块合作进行训练。最后,大量实验证明了我们提出的NeRCo方法的稳健性和优越效果。

1. Introduction

由于低光图像中物体被覆盖并降低对比度,导致亮度降低,低光图像严重影响了随后的高级计算机视觉任务(例如,目标检测 [23] 和语义分割 [15] 等)。因此,解决亮度退化对于协助探索复杂黑暗环境具有实际重要性。近年来,低光图像增强引起了广泛关注,旨在恢复退化区域中所需内容的图像增强方法 [31, 9, 10, 12, 24, 11, 16, 46]。

在过去几年中,已经提出了大量算法来解决这个经典的不适定问题,大致可分为两类:传统基于模型的方法(例如,直方图均衡化 [31],伽马校正 [29],Retinex模型 [30] 和锐化掩模算法 [7])以及最近的基于深度学习的方法 [22, 51, 16, 44]。前者将退化视为物理模型,并将增强视为估计模型参数的问题,但在表征多样化的低光因素方面存在局限,并需要大量手工先验知识。后者详细说明了各种模型来调整色调和对比度,能够自动从大量数据中学习。基本上,它们被训练来学习从输入到输出领域的映射关系。然而,在现实场景中,许多样本远离了输入域的特征空间,导致训练好的模型缺乏稳定的效果。我们提出在增强之前对退化进行标准化,以使这些样本更接近输入域。此外,现有的监督方法高度依赖配对训练数据,并且主要试图产生度量友好的结果,即与真实数据相似。但有限的监督数据集和度量导向与视觉友好版本之间固有的差距必然影响它们的有效性。

我们制定了一个自我监督的培训策略来解决这个问题。如图1所示,我们对仅包含低光图像而没有常规光参考的LIME [12]数据集进行评估。可以看到,即使是最近提出的表现最佳的算法也存在严重的色彩偏差。

具体来说,我们的关键见解包括: i) 使用可控的拟合函数对输入进行标准化,以减少现实场景中不可预测的退化特征。我们采用神经表示来再现增强操作之前的退化场景。通过操纵位置编码,我们有选择性地避免再现极端退化,客观上实现了标准化,从而降低了增强的难度。 ii) 通过不同的模态监督输出,实现度量友好和感知导向的增强。我们采用多模态学习,从文本和图像两个角度进行监督。与图像监督相比,设计的提示的特征空间更稳定准确地描述亮度,在不同样本之间具有更一致的亮度。在训练过程中,我们的结果不仅被鼓励与参考图像相似,还被强制与它们的相关提示匹配。通过这种方式,我们弥合了度量友好版本和感知友好版本之间的差距。 iii) 开发了一种无监督的训练策略,减少对配对数据的依赖。我们建议使用双闭环协作对抗约束程序对增强模块进行训练,以无监督的方式学习。还提出了更多相关的损失函数,进一步减少解决方案空间。受益于这些策略,我们恢复了更真实的色调和更好的对比度(见图1)。总体而言,我们的贡献如下:

• 我们是第一个在低光图像增强中利用神经表示的可控拟合能力。它标准化了亮度退化并消除了自然噪声,而无需任何额外操作,为未来的工作提供了新的思路。

• 我们首次将多模态学习引入低光图像增强。借助其高效的视觉-语言先验知识,我们的方法学习了多样的特征,导致了感知上更好的结果。

• 我们开发了一种无监督的协作对抗学习策略,减少了对配对训练数据的依赖。其中基于外观的判别确保了从颜色和细节层面的真实性,提高了恢复结果的质量。

• 我们在代表性基准数据集上进行了大量实验,展示了我们的NeRCo相对于一系列最先进算法的优越性。特别是,它甚至超越了一些监督方法。

2. Related Work
2.1. Low-light Image Enhancement

为了提高低光图像的可见性,首先广泛采用了基于模型的方法。Retinex理论[40]将观察结果分解为照明和反射(即清晰的预测),但往往会使外观过度曝光。各种手工先验被进一步引入模型作为正则化项。Fu等人[10]开发了一个加权变分模型来同时估计反射和照明层。Cai等人[2]提出了一个保边平滑算法来建模亮度。Guo等人[12]通过采用相对总变分[45]来预测照明。然而,这些定义的先验知识需要大量人工工作,并且在面向现实场景的泛化性能方面表现不佳。

由于这些限制,研究人员利用深度学习以数据驱动的方式进行恢复[47, 24, 3, 11, 22, 51, 46, 44],从大量数据中自动获取先验知识。例如,Guo等人[11]将光增强定式为利用轻量级深度模型进行图像特定曲线估计的任务。Jiang等人[16]引入了对抗训练来学习来自不配对监督的知识。Wei等人[43]设计了一个端到端可训练的RetinexNet,但仍然受到严重噪声的困扰。为了缓解这种问题,Zhang等人[49]调整了模型结构并开发了去噪训练损失。Zhang等人[48]提出了一种分解型架构来对反射施加约束。Liu等人[22]采用了架构搜索并构建了一个展开网络。尽管这些精心设计的模型实现了令人印象深刻的有效性,但在现实世界的应用中并不稳定。为了提高稳健性,在增强过程之前,我们使用神经表示将退化预调至统一水平。

2.2. Neural Representation for Images

最近,神经表示法已被广泛应用于描述图像。Chen等人[5]首次利用隐式图像表示进行连续图像超分辨率。然而,多层感知器(MLP)倾向于扭曲高频分量。为解决这个问题,Lee等人[20]开发了一个主导频率估计器,用于预测自然图像的局部纹理。Lee等人[19]进一步利用隐式神经表示将图像扭曲成连续形状。Dupont等人[8]尝试通过操纵隐藏层的潜在编码来用一个MLP生成不同的对象。Saragadam等人[37]采用多个MLP以多尺度方式表示单个图像。Sun等人[38]基于捕获的层析特征预测连续信息。Tancik等人[39]引入元学习来初始化MLP的参数以加速训练。

Reed等人[35]采用神经表示和参数化运动场来预测器官的形状和位置。此外,一些研究人员采用神经表示来压缩视频[1, 4, 50]。然而,现有的神经表示主要应用于图像压缩、去噪和描述连续信息等领域。我们是第一个将其可控拟合能力应用于低光图像增强的研究者。

2.3. Multi-modal Learning

近年来,跨视觉和语言模态的学习引起了广泛关注。出现了各种视觉-语言模型。Radford等人[32]提出了从语言监督中学习视觉模型的方法,称为CLIP。在训练了4亿张图文配对数据后,它可以用自然语言描述任何视觉概念,并且无需特定训练即可迁移到其他任务。此外,Zhou等人[52]开发了软提示来取代手工设计的提示,使用可学习的向量来建模上下文词汇,并获得与任务相关的语境。为了进一步将提示细化到实例级别,Rao等人[34]设计了上下文感知提示,将提示与视觉特征相结合。Cho等人[6]通过将统一框架更新为七个多模态任务的共同目标来在不同任务之间共享先验知识。Ju等人[17]采用了预训练的CLIP模型进行视频理解。

现有的方法主要集中在高级计算机视觉任务上,如图像分类。我们首次将预先训练的视觉语言模型的先验应用于微光图像增强,开发了面向语义的引导,并实现了更好的性能.

3. Our Method
3.1. Framework Architecture 

  • 作者先将待增强的暗光图及其对应的空间坐标用全连接层进行编码,并输出一张图片,鼓励输出结果尽可能地与输入的暗光图相似。

  • 然后,利用增强模块(ResNet)将其恢复成亮光结果。在此过程中还引入注意力模块以针对性地增强不同暗光区域。增强后的结果会喂给TAD鉴别其真伪。作者鼓励非成对的亮光自然图像被TAD鉴别为真,鼓励恢复的亮光结果为伪,以此训练增强模块。

  • 文本驱动的外观鉴别器 该鉴别器由3条支路构成。输入的亮光图像(增强结果or数据集)会分别从颜色维度,高频分量和语义空间三个角度被监督

  • 中间的紫色支路是一个普通鉴别器,判断输入图像在像素级别上与真实亮光图之间的差异。下方支路是由Sobel算子和鉴别器组成的高频分量鉴别器。Sobel算子先提取图像的高频分量,再由鉴别器判断其与真实图片的分布差异。

  • 上方是作者引入的CLIP先验指导的文本监督,通过对其图像特征和文本特征,引导模型向与文本更匹配的方向优化。实验证明引入文本监督后的模型,其增强结果更符合文本语义特征的分布,甚至比Ground Truth更符合

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Stable Diffusion AI绘画系列【20】:美丽动人的雀羽婚纱风,你心动了吗?

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

大数据项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现

大数据项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现 技术栈:大数据爬虫/机器学习学习算法/数据分析与挖掘/大数据可视化/Django框架/Mysql数据库 本项目基于 Django框架开发的房屋可视化分析推荐系统。这个系统结合了大数据爬虫、机器学…

【Python】Faker库详解:创建测试数据轻而易举

Python Faker库详解:创建测试数据轻而易举 在软件开发和测试过程中,通常需要大量的测试数据来模拟真实环境。Python的Faker库为开发者提供了一个方便、灵活且强大的工具,用于生成各种虚构数据。本文将深入介绍Faker库,演示其基本…

【Linux】Java 程序员必会的 Linux 最常用的命令

文章目录 lsllpwdcdtouchcatechomkdirtreermmvcpvimgreppsnetstat 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链…

【Android】查看keystore的公钥和私钥

前言: 查看前准备好.keystore文件,安装并配置openssl、keytool。文件路径中不要有中文。 一、查看keystore的公钥: 1.从keystore中获取MD5证书 keytool -list -v -keystore gamekeyold.keystore 2.导出公钥文件 keytool -export -alias …

C#winform上下班打卡系统Demo

C# winform上下班打卡系统Demo 系统效果如图所示 7个label控件(lblUsername、lblLoggedInEmployeeId、lab_IP、lblCheckOutTime、lblCheckInTime、lab_starttime、lab_endtime)、3个按钮、1个dataGridView控件、2个groupBox控件 C#代码实现 using System; using System.Dat…

极狐GitLab 和 ArgoCD 集成实现 GitOps

目录 ArgoCD 和 GitOps 概述 极狐GitLab 与 ArgoCD 的集成 ArgoCD 的安装 sops 介绍 探秘 gpg sops 和 gpg 的结合 ArgoCD 的使用 极狐GitLab 仓库的添加 gpg public key 的添加 ArgoCD Project 创建 ArgoCD Project 配置 ArgoCD GitOps workflow 验证 ArgoCD 和 Gi…

小航助学2023年6月GESP_Scratch三级真题(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号 单选题2.00分 删除编辑附件图文 答案:D 第1题高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。 A、编辑B…

jQuery ajax读取本地json文件 三级联动下拉框

步骤 1:创建本地JSON文件 {"departments": [{"name": "会计学院","code": "052"},{"name": "金融学院","code": "053"},{"name": "财税学院",&qu…

python爬虫基础html内容解析库BeautifulSoup

我们通过Requests请求url获取数据,请求把数据返回来之后就要提取目标数据,不同的网站返回的内容通常有多种不同的格式,一种是 json 格式,我们可以直接通过json.loads转换python的json对象处理。另一种 XML 格式的,还有…

Facebook引流脚本的优势与编写教程!

在当今的数字化时代,社交媒体已经成为企业进行营销和推广的重要渠道之一,Facebook作为全球最大的社交媒体平台之一,拥有数十亿的用户,为企业提供了无限的引流可能性。 然而,对于企业来说,在Facebook上吸引…

Java se之类和对象

目录 类的定义格式如何去自定义this的引用如何初始化对象构造方法的定义和使用 类的定义格式 class ClassName{ //属性(成员变量) //行为(成员方法) } 1>变量与方法 1.成员变量:普通成员变量 静态成员变量 2.成员方法:普通成员方法 静态成员方法 其中的静态变量与方法,在后…

传输层之TCP协议

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

最优化理论复习--对偶理论及灵敏度分析(一)

文章目录 上一篇对偶表示对偶问题的基本性质对偶问题的经济学解释:影子价格下一篇 上一篇 最优化理论复习–单纯形方法 对偶表示 一般情况: 对偶问题与原问题的字母表示: 对偶表示运用表格: m i n ⇒ m a x min \Rightarrow max min⇒m…

AI创作系统ChatGPT网站源码,AI绘画,支持GPT联网提问/即将支持TSS语音对话功能

一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…

【sgAutocomplete】自定义组件:基于elementUIel-autocomplete组件开发的自动补全下拉框组件(带输入建议的自动补全输入框)

特性&#xff1a; 1、支持本地保存选中过的记录 2、支持动态接口获取匹配下拉框内容 3、可以指定对应的显示label和字段组件key 4、自动生成速记符字段&#xff08;包含声母和全拼两种类型&#xff09;&#xff0c;增强搜索匹配效率 sgAutocomplete源码 <template><!…

【Linux】无法使用 screenfetch 查看系统信息,报错 command not found: screenfetch

问题描述 screenfetch是一个命令行工具&#xff0c;用于在终端显示系统的硬件和软件信息。它会收集各种系统和环境的信息&#xff0c;并以彩色 ASCII 艺术的形式在终端中展示出来。 当你在终端中运行screenfetch命令时&#xff0c;它会检测你的操作系统、主机名、内核版本、C…

利用eclipse导入外部java工程

利用eclipse导入外部java工程&#xff0c;打开eclipse&#xff0c;依次点击File-Import&#xff0c;…按下图依次执行…

vue中使用video.js播放m3u8格式的视频

文章目录 一、前言1.1、[官网](https://docs.videojs.com/)1.2、[Github](https://github.com/videojs/video.js) 二、实现2.1、安装依赖2.2、main.js2.3、video.vue2.4、其它 三、最后 一、前言 实时推送的视频流的需求&#xff0c;vue中就可以使用video.js播放m3u8格式的视频…

在 Mac 上使用浅色或深色外观

在 Mac 上&#xff0c;选取苹果菜单 >“系统设置”&#xff0c;然后点按边栏中的“外观” 。&#xff08;你可能需要向下滚动。&#xff09;选择右侧的“浅色”、“深色”或“自动”。 “浅色”表示不会发生变化的浅色外观。 “深色”表示不会发生变化的深色外观。“深色模式…