每天网络上都会分享和存储数百万张图片,人们可以在这些照片中探索世界、研究有趣的新话题、甚至是与亲朋分享自己的假期生活。然而,很多图片会受到拍摄设备像素的限制,或者会因为手机、平板电脑网络的问题而导致图像质量的下降。随着家用和移动设备上高分辨率显示器的普及,对低分辨率图像的高质量版本、快速查看以及可从多种设备分享的需求已得到了前所未有的提升。
在论文《RAISR: Rapid and Accurate Image Super-Resolution(快速准确的图像超分辨率)》中,我们介绍了一种结合了机器学习的技术,它能够生成低分辨率图像的高质量版本。RAISR生成的效果可以比肩甚至优于现有的超分辨率方法,而且处理速度要快上10倍到100倍;同时,它还可以在典型的移动设备上实时运行。此外,我们的技术还能避免低分辨率图像中存在的重塑走样问题。
上采样是一种从低质量图片中生成尺寸更大、像素更多、质量更高的图像的过程,已经存在相当长的一段时间了。上采样中一些众所周知的方法是线性方法,它通过使用附近现有像素值的简单固定组合来填充新的像素值。这些方法很快,因为它们是固定的线性过滤器(一个均匀应用于图像的恒定卷积核)。
但是这种让上采样快速运行的原因也是让使得它们不能有效地在更高分辨率的结果中给出更生动的细节。在下面的例子中可以看到,上采样的图像看上去比较模糊,你很难说这样的图像是被增强过的。
左图:低分辨率原图,右图:简单的(双三次)上采样版本(2×)
有了RAISR之后,我们就可以使用机器学习,并且可在图像对上进行训练了,一个低质量,一个高质量,然后你会发现,当它可选择地应用在低分辨率图像的每个像素上时,它会重塑出与原图质量相当的细节。RAISR可以用两种方法训练。第一种是直接的方法,其中过滤器是直接从低和高分辨率的图像对中被学习。
另一种方法需要首先将一个低计算成本的升频器应用到低分辨率的图像上(如上图)然后从上采样和高分辨率的图像对中学习过滤器。虽然直接的方法计算的更快,但是第二种方法允许非整数比例系数,同时能更好的利用基于硬件的上采样。
对于这两种方法,RAISR过滤器都可以根据在图像块中找到的边特征(edge feature)来获得训练——即亮度/颜色梯度、平坦/有纹理的区域等等——其特征的确定是通过方向(direction,即一个边的角度)、强度(strength,锐利的边有更大的强度)和相干度(coherence,一种对边的状态的度量)。
下面是一组RAISR过滤器,它们是从10000对高和低分辨率图像对的数据集中学习到的(其中低分辨率图像首先会被上采样)。其训练过程大概用去了一个小时。
合并为3倍超分辨率图像学习的11×11过滤器。这些过滤器可以为超分辨率系数,包括分级系数。其中,当边缘角度改变时,我们看到过滤器的角度也随之旋转。同样的,随着强度增加,过滤器的锐度也随之增加,同时过滤器的各向异性也随着相干性的增加而增加。
从左到右,我们看到学习过滤器选择性地对应正在重建的下边缘方向。例如:底部行中间的过滤器最适合保持强水平边缘(梯度角90°)同时具有高度相干性(一条直的,而不是弯曲的边缘)如果这条相同的水平边缘是低对比度的,则顶行中会有另一个过滤器被选中。
在实践中,运行时(at run-time)RAISR 会选择并应用学习到的过滤器中与低分辨率图像中每个相邻像素最相关的过滤器。当这些过滤器被应用于低品质的图像时,它们会重建具有原始高分辨率的的质量细节,对线性,双三次或Lanczos 插值法等方式有显著的性能提升。
一些RAISR 应用的实例:
上图:原图像,下图:RAISR 超分辨率 2×
左图:原图,右图:RAISR 超分辨率 3×
超分辨率方式的复杂之处在于消除混叠效应,如在较低分辨率渲染高频内容时出现的轮廓图案和锯齿(有时图像会被刻意降低分辨率)。根据底层特性的形状,这些伪像(artifacts)变化复杂,还难以被还原。
线性方法不能修复底层结构,但是RAISR 能够做到。下面就是一个例子,左边低分辨的原图在数字3和5下出现了明显的混淆空间频率(aliased spatial frequencies),而右边的 RAISR 图像修复了原始结构。RAISR 使用的这种过滤器学习方法的另外一个重要好处就是让其拥有专门化的降噪能力,即移除在其训练过程中针对单个压缩算法(例如 JPEG)的压缩失真(compression artifacts)。通过提供这样的人工样本,RAISR 能够学习消减除分辨率增强外的其他影响,就像在结果过滤器中调制一样。
左侧:有很强的混淆现象的低分辨率原图,右侧:RAISR 输出,消除了混淆现象
使用一个或多个画面的超分辨率技术,已经取得了很大的进展。如今,机器学习的使用串联了已经发展了数十年的图像技术,在图像处理方面取得了很大的进展并产出许多潜在的价值。例如,除了提升你在手机上双指放缩图像的质量外,你还可以捕捉、保存或者传输低分辨率图像并按照自己的需求超分辨这些图像,在质量上没有视觉上的降低。而且除了没有明显的质量损失,它也利用了更少的移动数据与储存方案。