retinex 的水下图像增强算法_图像增强论文:腾讯优图CVPR2019

Underexposed Photo Enhancement using Deep Illumination Estimation

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

论文地址:Underexposed Photo Enhancement using Deep Illumination Estimation

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

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

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

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

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

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

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

47cf9d0a78d5af254fdb851cc983f23f.png
效果图

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

方法

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

,这样
就是我们想要的图像,由输入图像
增强得到
,最近基于Retinex方法的图像增强,
的逆函数通常被建模为光照映射S,它与反射率图像
以像素级的方式相乘,生成所观察到的图像

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

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

网络架构

efc8aeeb1dfd19cf64c8e5f41d87b4e2.png

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

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

损失函数

从N对图片

学习照明映射,学习出S然后增强图像
,在网络训练过程中,我们设计了一个由三个部分组成的损失函数
,并将其最小化。它表示为:

是是三个部分的损失,
是相应部分的权重

Reconstruction Loss

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

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

其中,

中的所有像素通道归一化为[0,1],
表示像素颜色通道,
是多通道光照范围约束。因为
,将
设为
的下界,确保增强结果
中的所有颜色通道(上界)都有一个上界,因此要避免超出色域的颜色,而将1设置为S的上界可以避免错误地使曝光不足的区域变暗。

86045ad802bc13399c6b977459653577.png

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)的模块对输出进行向上采样。

结果

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

3b08fa83154a79518214260fe3d9e050.png
与最先进的方法进行可视化比较

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

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

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

994beef4da8d51eaa726775d891e5471.png

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

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

相关文章

python 实现 BCH 纠错码的方法

python 实现 BCH 纠错码的方法 BCH码是一类重要的纠错码,它把信源待发的信息序列按固定的κ位一组划分成消息组,再将每一消息组独立变换成长为n(n>κ)的二进制数字组,称为码字。如果消息组的数目为M(显然M>2),由此所获得的M个码字的全…

结构体引用_C/C++结构体完全攻略

结构体是一个由程序员定义的数据类型,可以容纳许多不同的数据值。在过去,面向对象编程的应用尚未普及之前,程序员通常使用这些从逻辑上连接在一起的数据组合到一个单元中。一旦结构体类型被声明并且其数据成员被标识,即可创建该类…

python 实现 CRC 冗余码的方法

python 实现 CRC 冗余码的方法 我这里考虑输入是 torch.Tensor的一个 只包含0 ,1 元素的张量对于输入是numpy或者0,1字符串的方法就更简单了,总之都先要将输入处理成为 0,1字符串,例如“1010”首先构造一个输入&#…

mysql root密码过期了_Mac下重置mysql的root密码

php中文网最新课程每日17点准时技术干货分享我的mysql版本 MYSQL V5.7.9,旧版本请使用:UPDATE mysql.user SET PasswordPASSWORD(新密码) WHERE Userroot;Mac OS X - 重置 MySQL Root密码密码太多记不住??你是否忘记了Mac OS 的My…

论文页眉奇偶页不同怎么设置_还在愁毕业论文的页眉页脚吗?

在文档中添加页眉和页脚能够很好的对相关信息进行展示或说明,在写论文的时候,设置页眉和页脚,能够让老师清楚的了解你的论文,但同时页眉和页脚的设置也是最让人头疼的,今天零壹学长就给大家详细的介绍页眉和页脚。了解…

Acquiring lock on /*/*/.vscode-server/bin/f80445acd5a3dadef24aa20916 vscode远程linux 服务器无法建立连接

1 删除 C:\Users\‘用户名’\.ssh\ 下的 know_hosts文件 2 使用其他的ssh工具(MobaXterm)远程连接目标服务器 首先使用指令:ps -aux |grep ‘自己的用户名’ 列出自己所有的运行的程序找到正在使用报错的文件/*/*/.vscode-server/bin/f8044…

账号管理工具_全新微信个人号管理工具能选择吗?为何这么说?

点击上方“蓝字”关注我们伴随着微信营销的重要性越来越高,很多企业的新媒体运营人员也开始把注意力都放到了微信账号的运营上,不仅是公众号的发展和运营,个人号在这个过程中也是非常重要的。相对于公众号和微信群,个人号的影响力…

护理等级分级标准及巡视时间_18项护理核心制度,都在这了

一、护理质量管理制度二、病房管理制度三、抢救工作制度四、分级护理制度五、护理交接班制度六、查对制度七、给药制度八、护理查房制度九、患者健康教育制度十、护理会诊制度十一、病房消毒隔离制度十二、护理安全管理制度十三、患者身份识别制度十四、患者差错、事故报告制度…

