检测图像/视频序列中的模糊 [英] Detection of Blur in Images/Video sequences

查看:108
本文介绍了检测图像/视频序列中的模糊的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在照片stackexchange上问了这个,但是认为它也可能与此相关,因为我想在我的实现中以编程方式实现它。

I had asked this on photo stackexchange but thought it might be relevant here as well, since I want to implement this programatically in my implementation.

我正在尝试为我的成像​​管道实现模糊检测算法。我要检测的模糊是 -

I am trying to implement a blur detection algorithm for my imaging pipeline. The blur that I want to detect is both -

1)相机抖动:使用手拍摄的照片,当快门速度较低时移动/抖动。

1) Camera Shake: Pictures captured using hand which moves/shakes when shutter speed is less.

2)镜头聚焦误差 - (景深)问题,比如聚焦在一个不正确的物体上造成一些模糊。

2) Lens focussing errors - (Depth of Field) issues, like focussing on a incorrect object causing some blur.

3)运动模糊:场景中快速移动的物体,使用不够高的快门速度拍摄。例如。一夜之间移动的汽车可能会在图像中显示其前灯/尾灯的痕迹作为模糊。

3) Motion blur: Fast moving objects in the scene, captured using a not high enough shutter speed. E.g. A moving car a night might show a trail of its headlight/tail light in the image as a blur.

如何检测这种模糊并以某种方式量化它根据计算出的模糊度量做出一些决定?

How can one detect this blur and quantify it in some way to make some decision based on that computed 'blur metric'?

模糊检测背后的理论是什么?

What is the theory behind blur detection?

我正在寻找好的阅读材料,我可以在C / Matlab中实现一些算法。

I am looking of good reading material using which I can implement some algorithm for this in C/Matlab.

谢谢。

-AD。

推荐答案

当您考虑原因时,运动模糊和相机抖动是一回事:相机和物体的相对运动。你提到慢速快门 - 这是两种情况下的罪魁祸首。

Motion blur and camera shake are kind of the same thing when you think about the cause: relative motion of the camera and the object. You mention slow shutter speed -- it is a culprit in both cases.

焦点失误是主观的,因为它们取决于摄影师的意图 。在不知道摄影师想要关注的 的情况下,实现这一目标是不可能的。即使你知道你想要关注什么,它仍然不会是微不足道的。

Focus misses are subjective as they depend on the intent on the photographer. Without knowing what the photographer wanted to focus on, it's impossible to achieve this. And even if you do know what you wanted to focus on, it still wouldn't be trivial.

抛开那种现实主义,让我向您保证,模糊检测实际上是一个非常活跃的研究领域,并且已经有一些指标可以在您的图像上试用。以下是我最近使用过的一些内容:

With that dose of realism aside, let me reassure you that blur detection is actually a very active research field, and there are already a few metrics that you can try out on your images. Here are some that I've used recently:

  • Edge width. Basically, perform edge detection on your image (using Canny or otherwise) and then measure the width of the edges. Blurry images will have wider edges that are more spread out. Sharper images will have thinner edges. Google for "A no-reference perceptual blur metric" by Marziliano -- it's a famous paper that describes this approach well enough for a full implementation. If you're dealing with motion blur, then the edges will be blurred (wide) in the direction of the motion.
  • Presence of fine detail. Have a look at my answer to this question (the edited part).
  • Frequency domain approaches. Taking the histogram of the DCT coefficients of the image (assuming you're working with JPEG) would give you an idea of how much fine detail the image has. This is how you grab the DCT coefficients from a JPEG file directly. If the count for the non-DC terms is low, it is likely that the image is blurry. This is the simplest way -- there are more sophisticated approaches in the frequency domain.

还有更多,但我觉得应该这样做足以让你入门。如果您需要有关这两个点的更多信息,请启动 Google学术搜索并环顾四周。特别要查看Marziliano论文的参考资料,以了解过去曾尝试过的内容。

There are more, but I feel that that should be enough to get you started. If you require further info on either of those points, fire up Google Scholar and look around. In particular, check out the references of Marziliano's paper to get an idea about what has been tried in the past.

这篇关于检测图像/视频序列中的模糊的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