Zero-DCE++

  • 摘要
  • 1 简介
  • 2 相关工作(略)
  • 3 网络结构
  • 4 ZERO-DCE++
  • 5 实验

论文地址:https://arxiv.org/pdf/2103.00860.pdf
论文代码:https://github.com/Li-Chongyi/Zero-DCE_extension

摘要

本文提出了一种新方法,即零参考深度曲线估计 (Zero-DCE),该方法将亮度增强任务转化为使用深度网络进行图像特定曲线估计。 我们的方法训练了一个轻量级的深度网络DCE-Net估计像素级高阶曲线,以此赖对给定图像进行动态范围调整。曲线估计在像素取值范围、单调性和可微性方面进行专门设计。Zero-DCE 的吸引力在于其对参考图像的宽松假设,即它在训练期间不需要任何成对甚至不成对的数据。 这是通过一组精心制定的非参考损失函数实现的,这些损失函数同时衡量增强质量并驱动网络的学习。 尽管它设计简单,但它可以很好地泛化到不同的光照条件。 我们的方法是有效的,因为图像增强可以通过直观和简单的非线性曲线映射来实现。本文进一步提出Zero-DCE 的加速和轻量级版本,称为 Zero-DCE++,它使用了只有 10K 参数的微型网络。 Zero-DCE++ 具有快速的推理速度(对于尺寸为 1200×900×3 的图像,在单个 GPU/CPU 上速度 1000/11 FPS),同时保持 Zero-DCE 的增强性能。本文在各种基准上进行的大量实验,结果表明本文方法在定性和定量衡量上均达到最优。此外,本文进一步验证了方法在夜间人脸检测上的优势。
主要创新点:
1)算法不需要成对和不成对的数据训练,避免过拟合的问题,因而不同光照下泛化性好。
2)算法设计特定图像曲线进行逐像素估计,将图像映射到宽动态范围,并且曲线可以不断迭代到更高阶
3)算法展示了不使用成对参考图像,只通过无参考损失函数估计图像增强质量来进行模型训练的可行性。
4)Zero-DCE可以在加速同时兼顾图像增强的效果,并且提供多种选择来平衡性能和计算代价问题。

1 简介

由于不可避免的环境和/或技术限制,许多照片通常是在次优照明条件下拍摄的,比如照明条件不足和不平衡、物体在极端背光下的不正确放置以及图像捕获期间曝光不足等,导致图片质量差。虽然深度神经网络在图像增强方面表现较好,但大量参数导致内存占用高和推理时间长空间。对于资源有限和需要实时检查的设备,例如移动平台,计算成本低,推理速度快非常重要。
本文提出了一种新的基于深度学习的弱光图像增强方法—零参考深度曲线估计 (Zero-DCE),
可用于多种光照条件包括不均匀和光线不足等。本文没有进行图像到图像的映射,而是将任务重新定义为特定图像的曲线估计问题,即将低光图像作为输入,生成高阶曲线作为输出,然后使用这些曲线对输入的动态范围进行逐像素调整,以获得增强图像。算法可以保持增强图像的范围以及临近像素的对比度。重要的是,它是可微的,因此我们可以通过深度卷积神经网络学习曲线的可调参数。 该网络是轻量级的,设计的曲线可以迭代逼近到更高阶曲线,以实现更稳健和准确的动态范围调整。
我们基于深度学习的方法的独特优势是零参考,即它不需要像现有的基于 CNN 和基于 GAN 的方法那样在训练过程中使用任何成对甚至不成对的数据。 这是通过设计的一组的非参考损失函数实现的,包括空间一致性损失、曝光控制损失、颜色恒定性损失和光照平滑度损失,所有这些都考虑了光线增强的多种因素。
算法表明,即使使用零参考训练,Zero-DCE 仍然可以与需要配对或未配对数据进行训练的其他算法媲美。我们提供选项来平衡性能增强和Zero-DCE在实际应用中的计算成本,并提出一个加速和轻量级的版本 Zero-DCE++。 这是通过重新设计网络结构,重新制定曲线估计,控制输入图像的大小实现的。
与上一篇CVPR论文相比,增加了新内容,具体如下:
1)本文研究了图像增强性能与网络结构、曲线估计和输入大小之间的关系。 根据研究结果重新设计了网络结构,重新制定曲线生成,并控制输入图像的大小,从而提出了一个加速和轻量级的版本,称为 Zero-DCE++,更适合资源有限的设备或者实时增强。
2)与早期版本相比,在不影响增强性能的情况下,对于1200×900×3大小的输入图像,Zero-DCE训练参数(79K) 、浮点运算数(FLOPs)(84.99G),在Zero-DCE++上,只需要10K 、 0.115G,在一块NVIDIA 2080Ti GPU测试,速度也由500 FPS提升到1000FPS。此外,在单个CPU —Intel Core i9-10920X CPU@3.5GHz上,算法由10s降低到0.09s,训练时间也从30分钟降低到20分钟。
3)本文通过更多实验、设计分析、消融实验等证明无参考学习的优势以及本算法的有效性。
4)本文对低光照增强算法进行总结,分析当前算法的优缺点。

