如何使超像素的标签在灰度图中保持局部一致性?

我有一组灰度图像,这些图像被分解为超像素。每个超像素在这些图像中都有一个介于[0-1]范围内的标签。你可以在下方看到一张示例图像。

这里的挑战是:我希望空间上(局部)相邻的超像素具有一致的标签(数值相近)。

我对平滑局部标签有一定的兴趣,但不希望像一些同事建议的那样应用高斯平滑函数或其他方法。我还听说过条件随机场(CRF)。这有帮助吗?

欢迎任何建议。 enter image description here


回答:

我对平滑局部标签有一定的兴趣,但不希望像一些同事建议的那样应用高斯平滑函数或其他方法。

为什么这样呢?为什么你不考虑同事的有益建议,他们实际上是正确的。应用平滑函数是最合理的做法。

我还听说过条件随机场(CRF)。这有帮助吗?

这也表明,你应该听从同事的建议,因为CRF与你的问题无关。CRF是一种分类器,确切地说是序列分类器,需要标记的例子来学习,与这里呈现的设置无关。

典型的方法有哪些?

  • 正是你同事提出的方法,你应该定义一个平滑函数并将其应用于你的函数值(我不会使用“标签”这个词,因为它会引起误解,你拥有的是[0,1]范围内的连续值,“标签”在机器学习中表示分类变量)及其邻域。
  • 另一种方法是定义一个优化问题,其中你当前的值分配是一个目标,第二个目标是“接近性”,例如:

假设你有带值的点 {(x_i, y_i)}_{i=1}^N,并且 n(x) 返回点 x 的邻居点的索引。

因此,你试图找到 {a_i}_{i=1}^N,使它们最小化

SUM_{i=1}^N (y_i - a_i)^2 + C * SUM_{i=1}^N SUM_{j \in n(x_i)} (a_i - a_j)^2-------------------------   -   --------------------------------------------接近当前   常数以      接近邻居值       值         加权每一部分

你可以使用许多技术来解决上述优化问题,例如通过 scipy.optimize.minimize 模块。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注