式中, 代表第n+1次迭代影像, 代表第n次迭代的影象, 代表迭代步长,通过设定初始迭代影像和一定的迭代收敛条件,最终迭代求解出原始高分辨率图像。
传统正则迭代选择算法优点是计算量小,易求解,但是其假设正则化参数和数据一致性约束项以及先验项仅仅服从于简单的线性比例关系,这种关系只是对原始关系的简单近似,且在求解正则化过程中需调节参数 ,因此并不能达到很好的重建效果。
图 3.2给出了传统正则化超分辨率重建算法算法的实验流程图:
图3.2 正则化超分辨率重建算法的实验流程图
4 算法实现与分析
4.1 POCS算法的实现
根据以上的原理,POCS算法的实现思想是:先对超分辨率图像进行预估,也就是建立参考帧,然后根据观察图像序列对参考帧进行修正,直至得到可以接受的复原结果。通常的POCS重建算法可以分作三个具体的步骤:构造参考帧、进行运动估计、对参考帧进行修正。
4.1.1 用差值方法构造参考帧
实现POCS算法的第一步就是根据观察图像序列构造参考帧,也就是预估的超分辨率图像。从理论上来说,从整个成像空间图像集合的任一点开始,在经过向所有约束集投影的过程后,都可以找到它在交集上的投影,也就是说以任意的图像作为参考帧开始重构,最后都能得出可以接受的重构结果。但实际上初始估计值对于算法是否可行的影响是比较大的。实际中通常为了加快收敛速度,减少重复修正需要的次数,降低算法的计算量和消耗时间,构造的参考帧与最后的重构结果越相似越好。一般来说初始点是由一帧低分辨率图像经过插值得到的,也就是构造出来的参考帧。在后续的处理中,都是与预估计出来的参考帧作为基础的。
插值是将图像的像素点恢复到更高速率的采样栅格上。通过插值,我们可以得到和超分辨率重建图像的分辨率相同的重建图像初始估计。并且,对原始LR图像插值可以提高下一个步骤中的运动估计的准确性。通常采用的插值方法有三种:a) 最邻近插值,b)双线性插值,c)高阶插值。这三种插值方法相比起来,最近邻插值的计算最简单;在许多情况下,其结果也可以令人接受。但是,当图像中包含像素之间灰度级有变化的细微结构时,最邻近插值所获取的图像中经常带有明显的锯齿现象,可能对重构图像的效果有不良影响。双线性插值和最近邻插值法相比可能产生会更令人满意的效果,只是它稍微复杂一些,运行时间稍长一点。但是双线性插值对图像有平滑作用,因此会使图像的细节部分产生退化,造成插值后图像的边缘模糊。相比较而言,高阶插值对图像细节的退化影响最小,但是由于采用的插值核函数更加复杂,所以其运算的复杂度比较高。
4.1.2 运动估计
在获取图像序列的过程中,由于物体的运动以及相机位置的改变而导致图像内容发生变化。主要包括物体的平移、旋转、形状变化、相机的变焦、倾斜、镜头抖动等。运动估计实际上就是求同一对象在两帧图像中的位置差,也就是这个对象的两帧图像中的“运动”。在对同一场景进行拍摄后,假设总共拍摄到N帧分辨率为M ×M 、各自含有不同亚像素信息的低分辨率图像,并用{yk ,k =1,2,L ,N}来表示这些低分辨率图像,那么我们最终目的是要从这些低分辨率图像中重构出一幅分辨率为qM × qM 的高分辫率图像,其中z , q 是放大倍数。为了能将这N 帧低分辨率图像中的不同亚像素信息甄别出来,就需要在高分辨率网格qM ×qM 上重新将所有这N帧低分辨率图像进行对准,这就是运动估计的目的所在。在凸集投影方法中,要把低分辨率图像序列投影到参考帧上进行修正,为保证低分辨率图像中的点投影到参考帧图像中的正确的位置上就必须进行运动估计,实际上运动估计的好坏直接影响超分辨率复原的结果。 MATLAB铁路监控视频的超分辨率技术研究(10):http://www.751com.cn/tongxin/lunwen_2326.html