今天又是来读论文,选的是TIP 2017年的 一篇文章,应该算是经典方法里比较出名的了,引用量还蛮多的
Abstract&Introduction 弱光图像的增强是很重要的,对于物体检测和追踪都很重要,最无脑的方法就是直接调高整体亮度,但是这样就会导致亮的地方过曝。
随后还有人研究出了Histogram equalization (HE)法,但是这个方法的缺点在于侧重的的增强对比度而非去关心真实的光照情况。
另一种方法是Gamma校正,然而Gamma校正是逐个pixel去看的,就很容易看不到整体所有pixel之间的关系。
接下来是基于Retinex模型的各种方法,这些方法虽然很多取得了很好的结果,但是相对于我们的模型来讲并不是有很清晰的物理背景
Contribution 通过估计低亮度的图像的光照图来恢复图像,不同于传统Retinex方法,不是分解为反射率和照明分量,而是只估算其中的一个因子。构建illumination map的第一步是分别找到图片里每个像素的R、G、B通道中的最大值,利用增强拉格朗日乘数法(ALM)来解决优化问题,同时还加入了一个优化器来进一步提高计算速度
Methodology 基于Retinex模型改造而来:
文章图片
L是拿到的图像,R是ground truth,○意味着逐元素的相乘,我们假设彩色图像的三个通道用同一张光照图,T就是光照图,上面这个公式具有很好的物理背景,我们的工作可以兼顾暗处的细节和暗处的真实形状,如果要完整的解出R和T,则优化问题就变得很复杂,就要分别估计R和T,然后把二者乘在一起,去和L做最小二乘之类的优化,还需要加入大量的先验知识来解这个illposed 的问题,然而我们知道R=L/T,虽有只要估计了T,R就知道了
光照图的估计
文章图片
x代表每一个像素,这样做的理由是光照至少应该是在某个pixel处的三个通道中的最大值,这样获得的T也不会导致过饱和
文章图片
如果将低光图像反转,看起来就很像haze image,就可以有这样的表示
文章图片
a代表global atmospheric light,而到我们现在的讨论为止,这个“起雾图像”的物理意义仍不够明确,只是看起来像,下面可以证明一下这个反转图和起雾图像的关系:
我们有一个流行的起雾图像增强算法,把它用于我们上面的这个模型上
文章图片
可以发现当a=1 的时候二者是等价的,如果远离1,则不等价
在我们的工作中,首先利用2号公式来对光照图进行一个最初的估计,虽然已经开发了很多改进的办法,但是这些办法都是structure blind的,包括下面的这两种方法
文章图片
【论文阅读(弱光图像的增强|LIME: Low-light image enhancement via illumination map estimation TIP 2017阅读记录)】我们的方法就可以同时让局部光滑同时又能兼顾整体结构,我们把它当成一个如下的优化问题来解决
文章图片
其中,α是平衡所涉及的两项的系数,并且·F和·1分别表示Frobenious和1范数。 此外,W是权重矩阵,?T是一阶导数滤波器。 在本文中,它仅包含?hT(水平)和?vT(垂直)。 在目标(8)中,第一项考虑了初始映射?T与精化一个T之间的逼真度,而第二项考虑了(结构感知)平滑度。 在讨论构造W的可能策略之前,我们在接下来的两个小节中提供了两个求解器来解决问题(8)。
后面就通过傅里叶变换、拉格朗日乘子法等等各种方法把这个问题转化为了一个迭代更新的问题,具体就不细说了,还引入了一个加速算法,来提高运行速度
然后又给出了经过他们自己测试觉得比较好的几个超参数
随后是各种experiment,最后确定了效果确实比现在的很多算法都要好
推荐阅读
- 论文笔记|深度学习-数据增强总结
- opencv|【opencv】error: (-215:Assertion failed) ssize.empty() in function ‘cv::resize‘报错原因
- 深度学习之医学图像分割论文|[深度学习论文笔记]使用多模态MR成像分割脑肿瘤的HNF-Netv2
- 深度学习之医学图像分割论文|[深度学习论文笔记]UCTransNet:从transformer的通道角度重新思考U-Net中的跳跃连接
- 论文阅读笔记|双流网络泛读【Two-Stream Convolutional Networks for Action Recognition in Videos】
- 计算机视觉|基于Paddle的计算机视觉入门教程——第2讲 计算机视觉的分类
- 计算机视觉|Python图像增强(一)--imgaug
- 人工智能|特斯拉又被挖墙脚(Autopilot总监离职,加入苹果造车团队)
- C++|DAY2 OpenCv学习笔记( C++ 透视变换)