【问题标题】:How do I efficiently segment 2D images into regions/blobs of similar values?如何有效地将 2D 图像分割成具有相似值的区域/块?
【发布时间】:2010-09-26 04:55:38
【问题描述】:

如何有效地将 2D 图像分割成具有相似值的块?给定的输入是一个 n 整数数组,其中包括非灰度像素的色调和灰度像素的亮度。

我正在使用 Java 编写一个虚拟移动机器人,我正在使用分割来分析地图以及来自相机的图像。这是Computer Vision 中的一个众所周知的问题,但是当它在机器人上时,性能确实很重要,所以我想要一些输入。算法才是最重要的,因此您可以使用任何语言发布代码。

【问题讨论】:

    标签: algorithm image-processing computer-vision mobile-robots


    【解决方案1】:

    我现在拥有的:

    1. 制作一个与输入图像大小相同的缓冲区,初始化为UNSEGMENTED
    2. 对于图像中对应缓冲区值不是UNSEGMENTED的每个像素,使用该像素值淹没缓冲区。

      一个。泛滥的边界检查是通过检查像素是否在原始像素值的EPSILON(当前设置为10)内完成的。

      b. Flood filling algorithm.

    可能的问题:

    2.a.的边界检查在洪水填充算法中被多次调用。如果我可以使用边缘检测预先计算边界,我可以将其转换为查找,但这可能会比当前检查增加更多时间。

    private boolean isValuesCloseEnough(int a_lhs, int a_rhs) {
        return Math.abs(a_lhs - a_rhs) <= EPSILON;
    }
    

    可能的增强:

    我可以随机选择几个点,而不是检查UNSEGMENTED 的每个像素。如果您预计大约有 10 个 blob,则按该顺序选择随机点可能就足够了。缺点是您可能会错过一个有用但很小的 blob。

    【讨论】:

      【解决方案2】:

      我会在色彩空间和像素数上进行下采样,使用视觉方法(可能是均值偏移)并放大结果。

      这很好,因为下采样还增加了对噪声的鲁棒性,并且更有可能获得有意义的片段。

      如果您需要平滑度,之后可以使用填充来平滑边缘。

      更多想法(回应您的评论)。

      1) 是否在下采样时进行混合? y[i]=(x[2i]+x[2i+1])/2 这应该可以消除噪音。

      2)你希望它有多快?

      3)你尝试过动态均值偏移吗?(也可以在谷歌上搜索所有算法 x 的动态 x)

      【讨论】:

      • 这个想法+1。这实际上是我尝试的第一件事,但是 1. 我的原始图像很小(100x100),我想保留 blob 的大小和 2. 当它确实拾取噪声时,它会得到增强。在具有大量渐变的实际情况下,这将是一个好主意。
      • 1.在下采样期间我没有混合,但我确实在整个图像上放置了高斯模糊,以预先减少微小的噪声。 2.我没有具体的目标,但越快意味着机器人更新越频繁。 3. 不,听起来比洪水要凉。
      【解决方案3】:

      不确定它是否太高效,但您可以尝试使用Kohonen neural network(或自组织图;SOM)对相似值进行分组,其中每个像素包含原始颜色和位置,只有颜色是用于 Kohohen 分组。

      不过,您应该在实施此之前阅读,因为我对 Kohonen 网络的了解仅限于它用于对数据进行分组 - 所以我不知道您的方案的性能/可行性选项是什么。

      还有Hopfield Networks。它们可以根据我阅读的内容进行分组。

      【讨论】:

        【解决方案4】:

        查看眼罩 (eyepatch.stanford.edu)。通过提供各种可能的细分过滤器,它应该可以在调查阶段为您提供帮助。

        【讨论】:

          【解决方案5】:

          洪水填充的替代方法是connnected-components 算法。所以,

          1. 对像素进行廉价分类。例如在色彩空间中划分像素。
          2. 运行 cc 以查找 blob
          3. 保留显着大小的斑点

          这种方法广泛用于早期视觉方法。例如在开创性论文“Blobworld: A System for Region-Based Image Indexing and Retrieval”中。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-11-24
            • 2012-11-13
            • 2023-03-23
            • 2013-12-05
            • 1970-01-01
            • 2023-02-02
            • 2016-06-03
            • 2020-07-30
            相关资源
            最近更新 更多