专栏首页深度学习和计算机视觉CVPR2019 | 港中文&腾讯优图等提出:暗光下的图像增强

CVPR2019 | 港中文&腾讯优图等提出:暗光下的图像增强

作者: 刘浪 https://zhuanlan.zhihu.com/p/67785574 本文已授权,未经允许,不得二次转载

基于深度学习优化光照的暗光下的图像增强

论文地址:http://jiaya.me/papers/photoenhance_cvpr19.pdf

暗光拍照也清晰,这是手机厂商目前激烈竞争的新拍照目标。

提出基于深度学习优化光照的暗光下的图像增强模型,用端到端网络增强曝光不足的照片。

而且不是像以前的工作那样,直接学习图像到图像的映射,而是在新网络中引入中间照明,将输入与预期的增强结果相关联,增强网络从专家修饰的输入/输出图像学习复杂的摄影调整的能力。在此模型的基础上,构造了一个对光照采用约束和先验的损失函数,结果证明,新算法模型,效果超过了市面上一众当红的多摄多硬手机

传统夜景图像增强算法大致可以分为几个方面: 直方图均衡化(Histogram equalization) ,这种方法简单的利用了图像整体的统计性质,通常不能对复杂场景达到理想效果。

基于Retinex理论的增强算法,通常只能用单通道进行光照优化,颜色无法很好地回复,在光照复杂的情况下还容易出现过曝的现象。

这些传统方法还容易在增加图像亮度的同时,放大噪声等瑕疵,影响图像质量。

基于深度学习的方法,通常是直接训练回归(regression)模型,由于数据本身的特性,这种方法得到的结果通常清晰度、对比度比较低,而且会有一些人工痕迹。

效果图

提出了一种新的端到端图像增强网络。特别地,没有直接学习图像到图像的映射,而是设计网络,首先估计一个图像到光照的映射来建模各种光照条件,然后使用光照映射来照亮曝光不足的照片。此外,为了降低计算成本,我们采用了基于双网格的上采样,并设计了一个在光照上采用各种约束条件和先验的损失函数,使我们能够有效地恢复自然曝光、对比度合适、细节清晰、色彩鲜艳的低曝光照片。

方法

图像增强的任务可以被看作是寻求一个映射函数

,这样

就是我们想要的图像,由输入图像

增强得到

,最近基于Retinex方法的图像增强,

的逆函数通常被建模为光照映射S,它与反射率图像

以像素级的方式相乘,生成所观察到的图像

这里S建模为RGB三通道是为了增强其对颜色增强的建模能力,特别是对不同颜色通道的非线性处理能力。

是观察图像,

是增强后的图像,因此只要解得

的近似解

即可。为什么这么做有效呢?因为自然图像的光照图有着相对简单的先验,因此使用光照图做中介可以有效应对各种光照情况,同时也可以通过对光照图进行调整,实现个性化增强,例如可以使用局部平滑的光照图增加对比度

网络架构

网络分成了 全分辨率分支 和 低分辨率分支 。其中低分辨率分支用于学习到全图光照的整体信息,低分辨率图像的使用,有助于增大网络感受野,提高算法速度。

低分辨率分支的结果将会传递给高分辨率网络分支,用于重建全分辨率下的亮度图,并最终得到增强后的图像。

损失函数

从N对图片

学习照明映射,学习出S然后增强图像

,在网络训练过程中,我们设计了一个由三个部分组成的损失函数

,并将其最小化。它表示为:

是是三个部分的损失,

是相应部分的权重

Reconstruction Loss:

为了得到预测的S,我们定义

误差度量来测量重建误差为:

其中,

中的所有像素通道归一化为[0,1],

表示像素颜色通道,

是多通道光照范围约束。因为

,将

设为

的下界,确保增强结果

中的所有颜色通道(上界)都有一个上界,因此要避免超出色域的颜色,而将1设置为S的上界可以避免错误地使曝光不足的区域变暗。

Smoothness Loss:

根据先验光滑性,自然图像中的光照一般为局部光滑。在我们的网络中采用这种优先级有两个优点。首先,它有助于减少过度拟合,提高网络的泛化能力。其次,它增强了图像的对比度。当相邻像素点p和q的光照值相似时,它们在增强图像中的对比度可以估计为

,它也应该被放大,因为

。因此,我们将图3中预测的全分辨率光照S的平滑度损失定义为:

其中对所有像素的所有通道(c)求和,

为图像空间水平方向和垂直方向的偏导数,

为空间变化(每个通道)的平滑权值,表示为:

这里,

是输入图像

的对数,

是控制图像梯度灵敏度的参数,

是一个小常数,通常设置为0.0001,防止被0整除。

