正文字数:8603 阅读时长:12分钟
基于AI的超分辨技术在图像恢复和图像增强等领域的应用前景,受到了学术界的关注,但在RTC领域中很多算法并不能满足实际场景下的应用需求。本次分享我们邀请到了网易云信音视频算法工程师袁振老师探讨超分辨技术在RTC领域大规模落地应用所面临的机遇与挑战。
文 / 袁振
整理 / LiveVideoStack
大家好,我是袁振,现在就职于网易云信,主要负责视频后处理算法的开发和研究。今天我将和大家分享AI驱动的超分辨技术应用现状,主要是结合我之前的研究方向,以及当前的业务需求,来向大家分享一下基于深度学习的超分技术在RTC领域落地应用所面临的一些机遇和挑战。
我的分享主要包括以下四部分内容。
1. 图像超分辨技术的简要概述
1.1 超分辨技术的提出
有的同学可能会问,什么是超分辨?比较直观的理解,超分辨就是将一张低分辨率图像,通过某种算法、模型生成一张高分辨图像的过程,并且在这个过程中尽可能地恢复出更多的细节信息。比较通俗的理解,超分辨就是从小图生成大图的计算机视觉任务。
超分辨这一概念最早是在20世纪60年代由Harris和Goodman提出的,一开始也被称为频谱外推法。但是在研究初期,频谱外推法只是在一些比较理想的条件下,进行的一些仿真,所以一开始并没有得到广泛的认可。直到后来,单张图像超分辨方法提出之后,超分辨重建技术才开始得到广泛的研究和应用。目前,它已经成为图像增强、乃至整个计算机视觉领域重要的研究方向。
1.2 超分辨技术的分类
根据超分辨对象,超分辨技术可以分成单张图像的超分辨以及多张图像的超分辨两种类型。其中,单张图像的超分辨方法只根据低分辨率图像自身的信息就可以完成到高分辨图像的重建,是目前学术界研究的重点。单张图像的超分辨方法根据原理的不同,也可以分为基于插值、重构、学习的方法。
其中基于插值的方法是最简单、也是应用最为广泛的方法,像我们平时应用最多的用于图像缩放的算法,基本上都是基于插值的方法。它的优点是算法比较简单,实时性比较好,所以目前应用最广泛,但缺点是,在插值的时候没有充分利用图像的像素信息,效果比较平滑,不能恢复出更多细节信息。它的主要思想是选择合适的插值窗口和插值函数来对低分辨率图像中一定范围内的像素信息进行加权计算,来得到一个新的像素值,插入到图像中,从而实现图像的放大。根据插值窗口和插值函数不同,基于插值的方法也有很多类型:像最简单的最近邻插值方法,它是直接将待插值像素点最近的像素值,赋值给新的像素值,它的插值窗口大小是1×1;其他的插值方法比如双线性和双三次插值,使用了更大的插值窗口以及一些更高阶的插值函数,超分辨的效果也更好。总体来说,插值窗口越大,基于插值的超分辨方法的效果也会越好。
基于重构的方法,它主要是利用了图像的降质退化模型,假定图像是经过了一定的退化过程,才得到了低分辨率的图像,然后根据这一信息,完成高分辨图像的逆向重建。这种方法在一些特定的领域具有比较好的效果,但是由于在实际的场景中,图像退化的因素多种多样,假设的先验信息并不准确,因此重构的方法在实际应用中,并不是很广泛。
然后就是基于学习的方法,也是目前效果最好也是学术界研究最多的一种方法。它的核心包括两个部分:一个是算法模型的建立,另一个就是训练集的选取。根据算法模型和训练集,基于学习的方法也可以分为传统学习方法和深度学习方法。一般来说,传统学习方法的算法模型比较简单,训练集也往往比较小。深度学习方法一般是指采用大量数据训练的卷积神经网络的方法,也是目前效果最好的超分辨方法。因此接下来我将重点介绍基于深度学习的超分辨方法的发展过程。
1.3 DL-based SR
首先SRCNN是深度学习方法在超分辨问题的首次尝试,它是一个比较简单的卷积网络,由3个卷积层构成,每个卷积层所负责的职能也各不相同,其中第一个卷积层的作用主要是负责提取出抽象的高频信息,第二个卷积层则负责完成从低清特征到高清特征的非线性映射,最后一个卷积层的作用是重建出高分辨率的图像。SRCNN的