• 前言

1.什么是运动模糊

在用摄像机获取景物图像时,如果在相机曝光期间景物和摄像机之间存在相对运动,例如用照相机拍摄快速运动的物体,或者从行驶中的汽车上拍摄外面静止不动的景物时,拍得的照片都可能存在模糊的现象,这种由于相对运动造成图像模糊现象就是运动模糊。

2.运动模糊的图形修复的重要性

运动模糊在我们生活中很常见,例如在高速行驶的火车和汽车中拍摄窗外景色,拍摄高速运动的物体,等都有可能出现这种现象。因此运动模糊的图像复原成为重要的话题,广泛运用于工业控制、道路监控、军事、天文观测、医学图像以及刑侦领域,具有现实意义。

3.我的调查方式

首先学习运动模糊的相关基础知识,图像恢复的经典方法。然后根据Xin Tao、 Hongyun Gao等人的论文—— 用于深度图像去模糊的尺度递归网络(Scale-recurrent Network for Deep Image Deblurring CVPR 2018)仔细研究。大体总结一下运动模糊的图像修复大体发展情况。然后对里面参考文献进行简单调查。(调查发现大多数方法都会在这篇论文中提到)。同时过程中也对其他(这篇论文没有提到)运动模糊的图像修复的方法进行总结。

4.运动模糊的图像修复大体发展情况

经典方法

进一步改进 大提升

深度CNN加入1,遵循传统框架,其中几部分用CNN代替。

深度CNN,特殊设计图像处理网络:编码器-解码器网络,多尺度网络等

  • 调查结果

大体几类

格式:方法名,简单介绍,结果展示,适用性。

经典的方法

1.逆滤波法

逆滤波的方法是直接将退化过程H的逆变换与退化图像进行反卷积。利用傅里叶变换卷积特性,上述过程可以表述为:

结论:逆滤波对于没有被噪声污染的图像很有效,但是实际应用中,噪声通常无法计算,因此通常忽略加性噪声,而当噪声存在时,该算法就对噪声有放大作用,如果对一幅有噪声的图像进行恢复,噪声可能占据了整个恢复结果。

逆滤波算法不适合用来恢复含有噪声的图像。

2.维纳滤波

Wiener滤波恢复是在假定图像信号可近似看作平稳随机过程的前提下,按照使原图像      与恢复后的图像      之间的均方误差  达到最小的准则,来实现图像恢复的。

结论:

随着k值不断减小,图像噪声越来越明显,但字符的轮廓越来越清晰。在极端情况下即k=0,维纳滤波退化为逆滤波。另一方面,当k值不断增大时,图像边缘越来越模糊。

比较几幅复原图像可以发现,K越大,抑制噪声效果越好,恢复越不准确,文字较为模糊,边缘模糊不清,不能对文字进行很好地分割;而当K越小,恢复越准确,文字轮廓清晰,但对噪声抑制效果越不好,也无法很好地对文字进行分割。

通过比较发现,当k=0.01时,能够取得较好的恢复效果,在同样的分割阈值下,能够去掉大部分噪声,字体轮廓也相对清晰,去噪后即可对文字进行较好地边缘提取。

K的选取原则是:噪声大,则K适当增加,噪声小则K适当减小。一般取0.001一0.1之间,视具体情况而定。

3.Richardson-Lucy算法

Richardson-Lucy(RL)算法是一种迭代方法,在符合泊松统计前提下,迭代公式

结论:对于没有噪声干扰的理想模糊图像,迭代次数越多恢复的效果越好。在无噪声情况下,RL每次迭代时,都会提高解的似然性,随着迭代次数的增加,最终将会收敛在最大似然性的解,但随着迭代次数的增加也会增加计算量。

但是对于含有噪声干扰的模糊图像,随着迭代次数的增加噪声被放大,而且迭代时间随之增长。当迭代超过50次后,恢复结果并没有明显改观。

进一步提高(抑制伪影,提高质量)

4.Rob Fergus等人的Removing Camera Shake from a Single Photograph

以 往的芒去卷积方法要么对卷积核有很强的先验假设, 要么对图像有一定的先验假设, 或者两者都有。 而且, 这些方法往往不大适合较大的模糊核。 Fergus等提出的方法完全抛弃了这些束缚, 实现了真正意义上的实用的BID。 在此文中, 图像去模糊主要被划分成了两步:卷积核的估计和去模糊。 其中去模糊可以采用任何一种现有的算法, 因此此文的重点集中在了模糊核的估计上。 基于对图像模型统计特性的分析, 此文深入研究了模糊图像和非模糊图像的梯度分布, 提出了一种基于梯度分布模型的去模糊算法。自然的清晰的图像满足特定的heavy-tailed distribution, 而模糊图像的梯度分布则想去甚远。 因此Fergus等基于这种特性构造了在已知观测图像情况下原始图像和模糊核的联合后验概率, 后验概率最大化对应的原始图像和卷 积核的组合就是所要的答案。

结论:恢复的效果不够好, 有的噪声实在太大。此文只是提出了一种思想,有新意, 效果有待完善。这篇文章留下了很多漏洞, 能让后人在此基础上对 这项工作有所完。果不其然,在随后几年的cvpr, siggraph, iccv, eccv上, 几乎每届都有更好的结果涌现。

5.Qi Shan等人High-quality Motion Deblurring from a Single Image(单幅图像的高质量运动去模糊)

在本论文当中,我们通过探究盲反卷积问题产生的可视人工痕迹例如振铃效应产生的原因开始。我们的研究表明,如果模糊图像没有噪声并且卷积核被准备无误的估计而没有误差,现有的反卷积方法能够高效的执行的很好。因此,我们注意到,一个固有的带噪图像的好的模型和一个更明确的处理由于卷积核估计误差造成的可视人工痕迹的方法,对于产生好的结果是有本质上的提高的。基于这样的想法,我们提出了一个统一的概率模型。不管是盲反卷积问题还是非盲反卷积问题,通过一种高级的迭代优化方案,交替地估计卷积核和复原图像直到收敛。这种方法的迭代过程就是求解相应的最大后验概率问题。我们的算法使用一个很粗糙的核估计方法来初始化卷积核【例如一条直线】,我们的方法收敛的结果能够保持复杂图像的结构和边缘细节的清晰,同时避免人工振铃的痕迹,参见图一。

为了实现这些结果,我们的技术主要得益于三方面的因素。首先,一种新的图像噪声空域随机分布模型。这个模型有助于我们分离在图像的噪声估计和卷积核估计过程中产生的误差。在之前的方法当中,这种混合误差是产生人工痕迹的关键因素。其次,引入新的平滑约束项。平滑约束是我们强加在自然图像当中的区域,这一区域在我们观测图像上具有低对比度。这一约束不仅能够在图像的平滑区域有效的抑制人工振铃效应,而且在图像纹理区域也能做到如此是效果。这种约束的扩散对于卷积核的估计阶段也是有效的。我们的最后一个策略是采用了一种有效的优化算法。优化算法采用了一些高级的优化策略和技术,例如变量替换,帕斯瓦尔定理,从而在计算上能够在频率域高效地执行优化过程。

结论:

效果不错,对于适度模糊的图像,可以令人满意地恢复边缘,颜色和纹理信息。需要特定硬件支持。可以成功地去除大多数运动模糊图像。 然而,当模糊图像受到不是移位不变的模糊影响时,例如,由于轻微的相机旋转或不均匀的物体运动,发生一种失效模式。

其他:

其他 自然图像先验被设计用于抑制伪影并提高质量的有:总变差(TV)(T. F. Chan and C.-K. Wong. Total variation blind deconvolution.),稀疏图像先验(A. Levin, Y. Weiss, F. Durand, and W. T. Freeman. Understanding and evaluating blind deconvolution algorithms),重尾梯度先验(Q. Shan, J. Jia, and A. Agarwala. High-quality motion deblurring from a single image. volume 27, page 73. ACM,2008.),超拉普拉斯先验(D. Krishnan and R. Fergus. Fast image deconvolution using hyper-laplacian priors. In NIPS, pages 1033–1041, 2009.),l0-范数梯度先验(L. Xu, S. Zheng, and J. Jia. Unnatural l0 sparse representation for natural image deblurring. In CVPR, pages 1107–1114. IEEE, 2013.)等。这些传统方法大多数遵循粗到细的框架,例外情况包括频域方法,它们仅适用于有限的情况。

