【问题标题】:Techniques for detecting small blobs in noisy images检测噪声图像中小斑点的技术
【发布时间】:2017-05-04 03:51:19
【问题描述】:

我正在尝试编写一个程序,该程序使用计算机视觉技术来检测(和跟踪)非常嘈杂的图像流中的微小斑点。图像流来自双 X 射线成像设置,输出左视图和右视图(由于准直不同,尺寸不同)。我的数据有两种类型:一组图像没有那么嘈杂,我只是用它来尝试不同的技术,另一组噪声更大,这就是检测需要在最后工作的地方。图像流为 60 Hz。这是来自 X 射线成像仪的原始图像示例:

以下是一些感兴趣区域的裁剪样本。需要检测的斑点是图像中心附近的小黑点。

最初,我开始使用 OpenCV 中的简单轮廓/斑点检测技术,但并没有太大帮助。最终,我转向了一些技术,例如使用形态学算子“打开”图像,然后执行高斯斑点检测的拉普拉斯算子来检测感兴趣的区域。这给了我对图像的低噪声版本更好的结果,但在涉及高噪声版本时却失败了:给了我太多的误报。这是来自低噪声图像的结果(请注意输入图像被反转)。

我目前在 MATLAB 中基于 LoG 的方法的代码如下:

while ~isDone(videoReader)
    frame = step(videoReader);
    roi_frame = imcrop(frame, [660 410 120 110]);

    I_roi = rgb2gray(roi_frame);
    I_roi = imcomplement(I_roi);
    I_roi = wiener2(I_roi, [5 5]);
    background = imopen(I_roi,strel('disk',3));

    I2 = imadjust(I_roi - background);
    K = imgaussfilt(I2, 5);
    level = graythresh(K);
    bw = im2bw(I2);

    sigma = 3;    
    % Filter image with LoG
    I = double(bw);
    h = fspecial('log',sigma*30,sigma);
    Ifilt = -imfilter(I,h);

    % Threshold for points of interest
    Ifilt(Ifilt < 0.001) = 0;
    % Dilate to obtain local maxima
    Idil = imdilate(Ifilt,strel('disk',50));

    % This is the final image
    P = (Ifilt == Idil) .* Ifilt;

有什么方法可以改进我当前的检测技术,使其适用于具有大量背景噪音的图像?还是有更适合此类图像的技术?

【问题讨论】:

  • 相机和场景是否静止,只有斑点在移动?
  • blob 移动的速度有多快,帧速率是多少?
  • 为什么你的图片大小不一?由于您的图像是流的一部分,我认为您需要利用它来减少噪音。根据帧速率,我会考虑保持最后几秒帧的移动平均值作为参考和最后 2-4 帧的平均值,然后进行差分以消除噪声。如果不了解您的设置,很难说。这可能有用...stackoverflow.com/a/27893051/2836621
  • 您可能想要使用更强大的跟踪方法,例如github.com/gnebehay/DSST
  • 您的“目标对象”是否具有一致的大小、形状和/或反射率? (可变性是什么)您能否也发布一张没有任何对象的图片的图片(如果有的话)?

标签: matlab opencv image-processing computer-vision


【解决方案1】:

我会采取的方法:

-平均背景减法

-积极的高斯平滑(this filter should be shaped based on your target object,在我的脑海中,我认为你想要对象最小横截面一半的 sigma,但你可能想要摆弄这个)基本上目标是模糊噪声尽可能不完全丢失目标对象(基于形状和大小)

-边缘检测。如果可能,尽量具体到对象(基本上,看看高斯平滑后对象的边缘是什么样子,并将边缘检测设置为寻找宽度和对比度偏移)

-可以考虑在此处运行关闭操作。

-根据大小然后根据形状在整个图像中搜索岛屿(完全封闭的区域)过滤器。

我有一种预感,尽管信噪比非常低,但您的噪声粒度有望明显小于您的对象大小。 (如果您的噪声与您的对象具有相同的对比度和相同的球场大小......您已经沉没并且需要重新评估您的采集 imo)

另一个说明基于您的速度需求。通过了解最近的已知位置并在本地搜索以及了解新目标可以从哪里进入图像,可以极大地节省处理时间。

【讨论】:

    猜你喜欢
    • 2017-07-11
    • 2016-03-04
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多