Edge-Preserving Decompositions for Multi-Scale Tone and Detail Manipulation
目前在传统Tone Mapping这个领域,我个人根据看过的Paper将其分类为Retinex、HVS、Gradient Domain,其中Retinex相比常见的SSR(Single Scale Retinex)、MSR(Multi Scale Retine),在Tone Mapping中的Retinex泛指一切使用到低通滤波器将图像分解为基础层(Base Layer)、细节层(Detail Layer),并对基础层做Global Tone Mapping的方法,所有这些用低通滤波做图像分解的算法都是为了在调节图像亮度的过程中不损失图像细节信息。
和《Image Smoothing via L0 Gradient Minimization》这篇文章一样,这篇Paper依旧着力在保护图像主要边缘信息和平滑图像之间的平衡,从《Image Smoothing via L0 Gradient Minimization》这篇Paper给出的结果来看,这篇Paper在保护边缘和平滑图像之间的平衡并没有《Image Smoothing via L0 Gradient Minimization》好,但是可以通过这篇Paper比较好的了解Tone Mapping或者Local Contrast Enhancement当中的Retinex。
Halo
在Tone Mapping、Sharpen当中都很容易产生Halo Artifacts,Tone Mapping产生Halo是因为不够包边的低通滤波器在模糊图像边缘的同时,将图像的部分亮度信息分到了图像的细节层,而在Tone Maping中细节层往往不做格外的处理,或者是做增强的处理,就会造成部分图像亮度信息(主要是强边缘处)没有经过Global Tone Mapping,残留在了图像的细节层,最后叠加回基础层的时候造成梯度反转;而在Sharpen当中,Halo主要是因为对边缘细节的增强处理所造成的梯度反转。如果在Tone Mapping中出现了Halo问题,在后续的处理中基本难以去除,因为不管在ISP还是后处理当中,Sharpen都会跟在Tone Mapping之后,只会将Tone Mapping过程中产生的Halo增强,因此基于Retinex的Tone Mapping的一个关键问题就是解决Halo问题,方法就是使用更加保边的低通滤波,这一低通滤波不求很好的保护图像的微小细节及纹理,但需要做到保持图像中较大边缘的锐利程度。
Edge-Preserving Smoothing via WLS
WLS Optimization Framework
图像的最小二乘滤波算法最早由Lagendijk在其论文《Regularized Iterative Image Restoration with Ringing Reduction》用于去除频域图像处理过程最常被发生的振铃效应,后来被逐渐被用于图像降噪,Adobe之前的交互式Tone Mapping功能就是基于WLS(Adobe的Tone Mapping算法原文是《Interactive Local Adjustment of Tonal Values》。
记原图像为ggg,原图像经平滑后的图像为uuu,则此优化问题的目标函数为:
∑p((up−gp)2+λ(ax,p(g)(∂u∂x)p2+ay,p(g)(∂u∂y)p2))(1) \sum_{p}\left(\left(u_{p}-g_{p}\right)^{2}+\lambda\left(a_{x, p}(g)\left(\frac{\partial u}{\partial x}\right)_{p}^{2}+a_{y, p}(g)\left(\frac{\partial u}{\partial y}\right)_{p}^{2}\right)\right)\tag{1} p∑((up−gp)2+λ(ax,p(g)(∂x∂u)p2+ay,p(g)(∂y∂u)p2))(1)
其中第一项用于约束平滑后的图像与原图像间的相似性,第二项用于约束平滑后图像的梯度,ax,p(g)、ay,p(g)a_{x,p}(g)、a_{y,p}(g)ax,p(g)、a