原始论文在这里 http://www.cse.cuhk.edu.hk/leojia/projects/motion_deblurring/

一、概述

论文根据以下的基本模糊图像模型建立

其中I是我们观测到的图像,L是真实的图像,f是运动模糊的卷积核,n是观测过程中叠加的噪声

然后从统计角度分析L,f,n服从的分布,从而作为先验,构造能量函数进行优化求解。

二、对已有图像统计得到先验

1.L统计

1)对多幅图像统计的结果,L的梯度在全局上满足如下分布(曲线已经对数化)

曲线拟合表示为

最终的全局先验

2)构造L的局部先验来抑制振铃现象

使用一个与模糊核相同大小的窗口覆盖图像,计算偏差sd,输出图像 = sd<5?1:0,

将全局和局部先验组合起来

2.f统计

通过对模糊核的统计,f的直方图符合指数分布,即大部分像素是0附近的

3.n一般的表述为

统计表明噪声一般服从高斯分布,或者乘高斯分布

其中表示标准差,在Simon 2002论文中证明,递推出

三、如何进行优化?

由贝叶斯原理

构造能量函数,得到

上式中表示矩阵元素乘法,几个参数

实验中,初始化,前面有,从而得到

下面对(5)式进行分步优化

1.先优化L,将f去掉,(5)式可简化成

代替,上式再简化成

最后带的余项表示的近似。(8)式是关于的式子(当然还有I,这里先忽略),下面分开进行优化

1) 固定的话,(8)式进一步简化成

上式可以看出关于x和y的组合x和y等价,对每个具体的可写成,从而

这是一个关于的优化函数,最小化它就能得到一个最小的,即最小的x和y。

实验过程中,在迭代开始时分别设置在0.002-0.5 和 10-25之间,每次迭代后分别除以k1和k2,k1取值范围为[1.1, 1.4],k2= 1.5。

2) 更新了之后,我们固定可以将(8)式简化成

这个式子怎么求解呢?麻烦在于有卷积。进而考虑傅里叶变换到频域进行处理,得到

时域和频域对应,从而相当于求

这个优化在Gamelin .2003的文献里有求解原理说明,得到

其中的这里还是对原L的导数吗?有点疑问。

重复交替迭代优化直到收敛。实验过程中最初设为2,迭代一次乘以2。最后得到的最优值。

2.第二步就是优化模糊核了,固定则(5)式可简化为

这是关于的二次函数,类似于Jia 2007和Levin 2007写的样子,抽象如下

其中A和B是分别受L和I影响的矩阵,标准形式在Kim 2007的论文中提出,求解的基本思想是利用对偶原理,使用内点法求解。

至此,的最优化估计就已经得出,算法框架如下

参考文献

[1] GAMELIN, T. W. 2003. Complex Analysis. Springer.

[2] JIA, J. 2007. Single image motion deblurring using transparency.In CVPR.

[3] LEVIN, A., FERGUS, R., DURAND, F., AND FREEMAN, B. 2007.Image and depth from a conventional camera

with a coded aperture.In SIGGRAPH.

[4] KIM, S.-J., KOH, K., LUSTIG, M., AND BOYD, S. 2007. Anefcient method for compressed sensing. In ICIP.

[5] SIMON, M. K. 2002. Probability Distributions Involving GaussianRandom Variables: A Handbook for Engineers,

Scientists and Mathematicians. Springer.

