在看电影时,有一幕大家应该都非常熟悉,警察从证据图片中选取一块区域放大,再放大,直到一个很小的目标变得清晰可见,从而发现重要的线索。现实中是不是真的有这样的技术,可以把模糊的小图变得清晰?答案是,一定程度上可以,这项黑科技就是超分辨率技术,从低分辨率图像恢复高分辨率图像,提高图像的质量,从而获得更加清晰的图片。超分辨率技术具有广泛的实际应用,如医学图像重建、人脸图像重建、远程传感、全景视频、无人机监控、超高清电视等。同样道理,实时视频也可以进行超分辨率处理,将模糊的小分辨率视频变成高清超高清视频,本篇干货分享就来揭开这项黑科技的神秘面纱。
01 什么是超分辨率
我们看到的图片或者视频,都是通过显示设备显示一个个像素来进行表达的。像素是在特定的时间点上能表达一个特定颜色的点,类似一片片马赛克。一幅图片就是由多个像素进行表达的,如图1所示。一幅图片有多少行和多少列像素,通常就是我们说的图片和视频的分辨率,它也是人眼能够分辨图像或者视频中的点或线的能力。
![在这里插入图片描述](https://img-blog.csdnimg.cn/f9979767ed8c4dde9832735888376bf4.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouN5LmQ5LqRUGFubw==,size_15,color_FFFFFF,t_70,g_se,x_16#pic_center)
图1 图片中的像素
数字相机在将真实世界转换为图片时,对真实的光信号进行了离散化,每个像素是一个采样,像素与像素之间是有间隔的。当图像分辨率较低时,采样率就比较低,或者可以理解为像素与像素之间的间隔是较大的;分辨率提高,像素与像素之间的间隔就变小,最终在显示图像时,就会对场景有更加精细的呈现。因此我们希望图像的分辨率越高越好,可以得到更加清晰的图像。但是,由于采集设备的能力,或者编码压缩、传输等方面的限制,图像的分辨率有时会比较低,为了提高这些图像的质量,可以通过提升分辨率来得到更高质量的图像。最直接朴素的想法就是用相邻的像素来填补空白,即近邻取样插值。但是这样的算法会出现有阶梯状锯齿,明显不能很好地提高图像的质量。双线性插值、双三次插值、Lanczos插值等算法可以提高比近邻取样插值更好的效果。这一类传统的算法,往往被归为图像缩放技术。一般缩放的比例不会太高。
![在这里插入图片描述](https://img-blog.csdnimg.cn/10d41ce1f552456db14c2f80e28f8e37.png#pic_center)
图2 近邻取样插值
随着深度学习技术的发展,将低分辨率图像进行处理,得到一张高分辨率图像,同时恢复出自然、清晰的纹理,就是我们常听到的超分辨率技术,往往针对较高倍数的缩放,如4倍8倍缩放等。经典的图像超分算法SRCNN,首次将卷积神经网络应用于图像超分辨率技术,相较于传统的算法,SRCNN在图像的重建质量上取得了极大的提升。与传统方法类似,它实际上也是利用低分辨率图像对空缺信息进行填补,从而提高分辨率和质量。在学习阶段,有同一幅图的高分辨率和低分辨率两个版本,输入低分辨率图,通过CNN网络后,输出高分辨率图像,同时与原有的高分辨率图进行对比,更新迭代下