从单幅图像高质量去除运动模糊——读JiaYaJia同名英文论文总结
原始论文在这里 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同名英文论文总结的更多相关文章
- 如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?
转自<知乎>如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文? 问题: 作为一个博士生,一直为写论文头疼,读过很多高质量论文,觉得写的真好,但是轮到自己写总 ...
- 维纳滤波和编码曝光PSF去除运动模糊【matlab】
编码曝光知识 - ostartech - 博客园 https://www.cnblogs.com/wxl845235800/p/8276362.html %%%%%%%%%%%%%%%%%%%%%%% ...
- Win8 Metro(C#)数字图像处理--2.50图像运动模糊
原文:Win8 Metro(C#)数字图像处理--2.50图像运动模糊 [函数名称] 图像运动模糊算法 MotionblurProcess(WriteableBitmap src,int ...
- OpenCV3入门(十三)图像运动模糊
1.原理 运动模糊产生: 由于相机传感器或物体相对运动, 按快门瞬间造成图像产生运动模糊. 在用摄像机获取景物图像时,如果在相机曝光期间景物和摄像机之间存在相对运动,例如用照相机拍摄快速运动的物体,或 ...
- atitit.thumb生成高质量缩略图 php .net c++ java
atitit.java thumb生成高质量缩略图 php .net c++ 1. 图像缩放(image scaling)---平滑度(smoothness)和清晰度(sharpness) 1 2. ...
- 移动Web—CSS为Retina屏幕替换更高质量的图片
来源:互联网 作者:佚名 时间:12-24 10:37:45 [大 中 小] 点评:Retian似乎是屏幕显示的一种趋势,这也是Web设计师面对的一个新挑战;移动应用程序的设计师们已经学会了如何为Re ...
- 高质量动漫实时画质增强器Anime4K在mpv上的配置
Anime4K地址 https://github.com/bloc97/Anime4K mpv地址 https://mpv.io/ 这个要错峰下载,网速不太好 在C盘用户\..\AppData\ ...
- 高质量图形库:pixellib
点这里 pixellib 是高质量 2D 图形库: 高质量抗锯齿,矢量图形绘制 多种图像格式: RGB, BGR, ARGB, ABGR, RGBA, BGRA 8 / 15 / 16 / 24 / ...
- (转)用AGG实现高质量图形输出(二)
本文上接<用AGG实现高质量图形输出(一)>,分别介绍了AGG显示流程中的各个环节. 上次讲了AGG的显示原理并举了一个简单的例子,这一篇文章开始讲AGG工作流程里的每个环节.为了方便对照 ...
随机推荐
- PHP的命名空间 与类是自动加载
namespace 假设如果不使用namespace,那么每个类在一个项目中的名字就必须是固定的.因为php在new的时候不管是调用autoload还是调用已加载过的类,都存在一个类名对应的文件.所以 ...
- 利用Jquery获取、设置iframe中元素
<iframe id="iframe" src="'+url+'"></iframe>'; //iframe加载完成后 $(" ...
- 适配器模式/adapter模式/结构型模式
定义 将类的接口转化为客户端希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作,别名Wrapper(包装器). 适配器模式,最终改变一个已有对象的接口. 使用场景 当有那么个类, ...
- js实现复制到剪贴板功能,兼容所有浏览器
http://www.cnblogs.com/PeunZhang/p/3324727.html https://github.com/zeroclipboard/ZeroClipboard 复制链接到 ...
- linux系统meminfo详解(待补充)
========================================================================================== MemTotal: ...
- php_codesninffer phpcs用法学习使用:
18:34 2016/1/12php_codesninffer phpcs用法学习使用:可以加一个参数设置结果输出为各种格式:如source格式:$ phpcs -s --report=source ...
- JavaBean对象与Map对象互相转化
/** * 使用org.apache.commons.beanutils进行转换 */ class A { public static Object mapToObject(Map<String ...
- ES6 ( 三 ) 字符串扩展
一.字符Unicode表示方法 ES6中可以使用以下6种方法表示字符 '\z' === 'z' // true '\172' === 'z' // true '\x7A' === 'z' // tru ...
- C++ 画星号图形——空心三角形(星号左对齐)(核心代码介绍)
//输出一个由星号组成的三角形(星号左对齐) int a;//控制组成三角形的星号的行数 cout<<"请输入要组成三解形的星号的行数n(n>=2):\n"; c ...
- requirejs:研究笔记
模块化历史 模块化异步加载方式 后期维护 查找问题 复用代码 防止全局变量的污染 http://requirejs.cn/ http://requirejs.org/ 我的目录结构 总体步骤 < ...