【问题标题】:Encourage object boundaries at edges in Graph cut segmentation在 Graph cut 分割中鼓励边缘处的对象边界
【发布时间】:2016-05-17 13:16:44
【问题描述】:

到目前为止,我一直在使用 Otsu 方法或 K-means 分割一些灰度图像。然而,我注意到分割不能仅基于强度是“完美的”。至少必须考虑图像中的局部梯度。

然后我做了一些研究,发现了图割分割算法。我认为这个算法会很有用,因为

  1. 考虑相邻像素之间的关系
  2. 如果我事先知道属于某个类别的像素,我可以结合先验知识。

我现在一直在使用 Shai's MATLAB Graph Cut wrapper 进行一些测试,并注意到 Graph Cut 似乎没有我想象的那么有用。基于梯度,我可以减少对类边界的惩罚,但我不能鼓励算法在边缘处绘制边界 - 如果通过 K-Means/Otsus 在初始化中不存在边界(创建 Dc)即使可能有很强的局部边缘,该算法也不会绘制一个。我认为这是因为成本需要是正数。 因此,这里的 Graph-Cut 似乎只有助于平滑边界,但不会帮助我引入“新边界”。

长话短说:我上面的故事对您来说是否合理,即我的结论是否合理?或者,有没有办法使用边缘来创建边界?

谢谢!

附言。抱歉,我无法在此处显示我所说的真实图像:(

【问题讨论】:

    标签: matlab graph image-segmentation


    【解决方案1】:

    长话短说:使用“传统”图形切割公式,成对术语用于鼓励平滑度。它可以根据局部梯度进行调整,使其在图像边界上变弱,但正如您正确指出的那样,它始终是非负的,因此,它从不鼓励更改标签(除非在每像素项中存在强有力的证据)。

    对非负成对项的要求称为“子模性”,并且仅对子模能量存在多项式时间解(精确到 2-labels 的情况,多个标签的良好近似)。 您可以在Kolmogorov and Zabih, What Energy Functions can be Minimized via Graph Cuts?, PAMI 2004 阅读有关此上下文中“子模块”的更多信息。

    但是,您可以为跨图像边界的成对项定义非子模权重。您将不再能够使用“传统”的 GCMex 实现,但是,即使在不稳定的非子模能量领域,也有一些很好的近似算法可以给出不合理的结果。
    对于两个标签的情况,要探索的第一个近似值是 QPBO,描述于 Kolmogorov and Rother, Minimizing non-submodular functions with graph cuts - a review, PAMI 2007
    下一步是一个多标签,multi-scale approximation,描述于Bagon and Galun, A Multiscale Framework for Challenging Discrete Optimization, NIPS 2012

    最后但同样重要的是,如果您只有成对交互(正负)并且没有明确的每像素术语,您可能需要考虑使用 Correlation Clustering 函数进行分割。 p>

    【讨论】:

    • 嗨,我正在处理立体图像的图形切割。我读了遮挡部分,但我不明白,你能给我解释一下吗:) @shai
    • @Raziel 恐怕这超出了本文的范围
    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 2019-09-05
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 2013-08-28
    相关资源
    最近更新 更多