主题:【原创】如何提高多帧图像的分辨率(上) -- 驿路梨花
【原创】如何提高多帧图像的分辨率(完)
我们现在需要来处理高低频率的混叠现象,我们的目的是得出因采样频率过低而丢失的高频信号,因为前文已经说了,高频信号决定了图像的细节。
===========================================================
这一段偶可能说的不清楚。。。如果没看懂就算了。。。
我们先引入一个概念:我们知道,对于一个发光点来说(我们把这个发光点看成是一个输入),他的输出的像是有一个光场分布的,如果不理解的话,可以想象往平静的水面上扔一块石头产生的一圈圈的涟漪,那就是一个场分布。我们称这种输出像的光场分布为点扩散函数。因为点光源实际可看为脉冲函数,所以点扩散函数就是光学系统的脉冲响应函数。
考虑到系统点扩散函数的影响,那么实际上首帧低分辨率的图像,可以分解成两部分的组合:一部分是要我们需要得到的高分辨率图像,另一部分是由光学设备决定的点扩散函数。那么经过运动模型的估计后,可以得出:第K帧的低分辨率图像 = 待求的高分辨率图像 * 有光学设备决定的点扩散函数 + 第K帧的运动矢量。(具体怎么推导就不推了。。。偶也不怎么看的明白中间的过程)
这样,我们手上的有N张低分辨率图片,有任意帧的运动矢量,那么用一个简单的线性变换,即将他们加权相加(这就是所谓的卷积,卷积运算在这里的实际意义,就是加权相加),这样,就可以把原低分辨率图像某一像素值对应为相应高分辨率图像像素值的加权和。再通过对N帧照片所构成的N个方程和加权相加后的方程联立,求最小期望函数,就可以解出在某一点处的被混叠的高频值。
难写和难看懂的地方过去了。。。长舒一口气。。。=====================================================
这种解混频的算法叫做共轭梯度法(为什么?共轭,因为会出现共轭矩阵;梯度,求n维最优不用梯度概念么?),现在,我们把混杂其中的高频(也可以说是因为采样丢失的高频)找到了,这样,梨花照相馆的全部工作就接近完成了 —— 最后,还剩最后也是简单的一步,再把频率值通过反傅里叶变换变为图像的灰度值。。。至此,我们把N张低分辨率的图片,经过一系列的处理,变成了较高分辨率的图片。。。啊,终于写完了!当然这之后还有很多细细碎碎的东西,比如边界的锐化等等,但这里就不写了。
下面请看梨花照相馆的产品:(这是偶从别人文章里直接摘来的图片):
让我们来看一下:
(a)是偶们的N张低分辨率图片 —— 这个N少了点。。。
(b)是通过(中)所说的帧插值法提高分辨率得到的图片。
(c)是用多帧图像的解混叠得到的方法 —— 不过,它这里是用了另一种解混叠的方法,就不详述了。
(d)是用高分辨率照相设备照的一张图片。
大家自己比较着看吧。
最后,再稍微说一下共轭梯度法。这是用于频域解混叠的一种较为传统的方法,它的好处是比较直观,容易理解,但不好的地方是这个算法在运算时需要庞大的内存空间(想一想就知道了,多少万的像素要做矩阵的卷积),运算速度极其慢.很难在微机上实现。所以,人们在此基础上还研究了各种各样的子集共轭梯度优化算法。后来人们又利用物体解的空间截断和非负的数字截断的机理,研究出了在空间域的解混叠的方法(这里就不多说了,因为偶不会)。
del!!!! 参见回复中潜了又潜的讨论
好了,下班回家。。。
(全文完)
- 相关回复 上下关系8
压缩 2 层
🙂先花再回复. 1 kernelh 字560 2009-06-26 23:45:53
🙂那也不是糊弄 1 驿路梨花 字202 2009-06-27 00:49:56
🙂灭蚊灯为什么只能灭掉咬过你的蚊子? none空空 字28 2009-06-24 10:11:01
🙂【原创】如何提高多帧图像的分辨率(完)
🙂瞎掰两句 1 看文章 字407 2009-06-24 22:53:54
🙂关于对运动模型的估计 1 驿路梨花 字272 2009-06-24 23:27:14
🙂感觉那个亚像素的要求 潜了又潜 字104 2009-06-24 22:19:43
🙂有时候也是对原始的低分率的图用的 驿路梨花 字24 2009-06-24 22:41:30