2013年TIP一篇做图像增强的论文,论文提出的步骤包括,首先使用相对光照误差函数去保留自然特征,然后使用亮度滤波去分解图像为光照图和反射图获得图像自然部分和细节,反射图被限制在[0,1]。最后使用log双边转换,去map光照图在细节和自然度之间达到平衡,使得光照图没有淹没细节。
目前的retinex算法恢复出的光照图超过了【0,1】这个区间范围,而且仅仅简单的移除光照,这非常不合理,不利于保留图像的自然信息。这里的图像自然定义为:全局的光照信息没有剧烈改变,光源的方向也没有被改变。图像的低频信息和光照反映自然度,而高频信息和反射反映的是局部信息,所以非常低频的信息会将细节淹没,非常高频的信息会导致非自然的结果。虽然以往的方法将反射图作为最后增强的图像,其有很好的对比度,但是其不能反映原始图像的全局变化特性。
论文使用相对亮度差异来作为自然度衡量的标准,其定义为原始图像和增强图像相对亮度上的差别,具体定义见论文。这里这个指标越小,说明相对亮度保留的就越好。论文提出的算法主要包括下面:
A.亮度滤波
基本思想是b像素和a像素如果相邻,a像素影响相邻的b像素,这种效果和a像素与b像素相邻的频率是正相关的。使用Q(k,l)去统计像素值k和l相邻的频率,并在patch上进行定义,获得局部统计值。而亮度滤波BFP是像素在上述相邻统计下的加权平均值。
B.使用亮度滤波分解图像
假设亮度是每个像素的局部最大值,这里只考虑比中心像素亮的像素,因为显然和暗的像素比其更接近真实像素,将初步得到的亮度图通过亮度滤波,获得修正的亮度图,进而获得修正的反射图。
C.亮度图映射使用双log转换
使用log转换进行直方图映射…(特么实在看不懂了)
D.合成反射图和光照图
直接相乘。整体的操作保证了亮度图的响度暗亮和原图的相对是一样的,同时较好的保存了色度。