bilateral的原理和方法已经了解过,借鉴Bilateral的方法进行上采样,可以使用输入的图像作为先验,引导低分辨图像恢复成原分辨的图像,这里简要介绍如下:
1.首先看一下联合双边滤波(JBF),这个东西简要理解的话,就是将经过处理后得到的低分辨小图,通过最近邻插值的方法进行放大,然后使用原图的数据和这个放大的结果进行联合双边滤波。这样做的好处是能提高图像处理的速度,表达公式如下:
2.更进一步的,联合双边上采样(JBU)就是索性原图都不要了,就是选取color图像的(i,j)为中心,以离中心(i,j)采样间隔的整数倍(factor)距离进行采样,当然采样范围不能超过给定windows的范围。公式如下:
Bilateral guided upsampling
这是2016年的一篇论文,可以看做是hdrnet的先行版本,主要是结合了引导滤波和JBU的特点,对小图以大图为先验进行上采样。这里首先理解一下双边网格(bilateral grid)的概念,双边网格是在空间域和亮度域上进行采样,划分成网格,双边就是指空间域和亮度预。网格是3D的,离散后,每个点的坐标和亮度信息取整到对应的网格里。亮度值可以通过加权平均的方法得到,最后通过上采样的方法恢复出原始的灰度值。
将原始图像转换到一个3D的双边网格之后,任何图像操作都可以作用在这个双边网格上。最后通过上采样,进行插值,恢复到高分辨图像结果。上采样是选取一个参考图,对其任意一个空间的像素进行空域和值域的采样,找到其在网格上的位置,这里不进行取整而是采用三线性插值的方法,实现未知范围内亮度值的计算,这个过程被称为slicing。
为什么采用这种网格的方法很有用呢?因为在增强类的任务里,在空间与值域相近的区域内,相似输入图像的亮度经算子变换后也应该是相似的这样就可以通过一个变换得到。这个论文就使用了仿射变换,在每个网格里的操作算子可以看成是输入/输出的近似曲线,也即一个仿射模型,这里对于每个网格,其存储了一个3x4的变换矩阵。对不同的网格,其通过给定输入和期望输出去训练这个双边网格实现其仿射模型的全局分段平滑。
最后上采样通过选取参考图的方式,找到网格中对应的位置,通过上述slicing的过程恢复到原来的分辨率,然而由于每个网格是3x4的仿射变换,这个恢复的大图也是一个3x4的变换矩阵,使用这个矩阵对输入图进行仿射变换,就可以得到输出图。这样看来,图像的主要操作是在低分辨率下进行的,处理速度是比较快的。
参考: