retinex 是常见的图像增强的方法,retinex 是由两个单词合成的:retina + conrtex ,即视网膜+皮层。
Land 的 retinex theory 建立在三个假设之下:
Retinex theory 认为图像 I ( x , y ) I(x,y) I(x,y)由两幅不同的图像构成:入射图像(亮度图像) L ( x , y ) L(x,y) L(x,y) + 反射图像 R ( x , y ) R(x,y) R(x,y)。
入射光照射到反射物体上,通过物体的反射,形成反射光进入人眼,最后形成图像。
用公式表示就是: I ( x , y ) = L ( x , y ) ∗ R ( x , y ) I(x,y)=L(x,y)*R(x,y) I(x,y)=L(x,y)∗R(x,y)
其中, L ( x , y ) L(x, y) L(x,y)表示入射光图像,环境光的照射分量,它直接决定了图像中像素所能达到的动态范围,应当尽量去除。 R ( x , y ) R(x,y) R(x,y)表示了物体的反射性质,即图像的内在属性,应尽量的保留。 I ( x , y ) I(x,y) I(x,y)表示人眼所能接收到的反射光图像。
L ( x , y ) L(x,y) L(x,y)的输入是光源的位置、强度、颜色,输出是物体表面上不同位置的照亮值。
R ( x , y ) R(x,y) R(x,y)的输入是物体表面的材质、颜色、法线,输出是表面不同位置的反射率和颜色。
Retinex 理论的基本思想:在原始图像中,通过某种方法去除或者降低入射图像 L ( x , y ) L(x,y) L(x,y)的影响,从而尽量的保留物体本质的反射属性图像 R ( x , y ) R(x,y) R(x,y)。
基于Retinex的图像增强的目的:从原始图像S中估计出光照L,从而分解出R,消除光照不均的影响,以改善图像的视觉效果,正如人类视觉系统那样。
根据亮度图像 L ( x , y ) L(x,y) L(x,y)估计方法的不同,先后涌现出了很多Retinex算法。
原理:
实际操作:
具体步骤如下:
需要注意的是,最后一步量化的过程中,并不是将 l o g [ R ( x , y ) ] log[R(x,y)] log[R(x,y)] 进行 e x p exp exp 量化得到 R ( x , y ) R(x,y) R(x,y) ,而是直接将 l o g [ R ( x , y ) ] log[R(x,y)] log[R(x,y)] 的结果直接用如下公式进行量化:
R ( x , y ) = V a l u e − M i n M a x − M i n ∗ 255 R(x,y)=\frac{Value-Min}{Max-Min}*255 R(x,y)=Max−MinValue−Min∗255
上述过程整合起来:
R S S R ( x , y , σ ) = l o g ( I ( x , y ) ) − l o g ( I ( x , y ) ∗ F ( x , y , σ ) ) R_{SSR}(x,y,σ)=log(I(x,y))-log(I(x,y)*F(x,y,σ)) RSSR(x,y,σ)=log(I(x,y))−log(I(x,y)∗F(x,y,σ))
R 表示在对数域的输出。
多尺度视网膜算法是在 SSR 算法的基础上提出的,采用多个不同的 s i g m a σ sigma σ sigmaσ值,然后将最后得到的不同结果进行加权取值,公式如下所示:
R M S R ( x , y , σ ) = ∑ k = 1 n w k R S S R k ( x , y , σ k ) R_{MSR}(x,y,σ)=\sum_{k=1}^nw_kR_{SSR_k}(x,y,σ_k) RMSR(x,y,σ)=∑k=1nwkRSSRk(x,y,σk)
其中 n n n 是尺度的数量, σ = σ 1 , σ 2 , . . . , σ n σ= {σ_1,σ_2,...,σ_n} σ=σ1,σ2,...,σn 是高斯模糊系数的向量, w k w_k wk是与第 k 个尺度相关的权重,其中 w 1 + w 2 + . . . + w n = 1 w_1 + w_2 + ... + w_n = 1 w1+w2+...+wn=1 。(权重一般都为1/N)
优点是可以同时保持图像高保真度与对图像的动态范围进行压缩的同时,MSR也可实现色彩增强、颜色恒常性、局部动态范围压缩、全局动态范围压缩,也可以用于X光图像增强。
一般的Retinex算法对光照图像估计时,都会假设初始光照图像是缓慢变化的,即光照图像是平滑的。但实际并非如此,亮度相差很大区域的边缘处,图像光照变化并不平滑。所以在这种情况下,Retinuex增强算法在亮度差异大区域的增强图像会产生光晕。
另外MSR常见的缺点还有边缘锐化不足,阴影边界突兀,部分颜色发生扭曲,纹理不清晰,高光区域细节没有得到明显改善,对高光区域敏感度小等。
在前面的增强过程中,图像可能会因为增加了噪声,而使得图像的局部细节色彩失真,不能显现出物体的真正颜色,整体视觉效果变差。针对这一点不足,MSRCR在MSR的基础上,加入了色彩恢复因子C来调节由于图像局部区域对比度增强而导致颜色失真的缺陷:
R M S R C R ( x , y , σ ) = β l o g ( α I i ( x , y ) ∑ j = 1 3 I j ( x , y ) ) R M S P i ( x , y , σ ) R_{MSRCR}(x,y,σ)=βlog(\frac{αI_i(x,y)}{\sum_{j=1}^3I_j(x,y)})R_{MSP_i}(x,y,σ) RMSRCR(x,y,σ)=βlog(∑j=13Ij(x,y)αIi(x,y))RMSPi(x,y,σ)
MSRCR算法利用彩色恢复因子C,调节原始图像中3个颜色通道之间的比例关系,从而把相对较暗区域的信息凸显出来,达到了消除图像色彩失真的缺陷。
处理后的图像局部对比度提高,亮度与真实场景相似,在人们视觉感知下,图像显得更加逼真。
1. csdn参考博文
2. 知乎参考博文
3. csdn参考博文