卷积网络加入

在传统框架中用CNN模块部分代替。

6. Sun等人的Learning a Convolutional Neural Network for Non-uniform Motion Blur Removal(学习卷积神经网络用于非均匀运动模糊去除)

我们提出了一种深度学习方法,使用卷积神经网络(CNN)预测斑块水平的运动模糊的概率分布。 我们使用精心设计的图像旋转进一步扩展CNN预测的候选运动核集。 然后使用马尔可夫随机场模型来推断实施运动平滑度的密集非均匀运动模糊场。 最后,使用补丁级图像先验通过非均匀去模糊模型去除运动模糊。

(27:Two-phase kernel estimation for robust motion deblurring提出了一种基于使用空间先验和迭代支持检测(ISD)内核细化的高效且高质量的核估计方法,以从显着的运动模糊中恢复图像。我们的方法可以估计非常大的模糊内核(即PSF)并去除 显着模糊,没有太多的手动调整。(有GPU加速下速度几秒))

结论:

使用网络来预测模糊方向和宽度。可以有效地估计和消除以前的方法无法很好地处理的复杂的非均匀运动模糊。

其他CNN部分代替

(C. J. Schuler, M. Hirsch, S. Harmeling, and B. Schölkopf. Learning to deblur)以粗到细的方式堆叠多个CNN以模拟迭代优化,(A. Chakrabarti. A neural approach to blind motion deblurring)预测了频域中的反卷积核。

CNN其他网络结构

7. S. Su, M. Delbracio等人的.Deep video deblurring.

编码器 - 解码器网络与跳过连接学习框架

结论:

这项工作的一个限制是我们只解决视频中存在的模糊类型的一部分,特别是我们关注由于手持相机运动引起的相机抖动而产生的运动模糊。除了以上限制,我们的方法产生的结果通常与最先进的方法一样好或优于最先进的方法,没有参数调整且没有明确需要挑战图像对齐。一秒内产生高质量的结果,这比现有方法快得多,其中许多方法每帧需要几分钟

8. S. Nah, T. H. Kim, and K. M. Lee. Deep multi-scale convolutional neural network for dynamic scene deblurring(用于动态场景去模糊的深度多尺度卷积神经网络)

我们提出了一种多尺度卷积神经网络,以端到端的方式恢复清晰的图像,其中模糊是由各种来源引起的。总之,我们提出模仿传统粗到细的多尺度损失函数方法。此外,我们提出了一个新的大型数据集,它提供了一对逼真的模糊图像和相应的地面真实清晰图像这些图像是由高速摄像机获得的。

结论:

方法在动态场景去模糊中不仅在质量上,而且在数量上达到了最先进的性能(2017)。时间后面会有和它对比的时间。

9. Xin Tao , Hongyun Gao 等人Scale-recurrent Network for Deep Image Deblurring(用于深度图像去模糊的尺度递归网络)

完善了多尺度,每个尺度下的求解器和相应参数通常是相同的,跨尺度共享网络权重。优点是双重的。首先,它显着减少了可训练参数的数量;其次,我们提出的结构可以包含循环模块,其中隐藏状态捕获有用信息并有利于跨规模恢复。

在本文中,他们表明直接应用现有的编码器 - 解码器结构不能产生最佳结果。相反,他们的编码器 - 解码器ResBlock网络放大了各种CNN结构的优点,并产生了训练的可行性。它还产生一个非常大的感受野,这对于大动作去模糊是至关重要的。

结论:

训练效率快,可以在数量上和质量上产生比现有方法更高质量的结果。

  • 结尾

经过好多天的总结,写出来的,读者可以按照本文的研的方法,进行自己的研究。希望对大家有所帮助。

运动模糊的图像修复调研相关推荐

  1. 【youcans 的 OpenCV 例程 200 篇】104. 运动模糊退化模型

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  2. UnityShader入门精要——运动模糊(2)

    本次利用速度映射图方法实现运动模糊.速度映射图中存储了每个像素的速度,然后使用这个速度来决定模糊的方向和大小. 速度缓冲生成的方法: (1)把场景中所有物体的速度渲染到一张纹理中.但这种方法的缺点在于 ...

  3. 图像处理之仿真运动模糊复原【使用逆滤波、维纳滤波】

    目录 一.基础知识 二.问题分析 三.效果图 四.代码 一.基础知识 图像去模糊是一个经典的图像复原任务.造成图像模糊的原因有很多,可以主要分为三大类 离焦模糊:场景中的物体处于成像景深范围之外而变得 ...

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

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

  5. python实现运动模糊图像_OpenCV+Python实现图像运动模糊和高斯模糊

    原标题:OpenCV+Python实现图像运动模糊和高斯模糊 运动模糊:由于相机和物体之间的相对运动造成的模糊,又称为动态模糊 OpenCV+Python实现运动模糊,主要用到的函数是cv2.filt ...

  6. 两个一样的图像相除会怎么样_【壮凌自动化分析】一种动力电池生产中基于图像运动模糊的速度检测方法...

    一种动力电池生产中基于图像运动模糊的速度检测方法 1.西南大学 电子信息工程学院,重庆 400715) 2.非线性电路与智能信息处理重庆市重点实验室,重庆 400715) 1.当前背景与成熟方法介绍 ...

  7. 图像运动模糊原理及python实现

    一. motion blur 运动模糊是我们在日常生活中很常见的一种模糊.当我们按下快门拍照时,如果照片里的事物(或者我们的相机)正在运动的话,我们拍出的照片就会产生运动模糊. 二. motion f ...

  8. 图像运动模糊及其去除

    Introduction 图像去模糊是一个经典的图像复原任务.造成图像模糊的原因有很多,可以主要分为三大类 离焦模糊:场景中的物体处于成像景深范围之外而变得模糊.离焦模糊的去除一般对应着景深的扩展技术 ...

  9. python实现运动模糊图像_OpenCV+Python实现图像运动模糊和高斯模糊!它是编程界的PS!...

    运动模糊: 由于相机和物体之间的相对运动造成的模糊,又称为动态模糊 OpenCV+Python实现运动模糊,主要用到的函数是cv2.filter2D(): # coding: utf-8 import ...

最新文章

  1. spring入门(二) 使用注解代替xml配置
  2. pytorch 随机打乱
  3. python 趋势线表达式_python绘制有箭头指示的趋势线
  4. boost::hana::make_range用法的测试程序
  5. Zookeeper运维问题集锦
  6. C++中直接存取类私有成员[360度]
  7. mysql根据已有表创建新表_SQL根据现有表新建一张表
  8. python 创建文件夹1003python 创建文件夹_在python中创建动态文件名
  9. 三级哪个不用学c语言,考全国计算机等级考试三级如何学C语言
  10. java 将 ResultSet 转化为 json格式
  11. 笔记(2015.8.1)
  12. Python:学习笔记(一)
  13. 研究下抓站开源项目simplecd的源代码吧
  14. 海康威视硬盘录像机怎么连接萤石云
  15. mysql 查询条件为空则_MySql当查询条件为空时不作为条件查询
  16. 【微软2017年预科生计划在线编程笔试第二场 B】Diligent Robots
  17. 独家:为了永不停机的计算服务 - 五月月刊 | 凌云时刻
  18. 揭秘软件开发中的达摩克利斯之剑
  19. 『前端实习笔记』前言 坎坷的找实习之路
  20. python获取当前线程数量_python 线程数

热门文章

  1. git使用出现 Git HEAD detached from XXX解决
  2. 百丽季燕利:从补货场景,看企业协同在线|数字思考者50人
  3. python发送QQ邮件报错:ssl.SSLError: [SSL: WRONG_VERSION_NUMBER]和smtplib.SMTPAuthenticationError(已解决)
  4. 利用Matlab读取Excel数据并进行拟合
  5. 获取虚拟账号列表失败啥意思_错误 获取服务器信息失败是什么意思
  6. 大学生未来如何才能避免买不起房
  7. React脚手架的安装
  8. SDUT 2021 Spring Individual Contest(for 20) - 2
  9. Windows 2000 安全
  10. 编译AirSim1.5.0