前言
最近在上数字图像处理这门课,老师布置了一项作业,让我们看几篇图像处理相关的论文,之后写一下论文报告,遂记录一下个人笔记。Fast Image/Video Upsampling 这篇论文是2008年发表的,算是老古董了,讲的是图像和视频上采样的方法,文笔精炼、内容丰富,适合作为入门论文阅读。
摘要
本文提出了一种简单而有效的上采样方法来自动提高图像/视频的分辨率,同时保留基本的结构信息。该方法的主要优点在于其反馈控制框架能够准确地从输入数据中恢复高分辨率图像信息,而不需要施加从其他例子中学到的额外局部结构约束。这使得本文的方法独立于所选示例的质量和数量,这是基于学习的算法的典型问题,同时产生高质量的结果,没有可观察的难看的人为处理痕迹(或者叫伪影)。另一个优点是我们的方法自然地扩展到视频上采样,时间自动保持一致性。最后,本文的方法运行起来相当之快哦~
引言
从粗分辨率输入中估计出细分辨率图像/视频的操作通常称为图像/视频上采样。上采样就是采集模拟信号的样本。 采样是将时间上、幅值上都连续的信号,在采样脉冲的作用下,转换成时间、幅值上离散的信号。所以采样又称为波形的离散化过程。上采样和下采样都是对数字信号进行重采,重采的采样率与原来获得该数字信号(比如从模拟信号采样而来)的采样率比较,大于原信号的称为上采样,小于的则称为下采样。上采样的实质也就是内插或插值。说人话,上采样就是把图像进行放大了。
上采样的主要目的是恢复图像锐利的边缘和纹理,同时抑制像素阻塞(称为锯齿)和其他视觉假象。图像/视频上采样最简单的技术是基于插值或线性滤波的技术,包括双线性插值、双三次插值和Lanczos算法。但是这些方法应用于大因子的图像/视频上采样时,会产生模糊的结果,并且计算成本高。
本文提出了一种新的单幅图像(或视频帧)上的采样算法,基于图像形成过程,该过程模拟了如何从清晰的精细分辨率版本生成粗水平图像。我们的目标是模拟这一图像形成过程的合理反演,从而推断出一个上采样的图像,该图像不仅没有可观察到的人为处理痕迹,而且也精确于低分辨率的输入。本文设计了一个反馈控制回路,通过反卷积和重卷积自动计算并评估系统输出是否满足成像模型。该方法简单高效,大部分的处理时间只花在少量的快速傅里叶变换(FFT)操作上。而且该方法不需要额外的处理,即可用于视频帧上并保留时间连贯性。
图像形成过程(成像过程)
1、成像过程可以建模为空间光场的一个积分,假设有一个连续的空间域S,将x处接收到的光记为S(x),则捕获的图像I可视为S受相机的点扩散函数影响的退化过程:
PS:点扩散函数(PSF)描述了一个成像系统对一个点光源(物体)的响应
其中I(y)是捕获图像中y处的像素值。ω表示PSF,通常用高斯滤波器近似,C(y)是PSF在y处的对应区域。
2、将S离散为高分辨率图像H,让f表示离散后的PSF ω,低分辨率图像I(y)的离散版本记为L(y),可计算为高分辨率图像H中相应区域像素值的加权和,L(y)可表示为:
其中C0(y)是高分辨率图像中对应于L(y)的一组像素。这个从H到L的降解过程可以进一步表示为:
其中↓d是一个具有因子d的抽取(子采样)算子。这个等式可以分解为两个步骤,描述一个卷积和一个抽取过程:
其中, H ~ \widetilde{H} H 为线性过滤的高分辨率图像。如果这两个步骤可以近似倒置,即先对图像进行上采样,然后使用线性滤波器对图像进行反卷积,则可以得到一个可靠的上采样过程。
反馈控制上采样
本文方法的图像上采样框架如下图所示。它采用了一种迭代方案,包括一个图像反卷积步骤(浅绿色框),以消除线性滤波的影响,和一个反馈控制过程(浅灰色带红框),以约束图像上采样。系统的输入是一个低分辨率的图像或视频帧L,它最初通过快速双三次插值(粉色所示)上采样到所需的分辨率。这个最初的向上采样的 H ~ \widetilde{H} H (0)在反馈控制循环中被迭代地改进,这逐步减少了图像的模糊性并恢复了自然结构。
反馈控制上采样包括三个步骤:反卷积、重卷积和像素替换。
由于后面讲反卷积、重卷积和像素替换的部分太繁琐了,懒得总结了,都是一些硬核的数学知识,读者可以自行研究一下,原谅我的懒惰(ㄒoㄒ)~~
同时,作者为本文所示的自然图像示例绘制了一组误差曲线,它们被用来说明如何在本文的算法中迭代地减少重构误差:
分析
成像模型
本文的算法是基于图像的成像模型,但它并不局限于对这样一个过程(通过过滤和抽取)获得的粗分辨率图像进行上采样。实验表明本文的方法对其他方法如Lanczos滤波和双三次插值得到的图像/帧效果良好,而且对附加的图像/视频噪声也具有鲁棒性,这些噪声在反卷积步骤中被处理为反卷积误差。
视频时间连贯性
作者没有显式地施加任何时间连贯性约束,但当作者逐帧处理视频剪辑,将上采样算法应用于视频剪辑时,上采样的视频结果不会受到任何可观察到的时间伪影(如闪烁)的影响。这是因为在反馈控制循环中,高分辨率frame H ~ \widetilde{H} H 中的像素值被输入图像l中相应的像素值均匀地替换。因此,上采样的视频帧准确地保留了在输入视频中观察到的细节。此外,反卷积过程将剩余的误差均匀地分布到整个图像上,因此在局部重建视频结构时产生的偏差较小。
计算时间的分析
生成单个高分辨率图像所需的计算时间依赖于图像大小和反馈循环中包含的迭代,在本文的算法中,大部分的计算工作放在计算快速傅里叶变换(FFT)上,总共执行了58个FFT操作。对于分辨率为800 × 600的图像,FFT操作大约需要10-20毫秒。考虑到其他的计算开销,生成一个高质量的上采样帧总共需要大约700毫秒。显然,还有很大的加速空间,例如利用可编程图形硬件来加速FFT。对于视频上采样,由于可以将不同帧的上采样任务分配到多个CPU上,因此可以获得更高的处理速率。
其他实现细节
本文反卷积算法中使用的高斯核的大小固定为13 × 13,该值从11×11到19×19的合理变化不会对结果有太大影响,尽管较大的内核会导致高频信息的丢失,而非常小的内核不能充分抑制混频问题。本文的迭代图像上采样算法接受灰度图像作为输入。对于彩色图像,首先将RGB转换为YUV颜色空间,然后只对Y通道进行上采样。然后通过快速双三次插值将UV通道上采样到更高的分辨率:在这里,本文的方法利用了人类对色度小差异的相对不敏感特性。
结果
图像上采样
虽然本文的一个主要焦点是在视频上采样中部署算法,但作者首先展示了几个图像上采样结果。在下图中,作者将上采样结果显示为4倍(逐次递增),它在质量上可以与其他最先进的图像上采样算法的结果相媲美:
视频上采样
看下面的例子,作者显示了从“鸟”序列中提取的三帧,它们以4倍的倍数进行了上采样。作者的结果与其他方法得到的结果进行比较,观察边缘锐度和纹理清晰度的差异: