我有一个与这篇文章类似的问题,有一些显着的区别:
就像在那篇文章中一样:
- 我有一个并且对这个函数的评估计算起来有点昂贵
不像那个帖子:
我对函数的值不是在任何地方都准确感兴趣,而只是对找到函数的单个等高线感兴趣。
我可以对函数的自相关做出重要的断言,从而得出平滑度的大小。
有没有一种智能的方法来逐步/采样这个函数并找到这个轮廓?
更多信息
该函数是Haralick 特征的计算点周围的像素,并通过某种分类器/回归器进行软分类。它的输出是一个浮点数,指示该点属于哪个纹理/材质。这个数字的缩放可以是估计的类概率(SoftSVM 或统计方法等)或一些非常简单的东西,比如线性/逻辑回归的输出。与从图像中提取特征所花费的时间相比,分类/回归是准确且便宜的。
周边统计意味着窗口通常对重叠区域进行采样,因此附近样本之间存在显着相关性。(我什至可以用数字/符号来接近)因此,这可以被认为是一个更复杂的函数哪里更大将给出与邻域更相关(高度相关)的估计值,以及更小的将给出更多变量,但更局部的估计。
我尝试过的事情:
蛮力计算 - 效果很好。95% 正确的分割与常数. 之后使用任何标准方法绘制轮廓时,结果看起来都很棒。这需要永远。我可以简化基于每个样本计算的特征,但理想情况下我想避免这种情况,以使此代码对具有纹理的图像具有通用性,这些图像的差异出现在特征空间的不同部分。
Dumb Stepping - 在每个方向上走一个像素“步”,并根据与等值线值的接近程度选择要移动的方向。仍然很慢,它会忽略等值线的分叉。此外,在具有平坦梯度的区域,它会“游走”或自行翻倍。
我想我想做一些类似于第一个链接中提出的细分的事情,但对绑定感兴趣的等值线的框进行了修剪。我觉得我应该能够利用也,但我不知道如何处理。