Richardson–Lucy算法

1、基本模型假设
Y = Λ ∗ P
其中:
Y:退化图像,
Λ : 原始图像,
P : 点扩散函数,
∗ : 卷积操作。
  这里的点扩散函数(Point Spread Function,PSF)描述了成像系统对点光源或点状物的响应。

                                                                    

2、算法思想
在假设模型

Y = Λ ∗ P
中,我们有:

                                                    æ¨¡åææ³

简单起见,可以假设d=n,则观测图像和真实图像包含数量相同的像素点。
根据yj的物理意义知其满足泊松分布。事实上,

                                                                               æ³æ¾åå¸
其中

                                                                                åæ°è¯´æ


3、求解

3.1 泊松分布
泊松分布描述了一段时间内某件事发生一定次数的概率。事件需要满足以下条件:
1)每次事件之间相互独立;
2)事件发生的概率在一段时间内是稳定的。
泊松分布的概率函数为:

                                                                         æ³æ¾åå¸æ¦çå½æ°
参数λ是单位时间(或单位面积)内随机事件的平均发生率,也是泊松分布的期望和方差。
进一步的理解和应用实例可以参看博文:
http://www.ruanyifeng.com/blog/2013/01/poisson_distribution.html

3.2 迭代式推导
采用高斯型点扩展函数(实际问题中扩散函数形式是多种多样的,此处以该函数模型为例):

                                                                            é«æ¯åç¹æ©å±å½æ°
D(i,j)表示点i和j的距离。
由前面的分析知yj满足泊松分布,得:

                                                                            ç¹iæ å°è³ç¹jçæ¦ç
该式表示了点i在点j上的映射贡献,故yj可由下式表示:

                                                                            åå¸å¼
当图像Λ已知时,z(i, j)可由下式估计:

                                                                              z(i,j)估计
而当z(i,j)已知时,λ可由下式估计:

                                                                                       Î»ä¼°è®¡
因此最终的迭代式为:

                                                                            è¿­ä»£å¼
更详细的求解过程用到了极大似然法和EM算法,这两个概念可以参看博文:
http://blog.csdn.net/zouxy09/article/details/8537620

4、去卷积效果实例
原图:

                                        åå§å¾å

高斯模糊后:

é«æ¯æ¨¡ç³

5次迭代恢复:

5次迭代

20次迭代恢复:

20次迭代æ¢å¤

可以看到,迭代次数越多,图像边界区域的振铃效应越明显,但图像细节恢复越清晰。
从整体上定量来看,迭代次数在某个值附近达到最佳效果,这个值因图而异。本例定量计算信噪比(SNR)及峰值信噪比(PSNR)结果如下图所示,大约在14次迭代时结果最优。图中横坐标为迭代次数,纵坐标单位为db:

                                 SNR

 

                                 PSNR

附上实验用到的matlab代码:

clc;

I = imread('original.JPG');
figure(1);
imshow(I);
title('Original Image');

PSF = fspecial('gaussian',5,5);
Blurred = imfilter(I,PSF,'symmetric','conv');
figure(2);
imshow(Blurred);
title('Gaussian Blurred');
imwrite(Blurred,'高斯模糊.png');

lucy = deconvlucy(Blurred,PSF,5);
figure(3);
imshow(lucy);
title('Restored Image, NUMIT = 5');
imwrite(lucy,'5次迭代.png');

lucy = deconvlucy(Blurred,PSF,20);
figure(4);
imshow(lucy);
title('Restored Image, NUMIT = 20');
imwrite(lucy,'20次迭代.png');


function BestRL
    clc;
    generateImg();%
    calcPSNR();
end

function generateImg
    I = imread('original.JPG');

    PSF = fspecial('gaussian',5,5);
    Blurred = imfilter(I,PSF,'symmetric','conv');
    %imwrite(Blurred,'高斯模糊.png');

    for i=1:1:20
        rI = deconvlucy(Blurred,PSF,i);
        imwrite(rI,sprintf('%d.png',i));
    end
end

function calcPSNR
    PSNR = 1:1:20;
    SNR = 1:1:20;
    I = imread('original.JPG');
    for i=1:1:20
        Blurred = imread(sprintf('%d.png',i));
        [PSNR(i),SNR(i)] = psnr(Blurred,I);
    end
    figure(1);
    plot(PSNR);
    title('PSNR');
    
    figure(2);
    plot(SNR);
    title('SNR');
end
--------------------- 
作者:雪入红尘 
来源:CSDN 
原文:https://blog.csdn.net/xueruhongchen/article/details/52841088 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Richardson-Lucy算法是一种常用于图像恢复和图像重建的迭代算法。该算法在计算图像模糊的过程中,可以通过反向计算来估计清晰的图像。它是基于统计模型的非盲目图像恢复方法。 Richardson-Lucy算法的核心思想是利用期望最大化(EM)算法,通过迭代的优化过程来逼近原始图像。该算法包含两个主要步骤:预测步骤和更新步骤。 在预测步骤中,算法根据当前估计的图像和已知的模糊信息来预测观测图像,以此作为清晰图像的估计。 在更新步骤中,算法通过计算预测图像与观测图像的差异来更新图像估计。然后,通过将估计的图像与传递函数的逆卷积来改进图像质量。 Richardson-Lucy算法的优点是可以在缺少先验知识的情况下进行图像恢复。它还具有较快的计算速度和较好的恢复结果。此外,该算法还可以与其他图像处理技术相结合,如降噪、去混叠等。 然而,Richardson-Lucy算法也存在一些限制。首先,它对噪声比较敏感,对于高噪声图像的恢复效果可能不理想。其次,算法的收敛性需要时间,因此需要进行多次迭代才能得到满意的结果。另外,该算法还可能导致估计的图像出现振铃等伪影现象。 总之,Richardson-Lucy算法是一种有效的图像恢复算法,具有一定的优点和限制。在实际应用中,我们需要根据具体情况选择适合的算法,并结合其他技术来进一步提升图像恢复的质量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值