Image processing 基于最小度量的区域生长图像分割算法

Image processing 基于最小度量的区域生长图像分割算法,image-processing,machine-learning,computer-vision,artificial-intelligence,image-segmentation,Image Processing,Machine Learning,Computer Vision,Artificial Intelligence,Image Segmentation,是否有一种基于像素的区域增长算法可用于提取图像上的特征(分割),方法是基于某个度量的最小化向种子添加像素。潜在地,如果添加该像素时未优化度量(即可能回溯并返回到先前迭代中获得的种子) 我将尝试进一步解释我的目标: 此算法从图像上选择的initialseed的中心像素开始 然后,分别探索4个相邻(右,左,底部和顶部相邻)中的每一个,以查看是否通过在所选方向上生长种子来优化度量 相邻像素可能不会立即优化度量,即使通过添加此像素创建的种子在未来迭代中将是最佳的 如果获得的种子不是最佳的,则有可能将相邻

是否有一种基于像素的
区域增长
算法可用于提取图像上的特征(
分割
),方法是基于某个
度量的最小化向
种子
添加像素。潜在地,如果添加该像素时未优化
度量
(即可能回溯并返回到先前迭代中获得的
种子

我将尝试进一步解释我的目标:

  • 此算法从图像上选择的
    initialseed
    的中心像素
  • 开始
  • 然后,分别探索
    4个相邻
    底部
    顶部
    相邻)中的每一个,以查看是否通过在所选方向上生长种子来优化
    度量
  • 相邻像素
    可能不会立即优化
    度量
    ,即使通过添加此像素创建的
    种子
    在未来迭代中将是最佳的
  • 如果获得的
    种子
    不是最佳的,则有可能将
    相邻像素
    添加到种子中,但随后移除
  • 有谁能向我推荐一种足以解决这类问题的
    人工智能
    技术(或
    贪婪方法
    )吗?此外,什么是判断添加像素将优化度量的好标准,即使这可能会在未来的迭代中发生


    p.S:我开始实现上面在
    Python
    中解释的内容,但陷入了确定
    路径(
    相邻像素
    )是否值得探索的问题。现在,我尝试添加一个
    相邻像素
    ,前提是生成的
    种子
    相对于度量改进了
    错误
    。然而,即使通过添加
    右侧
    左侧
    邻接的
    度量
    未得到优化,这两条
    路径中的一条
    可能会导致未来的最优解(如第三个目标中所述)。

    您基本上概述了使用此方法可以获得的最成功的算法。它的成功与否在很大程度上取决于您用于添加/删除像素的度量,但是您可以做一些事情来模拟您想要的行为

    定义 我们将调用正在优化的度量
    M
    ,其中
    M(R)
    是区域
    R
    的度量值,区域
    R
    是一些像素集合。我假设优化度量将导致最大可能的值
    M
    ,但是如果目标是最小化
    M
    以及,此方法也可以工作

    方法论 此方法将稍微向后返回到原始轮廓,但它应满足两个要求:从种子添加位于非最佳路径中的像素,以及删除对优化没有显著影响的像素

    我们将从种子
    s
    开始,但我们将迭代地将图像中的所有像素(或最大特征大小)添加到我们的区域中,而不是边走边评估路径。在每一步中,我们将根据像素对当前区域度量的改进程度来确定像素值,
    M(p)
    。这与包含像素的区域的值不相同(
    M(R)
    ,其中
    p
    位于
    R
    )。相反,它将是包含像素的区域的值与添加像素之前的区域的值的差(
    M(p)=M(R)-M(R'),其中R=R'+p
    )。如果你有能力评估单个像素,你可以简单地使用它

    下一个变化是在
    M(R)
    中包含一个正则化参数,该参数根据包含的像素数对分数进行惩罚:
    N(R)=M(R)-a*|R |
    其中
    a
    是一些任意的正常数,
    |R |
    表示我们区域中的基数(像素数)注意:如果目标是最小化
    M
    ,则
    a
    应为负值。如果区域包含太多像素,则这将产生惩罚区域分数的效果

    最后,在将所有像素添加到该区域并对每个像素计算
    N(p)
    后,我们再次迭代该区域。这一次,我们从添加的最后一个像素开始,向后迭代我们的像素集,在种子
    s
    处结束。在每次迭代中,确定区域
    N(R)
    的分数。如果分数
    N(R)
    自上一次迭代以来已下降,则我们移除分数最低的像素
    p
    。这应该具有对分数贡献最大的区域中最小像素数的效果

    其他考虑事项 如果修剪后剩余像素位于非连续路径上,则可以运行辅助算法来添加相邻像素。您需要进行测试以确定
    a
    的最佳值,这样可以保留足够的像素来重建建筑,但它并不包括图像中的每个像素

    我的意见(你没有要求)
    总的来说,我认为你会更幸运地使用更健壮的算法,比如用于特征分类的算法。它们可能会比上述算法更快、更准确。

    你已经有了一个比较像素区域的度量,还是你也需要创建一个度量?@Aabglov我想是的,因为通过
    metric
    我的意思是我有一种
    基本真理
    我正在比较。基本上,在每个