1. 残差插值简介
demosaic算法之基础插值 - 知乎 (zhihu.com)
色差恒定法利用局部区域光谱间差值为常量这个协同性原理,但是这个假设在变化过于剧烈的地方会带来artifact,这是因为超出了信号采样原理的约束。残差插值的动机是如果可以计算出一个准确的初步估计,初步估计与实际观测值的残差图比色差图这种相对量如果更平坦,这样在边缘高频区域就能生成更好的demosaic效果。
残差插值构建一个类似于色差量的更为平坦的一个相对差值,在该差值上没有太多的高频信息,在只对低频误差重建后的demosaic结果会更为精准,而高频分量通过如引导滤波这种处理限制在估计值中。对比边缘判定法中效果较为优异的AHD/GBTF,残差插值的一系列算法在客观指标上有着进一步的提升。
2. 残差插值算法详解
2.1 RI (Residual Interpolation)
参考文献:residual interpolation for color image demosaicking
为降低传统色差插值误差,2013年Kiku验证了残差插值 (RI)较色差插值具有更小的误差,能够产生较好的重建效果,从而提出基于残差插值的demosaic方法。该算法以GBTF 方法的框架为基础,将残差插值代替色差插值实现马赛克图像的重建,其中残差是指最初采样到的像素值与初步估计值之间的差值。相比于GBTF虽然RI提升的效果不大,但为后面出现的一系列残差算法奠定了基础。
作者使用引导滤波器这种强大的保边滤波器平滑上采样来产生这样精确的初步估计,计算得到更为平坦的残差之后对残差进行插值代替对色差进行插值,最后在GBTF算法的R与B通道重建中使用残差插值计算demosaic结果,如下图为色差插值与残差插值的算法流程对比:
可以看到RI相对GBTF的流程,只是三通道H和V方向插值采用了引导滤波构建估计量,在最后R和B通道重建时把色差插值换成了残差空间的插值,整体改进较小,以R通道的重建为例具体计算流程如下:
1. 构建色差空间梯度
(1) 分别对G通道进行水平和垂直方向的双线性插值,插值结果作为引导图,对R/Gr/Gb/B通道分别进行引导滤波上采样得到水平和垂直方向的估计图。
(2) 计算估计图与最初的采样图的残差,将残差进行双线性插值后,叠加回最初的采样图。
(3) 计算水平方向和垂直方向的色差Kh和Kv。
(4)计算色差空间中水平和垂直方向的梯度gradh、gradv。
2. N、S、W、E四插值方向权重计算,完全与GBTF相同。
3. 用色差法对G通道插值,完全与GBTF相同。
4. 以G通道作为引导图对R通道进行引导滤波结果R’,计算残差Δ=R-R',然后对残差进行双线性插值叠加回R'上得到最终R通道重建结果。
5. 与步骤4相同的处理方法得到重建B通道。
2.2 MLRI (Minimized-Laplacian Residual Interpolation)
参考文献:Minimized Laplacian Residual Interpolation for Color Image Demosaicking
RI仅对GBTF进行略微的改进,将其中一些双线性插值的步骤改进为计算引导滤波上采样与初始采样的平滑残差,然后进行插值叠加回初始估计,实际效果改善程度有限,但是为后续一系列的残差算法奠定了理论基础。
最小化拉普拉斯残差插值在RI的基础上又进行了一定的改进,指出双线性插值可以为具有较小拉普拉斯能量的图像提供更好的插值结果。在计算流程方面与RI相比, MLRI得到初步估计R和B像素值后,通过最小化残差的拉普拉斯能量计算出需要插值的残差,然后再与初步估计的像素值相加进行重建。
相较于RI算法G通道的重建方法相同,而在R/B通道的残差重建时引入了基于拉普拉斯能量的引导滤波直接约束估计值和采样值差的拉普拉斯能量最小以提高双线性插值的表现,求解引导滤波系数:
2.3 IRI (Iterative Residual Interpolation)
参考文献:Image demosaicing by using iterative residual interpolation
由于IR和MLRI大部分的改进点是针对得到G通道的重建结果后对R、B通道进行精度提升,IRI将残差插值的思想同时用在了三通道,RI过程被用作细化过程不仅用于初始插值的像素值,还用于后续迭代的像素值。一个bayer图像三个通道在细化过程中应该相互帮助,因为三个通道的已知值在Bayer图像上是不重叠的。因此,(b)中的每一幅图像都可以同时充当输入图像p和引导图像d的角色。通过回归滤波器,生成了3幅估计图像。
水平和垂直方向三通道迭代重建过程如下:
(1) 在对初始采样图像分通道进行水平/垂直方向插值后作为引导图。
(2) 分别对其他通道的原始数据进行引导滤波得到初始估计图像。
(3) 计算初始估计图像与原始采样图像相减计算残差。
(4) 对残差进行双线性插值叠加回初始估计上得到最终估计结果。
(5) 将最终估计结果作为引导图重复步骤二,直到满足迭代条件。
迭代过程有两个需要注意的tricks:一是引导滤波的滤波窗口大小是逐步增加的,二是迭代终止条件是计算残差的平滑度S是否达到阈值。
在分别得到了水平和垂直方向的G通道重建结果后简单线性的叠加,然后按照RI或者MLRI的方法重建R、B通道。
2.4 ARI (Adaptive Residual Interpolation)
参考文献:Adaptive Residual Interpolation for Color and Multispectral Image Demosaicking
相较于IRI,ARI的迭代次数更为灵活,可以自适应的对每个像素的迭代次数进行设置,以及灵活选择RI和MLRI的引导滤波方式。
ARI首先对G通道进行插值, 以Gr的插值为例:
(1) 首先通过RI和MRI方法以R作为引导图对Gr进行水平和垂直两个方向的残差插值,迭代k次后得到四组结果。
(2) 对于每组结果中各个像素位置自适应选择合适的迭代次数的结果。
(3) 对每个R像素进行加权平均,自适应组合所有方向结果,得到最终的G插值结果。
步骤(1)中,分别采用RI和MLRI进行迭代方向插值。图中展示了G在水平方向R线处的插值过程。
步骤(2)通过平滑收敛性判定准则选择合适的的迭代次数。
步骤(3)通过加权的方式将四种计算的结果结合得到最终的估计,权重由各估计残差的平滑性指标得到。
在IRI中,R/B通道最终采用RI的方式没有经过迭代,在ARI中R/B通道的中间也采用的自适应迭代的过程重建。
基于RI 的重建方法中,IR和MLRI由于只能恢复R和B通道的像素值,而对于G通道仍是运用色差插值方法从而不能充分挖掘G通道信息,并且G通道重建中所引入的误差将会影响R和B通道的重建。针对此问题进一步产生了IRI和ARI等迭代残差的方法,取得了不错的效果。
3. 代码仿真
主观表现来看四种残差插值方法的效果基本相当,在密集纹理区域没有明显的混叠与伪色,重建图像的清晰度也与原图保持持平。
测试图:Kodak18 | CPSNR | MAE |
---|---|---|
色差恒定法(Kr-Kb) | 32.92 | 3.10 |
AHD | 37.16 | 2.39 |
GBTF | 39.51 | 1.91 |
RI | 39.46 | 1.95 |
MLRI | 40.76 | 1.88 |
IRI | 41.23 | 1.67 |
ARI | 41.52 | 1.55 |
客观指标则是提升相当明显。