2 相关工作(略)

3 网络结构


上面(a)是Zero-DCE的网络框架,DCE-Net 被设计为估计一组最佳拟合的光增强曲线(LE-曲线),该曲线迭代地增强给定的输入图像(即,将增强的图像作为下一次迭代的输入,并且输入以渐进的方式增强。(b)© 图是调整不同参数的对比结果,横轴表示输入像素值,纵轴表示输出像素值。

4 ZERO-DCE++

Zero-DCE++是Zero-DCE的轻量化版本,主要基于以下研究实现:
1)DCE-Net中使用的卷积网络可以替换成深度可分离卷积。
2)不同迭代阶段估计的曲线参数(Zero-DCE一共八次迭代)在大多数情况下是相似的。
在图 6 中,我们展示了在不同迭代阶段估计曲线参数图及其差异图的示例。图中可以看出,曲线参数图是相似的,并且差异图的值很小。大多数情况下,曲线参数图可以在不同的迭代阶段重复使用,因此我们可以将估计的曲线参数图从24 减少到 3。
3)我们的方法对输入图像的大小不敏感。 因此,我们可以使用下采样输入作为曲线参数估计网络的输入,然后将估计的曲线参数图上采样回原始分辨率以进行图像增强。低分辨率输入可以显着降低计算成本。

基于这些观察,本文从三个方面修改了 Zero-DCE。
1)DEC-Net网络重新设计,将卷积网络替换成深度可分离卷积,每个深度可分离卷积层由1个核大小为 3×3,步幅为 1 的depthwise convolution和核大小为 1×1、步长为 1 的pointwise convolution组成。
2)重新设计了曲线估计并且只使用3个曲线参数图,然后在不同阶段重复利用他们,而不是在8个阶段估计24个参数图。公式如下:

相同的曲线参数图A用来调整不同阶段的曲线。虽然参数图相同,但仍保留高阶的属性。
3)我们可以使用下采样图像作为我们的输入网络估计曲线参数图。 默认情况下,我们在 Zero-DCE++ 中将输入下采样 12 倍以平衡性能和计算代价。虽然降采样,但算法性能仍然较好,原因如下: 首先,尽管我们采用下采样输入来估计曲线参数,但我们将小的曲线参数图调整回原始输入图像大小,调整基于邻域像素具有相同的亮度(也是相同的调整曲线)的假设。 从输入图像到增强图像的映射是在原始分辨率上进行的。 第二,空间一致性损失使结果保留输入图像的内容。 三、损失是按区域而不是按像素的。在消融实验中,包含更多讨论和结果。

5 实验

为了充分发挥算法宽动态范围调节能力,本文将低光和过度曝光的图像都放入训练集中。 为此,使用来自 SICE 数据集第 1 部分的 360 张多重曝光序列图来训练模型。 本文也使用 EnlightenGAN 的一部分训练数据。 本文将 Part1 子集中不同曝光级别的 3022 张图像随机分成两部分(2422 张图像用于训练,其余图像用于验证)。 训练和验证图像的大小均调整到512×512×3。算法在NVIDIA 2080Ti GPU训练,batch size是8,每个层初始参数用均值0,方差0.02的高斯函数初始化。Bias初始化为常数。使用ADAM 作为优化器,学习率为0.0001。权重Wcol and WtvA 分别是 0.5, 20。Zero-DCE 与 Zero-DCE++ 的训练集和配置参数相同。
测试集使用NPE (84 images), LIME (10 张), MEF (17 张),DICM (64 张), and VV3 (24 张),以及SICE的part2中低光图像。图像大小1200×900×3,总量767对低光/正常图像。
实验结果如下:
1)User study (US)/Perceptual index (PI)在数据集 (NPE, LIME, MEF, DICM, VV)的得分:US 越高越好,PI越低越好。
2)PSNR, SSIM和MAE在上述测试集上的结果。

