廉价插值方法的工作原理不比神经网络差


RAISR与其他高级图像分辨率技术的比较。有关更多示例,请参阅随附的科学文章。

提高图像的分辨率,即基于一张低分辨率照片创建高分辨率照片,是一个经过充分研究的科学问题。对于许多应用程序而言,这很重要:缩放照片和文字,将视频投影到大屏幕上等等。即使在电影中,侦探有时也会设法通过监视摄像机查看车架上的汽车数量,从而将照片“带到极限”。不仅是车号。这里的一切都受到导演和编剧的想象力和良知的限制。他们可以将照片带到更远的地方-并在后视镜中甚至在固定车牌的螺栓的抛光金属头中看到罪犯的反射。观众喜欢这样。

实际上,此类程序的功能要适度得多。例如,2016年10月29日,GuralHub启动了神经增强程序,该程序使用神经网络提高照片的分辨率。该程序立即进入了本周最受欢迎的存储库列表。


例如工作神经增强


另一个的的例子神经的工作提升计划,这是发表在GitHub上的开放式访问

的谷歌研究人员都在这个方向上也工作-该公司官方博客昨天谈到关于提高分辨率的方法,该方法被称为RAISR(快速和精确的图像超分辨率)

从历史上看,简单的插值器已被用于插值图像,该插值器从一组已知的原始图像像素值中找到新像素的中间值。那里使用了不同的方法来计算平均值:通过最近邻方法进行内插,双年年插值,三次方,双三次方等。这些都是相当简单的数学公式。由于它们的简单性和朴实性,它们被广泛用于各种应用中。它们根本不适应图像的内容,这通常会导致出现令人不愉快的伪像-太模糊的片段,锯齿的特征性失真。

在最近的几十年中,已经开发了许多高级程序和插值方法,这些程序和插值方法明确考虑了原始图像的特性。他们能够使用和缩放原始图像的片段,填充稀疏性,应用高斯混合。新方法通过增加计算的复杂性,显着提高了插值(原始数字恢复)的质量。

Google员工在外部样本上使用了机器学习。近年来,这种方法获得了很大的普及,并且在许多科学论文中都有描述。基本原理是从缩小的副本中“预测”高分辨率的图像内容。对于此类培训,使用了通过样本进行教学的标准方法。

在RAISR训练期间,使用了同时生成的高质量和低质量图像对的基础。我们使用成对的图像小片段进行标准2x插值,即3×3和6×6像素的片段。图中显示了RAISR学习和运算算法。





下图显示了在训练阶段允许使用的四个全局过滤器。因此,根据几个像素的特定片段的内容,对程序进行了培训以使其最有效地应用它们。





每种类型的滤波器都针对其自身的像素类型进行操作:根据双线性插值算法使用的像素类型,从P1到P4。



在某些方面,RAISR机器学习方法类似于神经网络的训练。但是实际上,它是针对原始图像的每个单独小片段的各种标准插值滤波器的改编。也就是说,这是相同的旧“线性插值”,但是就好像在类固醇上一样-没有其固有的伪像,并且对图像内容具有适应性。

对比测试表明,在许多情况下,这种算法比基于神经网络的现代高级插值方法(插图中的SRCNN)甚至更好。



而且,这种基于散列的方法比训练和使用神经网络的资源消耗少得多,并且在实践中更容易接受。性能差异很大(10-100倍),因此即使在普通移动设备上也可以安全地运行此程序,并且该程序可以实时运行。在智能手机上的现代图像插值应用程序(包括在Android上的相机应用程序)上的现代图像插值应用程序中,没有什么可以阻止此滤镜的实现,该应用程序在数字变焦期间执行插值。 Google可能首先会这样做。至少这是数百万个设备上插值使用最广泛的示例。


左:原始的低分辨率。中心:标准双三次插值器的结果。正确:

对于所有Android用户而言,RAISR照片的结果将立即更好。

顺便说一句,RAISR的另一个有趣且重要的优点是,在训练过程中,可以训练该程序以消除典型的压缩伪像,包括JPEG。例如,在移动设备上,照片可以压缩后的形式存储有伪像,并显示在屏幕上而没有伪像。或者,该算法可用于Google照片托管,以自动改善用户照片,从而消除几乎随处可见的JPEG伪像。


左:具有JPEG特定锯齿痕迹的低分辨率原稿。权利-RAISR问题

科学文章Google研究人员将很快在《 IEEE Transactions on Computational Imaging》杂志上发表。(注意:本文的主要作者在撰写本文时是Google Research实习生,但现在在以色列Technion研究所工作)。

Source: https://habr.com/ru/post/zh-CN399119/


All Articles