pytorch单机多卡的正确打开方式 以及可能会遇到的问题和相应的解决方法

pytorch 单机多卡的正确打开方式 pytorch 使用单机多卡,大体上有两种方式 简单方便的 torch.nn.DataParallel(很 low,但是真的很简单很友好)使用 torch.distributed 加速并行训练(推荐,但是不友好) 首先讲一下这两种方式分别的优缺点 nn.…

2接口详解_java集合【2】——— Collection接口详解

一、Collection接口简介二、Collection源码分析三、Collection的子类以及子类的实现3.1 List extend Collection3.2 Set extend Collection3.3 Queue extend Collection四、Collection和Map的辨析五、Collection和Collections的辨析六、总结一、Collection接口简介 collection在…

幅度响应怎么计算_四电平脉冲幅度调制(PAM4)信号的误码分析

- PAM4 是一种高效利用带宽传输串行数据的方法,所需的通道带宽仅为 NRZ 所需带宽的一半。用户需要具有即时数据访问能力的互联网络,这种不断增长的需求推动着以太网、64G光纤通道、CEI-56 G以及其他新一代数据中心网络链路向前发展。用户需要具有即时数据…

使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作

使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作 总共分为四步 构造一个my_dataset类,继承自torch.utils.data.Dataset重写__getitem__ 和__len__ 类函数建立两个函数find_classes、has_file_allowed_extension,…

python文件和数据的格式化_Python在文本文件中格式化特定数据

谢谢你们的帮助。作为一个新手,我最终得到的代码不是那么优雅,但它仍然起作用:)。在#open the file and create the CSV after filtering the input file.def openFile(filename, keyword): #defines the function to open the file. User to…

windows功能_这 12 个好用 Windows 软件,让你也能用上 macOS 的独占功能

在离开 macOS 这段时间,每天在家依赖 Windows To Go 为生,感到日常工作流程在四处冒烟。这才发现 macOS 的有些特性就如同空气一样,虽然毫无存在感,却不可缺失。关于「如何在 Windows 中实现 macOS 的 xxx」,随便上网一…

Batch Normalization、Layer Normalization、Group Normalization、Instance Normalization原理、适用场景和实际使用经验

Batch Normalization、Layer Normalization、Group Normalization、Instance Normalization原理、适用场景和使用经验 一、 简单介绍各种Normalization 先放一张来自Group Normalization原论文中的图,个人认为这个图很形象,以此图直观感受一下各种归一…

blockly自定义中文出问题_[BlocklyNukkit入门]#5自定义物品

自定义物品创建一个木棍item blockitem.buildItem(280, 0, 1);设置名字item.setCustomName("棍");设置信息,用分号隔开换行blockitem.setItemLore(item, "第一行;第二行;第三行;第四行");添加有序合成添加有序合成,设置G为橡木原木的键,G就代表原木.参数1…

收发一体超声波测距离传感器模块_芜湖低功耗超声波液位计物位计设备排名

KUS 超声波液位物位计 8种工作状态设置指导 1), 窗口常开模式(模拟量输出产品为正线性工作模式或者距离测量模式)2), 窗口常闭模式(模拟量输出产品为负线性工作模式或者液位测量模式)3), 单点常开模4), 单点常闭模式。5), 单点常开带大滞回区间模式6), 单点常闭带大滞回区间模式…

学术写作科研工具推荐

最近在写论文,然后过程中觉得一些工具可以提升效率,所以就简单总结一下,以后也会逐渐更新 Ccf deadlines:我该赶哪个ddl呢? 一些主要ccf A、B、C类会议的截稿日期都会被统计显示在此哦,看看你想投哪个会吧…

如何加声调口诀_声母韵母口诀顺口溜歌曲(怎么快速记住声母韵母)

家有一年级的小朋友,或者是孩子即将上小学的爸爸妈妈们,孩子的拼音学习进行得怎么样了?拼音是孩子进行语文学习的第一课,也是基础。但对很多小朋友来说真的是一道拦路虎。很多孩子由于一年级拼音基础不牢,到了四五年级…

pytorch model.train() 和model.eval() 对 BN 层的影响

model.train() BN做归一化时,使用的均值和方差是当前这个Batch的如果这时 track_running_statsTrue, 则会更新running_mean 和 running_var但是,running_mean 和 running_var不用在训练阶段 model.eval() BN 做归一化时,使用的…