从单幅图像高质量去除运动模糊——读JiaYaJia同名英文论文总结的更多相关文章

  1. 如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?

    转自<知乎>如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文? 问题: 作为一个博士生,一直为写论文头疼,读过很多高质量论文,觉得写的真好,但是轮到自己写总 ...

  2. 维纳滤波和编码曝光PSF去除运动模糊【matlab】

    编码曝光知识 - ostartech - 博客园 https://www.cnblogs.com/wxl845235800/p/8276362.html %%%%%%%%%%%%%%%%%%%%%%% ...

  3. Win8 Metro(C#)数字图像处理--2.50图像运动模糊

    原文:Win8 Metro(C#)数字图像处理--2.50图像运动模糊  [函数名称] 图像运动模糊算法    MotionblurProcess(WriteableBitmap src,int  ...

  4. OpenCV3入门(十三)图像运动模糊

    1.原理 运动模糊产生: 由于相机传感器或物体相对运动, 按快门瞬间造成图像产生运动模糊. 在用摄像机获取景物图像时,如果在相机曝光期间景物和摄像机之间存在相对运动,例如用照相机拍摄快速运动的物体,或 ...

  5. atitit.thumb生成高质量缩略图 php .net c++ java

    atitit.java thumb生成高质量缩略图 php .net c++ 1. 图像缩放(image scaling)---平滑度(smoothness)和清晰度(sharpness) 1 2.  ...

  6. 移动Web—CSS为Retina屏幕替换更高质量的图片

    来源:互联网 作者:佚名 时间:12-24 10:37:45 [大 中 小] 点评:Retian似乎是屏幕显示的一种趋势,这也是Web设计师面对的一个新挑战;移动应用程序的设计师们已经学会了如何为Re ...

  7. 高质量动漫实时画质增强器Anime4K在mpv上的配置

    Anime4K地址 https://github.com/bloc97/Anime4K mpv地址  https://mpv.io/   这个要错峰下载,网速不太好 在C盘用户\..\AppData\ ...

  8. 高质量图形库:pixellib

    点这里 pixellib 是高质量 2D 图形库: 高质量抗锯齿,矢量图形绘制 多种图像格式: RGB, BGR, ARGB, ABGR, RGBA, BGRA 8 / 15 / 16 / 24 / ...

  9. (转)用AGG实现高质量图形输出(二)

    本文上接<用AGG实现高质量图形输出(一)>,分别介绍了AGG显示流程中的各个环节. 上次讲了AGG的显示原理并举了一个简单的例子,这一篇文章开始讲AGG工作流程里的每个环节.为了方便对照 ...

随机推荐

  1. 与你相遇好幸运,Mongodb客户端&BUGS

    > Robomongo https://robomongo.org > 日常使用频率最高的客户端 存在BUG: 在 db.getCollection('xzq').find({" ...

  2. HDU3571 N-dimensional Sphere(高斯消元 同模方程)

    每个点到中心距离相等,以第0个点为参考,其他n个点到中心距等于点0到中心距,故可列n个方程 列出等式后二次未知数相消,得到线性方程组 将每个数加上1e17,求答案是再减去,求解时对一个2 * (1e1 ...

  3. MySQL 相关

    Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别.该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统. 但是该引擎不支持FULLT ...

  4. WPF中Ribbon控件的使用

    这篇博客将分享如何在WPF程序中使用Ribbon控件.Ribbon可以很大的提高软件的便捷性. 上面截图使Outlook 2010的界面,在Home标签页中,将所属的Menu都平铺的布局,非常容易的可 ...

  5. 优雅的数组降维——Javascript中apply方法的妙用

    将多维数组(尤其是二维数组)转化为一维数组是业务开发中的常用逻辑,除了使用朴素的循环转换以外,我们还可以利用Javascript的语言特性实现更为简洁优雅的转换.本文将从朴素的循环转换开始,逐一介绍三 ...

  6. SAP 传感器辅助定位

    一.简述 SAP:Sensor Assist Position 传感器辅助定位.高通公司提供的技术方案,旨在提升当卫星信号较差或终端短暂丢失卫星信号时终端的定位能力.该方案可分为三个阶段,第一.二阶段 ...

  7. OpenFOAM 学习路线 【转载】

    "Two weeks of playing with a CFD code will save you one afternoon of reading" 什么是OpenFOAM( ...

  8. Channel

    提起Channel,JDK的NIO类库的重要组成部分,就是提供了java.nio.SocketChannel和java.nio.ServerSocketChannel,用于非阻塞的I/O操作. 类似于 ...

  9. 关于如何通过定义自己的CameraManager来控制视角

    2016.8.30 发现了这个函数,可以直接获得摄像机的位置和旋转. Controller->GetPlayerViewPoint(CamLoc, CamRot); 最近看了几天PlayerCa ...

  10. R实现灰色预测

    1.简介 预测就是借助于对过去的探讨去推测.了解未来.灰色预测通过原始数据的处理和灰色模型的建立,发现.掌握系统发展规律,对系统的未来状态做出科学的定量预测.对于一个具体的问题,究竟选择什么样的预测模 ...