直观地说,平滑度损失鼓励光照在小梯度的像素上是平滑的,而在大梯度的像素上是不连续的。有趣的是,对于曝光不足的照片,图像内容和细节往往很弱。较大的梯度更可能是由不一致的光照造成的。如图4中的第4幅图像所示,通过进一步加入平滑度损失,我们恢复了良好的图像对比度,与仅重建损失的结果相比,细节更加清晰。

Color Loss

接下来,设计颜色损失来使生成的图像

中的颜色与相应的标签图片

中的颜色匹配

表示一个像素,

是一个运算符,它将RGB颜色作为三维向量计算两种颜色之间的夹角。上面等式对

中每个像素对的颜色向量夹角求和。

我们在其他颜色空间中使用这个简单的公式而不是L2距离的原因如下。首先,重构损失已经隐含地测量了L2色差。其次,由于L2度规仅用数值方法测量色差,因此不能保证颜色向量具有相同的方向。

并在NVidia Titan X Pascal GPU上以mini-batch为16进行40个epoch的训练。优化器使用Adam,固定学习率为

。为了增加数据,随机裁剪了

的patch,然后随机调整大小和旋转所有patch。下采样输入的固定分辨率为

。编码器网络是一个预先训练的VGG16。局部特征提取器包含两个卷积层,全局特征提取器包含两个卷积层和三个全连通层。此外,使用基于双边网格(bilateral grid)的模块对输出进行向上采样。

结果

与最先进的方法进行可视化比较。

与最先进的方法进行可视化比较

使用了两个常用的度量标准(即,PSNR和SSIM)来定量评估我们的网络性能,根据预测结果和相应的专家润色图像之间的颜色和结构相似性。虽然这不是绝对的指示性,但总的来说,高的PSNR和SSIM值对应着相当好的结果。

在自己制作的数据集上定量比较本文的方法和最先进的方法

在MIT-Adobe FiveK数据集上对我们的方法和最新技术进行了定量比较。

往期文章一览

1、【OpenCV入门之廿】图像矫正技术深入探讨(长文多图)

2、干货 | 基于OpenCV Python实现二维码检测与识别

3、解密深度图像先验,使用深度图像先验来复原图像

4、手机可以拍摄出2.4亿像素图像?

5、OpenCV4.0实现人脸识别

6、基于内容的图像检索技术综述-传统经典方法

7、为什么不建议你入门计算机视觉

8、小心!你看到的图像可能隐藏了重大机密

本文分享自微信公众号 - 小白学视觉(NoobCV)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于TensorFlow和Keras的图像识别

    TensorFlow和Keras最常见的用途之一是图像识别/分类。通过本文,您将了解如何使用Keras达到这一目的。

    小白学视觉
  • 计算机视觉系统中图像究竟经历了哪些“折磨”

    如今,计算机视觉(CV)已成为人工智能的主要应用之一(例如,图像识别,对象跟踪,多标签分类)。在本文中,我们将了解构成计算机视觉系统的一些主要步骤。

    小白学视觉
  • 解密深度图像先验,使用深度图像先验来复原图像

    图像恢复是指从退化图像中恢复未知真图像的任务。图像的退化可能发生在图像的形成、传输和存储过程中。这个任务有一个广泛的使用范围,卫星成像,暗光线的摄影,由于数字技...

    小白学视觉
  • TuiGAN: Learning Versatile Image-to-ImageTranslation with Two Unpaired Images

    一个无监督的图像-图像转换(UI2I)任务处理学习两个域之间的映射没有配对的图像。虽然现有的UI2I方法通常需要来自不同领域的大量未配对的图像进行训练,但是在许...

    于小勇
  • 图像处理,计算机视觉和人工智能之间的差异

    图像处理和计算机视觉是超级令人兴奋的研究和研究领域。随着人工智能的进步,这两个领域都在不断发展。

    材ccc
  • 数字图像处理的基本原理和常用方法

      数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理最早出现于 20 世纪 50 年代,当时的电子计算机已经发展到一定水平,人们...

    bear_fish
  • 图像处理入门基础

    1、数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,图像看成二维、三维或者更高维的信号。

    长风破浪
  • IQ1: 怎么定义图像的质量?如何评价图像的质量?

    我的这个专栏叫做图像质量评价,但是什么叫做图像的质量呢? 图像质量是一个非常宽泛的概念,在不同情况下有不同的理解。

    HawkWang
  • 计算机视觉路线图

    如今,计算机视觉(CV)已成为人工智能的一项重要应用(例如,图像识别、对象跟踪、多标签分类)。本文将引导你完成搭建计算机视觉系统的一些主要步骤。

    人工智能小咖
  • GAN如此简单的PyTorch实现,一张脸生成72种表情(附代码)

    【新智元导读】随着GAN的发展,单凭一张图像就能自动将面部表情生成动画已不是难事。但近期在Reddit和GitHub热议的新款GANimation,却将此技术提...

    新智元

扫码关注云+社区

领取腾讯云代金券