Richardson–Lucy算法中PSF空间反转的原理及用途咨询
嘿,这个问题问到点子上了——在Richardson-Lucy(RL)去模糊算法里,空间反转PSF(就是你看到的PSF_HAT = PSF(end:-1:1,end:-1:1);)可不是随便加的,它是算法核心逻辑里的关键环节,我来给你掰扯清楚:
空间反转PSF的工作机制
首先,先搞懂什么是“空间反转”:这段Matlab代码的意思是把PSF的行和列都完全倒转过来。举个直观的例子,如果你的原PSF是一个3×3的矩阵:
PSF = [1 2 3; 4 5 6; 7 8 9];
执行PSF(end:-1:1,end:-1:1)之后,得到的反转PSF就是:
PSF_HAT = [9 8 7; 6 5 4; 3 2 1];
从数学角度说,这个操作对应的是卷积的伴随算子。我们知道,图像模糊的过程可以建模为真实图像I和PSF的卷积:O = I ⊗ PSF(⊗表示卷积)。而反转PSF之后,用它和图像做互相关(⊛),其实就是卷积伴随操作的实现——这在迭代优化类的算法里是非常重要的数学基础。
它在RL算法里的核心用途
RL算法本质是期望最大化(EM)框架下的迭代去模糊方法,反转PSF的存在直接支撑了算法的迭代逻辑和收敛性:
- 实现迭代更新的核心步骤:RL的迭代公式是这样的(逐元素操作):
这里的I_{k+1} = I_k × (O ⊛ PSF_HAT) / (I_k ⊛ PSF)PSF_HAT就是反转后的PSF:我们先计算观测图像O和反转PSF的互相关,再除以当前估计图像I_k和原PSF的互相关,最后和I_k逐元素相乘得到下一轮的估计。这个步骤的本质是用反转PSF去“反向传播”残差信息,修正当前的图像估计。 - 保证算法收敛性:作为EM算法的一种,RL要求每一步迭代都能让似然函数单调递增,最终收敛到局部最优解。反转PSF的使用刚好满足了EM框架里的“E步”和“M步”的数学要求,如果不用反转的PSF,整个迭代逻辑就会失效,算法要么不收敛,要么得到完全错误的去模糊结果。
- 适配空间不变模糊的高效计算:当图像的模糊是空间不变的(也就是整个图像用同一个PSF模糊),反转PSF可以一次性完成全局的互相关计算,不需要针对每个像素单独处理,极大提升了算法的运行效率。
内容的提问来源于stack exchange,提问作者hajer




