Nighttime Visibility Enhancement by Increasing the Dynamic Range and Suppression of Light Effects.(《通过增加动态范围和抑制光效应来提高夜间能见度》)
2021 CVPR 耶鲁大学&新加坡国立
文章核心:通过增加动态范围的强度来提高其可见性,从而提高弱光区域的强度,同时抑制光效应(辉光、眩光)。
根据摘要,得到了一下论文结构:
文章First是是对inverse CRF的估计 (后面会说CRF)(文章核心),Second 讲解不是很多,估计作者还有后续要做,Third 就是一个通常的图像相加操作。文章中的几个Loss function 可以借鉴。
国际传统,文章开篇放一张对比图,只能说对眩光等的抑制不错(但是后面会有图片展示抑制后色调问题),但是不能算为一个弱光增强吧?虽然不知道弱光增强怎么界定的,只能说弱光是对该文章的锦上添花。因为图像中具有绝大部分的特征。
接下来是网络结构:
First :CRF Estimation and Linearisation:
这部分是对inverse CRF的估计,为什么要估计inverse CRF?
场景辐射L,经过光效应S(类似光照这种,近似认为是线性函数),得到了 图像辐照度E(辐照度可以简单理解为,物体的辐射加上光照,产生了一种带损失的反射光线,该光线携带物体的信息,射到了相机镜头上,这种光线就是辐照度吧(是吗?)),经过相机响应函数f(类似于相机的ISP),就得到了output图像B(就是相机拍出来的照片)。整个过程其实类似Retinex,物体本身就有辐射,经过光照会进行反射,反射的就是一个辐射度,辐射度经过一些与相机镜头的夹角,表面反射率, 一些作用,就得到了图像。
为什么估计 inverse CRF? 因为估计inverse CRF就是为了用已知的B(弱光图像 input,--我们需要增强的图像) 经过inverse CRF 得到最原始的图像E(只与光照线性相关的图像),为下一步利用引导滤波器进行分频打基础。
Second:Noise Light Effects Suppresion
这个阶段就是对已经得到的线性图像E,进行分频,分频这里引用了 18年的《Fast end-to-end trainable guided filter》引导滤波,但是不知道作者怎么设定的,未知。
然后分别对LF 和 HF 进行抑制,去噪,也不知道网络结构是啥,但是给了几个Loss
Thrid:Dynamic Range improvement
对图像进行HDR增强,看到后面发现LF-HDR 也不知道是干啥的,只知道LF + HF 是一个Loss 。
最后得到了Output。
文章很乱,接下来介绍用到的数据集:
X-X(gt) X(gt) 是HDR图像,用于做loss。F是来自引用的一篇文章。
可以看出来,gama=0.45应该是最佳拟合曲线(题外话)。
接下来文章正题-监督模块:
cihi就是一个向量吧(多个向量,产生的仿射变化作用在go上,得到了转换后的图像),用11个函数是因为引用的一篇文章告诉我们,11个函数得到的图像正好是8bit的
将估计得到的线性图像LX,分解为低频 LFX = {LFX1, ...,LFXK}和高频HFX = {HFX1, ..., HFXK}, K是用于分解图像的过滤器总数。(就是引导滤波的数量)
这是一个 tone mapping 可以看一下引用文章的CSDN。
非监督模块:
单调性文章是引用的,就是为了平滑CRF曲线,保证单调性。
在这个基础上使用基于边缘像素在辐照度(或线性化)图像中形成的线性分布属性的无监督损失。
E是patch的数量,patch的分辨率为S×S。对于每个像素分布dYes,其中e∈[1,E]和s∈[1,S],nYes 表示线性分布和归一化分布。
这个Loss就是在保证每个patch的最小像素值与各个点像素值的差不要过大,平滑边缘的,这个loss是作用在边缘patch的。
接下来我认为是本文章最最重要的2个损失函数:
上面这个是保真度损失,没啥解释的
第二个是,灰度损失 gray loss ,前面可以看到像素在R、G、B空间的分布,这个损失就是为了保证像素值表示的颜色的纯正。拿一个像素点说,尽量保持在R、G、B空间中到r g b 3个轴 的距离不那么大,亮的地方不让它那么亮,暗的地方不要太暗。文章最关键的也就是这个Loss 用它来处理 suppressing light effects。
下面是实验测试:
他的l.e.图像怎么来的,也不知道。
下面这个图连f都没有。
这样看,效果还行。