之前挖的坑终于回来填了
这个工作是一群谷歌的研究员搞的
Abstract
使用成对的输入输出图片,训练了一个卷积神经网络来预测一个在bilateral space中的模型的参数, 运算过程中使用低分辨率图像以降低计算代价, 首先拿到低分辨率情况下生成的仿射变换, 然后将这个仿射变换进行升采样使之能应用在正常分辨率图像上,最后利用升采样过的仿射变换来优化原本的图像.
Introduction
由于摄像器材的发展, 图像增强所面对的图像的文件大小也在逐渐增大,这就会带来原本的程序逐渐开销过大,计算速度明显下降的问题,所以处理面对大图像时的计算速度是很重要的,我们的贡献之一就在于运算速度很快, 因为图像的变换在双边空间中是可以被近似成线性问题的,这是有利于我们加速求解的,我们的算法定位是在移动设备上对高分辨率图像实现快速增强
我们算法的主要优势有三点:
- 在低分辨率的图像的双边网格上运行预测算法,双边网格的含义是每个像素的除了x和y坐标之外添加了第三维,是像素的颜色的函数
- 学习的是从一幅图像到另一幅图像的变换方式,而不是学一幅图片,学习变换方式往往比单纯学习输出更容易
- 虽然大部分学习过程是在低分辨率下运行的,但是损失函数是在全分辨率下评估的,所以我们可以把在低分辨率下学习到的转换方式提升到原分辨率下
Related Work
之前已经有不少方法在试图加快图像增强算法, 一个容易想到的方法是降采样之后上采样,但是如果采用了不当的上采样方法的话,会导致图像变得非常差,而双边空间优化是一个相对成熟的方法,效果也不错. 我们的研究就是基于双边空间优化而展开的., 但是我们的算法由于训练了一个CNN网络,所以更具有普适性.
Architecture
是端到端的,根据我们的经验,图像增强往往不能只关注局部信息,全局信息,比如直方图, 平均亮度,或者场景类别都是很重要的,所以我们的增强系统被分成了局部和全局两个部分,然后将这两个部分进行融合
高分辨流部分主要的任务是减少计算量的前提,但保留一些所需的高频部分和边缘信息,这里引入了双边网格里的节点,做了一个引导提,在低分辨率网格的仿射系数中执行与数据相关的查找,从而实现上采样恢复到和原分辨率一样大的变换,最后作用在每个像素上并输出作用后的结果. 乍一看我们的工作和另外一个人的有点像,但是实际我们的方法要比他的好,简要来讲,高分辨率部分负责学习一个guidance map,来指导如何把低分辨率下的对应关系升级成高分辨率下的关系
低分辨率部分首先经过一堆堆叠的步长为2的卷积层通过提取特征降分辨率至256*256,然后分为两条路来处理,第一条路是全卷积的,主要是学习局部特征,第二条路是使用了卷积和全连接层来学习全局特征
网络细节描述:
降分辨率部分先把图像resize成256×256,然后使用一系列的stride=2的卷积层来下采样实现,实际实现的时候卷积核大小是3×3,下降四层
局部特征部分通过两层卷积层,步长为1,继续提取局部特征
全局特征部分,先通过两个步长为2 的卷积层,随后是三个全连接层
融合的激活函数选用relu函数
融合后成为16×16×64的特征矩阵,随后输入一个1×1的卷积层变成16×16,96个通道的特征,这个特征就可以成为双边网络的第三维
高维部分:通过一个三通道的某种求和获得引导图,系数通过学习获得,然后通过引导图来进行线性插值来获得高分辨率的图像
局限
我们的模型是基于仿射变换先验的,如果违背这些先验就会有问题
结论
我们引入了一种新的神经网络体系结构,该体系结构可以在对全分辨率图像进行实时图像增强的同时仍然捕获高频效果。我们的模型是使用成对的输入/输出图像进行训练的,从而使其可以从某种算法的参考实现或人工调整中学习。通过在双边网格内执行其大部分计算并预测局部仿射颜色变换,我们的模型能够在表现力和速度之间取得适当的平衡。
为了构建此模型,我们引入了两个新层:能够切片到双边网格的依赖于数据的查找,以及用于仿射变换的乘法运算。通过以端到端的方式进行训练并以全分辨率优化损失函数(尽管我们的大多数网络的分辨率大大降低),我们的模型能够学习全分辨率和非尺度不变的影响。我们的模型的准确性已在各种不同的图像运算符,管道和主观人类注释数据集中得到证明。