图像增强新思路:DeepLPF
前言 该文是华为诺亚方舟实验室 & INSA Lyon & Mila Montreal联合提出一种基于深度学习的图像增强方法。作者提出采用深度学习方法学习三种类型(椭圆滤波器、渐变滤波器、多项式滤波器)的空间局部滤波器用于图像增强。该文为深度学习算法在图像复原里面的应用提供了一个新思路,非常建议大家仔细看一下。文末附论文下载方式。
本文转载自AIWalker
作者 | HappyAIWalker
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
Abstract
数码艺术家经常通过手动调整的方式改进图像的美学质量,这些调整既包含全局调整,也包含局部调整(比如分层渐变、画刷工具等)。然而,这些手动调整方法往往过于耗时且需要较强的专业技能。当前优异的自动图像增强方法往往聚焦于学习像素级或全局增强,前者可能存在噪声且缺乏可解释性,而后者则难以进行更细粒度的调整。
作者提出一种新颖的方法,它可以采用学习到的三种类型(椭圆滤波器、渐变滤波器以及多项式滤波器)的空间局部滤波器进行图像增强。作者引入一种深度神经网络(Deep Local Parametric Filters, DeepLPF
)用于回归这些空间局部滤波器的参数并利用这些滤波器对图像进行增强。DeepLPF
提供了一种很自然的形式进行模型正则、可解释性、直觉调整,从而生成具有更好视觉效果的图像。作者在多个数据集(Adobe-5K
及变种)上验证了所提方法的优异性能.
该文主要有以下三点贡献:
- Local Parametric Filters:提出一种用于局部图像增强的滤波器参数自动估计方法;
- Multiple Filter Fusion Block:提出一种进行多滤波器融合策略。所提的
即插即用
神经模块可以融合多个独立滤波器,更具灵活性,可以轻易嵌入到通用图像增强网络中; - SOTA Image Enhancement Quality:所提方法取得了SOTA性能。
Method
下图提供了DeepLPF
的椭圆形滤波器与渐变滤波器的可视化效果图。可以看到:DeepLPF
可以自适应针对需要进行调整的区域执行不同的处理,这更符合人眼的视觉感知。
下图给出了专业人员采用Lightroom
等工具进行调整的可视化效果图,这里提供了三种形式的调整:画笔形式、渐变形式、椭圆形式。事实上,用户在日常生活中对图像进行调整时往往是局部调整,全局调整相对较少。
Architecture
上图给出了所提DeepLPF
的网络架构示意图,给定低质输入RGB图像及其对应的高质图像,可以训练DeepLPF
学习变换,此时有。
作者所设计的模型包含一个用于细粒度图像增强的单流(single-stream)网络
,与一个用于局部增强的双流(two-stream)网络
。
- 首先,采用标准CNN骨干网络(如
ResNet、UNet
)估计一个维度为的特征图,其中前三个通道表示待调整图像,其他通道将送入后续的三个滤波器参数预测模块; - 然后,采用单流网络用于预测多项式滤波器的参数并用于增强骨干网络的输出得到;
- 其次,增强后的将与特征进行拼接并送入双流网络学习局部增强滤波器(渐变滤波器、椭圆滤波器)参数,所学习到的两种类型滤波器通过Add方式进行融合并得到尺度图,该尺度图将与前述增强图像通过Multiply融合得到;
- 最后,通过骨干网络增强的图像将于所得到的通过Add方式融合得到最终的输出。
Local Parametric Filters
在进行三种类型滤波器介绍之前,我们首先介绍一下如何通过网络学习滤波器参数。作者采用网络去学习滤波器参数,故而滤波器参数是与图像内容相关的,可称之为动态滤波器
。
作者设计了一个轻量型的CNN用于滤波器参数预测,该网络采用一系列的卷积核池化操作逐步减小特征图的分辨率,最后接一个GAP(用于确保分辨率无关)与全连接层进行滤波器参数预测。激活函数选择LeakyReLU
,同时全连接层后接dropout
(50%, both train and test,为何推理阶段也要采用呢???)
前述三种滤波器预测网络的区别仅在于:最终全连接层的输出节点数,对应参数量。上图给出了不同滤波器的全连接层输出节点数。这里所设计的方案事实上与HDRNet一文中的方案是相通的,都是网络预测参数,而非直接输出增强图像,预测参数比直接增强图像更为高效。
Graduated Filter
渐变滤镜是图像编辑软件最常用的一种功能,比如它可被用于调整天空区域的对比度同时确保与非天空区域自然过渡。渐变滤波器可以通过三条平行线进行刻画:(1)中心线表征滤波器的位置和方向,可表示为;(2)偏移提供了另外两个参数。此时可调整映射图由四个离散部分构成,在100%区域所有像素乘以尺度参数;在100-50%区域尺度参数线性的从变化到;在50-0%区域尺度参数线性的从变化到0;在0%区域的像素不做任何调整。渐变滤波器可以通过以下公式进行描述:
其中,为二值变量。注:可以通过STE方式进行优化。
下图给出了渐变滤波器与椭圆滤波器的可视化图。
Elliptical Filter
椭圆滤波器可以由中心、长半径、短半径以及旋转角度定义。中心区域的缩放因子最大,边界区域的缩小因子最小,超出椭圆范围后的尺度因子为0。椭圆滤波器的示意图见上图,椭圆滤波器可以通过如下公式定义:
Polynomial Filter
多项式滤波器用于模仿画刷,提供了更广义的形状同时具有空域平滑性。作者仅考虑阶多项式,多项式形式为。其中,i表示图像灰度,表示图像坐标,表示独立尺度因子。
作者设计了两种多项式滤波器:cubic-10,cubic-20
。cubic-10
多项式定义如下:
cubic-20
多项式定义如下:
作者所定义的三阶滤波器同时考虑空域与灰度信息,同时约束了映射图的复杂度,这确保了像素增强的局部平滑性以及精度。注:作者为每个颜色通道学习一组多项式滤波器,故而参数量分别是30和60。
Loss Function
作者在CIELab
颜色空间计算损失,该损失包含两部分:(1)Lab通道的损失;(2)L通道的损失。总体损失函数定义如下:
Experiments
数据集:作者选用了由两个数据集衍生出的三个数据集:
- (1)MIT-Adobe-5K-DPE;
- (2)MIT-Adobe-5K_UPE;
- (3) See-in-the-dark.
评价标准:主观评价标准PSNR、SSIM与感知评价标准LPIPS。
训练信息:优化器选择Adam,初始学习率为,不同数据集的损失超参分别为.
上表给出了消融实验结果对比,通过实验验证了不同成分的重要性。从中可以看到:
- 相比baseline,每个滤波器均有一定程度的性能提升;
- 多项式滤波器相对更为重要;
- 三者组合取得了最佳性能;
上图进一步验证了渐变滤波器与椭圆滤波器的影响性分析。滤波器数量的提升会进一步提升模型的PSNR、SSIm指标。
下面两个表格给出了所提方法在其他两个数据集上的性能对比。
前面主要从定量方面对比了所提方法与其他方法的性能优势,下面从视觉效果方面给出了所提方法相比其他方法的优势。
Conclusion
本文对用于图像增强的自动参数化滤波器进行探索与研究。受启发与专业图像编辑工具与软件,作者提出采用深度学习方式估计三种类型的滤波器(称之为滤镜可能更合适)参数,并用于指导图像增强。本文所提方法具有更好的可操作空间,同时具有更好的可解释性。该文为图像增强方法的研究打开了一扇窗户,它将有助于更多可落地AI画质算法的落地与产品化。
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
【技术文档】《从零搭建pytorch模型教程》122页PDF下载
QQ交流群:444129970。群内有大佬负责解答大家的日常学习、科研、代码问题。
其它文章
与SENet互补提升,华为诺亚提出自注意力新机制:Weight Excitation
最新FPN | CFPNet即插即用,助力检测涨点,YOLOX/YOLOv5均有效
消费级显卡的春天,GTX 3090 YOLOv5s单卡完整训练COCO数据集缩短11.35个小时一层卷积能做啥?
原来Transformer就是一种图神经网络,这个概念你清楚吗?
TensorFlow 真的要被 PyTorch 比下去了吗?
TensorRT教程(六)使用Python和C++部署YOLOv5的TensorRT模型