论文阅读:Learning to Enhance Low-Light Image via Zero-Reference Deep Curve Estimation相关推荐

  1. 深度学习论文阅读图像分类篇(三):VGGNet《Very Deep Convolutional Networks for Large-Scale Image Recognition》

    深度学习论文阅读图像分类篇(三):VGGNet<Very Deep Convolutional Networks for Large-Scale Image Recognition> Ab ...

  2. 论文阅读和分析:《DeepGCNs: Can GCNs Go as Deep as CNNs?》

    下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊. 数据集 1.脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1. ...

  3. [论文阅读] Learning Loss for Active Learning

    论文地址:https://arxiv.org/abs/1905.03677 发表于:CVPR'19 Abstract 深度神经网络的性能随着更多的标注数据而提高.问题是用于标注的预算是有限的.解决这个 ...

  4. 论文阅读 Learning Motion in Feature Space: Locally-Consistent Deformable Convolution Networks

    Learning Motion in Feature Space: Locally-Consistent Deformable Convolution Networks for Fine-Graine ...

  5. 论文阅读 Learning Transferable Visual Models From Natural Language Supervisio

    Learning Transferable Visual Models From Natural Language Supervision Computer Vision and Pattern Re ...

  6. [论文阅读] Learning without Memorizing

    论文地址:https://link.springer.com/chapter/10.1007/978-3-319-46493-0_37 代码:https://github.com/stony-hub/ ...

  7. [2022_CVPR_LAV]论文阅读learning from all vehicles

    LAV: learning from all vehicles 这篇论文v2版本已经发布,待看 数据集太大暂时无法全部下载,具体的数据集内容查看mdb文件,待看 主要是大概看了一遍代码,跟以往IL-b ...

  8. [论文阅读] Learning a Unified Classifier Incrementally via Rebalancing

    论文地址:https://openaccess.thecvf.com/content_CVPR_2019/html/Hou_Learning_a_Unified_Classifier_Incremen ...

  9. [论文阅读] Learning Without Forgetting

    论文地址:https://link.springer.com/chapter/10.1007/978-3-319-46493-0_37 代码:https://github.com/lizhitwo/L ...

最新文章

  1. UE商城资源 Motion Symphony 运动匹配插件
  2. jqGrid参数详解
  3. scipy 笔记:solve_triangular
  4. wxWidgets:将 PNG 图像文件包含到可执行文件中
  5. Linux 编译 mysql
  6. 计算机信息加工的类型及举例,3.1.2计算机信息加工的过程和类型
  7. socket php验证客户端验证,用Socket发送电子邮件(利用需要验证的SMTP服务器)_php基础...
  8. 第十七章 我国农业科学技术
  9. mysql监控平台怎么做_MySQL监控平台的构建方法
  10. idea 保存设置 新建项目_配置、创建IntelliJ IDEA Spring MVC 项目
  11. CMake笔记2 构建动态链接库
  12. implode - of an array
  13. 通过jQuery设置全局Ajax加载时呈现Loading
  14. YUM更换源(1)--yum找不到安装包
  15. Flutter入门系列-VideoPlayer在列表使用
  16. ACL2020 | SongNet(格式可控的文本生成)
  17. java批量图片下载+打包成zip格式
  18. c语言编写生日祝福语大全,最经典的生日祝福语(精选50句)
  19. 一曲罢已,愁若梨花,乱红释怀,浮躁尽然。。。。。。
  20. MySQL备份还原和定时任务

热门文章

  1. 巨头“心血之作”终失败(一):苹果Apple TV
  2. VMware16安装Mac11.1Big Sur遇到“客户机操作系统已禁用 CPU。请关闭或重置虚拟机。”解决方案
  3. Cell :根部微生物跨界的互作促进拟南芥生存
  4. Android中的混淆
  5. 加入光荣的进化吧!!!
  6. TiDB亿级数据亚秒响应查询扩缩容
  7. .ISO是什么格式的文件
  8. 如何在不影响库存现存量数据的基础上调整存货核算的数量?
  9. 关于信用卡积分的知识
  10. 从零开始用Python搭建推荐引擎(附代码)