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